coccinelle release 0.2.5
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
1 exception Error
2
3 type token =
4 | Tvolatile of (
5 # 120 "parser_cocci_menhir.mly"
6 (Data.clt)
7 # 8 "parser_cocci_menhir.ml"
8 )
9 | Tvoid of (
10 # 116 "parser_cocci_menhir.mly"
11 (Data.clt)
12 # 13 "parser_cocci_menhir.ml"
13 )
14 | Tunsigned of (
15 # 117 "parser_cocci_menhir.mly"
16 (Data.clt)
17 # 18 "parser_cocci_menhir.ml"
18 )
19 | Tunion of (
20 # 116 "parser_cocci_menhir.mly"
21 (Data.clt)
22 # 23 "parser_cocci_menhir.ml"
23 )
24 | Ttypedef of (
25 # 119 "parser_cocci_menhir.mly"
26 (Data.clt)
27 # 28 "parser_cocci_menhir.ml"
28 )
29 | Tstruct of (
30 # 116 "parser_cocci_menhir.mly"
31 (Data.clt)
32 # 33 "parser_cocci_menhir.ml"
33 )
34 | Tstatic of (
35 # 119 "parser_cocci_menhir.mly"
36 (Data.clt)
37 # 38 "parser_cocci_menhir.ml"
38 )
39 | Tssize_t of (
40 # 115 "parser_cocci_menhir.mly"
41 (Data.clt)
42 # 43 "parser_cocci_menhir.ml"
43 )
44 | Tsize_t of (
45 # 115 "parser_cocci_menhir.mly"
46 (Data.clt)
47 # 48 "parser_cocci_menhir.ml"
48 )
49 | Tsigned of (
50 # 117 "parser_cocci_menhir.mly"
51 (Data.clt)
52 # 53 "parser_cocci_menhir.ml"
53 )
54 | Tshort of (
55 # 114 "parser_cocci_menhir.mly"
56 (Data.clt)
57 # 58 "parser_cocci_menhir.ml"
58 )
59 | Tregister of (
60 # 119 "parser_cocci_menhir.mly"
61 (Data.clt)
62 # 63 "parser_cocci_menhir.ml"
63 )
64 | Tptrdiff_t of (
65 # 115 "parser_cocci_menhir.mly"
66 (Data.clt)
67 # 68 "parser_cocci_menhir.ml"
68 )
69 | Tlong of (
70 # 114 "parser_cocci_menhir.mly"
71 (Data.clt)
72 # 73 "parser_cocci_menhir.ml"
73 )
74 | Tlist
75 | Tint of (
76 # 114 "parser_cocci_menhir.mly"
77 (Data.clt)
78 # 79 "parser_cocci_menhir.ml"
79 )
80 | Tinline of (
81 # 119 "parser_cocci_menhir.mly"
82 (Data.clt)
83 # 84 "parser_cocci_menhir.ml"
84 )
85 | Tfloat of (
86 # 114 "parser_cocci_menhir.mly"
87 (Data.clt)
88 # 89 "parser_cocci_menhir.ml"
89 )
90 | Textern of (
91 # 119 "parser_cocci_menhir.mly"
92 (Data.clt)
93 # 94 "parser_cocci_menhir.ml"
94 )
95 | Tenum of (
96 # 116 "parser_cocci_menhir.mly"
97 (Data.clt)
98 # 99 "parser_cocci_menhir.ml"
99 )
100 | Tdouble of (
101 # 114 "parser_cocci_menhir.mly"
102 (Data.clt)
103 # 104 "parser_cocci_menhir.ml"
104 )
105 | Tconst of (
106 # 120 "parser_cocci_menhir.mly"
107 (Data.clt)
108 # 109 "parser_cocci_menhir.ml"
109 )
110 | Tchar of (
111 # 114 "parser_cocci_menhir.mly"
112 (Data.clt)
113 # 114 "parser_cocci_menhir.ml"
114 )
115 | Tauto of (
116 # 119 "parser_cocci_menhir.mly"
117 (Data.clt)
118 # 119 "parser_cocci_menhir.ml"
119 )
120 | Tattr of (
121 # 121 "parser_cocci_menhir.mly"
122 (string * Data.clt)
123 # 124 "parser_cocci_menhir.ml"
124 )
125 | TXor of (
126 # 160 "parser_cocci_menhir.mly"
127 (Data.clt)
128 # 129 "parser_cocci_menhir.ml"
129 )
130 | TWords
131 | TWhy0
132 | TWhy of (
133 # 144 "parser_cocci_menhir.mly"
134 (Data.clt)
135 # 136 "parser_cocci_menhir.ml"
136 )
137 | TWhile of (
138 # 123 "parser_cocci_menhir.mly"
139 (Data.clt)
140 # 141 "parser_cocci_menhir.ml"
141 )
142 | TWhenTrue of (
143 # 142 "parser_cocci_menhir.mly"
144 (Data.clt)
145 # 146 "parser_cocci_menhir.ml"
146 )
147 | TWhenFalse of (
148 # 142 "parser_cocci_menhir.mly"
149 (Data.clt)
150 # 151 "parser_cocci_menhir.ml"
151 )
152 | TWhen of (
153 # 142 "parser_cocci_menhir.mly"
154 (Data.clt)
155 # 156 "parser_cocci_menhir.ml"
156 )
157 | TVirtual
158 | TUsing
159 | TUnderscore
160 | TUndef of (
161 # 149 "parser_cocci_menhir.mly"
162 (Data.clt * token)
163 # 164 "parser_cocci_menhir.ml"
164 )
165 | TTypedef
166 | TTypeId of (
167 # 125 "parser_cocci_menhir.mly"
168 (string * Data.clt)
169 # 170 "parser_cocci_menhir.ml"
170 )
171 | TType
172 | TTildeExclEq of (
173 # 162 "parser_cocci_menhir.mly"
174 (Data.clt)
175 # 176 "parser_cocci_menhir.ml"
176 )
177 | TTildeEq of (
178 # 162 "parser_cocci_menhir.mly"
179 (Data.clt)
180 # 181 "parser_cocci_menhir.ml"
181 )
182 | TTilde of (
183 # 167 "parser_cocci_menhir.mly"
184 (Data.clt)
185 # 186 "parser_cocci_menhir.ml"
186 )
187 | TSwitch of (
188 # 123 "parser_cocci_menhir.mly"
189 (Data.clt)
190 # 191 "parser_cocci_menhir.ml"
191 )
192 | TSub of (
193 # 162 "parser_cocci_menhir.mly"
194 (Data.clt)
195 # 196 "parser_cocci_menhir.ml"
196 )
197 | TString of (
198 # 155 "parser_cocci_menhir.mly"
199 (string * Data.clt)
200 # 201 "parser_cocci_menhir.ml"
201 )
202 | TStrict of (
203 # 142 "parser_cocci_menhir.mly"
204 (Data.clt)
205 # 206 "parser_cocci_menhir.ml"
206 )
207 | TStatement
208 | TSizeof of (
209 # 124 "parser_cocci_menhir.mly"
210 (Data.clt)
211 # 212 "parser_cocci_menhir.ml"
212 )
213 | TShROp of (
214 # 164 "parser_cocci_menhir.mly"
215 (Ast_cocci.arithOp * Data.clt)
216 # 217 "parser_cocci_menhir.ml"
217 )
218 | TShLOp of (
219 # 164 "parser_cocci_menhir.mly"
220 (Ast_cocci.arithOp * Data.clt)
221 # 222 "parser_cocci_menhir.ml"
222 )
223 | TScriptData of (
224 # 139 "parser_cocci_menhir.mly"
225 (string)
226 # 227 "parser_cocci_menhir.ml"
227 )
228 | TScript
229 | TRuleName of (
230 # 112 "parser_cocci_menhir.mly"
231 (string)
232 # 233 "parser_cocci_menhir.ml"
233 )
234 | TRightIso
235 | TReturn of (
236 # 123 "parser_cocci_menhir.mly"
237 (Data.clt)
238 # 239 "parser_cocci_menhir.ml"
239 )
240 | TPure
241 | TPtrOp of (
242 # 172 "parser_cocci_menhir.mly"
243 (Data.clt)
244 # 245 "parser_cocci_menhir.ml"
245 )
246 | TPtVirg of (
247 # 175 "parser_cocci_menhir.mly"
248 (Data.clt)
249 # 250 "parser_cocci_menhir.ml"
250 )
251 | TPragma of (
252 # 126 "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 # 151 "parser_cocci_menhir.mly"
260 (string * Data.clt)
261 # 262 "parser_cocci_menhir.ml"
262 )
263 | TPlus0
264 | TPlus of (
265 # 166 "parser_cocci_menhir.mly"
266 (Data.clt)
267 # 268 "parser_cocci_menhir.ml"
268 )
269 | TPathIsoFile of (
270 # 147 "parser_cocci_menhir.mly"
271 (string)
272 # 273 "parser_cocci_menhir.ml"
273 )
274 | TParameter
275 | TPOEllipsis of (
276 # 141 "parser_cocci_menhir.mly"
277 (Data.clt)
278 # 279 "parser_cocci_menhir.ml"
279 )
280 | TPCEllipsis of (
281 # 141 "parser_cocci_menhir.mly"
282 (Data.clt)
283 # 284 "parser_cocci_menhir.ml"
284 )
285 | TPArob
286 | TOrLog of (
287 # 157 "parser_cocci_menhir.mly"
288 (Data.clt)
289 # 290 "parser_cocci_menhir.ml"
290 )
291 | TOr of (
292 # 159 "parser_cocci_menhir.mly"
293 (Data.clt)
294 # 295 "parser_cocci_menhir.ml"
295 )
296 | TOn
297 | TOPar0 of (
298 # 144 "parser_cocci_menhir.mly"
299 (Data.clt)
300 # 301 "parser_cocci_menhir.ml"
301 )
302 | TOPar of (
303 # 144 "parser_cocci_menhir.mly"
304 (Data.clt)
305 # 306 "parser_cocci_menhir.ml"
306 )
307 | TOInit of (
308 # 169 "parser_cocci_menhir.mly"
309 (Data.clt)
310 # 311 "parser_cocci_menhir.ml"
311 )
312 | TOEllipsis of (
313 # 141 "parser_cocci_menhir.mly"
314 (Data.clt)
315 # 316 "parser_cocci_menhir.ml"
316 )
317 | TOCro of (
318 # 170 "parser_cocci_menhir.mly"
319 (Data.clt)
320 # 321 "parser_cocci_menhir.ml"
321 )
322 | TOBrace of (
323 # 169 "parser_cocci_menhir.mly"
324 (Data.clt)
325 # 326 "parser_cocci_menhir.ml"
326 )
327 | TNothing
328 | TNotEq of (
329 # 162 "parser_cocci_menhir.mly"
330 (Data.clt)
331 # 332 "parser_cocci_menhir.ml"
332 )
333 | TNever
334 | TName
335 | TMul of (
336 # 167 "parser_cocci_menhir.mly"
337 (Data.clt)
338 # 339 "parser_cocci_menhir.ml"
339 )
340 | TMinusFile of (
341 # 151 "parser_cocci_menhir.mly"
342 (string * Data.clt)
343 # 344 "parser_cocci_menhir.ml"
344 )
345 | TMinus of (
346 # 166 "parser_cocci_menhir.mly"
347 (Data.clt)
348 # 349 "parser_cocci_menhir.ml"
349 )
350 | TMid0 of (
351 # 145 "parser_cocci_menhir.mly"
352 (Data.clt)
353 # 354 "parser_cocci_menhir.ml"
354 )
355 | TMetavariable
356 | TMetaType of (
357 # 131 "parser_cocci_menhir.mly"
358 (Parse_aux.info)
359 # 360 "parser_cocci_menhir.ml"
360 )
361 | TMetaStmList of (
362 # 131 "parser_cocci_menhir.mly"
363 (Parse_aux.info)
364 # 365 "parser_cocci_menhir.ml"
365 )
366 | TMetaStm of (
367 # 131 "parser_cocci_menhir.mly"
368 (Parse_aux.info)
369 # 370 "parser_cocci_menhir.ml"
370 )
371 | TMetaPos of (
372 # 136 "parser_cocci_menhir.mly"
373 (Parse_aux.pos_info)
374 # 375 "parser_cocci_menhir.ml"
375 )
376 | TMetaParamList of (
377 # 133 "parser_cocci_menhir.mly"
378 (Parse_aux.list_info)
379 # 380 "parser_cocci_menhir.ml"
380 )
381 | TMetaParam of (
382 # 131 "parser_cocci_menhir.mly"
383 (Parse_aux.info)
384 # 385 "parser_cocci_menhir.ml"
385 )
386 | TMetaLocalIdExp of (
387 # 135 "parser_cocci_menhir.mly"
388 (Parse_aux.typed_expinfo)
389 # 390 "parser_cocci_menhir.ml"
390 )
391 | TMetaLocalFunc of (
392 # 128 "parser_cocci_menhir.mly"
393 (Parse_aux.idinfo)
394 # 395 "parser_cocci_menhir.ml"
395 )
396 | TMetaIterator of (
397 # 129 "parser_cocci_menhir.mly"
398 (Parse_aux.idinfo)
399 # 400 "parser_cocci_menhir.ml"
400 )
401 | TMetaInit of (
402 # 132 "parser_cocci_menhir.mly"
403 (Parse_aux.info)
404 # 405 "parser_cocci_menhir.ml"
405 )
406 | TMetaIdExp of (
407 # 135 "parser_cocci_menhir.mly"
408 (Parse_aux.typed_expinfo)
409 # 410 "parser_cocci_menhir.ml"
410 )
411 | TMetaId of (
412 # 128 "parser_cocci_menhir.mly"
413 (Parse_aux.idinfo)
414 # 415 "parser_cocci_menhir.ml"
415 )
416 | TMetaFunc of (
417 # 128 "parser_cocci_menhir.mly"
418 (Parse_aux.idinfo)
419 # 420 "parser_cocci_menhir.ml"
420 )
421 | TMetaFieldList of (
422 # 134 "parser_cocci_menhir.mly"
423 (Parse_aux.list_info)
424 # 425 "parser_cocci_menhir.ml"
425 )
426 | TMetaField of (
427 # 132 "parser_cocci_menhir.mly"
428 (Parse_aux.info)
429 # 430 "parser_cocci_menhir.ml"
430 )
431 | TMetaExpList of (
432 # 133 "parser_cocci_menhir.mly"
433 (Parse_aux.list_info)
434 # 435 "parser_cocci_menhir.ml"
435 )
436 | TMetaExp of (
437 # 135 "parser_cocci_menhir.mly"
438 (Parse_aux.typed_expinfo)
439 # 440 "parser_cocci_menhir.ml"
440 )
441 | TMetaErr of (
442 # 130 "parser_cocci_menhir.mly"
443 (Parse_aux.expinfo)
444 # 445 "parser_cocci_menhir.ml"
445 )
446 | TMetaDeclarer of (
447 # 129 "parser_cocci_menhir.mly"
448 (Parse_aux.idinfo)
449 # 450 "parser_cocci_menhir.ml"
450 )
451 | TMetaDecl of (
452 # 132 "parser_cocci_menhir.mly"
453 (Parse_aux.info)
454 # 455 "parser_cocci_menhir.ml"
455 )
456 | TMetaConst of (
457 # 135 "parser_cocci_menhir.mly"
458 (Parse_aux.typed_expinfo)
459 # 460 "parser_cocci_menhir.ml"
460 )
461 | TMeta of (
462 # 132 "parser_cocci_menhir.mly"
463 (Parse_aux.info)
464 # 465 "parser_cocci_menhir.ml"
465 )
466 | TMPtVirg
467 | TLogOp of (
468 # 163 "parser_cocci_menhir.mly"
469 (Ast_cocci.logicalOp * Data.clt)
470 # 471 "parser_cocci_menhir.ml"
471 )
472 | TLocal
473 | TLineEnd of (
474 # 142 "parser_cocci_menhir.mly"
475 (Data.clt)
476 # 477 "parser_cocci_menhir.ml"
477 )
478 | TIteratorId of (
479 # 125 "parser_cocci_menhir.mly"
480 (string * Data.clt)
481 # 482 "parser_cocci_menhir.ml"
482 )
483 | TIterator
484 | TIsoType
485 | TIsoTopLevel
486 | TIsoToTestExpression
487 | TIsoTestExpression
488 | TIsoStatement
489 | TIsoExpression
490 | TIsoDeclaration
491 | TIsoArgExpression
492 | TIso
493 | TInvalid
494 | TInt of (
495 # 155 "parser_cocci_menhir.mly"
496 (string * Data.clt)
497 # 498 "parser_cocci_menhir.ml"
498 )
499 | TInitialize
500 | TInitialiser
501 | TIncludeNL of (
502 # 148 "parser_cocci_menhir.mly"
503 (string * Data.clt)
504 # 505 "parser_cocci_menhir.ml"
505 )
506 | TIncludeL of (
507 # 148 "parser_cocci_menhir.mly"
508 (string * Data.clt)
509 # 510 "parser_cocci_menhir.ml"
510 )
511 | TInc of (
512 # 153 "parser_cocci_menhir.mly"
513 (Data.clt)
514 # 515 "parser_cocci_menhir.ml"
515 )
516 | TIf of (
517 # 123 "parser_cocci_menhir.mly"
518 (Data.clt)
519 # 520 "parser_cocci_menhir.ml"
520 )
521 | TIdentifier
522 | TIdent of (
523 # 125 "parser_cocci_menhir.mly"
524 (string * Data.clt)
525 # 526 "parser_cocci_menhir.ml"
526 )
527 | TIdExpression
528 | TGoto of (
529 # 124 "parser_cocci_menhir.mly"
530 (Data.clt)
531 # 532 "parser_cocci_menhir.ml"
532 )
533 | TGenerated
534 | TFunction
535 | TFunDecl of (
536 # 124 "parser_cocci_menhir.mly"
537 (Data.clt)
538 # 539 "parser_cocci_menhir.ml"
539 )
540 | TFresh
541 | TForall
542 | TFor of (
543 # 123 "parser_cocci_menhir.mly"
544 (Data.clt)
545 # 546 "parser_cocci_menhir.ml"
546 )
547 | TFloat of (
548 # 155 "parser_cocci_menhir.mly"
549 (string * Data.clt)
550 # 551 "parser_cocci_menhir.ml"
551 )
552 | TFinalize
553 | TField
554 | TExtends
555 | TExpression
556 | TExists
557 | TEver
558 | TError
559 | TEqEq of (
560 # 162 "parser_cocci_menhir.mly"
561 (Data.clt)
562 # 563 "parser_cocci_menhir.ml"
563 )
564 | TEq of (
565 # 175 "parser_cocci_menhir.mly"
566 (Data.clt)
567 # 568 "parser_cocci_menhir.ml"
568 )
569 | TElse of (
570 # 123 "parser_cocci_menhir.mly"
571 (Data.clt)
572 # 573 "parser_cocci_menhir.ml"
573 )
574 | TEllipsis of (
575 # 141 "parser_cocci_menhir.mly"
576 (Data.clt)
577 # 578 "parser_cocci_menhir.ml"
578 )
579 | TDotDot of (
580 # 144 "parser_cocci_menhir.mly"
581 (Data.clt)
582 # 583 "parser_cocci_menhir.ml"
583 )
584 | TDot of (
585 # 175 "parser_cocci_menhir.mly"
586 (Data.clt)
587 # 588 "parser_cocci_menhir.ml"
588 )
589 | TDo of (
590 # 123 "parser_cocci_menhir.mly"
591 (Data.clt)
592 # 593 "parser_cocci_menhir.ml"
593 )
594 | TDmOp of (
595 # 165 "parser_cocci_menhir.mly"
596 (Ast_cocci.arithOp * Data.clt)
597 # 598 "parser_cocci_menhir.ml"
598 )
599 | TDisable
600 | TDepends
601 | TDefineParam of (
602 # 150 "parser_cocci_menhir.mly"
603 (Data.clt * token * int * int)
604 # 605 "parser_cocci_menhir.ml"
605 )
606 | TDefine of (
607 # 149 "parser_cocci_menhir.mly"
608 (Data.clt * token)
609 # 610 "parser_cocci_menhir.ml"
610 )
611 | TDefault of (
612 # 123 "parser_cocci_menhir.mly"
613 (Data.clt)
614 # 615 "parser_cocci_menhir.ml"
615 )
616 | TDeclarerId of (
617 # 125 "parser_cocci_menhir.mly"
618 (string * Data.clt)
619 # 620 "parser_cocci_menhir.ml"
620 )
621 | TDeclarer
622 | TDeclaration
623 | TDec of (
624 # 153 "parser_cocci_menhir.mly"
625 (Data.clt)
626 # 627 "parser_cocci_menhir.ml"
627 )
628 | TCppConcatOp
629 | TContinue of (
630 # 124 "parser_cocci_menhir.mly"
631 (Data.clt)
632 # 633 "parser_cocci_menhir.ml"
633 )
634 | TContext
635 | TConstant
636 | TComma of (
637 # 175 "parser_cocci_menhir.mly"
638 (Data.clt)
639 # 640 "parser_cocci_menhir.ml"
640 )
641 | TChar of (
642 # 155 "parser_cocci_menhir.mly"
643 (string * Data.clt)
644 # 645 "parser_cocci_menhir.ml"
645 )
646 | TCase of (
647 # 123 "parser_cocci_menhir.mly"
648 (Data.clt)
649 # 650 "parser_cocci_menhir.ml"
650 )
651 | TCPar0 of (
652 # 145 "parser_cocci_menhir.mly"
653 (Data.clt)
654 # 655 "parser_cocci_menhir.ml"
655 )
656 | TCPar of (
657 # 145 "parser_cocci_menhir.mly"
658 (Data.clt)
659 # 660 "parser_cocci_menhir.ml"
660 )
661 | TCEllipsis of (
662 # 141 "parser_cocci_menhir.mly"
663 (Data.clt)
664 # 665 "parser_cocci_menhir.ml"
665 )
666 | TCCro of (
667 # 170 "parser_cocci_menhir.mly"
668 (Data.clt)
669 # 670 "parser_cocci_menhir.ml"
670 )
671 | TCBrace of (
672 # 169 "parser_cocci_menhir.mly"
673 (Data.clt)
674 # 675 "parser_cocci_menhir.ml"
675 )
676 | TBreak of (
677 # 124 "parser_cocci_menhir.mly"
678 (Data.clt)
679 # 680 "parser_cocci_menhir.ml"
680 )
681 | TBang0
682 | TBang of (
683 # 144 "parser_cocci_menhir.mly"
684 (Data.clt)
685 # 686 "parser_cocci_menhir.ml"
686 )
687 | TAssign of (
688 # 176 "parser_cocci_menhir.mly"
689 (Ast_cocci.assignOp * Data.clt)
690 # 691 "parser_cocci_menhir.ml"
691 )
692 | TArobArob
693 | TArob
694 | TAny of (
695 # 142 "parser_cocci_menhir.mly"
696 (Data.clt)
697 # 698 "parser_cocci_menhir.ml"
698 )
699 | TAndLog of (
700 # 158 "parser_cocci_menhir.mly"
701 (Data.clt)
702 # 703 "parser_cocci_menhir.ml"
703 )
704 | TAnd of (
705 # 161 "parser_cocci_menhir.mly"
706 (Data.clt)
707 # 708 "parser_cocci_menhir.ml"
708 )
709 | EOF
710
711 and _menhir_jeton = token
712
713
714 # 25 "parser_cocci_menhir.mly"
715
716
717 (* Not clear how to allow function declarations to specify a return type
718 and how to allow both to be specified as static, because they are in
719 different rules. The rules seem to have to be combined, which would allow
720 functions to be declared as local variables *)
721
722 (* Not clear how to let a function have a parameter of type void. At the
723 moment, void is allowed to be the type of a variable, which is wrong, and a
724 parameter needs both a type and an identifier *)
725 module Ast0 = Ast0_cocci
726 module Ast = Ast_cocci
727 module P = Parse_aux
728
729 (* ---------------------------------------------------------------------- *)
730 (* support for TMeta *)
731
732 let print_meta (r,n) = r^"."^n
733
734 let meta_metatable = Hashtbl.create(101)
735
736 let coerce_tmeta newty name builder matcher =
737 try
738 let x = Hashtbl.find meta_metatable name in
739 if not (matcher x)
740 then
741 failwith
742 (Printf.sprintf "Metavariable %s is used as %s"
743 (print_meta name) newty)
744 with Not_found ->
745 (if !Flag_parsing_cocci.show_SP
746 then
747 Common.pr2
748 (Printf.sprintf
749 "Metavariable %s is assumed to be %s metavariable"
750 (print_meta name) newty));
751 Hashtbl.add meta_metatable name builder
752
753 let tmeta_to_type (name,pure,clt) =
754 (coerce_tmeta "a type" name (TMetaType(name,pure,clt))
755 (function TMetaType(_,_,_) -> true | _ -> false));
756 Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure))
757
758 let tmeta_to_field (name,pure,clt) =
759 (coerce_tmeta "a field" name (TMetaField(name,pure,clt))
760 (function TMetaField(_,_,_) -> true | _ -> false));
761 P.meta_field (name,pure,clt)
762
763 let tmeta_to_exp (name,pure,clt) =
764 (coerce_tmeta "an expression" name
765 (TMetaExp(name,Ast0.NoConstraint,pure,None,clt))
766 (function TMetaExp(_,_,_,_,_) -> true | _ -> false));
767 Ast0.wrap
768 (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure))
769
770 let tmeta_to_param (name,pure,clt) =
771 (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt))
772 (function TMetaParam(_,_,_) -> true | _ -> false));
773 Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure))
774
775 let tmeta_to_statement (name,pure,clt) =
776 (coerce_tmeta "a statement" name (TMetaType(name,pure,clt))
777 (function TMetaType(_,_,_) -> true | _ -> false));
778 P.meta_stm (name,pure,clt)
779
780 let tmeta_to_seed_id (name,pure,clt) =
781 (coerce_tmeta "an identifier" name
782 (TMetaId(name,Ast.IdNoConstraint,pure,clt))
783 (function TMetaId(_,_,_,_) -> true | _ -> false));
784 Ast.SeedId name
785
786 let tmeta_to_ident (name,pure,clt) =
787 (coerce_tmeta "an identifier" name
788 (TMetaId(name,Ast.IdNoConstraint,pure,clt))
789 (function TMetaId(_,_,_,_) -> true | _ -> false));
790 Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,pure))
791
792 # 793 "parser_cocci_menhir.ml"
793 let _eRR =
794 Error
795
796 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
797
798 exception Error = Error
799
800 type token = _menhir_jeton
801
802 let token2terminal : token -> int =
803 fun _tok ->
804 match _tok with
805 | EOF ->
806 190
807 | TAnd _ ->
808 189
809 | TAndLog _ ->
810 188
811 | TAny _ ->
812 187
813 | TArob ->
814 186
815 | TArobArob ->
816 185
817 | TAssign _ ->
818 184
819 | TBang _ ->
820 183
821 | TBang0 ->
822 182
823 | TBreak _ ->
824 181
825 | TCBrace _ ->
826 180
827 | TCCro _ ->
828 179
829 | TCEllipsis _ ->
830 178
831 | TCPar _ ->
832 177
833 | TCPar0 _ ->
834 176
835 | TCase _ ->
836 175
837 | TChar _ ->
838 174
839 | TComma _ ->
840 173
841 | TConstant ->
842 172
843 | TContext ->
844 171
845 | TContinue _ ->
846 170
847 | TCppConcatOp ->
848 169
849 | TDec _ ->
850 168
851 | TDeclaration ->
852 167
853 | TDeclarer ->
854 166
855 | TDeclarerId _ ->
856 165
857 | TDefault _ ->
858 164
859 | TDefine _ ->
860 163
861 | TDefineParam _ ->
862 162
863 | TDepends ->
864 161
865 | TDisable ->
866 160
867 | TDmOp _ ->
868 159
869 | TDo _ ->
870 158
871 | TDot _ ->
872 157
873 | TDotDot _ ->
874 156
875 | TEllipsis _ ->
876 155
877 | TElse _ ->
878 154
879 | TEq _ ->
880 153
881 | TEqEq _ ->
882 152
883 | TError ->
884 151
885 | TEver ->
886 150
887 | TExists ->
888 149
889 | TExpression ->
890 148
891 | TExtends ->
892 147
893 | TField ->
894 146
895 | TFinalize ->
896 145
897 | TFloat _ ->
898 144
899 | TFor _ ->
900 143
901 | TForall ->
902 142
903 | TFresh ->
904 141
905 | TFunDecl _ ->
906 140
907 | TFunction ->
908 139
909 | TGenerated ->
910 138
911 | TGoto _ ->
912 137
913 | TIdExpression ->
914 136
915 | TIdent _ ->
916 135
917 | TIdentifier ->
918 134
919 | TIf _ ->
920 133
921 | TInc _ ->
922 132
923 | TIncludeL _ ->
924 131
925 | TIncludeNL _ ->
926 130
927 | TInitialiser ->
928 129
929 | TInitialize ->
930 128
931 | TInt _ ->
932 127
933 | TInvalid ->
934 126
935 | TIso ->
936 125
937 | TIsoArgExpression ->
938 124
939 | TIsoDeclaration ->
940 123
941 | TIsoExpression ->
942 122
943 | TIsoStatement ->
944 121
945 | TIsoTestExpression ->
946 120
947 | TIsoToTestExpression ->
948 119
949 | TIsoTopLevel ->
950 118
951 | TIsoType ->
952 117
953 | TIterator ->
954 116
955 | TIteratorId _ ->
956 115
957 | TLineEnd _ ->
958 114
959 | TLocal ->
960 113
961 | TLogOp _ ->
962 112
963 | TMPtVirg ->
964 111
965 | TMeta _ ->
966 110
967 | TMetaConst _ ->
968 109
969 | TMetaDecl _ ->
970 108
971 | TMetaDeclarer _ ->
972 107
973 | TMetaErr _ ->
974 106
975 | TMetaExp _ ->
976 105
977 | TMetaExpList _ ->
978 104
979 | TMetaField _ ->
980 103
981 | TMetaFieldList _ ->
982 102
983 | TMetaFunc _ ->
984 101
985 | TMetaId _ ->
986 100
987 | TMetaIdExp _ ->
988 99
989 | TMetaInit _ ->
990 98
991 | TMetaIterator _ ->
992 97
993 | TMetaLocalFunc _ ->
994 96
995 | TMetaLocalIdExp _ ->
996 95
997 | TMetaParam _ ->
998 94
999 | TMetaParamList _ ->
1000 93
1001 | TMetaPos _ ->
1002 92
1003 | TMetaStm _ ->
1004 91
1005 | TMetaStmList _ ->
1006 90
1007 | TMetaType _ ->
1008 89
1009 | TMetavariable ->
1010 88
1011 | TMid0 _ ->
1012 87
1013 | TMinus _ ->
1014 86
1015 | TMinusFile _ ->
1016 85
1017 | TMul _ ->
1018 84
1019 | TName ->
1020 83
1021 | TNever ->
1022 82
1023 | TNotEq _ ->
1024 81
1025 | TNothing ->
1026 80
1027 | TOBrace _ ->
1028 79
1029 | TOCro _ ->
1030 78
1031 | TOEllipsis _ ->
1032 77
1033 | TOInit _ ->
1034 76
1035 | TOPar _ ->
1036 75
1037 | TOPar0 _ ->
1038 74
1039 | TOn ->
1040 73
1041 | TOr _ ->
1042 72
1043 | TOrLog _ ->
1044 71
1045 | TPArob ->
1046 70
1047 | TPCEllipsis _ ->
1048 69
1049 | TPOEllipsis _ ->
1050 68
1051 | TParameter ->
1052 67
1053 | TPathIsoFile _ ->
1054 66
1055 | TPlus _ ->
1056 65
1057 | TPlus0 ->
1058 64
1059 | TPlusFile _ ->
1060 63
1061 | TPosAny ->
1062 62
1063 | TPosition ->
1064 61
1065 | TPragma _ ->
1066 60
1067 | TPtVirg _ ->
1068 59
1069 | TPtrOp _ ->
1070 58
1071 | TPure ->
1072 57
1073 | TReturn _ ->
1074 56
1075 | TRightIso ->
1076 55
1077 | TRuleName _ ->
1078 54
1079 | TScript ->
1080 53
1081 | TScriptData _ ->
1082 52
1083 | TShLOp _ ->
1084 51
1085 | TShROp _ ->
1086 50
1087 | TSizeof _ ->
1088 49
1089 | TStatement ->
1090 48
1091 | TStrict _ ->
1092 47
1093 | TString _ ->
1094 46
1095 | TSub _ ->
1096 45
1097 | TSwitch _ ->
1098 44
1099 | TTilde _ ->
1100 43
1101 | TTildeEq _ ->
1102 42
1103 | TTildeExclEq _ ->
1104 41
1105 | TType ->
1106 40
1107 | TTypeId _ ->
1108 39
1109 | TTypedef ->
1110 38
1111 | TUndef _ ->
1112 37
1113 | TUnderscore ->
1114 36
1115 | TUsing ->
1116 35
1117 | TVirtual ->
1118 34
1119 | TWhen _ ->
1120 33
1121 | TWhenFalse _ ->
1122 32
1123 | TWhenTrue _ ->
1124 31
1125 | TWhile _ ->
1126 30
1127 | TWhy _ ->
1128 29
1129 | TWhy0 ->
1130 28
1131 | TWords ->
1132 27
1133 | TXor _ ->
1134 26
1135 | Tattr _ ->
1136 25
1137 | Tauto _ ->
1138 24
1139 | Tchar _ ->
1140 23
1141 | Tconst _ ->
1142 22
1143 | Tdouble _ ->
1144 21
1145 | Tenum _ ->
1146 20
1147 | Textern _ ->
1148 19
1149 | Tfloat _ ->
1150 18
1151 | Tinline _ ->
1152 17
1153 | Tint _ ->
1154 16
1155 | Tlist ->
1156 15
1157 | Tlong _ ->
1158 14
1159 | Tptrdiff_t _ ->
1160 13
1161 | Tregister _ ->
1162 12
1163 | Tshort _ ->
1164 11
1165 | Tsigned _ ->
1166 10
1167 | Tsize_t _ ->
1168 9
1169 | Tssize_t _ ->
1170 8
1171 | Tstatic _ ->
1172 7
1173 | Tstruct _ ->
1174 6
1175 | Ttypedef _ ->
1176 5
1177 | Tunion _ ->
1178 4
1179 | Tunsigned _ ->
1180 3
1181 | Tvoid _ ->
1182 2
1183 | Tvolatile _ ->
1184 1
1185
1186 let error_terminal =
1187 0
1188
1189 let token2value : token -> Obj.t =
1190 fun _tok ->
1191 match _tok with
1192 | EOF ->
1193 Obj.repr ()
1194 | TAnd _v ->
1195 Obj.repr _v
1196 | TAndLog _v ->
1197 Obj.repr _v
1198 | TAny _v ->
1199 Obj.repr _v
1200 | TArob ->
1201 Obj.repr ()
1202 | TArobArob ->
1203 Obj.repr ()
1204 | TAssign _v ->
1205 Obj.repr _v
1206 | TBang _v ->
1207 Obj.repr _v
1208 | TBang0 ->
1209 Obj.repr ()
1210 | TBreak _v ->
1211 Obj.repr _v
1212 | TCBrace _v ->
1213 Obj.repr _v
1214 | TCCro _v ->
1215 Obj.repr _v
1216 | TCEllipsis _v ->
1217 Obj.repr _v
1218 | TCPar _v ->
1219 Obj.repr _v
1220 | TCPar0 _v ->
1221 Obj.repr _v
1222 | TCase _v ->
1223 Obj.repr _v
1224 | TChar _v ->
1225 Obj.repr _v
1226 | TComma _v ->
1227 Obj.repr _v
1228 | TConstant ->
1229 Obj.repr ()
1230 | TContext ->
1231 Obj.repr ()
1232 | TContinue _v ->
1233 Obj.repr _v
1234 | TCppConcatOp ->
1235 Obj.repr ()
1236 | TDec _v ->
1237 Obj.repr _v
1238 | TDeclaration ->
1239 Obj.repr ()
1240 | TDeclarer ->
1241 Obj.repr ()
1242 | TDeclarerId _v ->
1243 Obj.repr _v
1244 | TDefault _v ->
1245 Obj.repr _v
1246 | TDefine _v ->
1247 Obj.repr _v
1248 | TDefineParam _v ->
1249 Obj.repr _v
1250 | TDepends ->
1251 Obj.repr ()
1252 | TDisable ->
1253 Obj.repr ()
1254 | TDmOp _v ->
1255 Obj.repr _v
1256 | TDo _v ->
1257 Obj.repr _v
1258 | TDot _v ->
1259 Obj.repr _v
1260 | TDotDot _v ->
1261 Obj.repr _v
1262 | TEllipsis _v ->
1263 Obj.repr _v
1264 | TElse _v ->
1265 Obj.repr _v
1266 | TEq _v ->
1267 Obj.repr _v
1268 | TEqEq _v ->
1269 Obj.repr _v
1270 | TError ->
1271 Obj.repr ()
1272 | TEver ->
1273 Obj.repr ()
1274 | TExists ->
1275 Obj.repr ()
1276 | TExpression ->
1277 Obj.repr ()
1278 | TExtends ->
1279 Obj.repr ()
1280 | TField ->
1281 Obj.repr ()
1282 | TFinalize ->
1283 Obj.repr ()
1284 | TFloat _v ->
1285 Obj.repr _v
1286 | TFor _v ->
1287 Obj.repr _v
1288 | TForall ->
1289 Obj.repr ()
1290 | TFresh ->
1291 Obj.repr ()
1292 | TFunDecl _v ->
1293 Obj.repr _v
1294 | TFunction ->
1295 Obj.repr ()
1296 | TGenerated ->
1297 Obj.repr ()
1298 | TGoto _v ->
1299 Obj.repr _v
1300 | TIdExpression ->
1301 Obj.repr ()
1302 | TIdent _v ->
1303 Obj.repr _v
1304 | TIdentifier ->
1305 Obj.repr ()
1306 | TIf _v ->
1307 Obj.repr _v
1308 | TInc _v ->
1309 Obj.repr _v
1310 | TIncludeL _v ->
1311 Obj.repr _v
1312 | TIncludeNL _v ->
1313 Obj.repr _v
1314 | TInitialiser ->
1315 Obj.repr ()
1316 | TInitialize ->
1317 Obj.repr ()
1318 | TInt _v ->
1319 Obj.repr _v
1320 | TInvalid ->
1321 Obj.repr ()
1322 | TIso ->
1323 Obj.repr ()
1324 | TIsoArgExpression ->
1325 Obj.repr ()
1326 | TIsoDeclaration ->
1327 Obj.repr ()
1328 | TIsoExpression ->
1329 Obj.repr ()
1330 | TIsoStatement ->
1331 Obj.repr ()
1332 | TIsoTestExpression ->
1333 Obj.repr ()
1334 | TIsoToTestExpression ->
1335 Obj.repr ()
1336 | TIsoTopLevel ->
1337 Obj.repr ()
1338 | TIsoType ->
1339 Obj.repr ()
1340 | TIterator ->
1341 Obj.repr ()
1342 | TIteratorId _v ->
1343 Obj.repr _v
1344 | TLineEnd _v ->
1345 Obj.repr _v
1346 | TLocal ->
1347 Obj.repr ()
1348 | TLogOp _v ->
1349 Obj.repr _v
1350 | TMPtVirg ->
1351 Obj.repr ()
1352 | TMeta _v ->
1353 Obj.repr _v
1354 | TMetaConst _v ->
1355 Obj.repr _v
1356 | TMetaDecl _v ->
1357 Obj.repr _v
1358 | TMetaDeclarer _v ->
1359 Obj.repr _v
1360 | TMetaErr _v ->
1361 Obj.repr _v
1362 | TMetaExp _v ->
1363 Obj.repr _v
1364 | TMetaExpList _v ->
1365 Obj.repr _v
1366 | TMetaField _v ->
1367 Obj.repr _v
1368 | TMetaFieldList _v ->
1369 Obj.repr _v
1370 | TMetaFunc _v ->
1371 Obj.repr _v
1372 | TMetaId _v ->
1373 Obj.repr _v
1374 | TMetaIdExp _v ->
1375 Obj.repr _v
1376 | TMetaInit _v ->
1377 Obj.repr _v
1378 | TMetaIterator _v ->
1379 Obj.repr _v
1380 | TMetaLocalFunc _v ->
1381 Obj.repr _v
1382 | TMetaLocalIdExp _v ->
1383 Obj.repr _v
1384 | TMetaParam _v ->
1385 Obj.repr _v
1386 | TMetaParamList _v ->
1387 Obj.repr _v
1388 | TMetaPos _v ->
1389 Obj.repr _v
1390 | TMetaStm _v ->
1391 Obj.repr _v
1392 | TMetaStmList _v ->
1393 Obj.repr _v
1394 | TMetaType _v ->
1395 Obj.repr _v
1396 | TMetavariable ->
1397 Obj.repr ()
1398 | TMid0 _v ->
1399 Obj.repr _v
1400 | TMinus _v ->
1401 Obj.repr _v
1402 | TMinusFile _v ->
1403 Obj.repr _v
1404 | TMul _v ->
1405 Obj.repr _v
1406 | TName ->
1407 Obj.repr ()
1408 | TNever ->
1409 Obj.repr ()
1410 | TNotEq _v ->
1411 Obj.repr _v
1412 | TNothing ->
1413 Obj.repr ()
1414 | TOBrace _v ->
1415 Obj.repr _v
1416 | TOCro _v ->
1417 Obj.repr _v
1418 | TOEllipsis _v ->
1419 Obj.repr _v
1420 | TOInit _v ->
1421 Obj.repr _v
1422 | TOPar _v ->
1423 Obj.repr _v
1424 | TOPar0 _v ->
1425 Obj.repr _v
1426 | TOn ->
1427 Obj.repr ()
1428 | TOr _v ->
1429 Obj.repr _v
1430 | TOrLog _v ->
1431 Obj.repr _v
1432 | TPArob ->
1433 Obj.repr ()
1434 | TPCEllipsis _v ->
1435 Obj.repr _v
1436 | TPOEllipsis _v ->
1437 Obj.repr _v
1438 | TParameter ->
1439 Obj.repr ()
1440 | TPathIsoFile _v ->
1441 Obj.repr _v
1442 | TPlus _v ->
1443 Obj.repr _v
1444 | TPlus0 ->
1445 Obj.repr ()
1446 | TPlusFile _v ->
1447 Obj.repr _v
1448 | TPosAny ->
1449 Obj.repr ()
1450 | TPosition ->
1451 Obj.repr ()
1452 | TPragma _v ->
1453 Obj.repr _v
1454 | TPtVirg _v ->
1455 Obj.repr _v
1456 | TPtrOp _v ->
1457 Obj.repr _v
1458 | TPure ->
1459 Obj.repr ()
1460 | TReturn _v ->
1461 Obj.repr _v
1462 | TRightIso ->
1463 Obj.repr ()
1464 | TRuleName _v ->
1465 Obj.repr _v
1466 | TScript ->
1467 Obj.repr ()
1468 | TScriptData _v ->
1469 Obj.repr _v
1470 | TShLOp _v ->
1471 Obj.repr _v
1472 | TShROp _v ->
1473 Obj.repr _v
1474 | TSizeof _v ->
1475 Obj.repr _v
1476 | TStatement ->
1477 Obj.repr ()
1478 | TStrict _v ->
1479 Obj.repr _v
1480 | TString _v ->
1481 Obj.repr _v
1482 | TSub _v ->
1483 Obj.repr _v
1484 | TSwitch _v ->
1485 Obj.repr _v
1486 | TTilde _v ->
1487 Obj.repr _v
1488 | TTildeEq _v ->
1489 Obj.repr _v
1490 | TTildeExclEq _v ->
1491 Obj.repr _v
1492 | TType ->
1493 Obj.repr ()
1494 | TTypeId _v ->
1495 Obj.repr _v
1496 | TTypedef ->
1497 Obj.repr ()
1498 | TUndef _v ->
1499 Obj.repr _v
1500 | TUnderscore ->
1501 Obj.repr ()
1502 | TUsing ->
1503 Obj.repr ()
1504 | TVirtual ->
1505 Obj.repr ()
1506 | TWhen _v ->
1507 Obj.repr _v
1508 | TWhenFalse _v ->
1509 Obj.repr _v
1510 | TWhenTrue _v ->
1511 Obj.repr _v
1512 | TWhile _v ->
1513 Obj.repr _v
1514 | TWhy _v ->
1515 Obj.repr _v
1516 | TWhy0 ->
1517 Obj.repr ()
1518 | TWords ->
1519 Obj.repr ()
1520 | TXor _v ->
1521 Obj.repr _v
1522 | Tattr _v ->
1523 Obj.repr _v
1524 | Tauto _v ->
1525 Obj.repr _v
1526 | Tchar _v ->
1527 Obj.repr _v
1528 | Tconst _v ->
1529 Obj.repr _v
1530 | Tdouble _v ->
1531 Obj.repr _v
1532 | Tenum _v ->
1533 Obj.repr _v
1534 | Textern _v ->
1535 Obj.repr _v
1536 | Tfloat _v ->
1537 Obj.repr _v
1538 | Tinline _v ->
1539 Obj.repr _v
1540 | Tint _v ->
1541 Obj.repr _v
1542 | Tlist ->
1543 Obj.repr ()
1544 | Tlong _v ->
1545 Obj.repr _v
1546 | Tptrdiff_t _v ->
1547 Obj.repr _v
1548 | Tregister _v ->
1549 Obj.repr _v
1550 | Tshort _v ->
1551 Obj.repr _v
1552 | Tsigned _v ->
1553 Obj.repr _v
1554 | Tsize_t _v ->
1555 Obj.repr _v
1556 | Tssize_t _v ->
1557 Obj.repr _v
1558 | Tstatic _v ->
1559 Obj.repr _v
1560 | Tstruct _v ->
1561 Obj.repr _v
1562 | Ttypedef _v ->
1563 Obj.repr _v
1564 | Tunion _v ->
1565 Obj.repr _v
1566 | Tunsigned _v ->
1567 Obj.repr _v
1568 | Tvoid _v ->
1569 Obj.repr _v
1570 | Tvolatile _v ->
1571 Obj.repr _v
1572
1573 let default_reduction =
1574 (16, "\000\000\000\000\003\012\000\131\000\000\000\000\003\\\001\130\000\000\001\128\001\129\001\127\000\000\001\132\001\131\000\001\000\000\001\183\000\000\000\000\000\147\000\000\000\000\001\173\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\152\003\151\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\015\002\014\002\r\000\000\001-\001,\000\000\000\000\002&\000\000\001\197\002\017\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\000\001M\001|\001L\001K\001J\001I\001{\001H\001G\002R\000\000\000\000\002Q\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002U\001E\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\138\003\145\003\144\003\146\000\000\000\000\000\000\000\000\003\180\000\000\003\139\003\140\000\000\000\000\000\206\000\000\003\142\000\000\000\000\000\000\004'\002\214\000\000\000\000\004%\000\000\002\240\000\000\000\000\000\000\000\000\000\000\000\000\004$\004&\002\220\001w\002\219\001v\002\218\002\217\002\216\0029\002\212\000\000\000\000\002\213\001.\000\000\000\000\000\000\002\215\000\000\004#\000\000\000\000\004\004\002\183\000\000\000\000\002\186\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001/\001u\002\211\002\223\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0019\000p\002\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\184\002\187\000\000\002\185\002\188\004\003\000\000\002\248\000\000\000\247\000\000\000\000\002'\000\000\001\199\002\018\000\000\000\000\002%\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002x\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002f\002w\002-\000\000\000\000\000\000\000\000\000\000\001D\001\001\000\000\002.\000\000\000\000\000\000\000\000\000\251\000\000\000\249\000\000\001\175\000\171\000\000\000\000\000\170\002j\002g\000\000\000\000\003\148\000\000\003\147\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\179\000\000\000\000\003\150\003\143\000\227\000\000\001\195\002\016\000\000\000\000\002\247\000\000\000\000\002\246\002\245\002\244\002\243\002\242\002\238\000\000\004\015\002\239\000\000\004\016\002\241\000\000\004\018\000\000\000y\002\197\000\000\000\000\002\200\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\249\002\237\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\002C\002G\000\000\000\000\000\150\002D\001<\001:\000\000\002\203\000\000\000\000\002\198\002\201\000\000\002\199\002\202\004\017\000z\000\000\002\189\004\031\004 \004\030\004\029\004\002\000\000\002\221\004\001\001R\000\000\0027\000\000\000\000\000\000\000\000\000\000\0012\002>\000\000\000\000\001\211\000\000\002\222\000\000\000\000\000v\000\000\000\000\004\020\004\019\000\000\0028\000\000\000\000\004\"\004!\000\000\000\000\004\006\004\005\000\000\000c\000\248\000\000\003\149\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0018\000\000\000\000\000\208\000\192\000\000\000\000\001\151\000\000\001\150\000\000\001\165\000\000\001\185\000\000\000\000\000\000\003\202\000\000\000\000\003\189\000\000\000\000\003\194\003\193\000\000\003\190\000\000\003\188\000\000\000\000\000\000\003\192\000\000\003\191\000\000\003\206\000\000\003\205\000\000\000\000\003\182\000\000\000\000\003\187\003\186\000\000\003\183\000\000\003\181\000\000\000\000\000\000\003\185\000\000\003\184\000\000\003\196\000\000\003\207\000\000\000\000\003\201\003\200\000\000\003\197\000\000\003\204\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\210\003\208\000\000\003\203\000\000\003\195\000\000\003\215\000\000\000\000\000\000\003\199\000\000\001\228\000\000\003\251\000\000\000\000\002*\001\229\000\000\001\205\002\022\000\000\000\000\000\000\000\000\003\214\003\198\003\252\000\000\003\255\003\254\000\000\000\000\003l\003\253\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\212\000\000\000\000\000\000\000\000\003\213\003\211\000\000\000\000\003\237\000\000\000\000\003\224\000\000\000\000\003\229\003\228\000\000\003\225\000\000\003\223\000\000\000\000\000\000\003\227\000\000\003\226\000\000\003\241\000\000\003\240\000\000\000\000\003\217\000\000\000\000\003\222\003\221\000\000\003\218\000\000\003\216\000\000\000\000\000\000\003\220\000\000\003\219\000\000\003\231\000\000\003\242\000\000\000\000\003\236\003\235\000\000\003\232\000\000\003\239\000\000\000\000\000\000\000\000\003\244\000\000\000\000\000\000\000\000\003\245\003\243\000\000\003\238\000\000\003\230\000\000\003\250\000\000\000\000\000\000\003\234\000\000\000\000\000\000\000\000\003\249\003\233\000\000\000\000\000\000\000\000\003\247\000\000\000\000\000\000\000\000\003\248\003\246\003\134\003\136\003\137\003\135\000\000\000\000\000\000\000\000\000\000\001\135\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\227\000\000\000\000\000\000\004\r\004\012\000\000\000\000\002\235\000\000\000\000\002\234\000\000\000\000\002\233\002\232\002\231\002\230\002\229\001\147\002\225\000\000\004\b\002\226\000\000\004\t\002\228\000\000\004\011\000\000\000w\002\190\000\000\000\000\002\193\000\000\000\000\002\196\000\000\000\000\002\191\002\194\000\000\002\192\002\195\002\236\002\224\004\n\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\000\000\000\000\000\000\000\000\001\141\000\000\0016\001\139\000\000\001'\000\000\002Y\000\000\000\000\000\000\000\000\001\144\000\000\001\181\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\145\000\000\000\000\002X\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002\\\001@\000\000\001\143\001\146\000\000\001\140\000\000\001\023\000\000\003V\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001\\\001[\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\002\253\000\000\000\000\000\000\004\027\004\026\000\000\003}\000\000\003|\000\000\000\000\000\000\000\000\004.\000\000\000\000\000\000\004/\000\000\000\018\000\000\000\000\000\000\000\000\003\004\000\000\000\000\000\000\003\003\003\002\003\001\003\000\002\255\002\251\000\000\004\022\002\252\000\000\004\023\002\254\000\000\004\025\000\000\000{\002\204\000\000\000\000\002\207\000\000\000\000\002\210\000\000\000\000\002\205\002\208\000\000\002\206\002\209\003\006\002\250\004\024\000\000\000\000\000l\000\000\000k\000\000\003\005\000\000\002\019\000j\000B\001Q\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004*\000\000\001\213\000\000\000\000\000\000\001\002\003s\001\171\000\000\001\170\001\134\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\0010\000\000\000\000\002J\000\000\000\000\000\154\002N\002K\001>\001\031\000\000\001!\001 \000\000\003\127\000\000\003~\003o\000\000\000\000\000\000\000\000\000\000\003y\000\000\003\128\000\000\000\000\000\000\000\000\003z\003q\000\000\003t\000\000\001\006\001\136\000\000\003\131\000\000\001\138\000\000\000\000\003\158\000\000\003\165\001\b\000\000\001\014\000\000\003\159\001\007\000\000\003\160\000\000\003\167\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001y\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\168\003\169\000\000\003\170\000\000\003\171\000\000\001\137\003w\000\000\000\000\002,\000\000\001\209\002\024\000\000\003p\000\000\000\000\000\000\003v\000\000\000\000\000\000\001n\000\000\001h\000\000\001i\000\000\001s\001g\001r\000\000\003\130\001t\000\000\001\t\000\000\000\000\000\000\000\000\001p\001k\002(\000\000\001l\000\000\001m\000\000\001\201\002\020\000\000\000\000\000\000\0023\000\000\0021\000\000\000\000\0025\002/\000\000\0026\0020\000\000\003\132\002:\000\000\001\005\000\000\000\000\002)\000\000\001\203\002\021\000\000\004+\000\000\004(\000\000\004)\000\019\000\020\000\000\000\000\0039\000\000\0038\000\000\002z\000\000\003;\000\000\003:\000\000\000\000\000\000\002\130\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\137\000\000\000\000\002\140\000\000\002|\000\000\000\000\002\127\000\000\000\000\000\000\002\131\000\000\000\000\002\135\000\000\000\000\002+\000\000\000\000\002\128\000\000\000\000\002\132\0036\002}\000\000\0037\000\000\000\000\000\000\000\000\002\138\000\000\002y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\136\000\000\000\000\002\139\000\000\002{\000\000\000\000\002~\000\000\000\000\000\000\002\129\000\000\000\000\002\133\000\000\001\207\002\023\000\000\003<\000\000\000\000\000\000\004,\000\017\000~\000\000\004-\000\000\000\000\003R\000\000\000\000\003\133\000s\000\000\000\000\000\000\000t\000\000\003{\000\000\001\177\000\000\001\179\003x\000\000\000\000\001\157\000\000\001\156\000\000\001\166\000\000\001\191\000\000\000\000\000\000\001\155\000\000\001\154\000\000\001\163\000\000\001\189\000\000\000\000\000\000\001\162\000\000\000\000\000\000\001\159\000\000\001\158\000\000\001\164\000\000\001\193\000\000\000\000\000\000\001\160\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\167\000\000\001\187\000\000\000\000\000\000\001\161\000\002\000\000\000`\000a\000\000\000\000\003\022\003\026\003\030\003\018\003\015\000\000\000\000\003\027\003\"\003\019\003!\003\017\003 \003\021\003\r\003\020\003\029\003\016\003\023\003\014\003\025\003\031\003\028\003\024\001\234\001\233\000\137\000\000\000\000\003h\000\000\000\000\003K\000\000\000\000\003N\003L\003M\003,\000\000\000\000\003n\003$\003#\003%\000\000\001\250\000_\001\168\000\003\000\000\000\000\003\t\000\000\002\144\000\000\000\138\000\000\000\000\003j\000\000\000\000\000\000\000\130\000\000\000\000\003Z\000\000\002t\002s\001\225\003-\000\000\002\t\000\000\003\n\000\000\000\000\000\132\000\000\000\000\003^\000\000\001\247\000\000\000\000\001\240\000\000\000\000\000\000\001\246\000\000\001\242\000\000\000\000\000\000\001\215\001\214\000\000\000\000\000\000\002\n\000\000\001\238\000\000\001\237\000\000\000\127\000\000\000\000\003T\000\000\000\000\001\232\000\000\000\000\001\236\000\000\000\000\000\135\000\000\000\000\003d\000\000\000\000\0034\000\000\0033\000\000\000\000\000\000\002r\002q\0031\002\152\003(\0032\000\000\001\253\000\000\000\000\000\000\001\249\000\000\001\255\000\000\000\000\001\241\000\000\000\000\000\000\003*\000\136\000\000\000\000\003f\000\000\003)\000\000\001\251\000\000\000\000\001\252\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\001\245\000\000\001\244\000\000\000\000\001V\000\000\001U\000\000\000\000\000\000\000\000\000\000\002\011\000\000\001\239\000\000\001T\000\000\002@\000\133\000\000\000\000\003`\000\000\000\000\000\000\000\000\003\154\003\153\000\000\000\000\001~\000\129\001}\000\000\000\000\003X\000\000\002l\002k\002n\003&\002\148\002m\001S\000\000\000\134\000\000\000\000\003b\000\000\000\000\000\000\000\000\002p\002o\0030\003.\002\150\003'\003/\000\000\002\004\000\000\002\007\000\000\000\000\002\000\000\000\000\000\000\000\001\248\000\000\001\254\000\000\000\000\001\243\000\000\000\000\000\000\000\000\000\000\000\000\001\231\000\000\000\000\002\006\000\000\002\005\000\000\000\000\000\000\000\000\002\003\000\000\000\000\002\002\000\000\002\001\000\000\000\000\002\b\000\000\000\000\001\169\000\004\000\000\001\235\000\005\000\000\000\000\001Y\000\006\000\000\002\028\002\029\002\027\000\000\002\026\003\155\001\221\000\000\000\007\000\000\002\031\002 \002\030\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\001c\001e\001d\001_\001a\001`\000\000\000\000\000\000\000\000\000\000\003\161\003\174\000\000\003\162\000\000\003\163\000\000\000\000\003\156\000\000\000\000\000\000\000\000\003\173\000\000\000\000\003\172\002$\002#\000\000\000\000\001\223\002\025\002!\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\002_\002u\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002c\002`\001B\001\000\000\000\000\000\000\000\000\000\001x\001Z\000\000\003\177\000\000\003\178\000\000\000\000\002=\002;\000\000\002<\000\b\000\000\000\t\000\000\002\167\002\168\002\166\000\000\002\165\000\000\000\n\000\000\002\170\002\171\002\169\000\000\002\173\000\000\000\000\000\000\002\159\000\000\000\000\002\161\000\000\002\155\000\000\002\157\000\000\002\162\000\000\002\163\000\000\002\156\002\154\002\174\001\227\002\164\000\000\002\176\000\000\002\175\000\000\002\177\000\000\0035\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\002\181\000\000\002\180\000\000\002\179\001\"\000\000\000\000\000\000\000\000\001#\002\182\000\000\000\000\000\000\003A\000\000\003@\000\000\000\000\000\000\000\000\003B\000\000\000\000\001X\000\000\000\000\000\000\000\000\000\000\003P\000}\000\000\000\000\001+\000\000\001O\001N\000\000\001\149\000\000\003?\001\219\001\217\000\000\000\000\000\000\000\000\003C\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\003J\000\000\000\000\003I\000\000\003F\000\000\000\000\000\000\000\000\000\000\003G\000\000\000\000\000\000\003H\000\r\000\000\003D\000\000\003E")
1575
1576 let error =
1577 (191, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000 \192\000\000@\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\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\031\224\000\000\000\000\000\000\000\003\215\181x\000\b\000\016\000\001\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@BT4\000\160 \213\004\012\134P#\000\154\001\016\239\002@\000\1352\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0025\163\128\000\000\006 \000`\002\129\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\165\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 !\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\140\002 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bR\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\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!J\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\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\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\b\000\000\128 \000\000\016\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\001\000\000\016 \000\000\000\000\000\000\000\000\000\000\000\000\000\1940\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\016@\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\000\000\000\130\000\000 \b\000\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\004\000\000@\016\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\129\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\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\bB\134\000\000\000\b\128\001\128H\004`\017\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!\n\024\000\000\000\"\000\006! \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\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\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\132\128F\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\224\b \000@\000\004\016\b\000`@\000\000 \000\000\000\000\001\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={W\128\000\128\001\000\000\016\000 \001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\b\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\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\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\128\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\002\000\000\"\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b!\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000\000\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g\025\128\000B@ \004\000 \128A={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\000\000\130\001\004\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\146\000\002A\160P\012\2270\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\001\137\130l\178X\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\"\144g9\128\000B@ \004\000 \144A={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\196\1936Y,\000\000\002\128\016 \000\003t\002\019\227\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\r\144\000O\014\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\0006@\001<;\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\024\136&\194%\128\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\193\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\248n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\225\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\193\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\248n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\225\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\016\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\148\b\000\000\000\016\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\1480\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bR\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\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!J\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\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\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\196$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\001\004\000\000@\016\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\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\196$\0020\b\128\016\004 \000\000\000\019!\139\215\181x\000\b\000\016\000\001\004\002\000\024\016\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\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@ \001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\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\192\000\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\002\000\000\000\128 \000\000\016\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015^\213\224\000 \000@\000\004\016\b\192\000@\000\000\000\000\000\000\000\b\000\030\189\171\192\000@\000\128\000\b \017\128\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\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128 \000\000\016\000\000\000\000D\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\b\000\000\002\000\128\000\000@\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\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={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\004\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\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\004\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\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\000u\237Z\000\002\000\004\000\000\000\000\128\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\132\000\000 \b\000\000\004\000\000\000\000\000\000\003\215\181x\000\b\000\016\000\001\004\002\000\024\016\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\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\132\128F\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\128\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\b\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\030\189\171\192\000D\144\128\018\r\002\144g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000\000\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000\000\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\004Y$\160\000\000\b\000\000\128\000\rP\bF\b\192\000\000\000\000\000\000\000\000\004\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\137!\000$\026E \206s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138A\156\230\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\215\181x\000\b\146\016\002A\164R\012\2310\000\bH\004\000\000\004\018\b'\175j\240\000\017$ \004\131H\164\025\206`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\026 \000\140\017\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \006\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\018\000\000\024\000\"\192%\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\245\237^\000\002$\132\000\144i\020\1319\204\000\002\018\001\000 \001\004\130\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\000\000\000\000 \t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\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\002H\000\t\006\129@3\140\192\000! \016\000\000\016@ \128\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\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\015^\213\224\000\"H@\t\006\129H3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\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\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\003\215\181x\000\b\146\016\002A\160R\012\2270\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\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={W\128\000\137!\000$\026\005 \2063\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\bP\192\000\000\001\016\0001\t\000\140\002 \004\001\b\000\000\000\004\200b\245\237^\000\002\000\004\000\000A\000\128\006\004\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\bB\134\000\000\000\b\128\001\128H\004`\017\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\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\b\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/^\213\224\000 \000@\000\004\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={W\128\000\128\001\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\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\015\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\158\189\171\192\000@\000\128\000\b\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\002\000\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\0000\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\b\000\128\020\004\018 \128\016\194\000\000\018@\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 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\b\000\000\128 \000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000A\000\000\016\004\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\b\000\128\020\004\018 \128\016\194\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\b\000\015^\213\224\000 \000@\000\004\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\001\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\b\000\128\020\004\018 \128\024\194\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\0000 \000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\002\016\000\000\128 \000\000\016\000\000\000\000\000\000\015^\213\224\000 \000@\000\004\016\b\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\002\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029{V\128\000\128\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\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`\002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\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\128\000\000\000\000\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\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\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 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t@\128\000\000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\012\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\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\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\0000\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\016\000\001\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\002\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\130\000\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\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\128\000\000\000\000\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\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\016\128\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\001\000(\b$A\0001\132\000\000$\128\004;@\144\000!\128\000\015^\213\224\000 \000@\000\004\016\b\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\002\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\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\004\b4\129\000\128b\020#\184\204 \006z\131\000\004aD\n\b\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\024\000\000\001\000\000\000\012\001\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\007\175j\240\000\016\000 \000\002\000\004\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\168\001\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b'\175j\240\000\017$ \004\131@\164\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\146\016\002A\160R\012\2270\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\t \000 \024\005\000\2062\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\000\000\000\t \000$\026\005\000\2063\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000 \024\005\000\2062\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\128\000\000\192\129\006I(\000\000\002\000\000 \000\002\020\002\016 0\000\000\000\000\000\000\000\000\001\000\000\000@\016\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\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\000\000\000\000\000\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\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\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\001\000\000\001\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128g\020\0038\204\000\006\018\001\000\168\001\004\018\b\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b\004\016\000\000\001 \000\001\137\130l\178X\000\000\005\000 @\000\006\232\004%Gp\000\000\000\004\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\016\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\004\128\000\006\006\b2I`\000\000\016\000\001\000\000\025\160\016\145\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\156f\000\003\t\000\128D\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000I\000\001\000\204(\006q\152\000\012$\002\001\016\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\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\016\000\000\024\000 \192%\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\016\000\000\024\000 \192%\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\004\144\000\016\012\226\128g\025\128\000\194@ \021\000 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\b\000\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\136\001\004\018\b\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\002H\000\b\006q@3\140\192\000a \016\n\128\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\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\b\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\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\128@\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\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\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\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\004`\000 \000\000\000\000\001\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\b\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\029{V\128\000\128\001\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\b\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\000\000\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000$\128\000\144j\020\003x\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~\016\003=A\128\018<\163\r\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\019\215\181x\000\b\146\016\002A\160R\012\2270\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\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\t \b$\026\005\000\2063\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\003\255\245\252\030(\210\020\002\001\140S\142\227\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\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\016\000\000\000\004\000\000\000\000\000\000\000 D\000\000\000\001\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\255\175\224\129F\144\160\016\012B\156w\031\132\000\207P`\000\141(\129A?\255_\193\002\141!@$\026\133\184\238?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\156f\000\001\t\000\128\016\000\130\001\004\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\002\000\000\000\000\000\000\001$\000\004\003\000\160\025\198@\0000\144\b\000\000\b \016@\000\000\000\000\002H\000\b\006\001@3\140\128\000a \016\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\160\025\198@\0000\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\024\152&\203%\128\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\b\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\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006s\152\000\004$\002\000@\002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\018\000\000\024\136&\194%\128\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\145\000\000\160n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\241F\144\160\016\012b\156w\031\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\128@1\139q\220~0\003=I\128\002<\163\141f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\019\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020('\255\235\248 Q\164(\004\131P\167\029\199\225\0003\212\024\001#J \208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026C\128L5\011q\220~0\007=I\128:<\163\173f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\001\002\r @ \024\133\b\2383\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\220f\016\003=A\128\0020\162\005\004\000\000\000\000\000\000\000\000\000@\000\000\016\004\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\002\t\006\129@3\140\192\000! \016\002\000\016@ \128\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\t \b$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\130\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\016 \210\004\002\001\136P\142\2270\128\025\234\012\000\017\133\016( \000\000\000 A\164\b\004\003\016\161\029\198a\0003\212\024\000#\n P@\000\000\000\000\000\000\000\000\000\016\000\001\000@\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\002\000\000\001\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\001\000\000\016\004\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\000D\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000@\000\000 \000\002\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\002\000\000\001\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\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={W\128\000\137!\000$\026E \206s\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\004\b4\129\000\128b\020#\184\204 \006z\131\000\004aD\n\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\175\224\129F\144\160\018\rB\156w\031\140\000\207P`\004\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\135\1384\133\000\128c\022\227\184\252`\006z\147\000\004yG\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\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\255\215\240@\163HP\b\0061N;\143\198\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\002\001\000\000\000\000\b\000\000\000\000\004\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\220~0\003=A\128\0024\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\001\137\130m\178X\000@\021\000 H\000\006\232\004\005\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\004\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~0\003=A\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248\192\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\000\000\000\000\000\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\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\024\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\r\2270\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000u\237Z\000\002\000\004\000\000\000\000\128\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\255\245\252\016(\210\020\002A\168S\142\227\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\b\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\127\254\191\130\005\026B\128H5\nq\220~0\003=A\128\0184\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\192\000\0020\b\128\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\016\000\000\000\000\000\129\006\144 \016\012B\132w\025\132\000\207P`\000\140(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\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\002\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\031\255\191\240\129F\144\224\019\rB\220w\031\140\001\207R`\012\143(\235Y\128\000\000\001\002\r @ \024\133\b\2383\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\255\253\127\004\n4\133\000\128c\022\227\184\252 \006z\131\000\004yG\026\b\000\000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\000@\000\000\000\003\255\245\252\016(\210\020\002\001\140[\142\227\240\128\025\234\012\000\017\229\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\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?\255_\193\002\141!@$\026\133\184\238?\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\255\253\127\004\n4\133\000\144j\022\227\184\252 \006z\131\000$yG\026\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\003\255\245\252\016(\210\020\002\001\140[\142\227\240\128\025\234\012\000\017\165\020( \000\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000\001\000\000\b\000\015\255\215\240@\163HP\b\0061n;\143\194\000g\1680\000F\148P\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\b\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\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\0000\001\000\140\002\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\002\000\024\b\000\000\000\000\000\b\000\000\000 \000\000@\005\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\000@\000\000\001\000\000\002\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129F\144\224\019\rB\156w\031\132\001\207P`\004\141(\137A\191\255_\193\002\141!@ \024\1978\238?\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\001\255\250\254\b\020i\014\0010\212)\199q\248@\028\245\006\000H\210\136\148\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\003\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@ \016\000\000\000\000\128\000\000\000\000@\000\000\000\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\167\029\199\227\0003\212\024\001#J P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\nA\156|\000\003\t\000\128\000\004\162\005\004\000\000\000\000\000$\128 \144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\015\127\215\240\000\"HP\b\006\001H3\143\128\000a \016\000\000\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\215\181x\000\b\000\016\000\001\000\002\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\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\t \000$\026\133\000\2223\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\192\000\0020\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\002\000\000\000\128 \000\000\016\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\r\2270\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\004\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\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\215\181h\000\b\000\016\000\000\000\002\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\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\t \000$\026\133\000\2223\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\003\223\245\252\000\b\146\020\002\001\128R\012\227\224\000\024H\004\000\000%\016( \000\000\000\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\006\006\b6I`\001\000P\000\001 \000\024\160\016\016\017\128\000\000\000\000\000\000\004\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\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\156\230\000\001\t\000\128\016\000\130A\004\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\001\000\003\000\000\b\192 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\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\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\r\2270\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\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\128\001\128\b\004`\016\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\016\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\128\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\003\255\245\252\016(\210\020\002A\168S\142\227\240\128\025\234\012\000\145\229\024h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\000\002\000\004\000\000@\000\128\0000\000\000\002\000\000\000\024\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\002\141!@ \024\1978\238?\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\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\b\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016 \210\004\002\001\136P\142\2270\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000@\131H\016\b\006!B;\140\194\000g\1680\000F\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\r @ \024\133\b\2383\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\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\b\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\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\255\253\127\000\002\000\004\000\000@\000\128\0000\000\000\002\000\000\000\b\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\011\255\245\252\000\b\000\016\000\001\000\002\000\000\192\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\015\255\215\240\000 \000@\000\004\000\b\000\003\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\001\000\000\000\000\000\000\000\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\b\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\002H\000B\148)\000\003\024\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\016\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\b\000\128\020\004\002 \128\000\128\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\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\016\000\000\000\000\000\000\004@\000\000\000\000\000\000\000@@\000\000\000\000\001\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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={W\128\001\192A\"\b\016\128`\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\002H\000B\144)\000\003\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\004\000@\n\002\t\024@\000@\000\000\001 \001\014\208$\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\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\001@A\"\b\000\b\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\128\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\192A \b\016\128`\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\007\001\004\000 B\001\128\000\004\144\000\133 R\000\006\016\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\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\016\000\000\000\000\000\000\000@\128\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\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\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000\002\000\000\000)\000\bv\129 \000C\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\000\000\000\b\000\128\020\004\018 \128\016\128\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\020;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\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\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={W\128\000\128\001\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\235\218\188\000\004\000\b\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \002\000P\016H\130\000\003\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\000\128\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\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000\"\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\193\004\136 \000\160\000\000\002\144\000\135h\018\000\0048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\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\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\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\002\000 E\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\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\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\001\000\000\000\000\128\b\017@A\"\b\000\b\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\192\000\000\000\000\128\000\000\002\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\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 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\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\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\001\004\136 \004 \000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \005\014\208$\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\128\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000P\b@\128\020\004\018 \128\000\192\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\128\000\000\004\128\004;@\144\000!\128\000\000\000\000\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\160 \145\004\000\006\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\001H\000C\180\t\000\002\028\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\002\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\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\001\000\016\002\128\130D\016\000\024\000\000\000H\000C\180\t\000\002\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\004\000@\n\002\t\016@\000`\000\000\001 \001\014\208$\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\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\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\002\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\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 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\184 \145\004\000\020\000\000\000R\000\016\237\002@\000\135\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\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\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\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\030\189\235\196\000\224 \145\004\bD\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\201\004\136 \004\176\000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\b@\000\000\001 \001\014\208$\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\003\215\189x\128\028\004\018 \129\b\194\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\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\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\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\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\215\181x@\028\004\018$\129\b\006\000\000\018@\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\004\144\000\018\r\003\128g\025\128\000B@ \004\000 \128A\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\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020i\n\001 \2449\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\220~\016\003=I\128\0184\162\005f\247\253\255\128\002\000\004\000\000@\000\128\000\000\000\000\000\016\000\000\000\000\000\001\239\251\255\000\004\000\b\000\000\128\001\000\000\000\000\000\000 \000\000\000\000\000\003\223\247\254\000\b\000\016\000\001\000\002\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000B\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\132(`\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\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?\255_\193\226\141!@ \024\1978\238?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\220~\016\003=A\128\0024\162\005\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000@ \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\000\000\000\000\000\004\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~\016\003=A\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b$\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\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\255\215\240x\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\016\012b\156w\031\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138q\220~\016\003=A\128\0024\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\019\255\245\252\016(\210\020\002\001\140S\142\227\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\255\127\224\000\128\001\000\000\016\000 \000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\140\002\000\000\001\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\017\128@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\215\181x\000\b\000\016\000\001\004\0020\000\016\000\000\000\000\000\000\000\002\000\007\175j\240\000\016\000 \000\002\b\004`\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\b\128\000\000\000\000\000\000\000\000\000\000\000 \000\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\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\136\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\031\255\175\224\129F\144\160\018\rB\156w\031\132\000\207P`\004\141(\131A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000\000@\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\131P\167\029\199\225\0003\212\024\001#J V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000\004\000\012\000\000#\000\128\000\000B\000\000\000\000\000\024\128\000\000\000\000\000\004\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129\1923\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\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\015\255\223\248@\163HP\t\007\161\206;\143\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\247\254\016(\210\020\002A\232S\142\227\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\015\255\223\248@\163HP\b\0061N;\143\194\000g\1690\000F\148@\172\192\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\004\000\000\000\024\191\255\127\225\002\141!@ \024\1978\238?\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\255\253\255\132\n4\133\000\144j\020\227\184\252 \006z\147\000$iD\n\205\255\251\255\b\020i\n\001\000\198)\199q\248@\012\245&\000\b\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\001\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\rB\156w\031\132\000\207R`\004\141(\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\220~\016\003=I\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020i\n\001 \212)\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\001\000\003\000\000\b\192 \000\000\016\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020i\n\001 \212)\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\001\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\rB\156w\031\132\000\207R`\004\141(\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\140\002\000\000\001\b\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000 \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\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\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\002\000\000\016 \000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\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@\128\000\000\000\000\000\000\000\b\000\000\000\004\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000 \000\000\000\000\000\000\016\000\000\129\000\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\000 \192\b\000\004\002\128\000\000\000\000\000\000@\000\002\004\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\002\012\000\128\000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\131\0000\000\000\b\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\b\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\000A\128\016\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\b\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\192\000\000 \000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\002\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\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\002\012\000\128\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\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\004\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\128\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\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\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\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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")
1578
1579 let action =
1580 ((16, "\003\160\000\243\000\000\000\000\024\030\000\243\000\000\000\000\002L\000\000\000\000\000\000\001#\000\000\000\000\000\000\003\160\000\000\000{<\146\000\000\021\006\021\172\000\000\000\000?\000\021\006\000\000\021\006\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\221\000\171\021\006\000\000\021\006\000\000\000\000\000\000\021\006\000\000\021\006\000\000?\138\021\006\000\000P:\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\177\000h\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000P\162\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000m\002\180\000/\000\000\000\000\000\000\000X\000\000\000\000\001Z\000/\000\000\001Z\000\000\000\000\002\180\000b\001,\000/\001&\000\000\001\226\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\246\002\180\000\000\004H\000R\002\180\000\000\004J\004d\000\000\000\000\000\000\000\182\021\006\000\000@\244\002\180\001\000\021\006\000\000\000\000\021\006\000\000\000\000\021\006\000\000\021\006\000\000\001Z\001\158\021\006\000\000<\146A*R\140\000\000\000\000\000\000\000\000Q\190\0020<\146\000R\000\000R\140\000\000\000\000\001\194\021\006\000\000R\140\000\000\000/\000\148B\024\000\000\000\000R\130SB\000\000Y\134\000\000S\236B\024\028\142\028\142Y\134B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\150B\024\000\000\000\000T\150T\150T\150\000\000T\150\000\000B\024T\150\000\000\000\000\"\030\000/\000\000\023(\028\142B\024\000\000#hB\024)\218B\024)\242B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\142B\024\000\0003\150B\024+\014B\024+rB\024\000\000B\024\000\000B\024,zB\024,\222B\024-\230B\024.JB\024/RB\024/\182B\024\002(B\024\000\000\000\000\000\000\000\000\000\000B\0243\250B\0245\002B\0245fB\0246nB\0240\190B\0241\"B\0242*B\0246\210B\0247\218B\024\000\000B\0248>B\0249FB\0249\170B\024\000\000B\024:\178B\024;\022B\024\000\000\000\000B\024\000\000\002\028\000\000\000\000\000/\000\000\000\000\000\000\0028\000\000\002N\000\000\002\194B\024\000\000\002\194\000\000\000\000\003\002<\146\000\000\023X\021\006\000\000\000*\021\006\000\000P\190\021\006\000\000\000\000\021\006\000\000\021\006\000\000\002\204\003\n\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000\003r\021\006\000\000U`\021\006\000\000\000\000\021\006\000\000\021\006\000\000\003z\003\238\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000U\138\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\015\002\180\003\206\021\006\000\000C\250\002\180\003\242\021\006\000\000\000\000\021\006\000\000\021\006\000\000\021\006\000\000\004&\004V\021\006\000\000P:R\140\004>\021\006\000\000Z\152V\138\000\000\000/\005,\000/\004\230\005\226Z\246Z\246\000\000\000\000\000\000\000\015_(Z\246\000\158[\180\000\000\000\000\000\000\002\234\006\020\001\004\006|Z\246\000\000\000\000\005\178\000\000\005\204\006\170Z\246\005\238\000\000\000\148\000\000\000\148\000\000\000\000\004f\\r\000\000\000\000\000\000\005\240\006\240\000\000\007(\000\000\023X\001\206R\140\0068\021\006\000\000P\162R\140\006:\021\006\000\000\000\000\000\000\000/\007x\000\000\000\000\000\000\003\002\000\000\000\000\028\142\006\146\000\000\006\152Y\134\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000Y\134\000\000\000\000V\218\000/\000\000\023(\023(\000\000\004|\027x\023(\029DB\024\000\000B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025JB\024\026\186B\024\006\216B\024\000\000B\024\030`B\024%<B\024L|B\024d\190B\024e\030B\024e\164B\024\000\000B\024f\016B\024fhB\024f\180B\024\000\000B\024f\244B\024g\186\004\250\024\152\000\000\000\000\005\b\026\b\000\000\000\000\000\000\000\000\006\192\000\000B\024\006\208\000\000\000\000\000/\000\000\000\000\000\000\000\000\006\214\000\000\000\000\000\000\000\000\000\000\000\000\006\216\000\000\000\000\000\000\006\228\000\000\001|Wf\007\168B\024\007h\000\000\000\000Y\134\001|\000\000\006\242\000\000\006\244B\024\000\000\028\142\006\246\000\000\000\000\007\212\000\000\028\142\007\002\000\000\000\000\028\142\007\020\000\000\000\000\007\020\000\000\000\000\b\b\000\000P\190R\140\007\024\021\006\000\000\000\000\007\160\000\000\007&\021\006\000\000\000\000\000\232<\146\000\000<\146\000\000\007\020\000\000\000\232\000\000\019J(\210\021\134\000\000\007\184\021\134\000\000\021\134\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007Z\007\138\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000\bv\021\134\000\000\021\150\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007`\007\144\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000@\216\021\134\000\000\000\000\021\134\000\000\021\134\000\000\000J\002\180\007:\021\134\000\000\021\166\002\180\007D\021\134\000\000\000\000\021\134\000\000\021\134\000\000\021\134\000\000\007|\007\170\021\134\000\000Pr\000\000\007\\\000\000\004jPr\000\000\000\000\004j\000\000\000\000\021\172R\140\007X\021\134\000\000\000\000\000\000\001n\000\000\000\000\000C\001n\000\000\000\000\000\000\bL\000\000\001\220R\140\007\\\021\134\000\000@\216R\140\007d\021\134\000\000\000\000(\006\021\134\000\000\b\178\021\134\000\000C\006\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007\150\007\200\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000\tJ\021\134\000\000C8\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007\160\007\246\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000CT\021\134\000\000\000\000\021\134\000\000\021\134\000\000\002\030\002\180\007\178\021\134\000\000C8\002\180\007\180\021\134\000\000\000\000\021\134\000\000\021\134\000\000\021\134\000\000\007\230\b\022\021\134\000\000CTR\140\007\190\021\134\000\000\000\000\003XR\140\007\196\021\134\000\000CXR\140\007\198\021\134\000\000\000\000\000\000\000\000\000\000\000\000\b\156B\024\007\216\031\208\b\\\000\000\b\174B\024\007\228\b\172<\146\000\000\000\000\000\000<\146\000/\000\000\002\020B\024<x\000\000X\016\028\142\007\234\000\000\000\000B\024\007\240\000\000\028\142\007\242\000\000\007\250_\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000_\212\000\000\000\000\023\218\000/\000\000\023(\007\252\000\000B\024\007\252\000\000\000\000\000/\000\000\000\000\000\000\000\000\000\000\000\000B\024\004\236B\024\b\006\000\000\000\000<x<x'V\002\004\b\208B\024\000\000\b\144\000\000\000\000\000/\000\000$\130\000\000\b><x\bL<x\000\000\0018\000\000\000\000\025\028B\024\026\140B\024gXB\024h,B\024h\202B\024h\210B\024i\030B\024iTB\024\000\000B\024i\196B\024i\242B\024i\250B\024\000\000B\024jFB\024j\134\000\000\005\n=`\000\000\005\020@\020<x\000\000\0056>\022\000\000\000\000\000\000\b \000\000\000\000\b\"\000\000\t\026\000\000\000/\000\000\002\020\t \000\000\000`\b\246\000/\b@\t\020Z\246\bP\001\190\000\000B\024\t>\000\000\000\000\000\000\t.Z\246\bd\tR\000\000\004Z\002*B\024\tX\000\000\t^\000\000\023X\000/\003^B\024\t`\000\000\tb\000\000\000/\003xB\024\td\000\000\tf\000\000\000\150\b\166\b\230\000\000X\186\028\142\b~\000\000\000\000B\024\000\000\tp\000\000\002\246\tFB\024\t\014\000\000\tTB\024\t\022\000\000\000\200\000\000\b\230\b\230\028\142\b\158\000\000\b\160`T`T\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000`T\000\000\000\000(\210\000/\000\000\023(\b\166\000\000B\024\b\164\000\000\000\000\000/\000\000\000\000\000\000\000\000\000\000A\208B\024\000\000B\024\000\000\b\172\000\000\002\194\000\000\000\000\000\000\000\000\000\000DXB\024D\188B\024\b\214B\024\000\000B\024E\196B\024F(B\024G0B\024G\148B\024H\156B\024I\000B\024\000\000B\024J\bB\024JlB\024KtB\024\000\000B\024K\216B\024L\224\000\000\002\246\000\000\002\246\000\000\019J\b\230\b\230\000\000\000\000\000\000\000\003\000\000\000\000\000\000\tzB\024\b\176\031\208 \174\000/\t\158\000\000\t\128M(\t\164M(\t\170B\024\b\194\031\208\031\208\002\142\002\142\005x\001\206\002\142\000\000\000\000\005~\t\248\000\000\005\132\0114\000\000\000\000\000\000\000\000\000\000\b\198\000\000\000\000\t\188\000\000\t\190\000\000\000\000\t\252\t\166B\024\b\220\t\202\000\000\t\016\000\000\t\180\023(\b\234\031\208\000\000\000\000\000\182\000\000\007j\000\000\000\000\002\246\000\000\tn\000\000\014\214\005\166\000\000\014\214\000\000\000\000$\130\000\000\0076\000\000\000\000\011\222\000\000\014\214\000\000\t\192\023(\b\250\t\232\000\000\r,\000\000\t\216\000/\t\"\t\254Z\246\t4\001\192\000\000B\024\n$\000\000\n\006Z\246\t>\n,\000\000\003\180B\024\n.\000\000\n4\000\000\023X\000/\004:B\024\n8\000\000\n@\000\000\000\000\000\000\011\222\000\000\000\000\0076\000\000\b\230\000\000\r\180\000\000\000\000\004\208 \174\000\000\004\208\000\000\000\000\t\\\000\000\002\200\001z\031\208\000\000\005\238\000M\005\238\000\000\000\182\000\000\b\230\000\000\b\230\000\000\000\000\000\000\tZ\000\000\000\000\tf\000\000\005\132\007j\000M\005\238\000\000\000\000\000\000\000\182\000\000\b\230\000\000\005\132\000\000\000\000\r,\000\182\019J\000\000\000\182\000\000\nb\019J\000\000\000\000\nb\000\000\000\000\td\000\000\000\000\tv\000\000\005\204\b\230\000\000\005\204\000\000\000\000\t\244\000\000\0076\000\000\b\230\000\000\000\000\000\000\020\186M\244\000\000\nd\000\000\020\186\000\000\nf\000\000\nh\000\000<\146\000/\004P\000\000B\024\nj\000\000\001\198\n:\000/\t\132\nRZ\246\t\140\004\244\000\000B\024\nz\000\000\0054\000\000B\024\n|\000\000\023X\000/\006\"\000\000B\024\n~\000\000\005\208\020\186\000\000$\130\006V\000\000B\024\n\132\000\000\000\000\000\000\002\204\000\000\nn\023(\t\166\n\150\000\000\014\168\000\000\nh\000/\t\176\n\132Z\246\t\186\006x\000\000B\024\n\168\000\000\006\170\000\000B\024\n\176\000\000\023X\000/\006\176\000\000B\024\n\186\000\000\005\208\000\000\000\000\t\210\000\000\002\204\014\168\n\\\000\000\000\000\000\000\n^\000\000\000\202\000\200\000\000\019J\n\186\000\000\000\000B\024\n\014\b\230\000\000\t\226\000\000\000\150\000\000<\146\000\000\000\000\003,\019J\000\000\019J\000\000\t\208\000\000\003,\000\000B\024\003\224B\024\000\000B\024\000\000\t\210\000\000\003\224\000\000B\024\003\224\t\212\000\000\031\208\003\234\031\208\000\000\031\208\000\000\t\214\000\000\003\234\000\000B\024\003\224\t\216\000\000<\146\004H<\146\000\000<\146\000\000\t\218\000\000\004H\000\000B\024\003\224\t\220\000\000\000\000\029\254\000\000\000\000\nXN\186\000\000\000\000\000\000\000\000\000\000\n4\005\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005dN\186\000\000\000\017\001\236\000\000\n8\000\243\000\000\000\000\000\000\000\000\002\220\001\236\000\000\000\000\000\000\000\000\n\154\000\000\000\000\000\000\000\000\"\030%\254\000\000a\014\000\000N\186\000\000\006\nN\186\000\000\000\150\006\158\006\158\000\000\005\182\006\158\000\000\n\018\000\000\000\000\000\000\000\000\n\158\000\000'V\000\000(\210N\186\000\000\003dN\186\000\000\n\168\000\000N\186\n\176\000\000b~O\024\n\178\000\000\n\180\000\000b\222\\^N\186\000\000\000\000\n.N\186\n\184\000\000\n\188\000\000\n\190\000\000<\146\000\000\006N<\146\000\000\n8\021\134\000\000N\186\n\204\000\000\000\217N\186\000\000\006jN\186\000\000\006\004\011R\000\000\011T\000\000N\186N\186\nL\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000c6N\186\n\220\000\000\n\222\000\000N\186\n\226\000\000N\186\n\136\000\243\000\000\000\000\007\000N\186\000\000\006\004\000\000\n\230\000\000N\186\n\234\000\000c\150\\\176N\186\ndN\186\n\240\000\000\n\244\000\000\n\250\000\000X\234\021\134\000\000\021\134\000\000O\024N\186\ntN\186\011\"\000\000\0114\000\000\021\134\000\000af\000\000\000\000\007\002N\186\000\000\004`\006\188\006\158\n\174\000\000\000\000\004\144\001\206\000\000\000\000\000\000\006\142\001\206\000\000\n\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\186\000\000\007\006N\186\000\000\003\142\000\000\000\243\n\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011@\000\000\011F\000\000N\186\011H\000\000dNN\186\011L\000\000\011P\000\000N\186\011R\000\000\031\\\n\248d\174@\216a\198\n\214\000\000N\186\011`\000\000\011f\000\000\0116\031\\N\186\011j\000\000N\186\011n\000\000\011r\000\000N\186\011v\000\000\000\243\n\226\000\000\000\000\029\254\000\000\000\000\004\024\011\218\000\000\000\000\000\241\000\000\000\000\000\000B\024\000\000\000\000\000\000\004r\000\000\001*\000\000\000\000\000\000\005\238PrPrPr\000\000\003B\003B\003B\003B\000\000\000\000\000\000\000\000\000\000\000\000\002\246\019J\011\208\016R\004f\000\000\000\000\004f\000\000\011\222\000\000<x\n\244\000\000\002\246\019J\n\250\017\206\000\000\002\246\016R\000\000\000\000\000\000Pr\003B\000\000\000\000\000\000\011J\000`\011\206^\n^\n\000\000\006\150_\230^\n\006\178^:\000\000\000\000\b\196\011\192\000/\000\000\006\204^\248\000\000\000\000\000\000\000\000\000\000\011\012\011\210\b\230\011\014\000\000\000\000\004f\000\000\011\222\000\000=\142\003\208\000\000\000\000\011\194\000\000\000\000\004\024\000\000\002\158\000\000\000\000\000\000B\024\000\000\004r\000\000\004$\000\000\000\000\000\000\007j\000\000\rZ\0056\rZ\000\000\b\230\rZ\000\000\0056\000\000\b\230\000\000\b\230\000\000\b\230\000\000#\150\000\000\000\000\000\000\000\000\000\000\b\230\000\000\0056\000\000\b\230\000\000hP\000\000\000\000\nb\011F\000\243\004\020\011\238\004\190\000\000\004\190\012\022\000\000\012\024\000\000\012\028\000\000\000\000\004p\004\190\b\014\004\190\000\000\000\000\t\138\004\020\011\024\000\000\011\026\000\000\011`\000\243\004\020\011&\000\000\000\152\0126\000\000\006\136\005\012\012N\n\248\012N\000\000\000\000\006\146\000\243\000\000\000\231\000\000\000\000\002\018\000\000\0118\000\000\000\000\000\000\011v\000\243\004\020\011H\000\000\000\000\000\152\006\136\005\012\006\146\000\231\002\018\011J\000\000\006\136\005\012\006\146\000\231\002\018\011L\000\000\007T\000`\011l\000\243\011f\007\168\006N\011\144\000\243\000\000\011\146\000\243\000\000\011\240\000\000\011v\000\164\011p\007\168\011\246\000\000\011t\007\168\011\250\000\000\000\000\007\168\000\000\012\000\000\000"), (16, "\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\000\n\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\001:\r\169\031f\n5\r\197\016N\025\206\004\242\005=\031j\004\250\r\197\005\n\r\197\017\218\0007\000;\r\197\r\197\005\018\r\197\001\150\000\150\r\197\005\185\000\154\001>\006.\r\197\r\197\r\197\000N\t\214\0236\023^\023n\023\150\023\166\023\206\r\197\028o\028s\r\197\r\197\000\242\028w\005=\005\186\r\197\r\197\005\026\r\197\001B\r\197\027v\002f\000\n\001z\r\197\031\226\r\197\r\197\001F\r\197\r\197\r\197\001\146\001\150\001\150\r\197\r\197\r\197\001\154\r\197\r\197\r\197\001\158\001\162\012\169\r\197\r\197\r\197\r\197\r\197\r\197\005*\005Y\000\n\r\197\r\197\001>\n\178\019\006 \030\001\166\002j\001\206\001>\015z\r\197\r\197\r\197\000\n\000\n\r\197\r\197\r\197\r\197\006\181\r\197\000\n\r\197\001\150\005\185\r\197\011Z\001B\r\197\r\197\015\166\024r\b\197\016v\001B\015\170\018\246\001F\002\146\r\197\r\197\b5\024\234\r\197\001F\016N\b\197\r\197\r\197\r\197\r\197\012\169\006V\r\197\017\218\r\197\t\157\t\182\000\n\r\197\r\197\r\197\000\n\r\197\005\185\r\197\r\197\016z\r\197\000\n\r\197\r\197\007}\000\246\r\197\r\197\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\001>\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\rA\b\197\000\n\005Y\r\209\001R\tM\004\201\0312\005Y\005Y\r\209\006\181\r\209\004\201\001B\001~\r\209\r\209\014.\r\209\005Y\005Y\r\209\016\030\001F\t\190\021:\r\209\r\209\r\209\019\006\006\181\007}\021>\022\230\006\181\006b\021B\r\209\006\189\t\141\r\209\r\209\007E\001^\001\134\005Y\r\209\r\209\000\n\r\209\005\185\r\209\b\197\002f\001\238\011N\r\209\022\206\r\209\r\209\002f\r\209\r\209\r\209\b\197\015\150\019\138\r\209\r\209\r\209\022\186\r\209\r\209\r\209\014V\024v\011R\r\209\r\209\r\209\r\209\r\209\r\209\024z\001>\021\142\r\209\r\209\001>\006\221\006~\002\002\006\205\006\238\018f\001>\014n\r\209\r\209\r\209\011v\000\n\r\209\r\209\r\209\r\209\015\166\r\209\rQ\r\209\001B\015\170\r\209\002.\001B\r\209\r\209\028\151\028\155\rQ\001F\001B\028\159\000&\001F\0022\020>\r\209\b\254\024\134\r\209\001F\007\r\012v\r\209\r\209\r\209\r\209\005\021\024\138\r\209\027\"\r\209\000*\002^\000\n\r\209\r\209\r\209\000\n\r\209\007E\r\209\r\209\001\150\r\209\000\n\r\209\r\209\015\154\019\142\r\209\r\209\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\001\142\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\002z\000\n\018Z\t1\007M\016R\016b\016r\031r\005\021\018\246\007M\022\026\007M\rb\001>\005\021\007M\007M\r\n\007M\001r\001B\007M\r\014\015\202\004\209\003\230\007M\028\186\007M\r\018\001F\004\209\015b\004\194\r\022\028\190\004\194\007M\004\194\001B\001>\006v\004\150\015b\006M\005F\007M\007M\005N\001F\005^\007M\007M\004\178\023\022\000\n\007M\005f\007M\007M\002f\007M\007M\007M\004\186\004\218\001B\007M\007M\007M\r\177\007M\007M\007M\000\n\018^\001F\007M\007M\007M\007M\007M\007M\rQ\001>\015z\007M\007M\005n\025\230\025\238\000\006\000\"\027\006\001v\001>\rQ\004\241\007M\007M\012\226\000\n\007M\007M\007M\007M\015\166\007M\005\030\007M\001B\015\170\007M\030\003\030\007\007M\007M\005\"\030\011\t=\001F\001B\007\021\005~\023\030\007\021\rQ\007\021\024\150\027r\007M\001F\r\177\029\227\007M\007M\007M\007M\rq\003\229\007M\029\231\007M\003\229\023>\000\n\007M\007M\007M\023v\005\133\029\234\007M\007M\007\005\007M\000\n\007M\007M\nQ\007m\007M\007M\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\015\234\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\000.\006\245\016\006\007m\007m\rQ\007m\005r\023\174\015b\027\006\007m\0256\007m\028^\007m\021z\007m\007m\rq\007m\006\181\015b\007m\007m\007m\023F\018\246\007m\007m\007m\023~\019\178\nQ\007m\007m\016N\005e\007m\007m\002\146\001>\007m\005v\030\238\017\218\027\026\001r\007m\007m\007m\007m\015b\007m\006\213\006\213\007m\011\022\007m\028^\007m\007m\000\n\007m\007m\007m\030\198\001B\027\030\007m\007m\007m\005\194\007m\007m\007m\nI\001F\023\182\007m\007m\007m\007m\007m\007m\001\190\031B\030\202\030\190\007m\005\214\006\237\t9\005\254\030\206\006\002\006\253\007m\021\170\019\210\007m\007m\000\n\007m\007m\007m\007m\007m\020\026\007m\021~\007m\007m\004\145\007m\006\181\027\"\007m\007m\015b\030#\030'\001v\019\006\000\n\030+\001\202\001\218\006\022\007m\021\190\018\246\007m\tI\002m\006\181\007m\007m\nI\007m\016N\006\194\007m\006\229\007m\002\157\007-\002q\007m\017\218\030\254\0062\007\174\014\141\014\141\007m\t\017\007m\014\141\007m\007m\030\246\030\214\007m\007m\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\023\246\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\0146\023\250\021\174\007]\r\026\030\222\016N\007=\020\142\007]\007]\r*\023\254\002\"\024\002\017\218\r\153\002\150\r2\006:\016&\007]\024\006\016*\014B\bv\025\230\025\238\002*\t\001\016>\024\018\b\134\015\026\021\194\024\022\002M\019\006\015&\002\166\tU\024\026\028\222\006>\021\014\te\021\238\007]\017\238\016\130\029\n\029\022\014\141\017\242\020J\0156\031\246\024\030\002\202\021\218\002\206\005\149\002}\002>\018\254\017\250\025\246\nu\nu\016\154\002\214\017\254\nu\016\158\014N\002\222 \002\006z\024f\016\162\016\166\rF\rJ\016\170\018\002\021\254\004\145\024\"\018b\018\006\024&\018v\t-\019\006\018\130\t\029\nY\007\029\002]\r\161\r\182\016\174\022V\024*\018\n\018\014\016\178\018\018\024.\000\n\0242\018&\0246\024:\005q\024>\024\n\0182\016\186\024\250\006\130\006\146\024B\014\141\014\141\024F\ra\022j\014\141\029*\022\134\024\n\018R\007%\006\154\0075\018V\018\162\005\149\rN\024J\024\238\016\190\006\158\018\166\024N\024R\r\137\016\198\005\149\005\149\006\166\006\214\021\222\005\149\018\174\027\n\016\202\nY\007u\007u\024\222\006\218\003\026\007u\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\022\002\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\006\226\006\246\007\n\004\145\r\026\025\170\022Z\018\246\007e\004\145\004\145\r*\rI\002\"\007e\007e\016N\002\150\r2\025\218\016&\004\145\030\190\016*\t\234\017\218\031Z\t\242\002*\n\002\016>\022n\r\145\ry\022\138\r\129\n\n\0272\031\222\002\166\007\"\029n\016N\007B\rY\t\129\007J\004\145\017\238\016\130\029\n\017\218\007e\017\242\020\146\029z\031\242\b\002\002\202\tq\002\206\005\165\014\141\002>\018\254\017\250\b\158\n\018\029\154\016\154\002\214\017\254\002\141\016\158\014N\002\222\b\170\b\202\b\230\016\162\016\166\rF\rJ\016\170\018\002\b\246\t\006\t\014\019\002\018\006\t&\004\141\t.\t>\026^\026\250\tJ\027f\000\n\tV\r\182\016\174\n\"\019\006\018\n\018\014\016\178\018\018\tf\000\n\tr\018&\t~\t\142\005q\t\158 G\0182\016\186\n>\t\166\t\203\nF\n\022\nV\n\026\nj\004\141\nn\019\006\n\186\n^\018R\014\141\014\141\n\206\018V\018\162\014\141\rN\n\246\n\250\016\190\011\014\018\166\011:\011n\011~\016\198\011\174\005\165\011\146\011\182\011\218\011\198\018\174\011\222\016\202\012.\007\133\007\133\011\206\nf\003\026\007\133\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\0122\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\012~\012\146\011\214\012\186\r\026\012\190\012\210\nv\004\141\012\234\012\254\r*\r\030\002\"\004\141\004\141\r&\002\150\r2\r.\016&\r6\r>\016*\rB\rz\004\141\r\138\002*\r\150\016>\001>\029\138\r\158\r\254\012\002\014\n\011\230\012\n\002\166\012\026\014>\016N\004\141\014Z\014f\014\130\012\"\016~\016\130\014\138\017\218\004\141\017\242\030\246\015J\015V\001B\002\202\015^\002\206\005\193\015r\002>\017\246\017\250\015~\001F\015\134\016\154\002\214\017\254\015\138\016\158\014N\002\222\015\146\015\162\012*\016\162\016\166\rF\rJ\016\170\018\002\015\178\015\186\015\190\014\149\018\006\015\210\004\149\000\n\015\218\015\242\015\250\016\014\016\022\016\"\0166\r\182\016\174\016J\016V\018\n\018\014\016\178\018\018\016^\000\n\016f\018&\016n\012:\005q\016\138\016\146\0182\016\186\016\242\016\254\0176\017f\018\022\018\030\018.\0186\030\238\018>\019\006\003\229\018F\018R\018N\003\229\018\158\018V\018\162\005\193\rN\018\170\018\178\016\190\018\190\018\166\018\194\018\202\018\206\016\198\005\193\005\193\018\214\018\222\018\230\005\193\018\174\019\018\016\202\019V\n}\n}\019^\019b\003\026\n}\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\019r\001&\019z\001.\r\018\0016\002\014\002\022\002\026\r\022\019~\019\134\018Z\019\150\019\158\r\026\019\166\019\170\019\186\004\149\005Y\019\194\r*\019\218\002\"\004\149\004\149\019\226\002\150\r2\0202\016&\001B\020z\016*\020\134\020\250\004\149\030\178\002*\b\205\016>\001F\021\006\021&\021R\021b\021j\021\134\021\146\002\166\021\154\021\158\016N\b\205\021\166\021\182\021\202\021\230\016~\016\130\022\n\017\218\004\149\017\242\030\246\022\"\000\n\022*\002\202\022.\002\206\022>\022F\002>\017\246\017\250\022J\022R\022b\016\154\002\214\017\254\022v\016\158\014N\002\222\018^\022\146\022\166\016\162\016\166\rF\rJ\016\170\018\002\022\182\022\198\022\222\022\238\018\006\022\250\023+\023S\023k\023\139\023\163\023\195\023\219\t!\b\205\r\182\016\174\031\026\023\242\018\n\018\014\016\178\018\018\024\014\000\n\024~\018&\031.\024\175\025\006\025\027\005Y\0182\016\186\031\134\025C\0312\005Y\005Y\025O\025_\025g\025\130\025\139\019\006\025\147\025\155\018R\025\182\005Y\005Y\018V\018\162\025\199\rN\025\234\025\242\016\190\026\002\018\166\026\031\026/\0267\016\198\026C\026N\026s\b\205\026\127\026\146\018\174\026\155\016\202\026\163\018Z\005Y\026\171\026\206\003\026\b\205\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\001B\001&\026\215\001.\r\018\0016\002\014\002\022\002\026\r\022\001F\026\223\r9\027\018\027>\r\026\027~\027\159\r9\r9\027\167\027\179\r*\027\195\002\"\027\203\027\215\027\226\002\150\r2\r9\016&\027\242\027\255\016*\000\n\028\007\028\014\028\027\002*\028'\016>\028/\031J\028;\028G\028b\028\234\029\018\029\"\002\166\029V\029^\016N\029\142\018^\r9\029\182\029\186\016~\016\130\029\194\017\218\029\239\017\242\030\182\030\194\030\210\030\218\002\202\030\226\002\206\031\015\031\023\002>\017\246\017\250\002a\031\030\031+\016\154\002\214\017\254\0316\016\158\014N\002\222\031F\031{\031\138\016\162\016\166\rF\rJ\016\170\018\002\031\151\031\187\031\215\014\149\018\006\031\230\031\238\031\250 \006 \019 \026 \" + 2 ;\r\182\016\174 O\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\006\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\149\014\149\000\000\000\000\003\026\014\149\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\019j\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\001>\019n\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\218\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\017\238\016\130\000\000\001B\015\170\017\242\030:\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\019j\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\n\000\000\000\000\018\006\000\000\000\000\000\000\001>\019n\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\005q\015\166\000\000\0182\016\186\001B\015\170\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\001F\000\000\000\000\018R\020\014\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\n\018\174\000\000\016\202\000\000\na\na\000\000\000\000\003\026\na\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\0226\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\001>\022:\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\218\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\017\238\016\130\000\000\001B\015\170\017\242\019\026\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\n\000\000\014q\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014q\014q\000\000\000\000\003\026\014q\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\028\238\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\189\014\189\000\000\000\000\003\026\014\189\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\028\238\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\185\014\185\000\000\000\000\003\026\014\185\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\020\198\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\000R\000V\000f\000\170\003\026\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\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\002\"\000\000\000\000\000\000\002\150\000\000\006\173\016&\000\000\000\000\016*\006\173\000\000\000v\000\000\002*\006\173\021F\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\006\173\000\000\016\154\002\214\006\173\000\000\016\158\001\150\002\222\000\000\000\000\000\000\016\162\016\166\rF\021Z\016\170\000\000\000\000\006\173\006\173\000\000\000\000\t\246\006\173\000\000\000\000\000\000\000\000\000Z\000\000\nJ\006\173\r\182\016\174\006\173\006\173\000\000\000\000\016\178\006\173\006\173\000\n\006\173\006\173\006\173\006\173\006\173\000\000\006\173\000\000\016\186\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\000\000\000\000\000\000\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\006\173\rN\006\173\006\173\016\190\006\173\021^\006\173\006\173\006\173\016\198\006\173\006\173\006\173\006\173\006\173\006\173\021f\006\173\016\202\000\000\006\173\000Z\000\000\006\173\003\026\000\000\006\173\000\000\006\173\000Z\006\173\006\173\n\198\000\000\006\173\0112\006\173\000Z\000\000\006\173\000Z\000\000\006\173\006\173\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\006\173\006\173\006\173\000\000\006\173\000\000\006\173\000\000\000\000\006\173\000\000\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\006\173\000\000\006\173\006\173\000\000\000\000\006\173\006\173\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\006\173\000\000\000\000\006\173\000\000\006\173\006\173\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\004\230\004\238\000\170\000\000\000\174\000\000\0052\005:\005B\005\134\000\000\005\142\005\150\002\"\005\166\000\000\005\174\002\150\005\182\005\226\002\174\005\234\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\242\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003>\007:\000\000\002\194\005\250\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\006\n\000\000\016\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\016\025\016\025\000\000\000\000\000\000\007n\000\000\000\000\r\238\000\000\000\000\000\000\000\000\000\000\000\000\016\025\007\170\000\000\ri\ri\000\n\016\025\016\025\000\000\000\000\r\246\000\000\000\000\014\002\007r\000\000\016\025\000\000\000\000\016\025\007z\016\025\000\000\004\233\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\016\025\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\014\000\000\002\"\000\000\000\000\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\016\025\000\000\000\000\000\000\000\000\014\018\000\000\016\025\002\166\000\000\000\000\002\170\000\000\ri\000\000\000\000\014\026\003>\007:\000\000\002\194\016\025\000\000\007\162\ri\000\000\000\000\002\202\016\025\002\206\ri\ri\002>\000\000\000\000\014\162\016\025\016\025\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\022\000\000\000\000\007\242\014\170\014\178\007\250\ri\000\000\000\000\000\000\000\000\ri\ri\000\000\007b\000\000\000\000\000\000\014\186\007f\000\000\000\000\000\n\000\000\014\194\014\202\b\n\b\018\000\000\000\000\000\000\007n\000\000\000\000\014\210\000\000\000\000\014\218\000\000\014\226\000\000\b\026\007\170\000\000\000\000\0025\000\000\b\"\b*\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\b2\000\000\000\000\b:\007z\bB\000\000\t\005\014\234\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\bJ\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\242\000\000\000\000\000\000\000\000\002\"\000\000\014\250\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\0065\000\000\bR\000\000\000\000\0025\000\000\0065\000\000\bZ\002\166\000\000\000\000\002\170\000\000\015\002\015\n\000\000\000\000\003>\007:\000\000\002\194\0025\000\000\007\162\000\000\0025\0025\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\189\bb\bj\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\249\003\142\003\182\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\003\150\007f\000\000\000\000\000\n\000\000\000\189\000\189\003\142\003\182\000\000\000\000\000\000\007n\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\000\003\150\007\170\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\003\190\000\000\000\000\003\158\007z\003\174\000\000\002Q\003\198\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\003\198\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\000\002\"\000\000\003\166\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\189\000\000\003\206\000\000\000\000\000\249\000\000\000\189\000\000\003\166\002\166\000\000\000\000\002\170\000\000\000\189\003\214\000\000\000\000\003>\007:\000\000\002\194\000\249\000\000\007\178\000\000\000\249\000\249\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\249\003\214\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007n\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\t\021\002\"\000\000\000\000\000\000\002\150\007~\000\000\002\154\000\000\000\000\002\158\003\026\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\190\002\186\000\000\002\194\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\000\000\000\000\000\000\000\000\003\006\000\000\000\000\000\000\001\225\000\000\003\018\001\225\000\000\001\225\000\000\000\000\000\000\000\000\000\000\003\"\000\000\001\133\001\133\001\133\001\133\003\026\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\001\225\001\133\001\133\001\133\001\133\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\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\001\225\007\186\001\133\001\225\000\000\023\234\000\000\001\225\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\225\000\000\000\000\000\225\001\133\001\225\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\001\133\000\000\007\194\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\003\150\000\000\001\133\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\225\000\000\000\000\003\158\001\133\003\174\001\133\000\000\000\000\001\133\000\000\023\238\000\000\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\222\t\230\000\170\000\000\000\174\024\178\n*\n2\n:\n~\000\000\n\134\n\142\023\246\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\000\225\023\250\000\000\000\225\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\023\254\n\234\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\225\024\006\000\000\000\000\000\225\000\225\000\000\027\222\000\000\000\000\024\018\000\000\000\000\000\000\024\022\000\225\000\225\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\000\000\000\025\158\000\000\000\000\000\000\024\030\026\234\000\000\000\000\000\000\r\026\011.\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\011F\000\000\000\000\024\"\016>\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\024*\000\000\000\000\018\"\016\130\024.\000\n\0242\017\242\0246\024:\000\000\024>\002\202\000\000\002\206\000\000\000\000\000\000\024B\017\250\000\000\024F\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\000\000\024J\016\170\018\002\000\000\000\000\024N\024R\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\r\026\000\000\0182\016\186\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016&\018R\000\000\016*\000\000\018V\018\162\000\000\000\000\000\000\016>\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\002\166\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\016\150\016\130\000\000\000\000\003\026\017\242\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\000\000\000\000\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\018R\000\000\000\000\000\000\018V\018\162\000\000\000\000\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\012)\012)\012)\012)\003\026\012)\000\000\012)\012)\012)\012)\000\000\012)\012)\000\000\012)\000\000\012)\000\000\012)\012)\012)\012)\000\000\000\000\016m\000\000\000\000\016m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\016m\016m\000\000\000\000\012)\016m\000\000\024\194\0032\016m\000\000\024\202\000\000\000\000\000\000\016m\000\000\012)\016m\016m\000\000\016m\016m\000\000\012)\003:\000\000\016m\003N\012)\000\000\016m\000\000\000\000\016m\000\000\016m\016m\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\016m\012)\016m\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016m\000\000\000\000\000\000\012)\000\000\000\000\004\154\000\000\012)\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\012)\000\000\000\000\012)\016m\016m\000\000\016m\016m\004\158\000\000\016m\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\004\166\000\000\000\000\025\030\012)\016m\000\000\000\000\016m\016m\016m\016m\016m\000\000\000\000\000\000\016m\016m\016m\000\000\016m\016m\016m\015\253\000\000\000\000\015\253\r\n\000\000\000\000\000\000\000\000\r\014\000\000\000\000\000\000\000\000\028\186\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\190\000\000\015\253\015\253\000\000\000\000\000\000\015\253\000\000\000\000\0032\015\253\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\015\253\015\253\000\000\015\253\015\253\000\000\000\000\003:\000\000\015\253\003N\000\000\000\000\015\253\019j\000\000\015\253\000\000\015\253\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001>\019n\000\000\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\253\000\000\015\253\000\000\000\000\000\000\000\000\015\166\000\000\000\000\000\000\001B\015\170\015\253\000\000\000\000\000\000\000\000\000\000\000\000\004\154\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\015\253\000\000\015\253\015\253\004\158\000\n\015\253\000\000\000\000\000\000\005\133\000\000\000\000\000\000\005\233\004\166\000\000\005\233\000\000\000\000\015\253\000\000\000\000\015\253\015\253\015\253\015\253\015\253\000\000\000\000\000\000\015\253\015\253\015\253\000\000\015\253\015\253\015\253\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\001>\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\b1\005\233\003\150\005\233\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\221\000\000\005\233\003\158\005\233\003\174\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\012\025\012\025\012\025\012\025\000\000\012\025\000\000\012\025\012\025\012\025\012\025\000\000\012\025\012\025\000\221\012\025\000\000\012\025\000\000\012\025\012\025\012\025\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\012\025\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\221\000\000\000\000\012\025\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\000\012\025\000\000\000\000\012\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\012\025\000\000\000\000\000\000\000\000\012\025\000\000\012\025\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\012\025\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\000\000\000\000\000\000\024\198\012\025\012\029\012\029\012\029\012\029\000\000\012\029\000\000\012\029\012\029\012\029\012\029\000\000\012\029\012\029\000\000\012\029\000\000\012\029\000\000\012\029\012\029\012\029\012\029\000\000\000\000\005\237\000\000\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\029\012\029\012\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\029\000\000\005\237\005\237\000\000\000\000\012\029\005\237\000\000\025\"\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012\029\005\237\005\237\000\000\005\237\005\237\000\000\012\029\005\237\000\000\005\237\005\237\012\029\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\012\029\012\029\011\162\011\170\000\170\000\000\000\174\000\000\011\238\011\246\011\254\012B\000\000\012J\012R\000\000\012b\000\000\012j\000\000\012r\012\158\012\029\012\166\005\237\012\029\005\237\000\000\012\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012\174\000\000\012\029\000\000\000\000\005\237\000\000\012\029\000\000\012\029\000\000\000\000\012\029\000\000\000\000\012\182\000\000\000\000\000\000\012\029\000\000\012\029\000\000\000\000\012\029\005\237\005\237\000\000\005\237\b9\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\012\029\012\029\005\237\000\000\000\000\000\000\012\029\005\237\000\000\000\000\005\237\012\198\005\237\000\000\005\237\000\000\000\000\000\000\005\237\005\237\005\237\000\000\005\237\005\237\005\237\000R\t\222\t\230\000\170\000\000\000\174\000\000\n*\n2\n:\n~\000\000\n\134\n\142\000\000\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\016Q\000\000\000\000\016Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025*\n\234\025F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025R\000\000\016Q\016Q\000\000\000\000\n\242\016Q\000\000\000\000\016\226\016Q\000\000\000\000\000\000\000\000\000\000\016Q\000\000\025j\016Q\016Q\000\000\016Q\016Q\000\000\011\002\016\234\000\000\016Q\016\246\025\158\000\000\016Q\000\000\000\000\016Q\000\000\016Q\016Q\025\190\011.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\016Q\025\202\016Q\000\000\026\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016Q\000\000\000\000\000\000\026:\000\000\000\000\017\002\000\000\026F\000\000\n1\000\000\000\000\026v\000\000\000\000\000\000\000\000\000\000\000\000\026\130\000\000\026\174\000\000\000\000\027\170\016Q\016Q\000\000\016Q\000\000\017\006\001\209\016Q\000\000\001\209\000\000\000\000\000\000\000\000\027\182\027\206\017\014\000\000\001\209\000\000\027\218\001\209\000\000\000\000\016Q\000\000\016Q\000\000\000\000\000\000\001\209\001\209\016Q\016Q\016Q\001\209\016Q\016Q\016Q\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\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\003V\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003^\000\000\001\209\001\209\000\000\000\000\001\209\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\001Y\000\000\000\000\001Y\004\138\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\003\150\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\000\000\001M\001Y\000\000\001M\000\000\001Y\000\000\000\000\003\158\000\000\003\174\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\001Y\000\000\001Y\001M\000\000\000\000\001M\001M\000\000\001M\001M\000\000\000\000\001Y\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\158\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\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003\166\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\001M\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\000\000\001M\000\000\000\000\001M\001M\000\000\001Q\003\166\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\000\000\001U\001Q\000\000\001U\000\000\001Q\000\000\000\000\003\158\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\000\000\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\001Q\000\000\001Q\003\150\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\001Q\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\158\000\000\003\174\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003\166\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001U\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\000\000\001U\000\000\000\000\001U\001U\000\000\001e\003\166\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\003\142\003\182\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\000\000\001]\001e\000\000\001]\000\000\001e\000\000\000\000\003\158\000\000\003\174\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\198\000\000\001e\003\150\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\001e\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\158\000\000\003\174\001]\000\000\000\000\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\003\166\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\001]\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\000\000\001]\000\000\000\000\001]\001]\000\000\001a\003\166\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\003\142\003\182\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\000\000\001i\001a\000\000\001i\000\000\001a\000\000\000\000\003\158\000\000\003\174\001a\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\142\003\182\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\003\198\000\000\001a\003\150\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\001a\000\000\001i\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\001i\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\000\000\003\206\000\000\000\000\001i\001i\000\000\001q\003\166\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\003\142\003\182\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\000\000\004\030\001q\000\000\001m\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\000\000\000\000\003\198\000\000\001q\003\150\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\001q\000\000\001m\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001q\001q\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\001m\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\214\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001m\001m\000\000\004\030\003\166\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\003\142\003\182\000\000\001m\001m\001u\001m\003\214\001m\001u\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001u\001u\000\000\001u\004&\000\000\000\000\000\000\003\130\001u\000\000\003\222\000\000\003\190\000\000\000\000\003\158\000\000\003\174\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\003\254\004\006\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\000\000\000\000\003\198\000\000\001u\004\014\000\000\000\000\002-\002-\000\000\004\022\0046\000\000\000\000\001u\000\000\002-\000\000\000\000\000\000\004>\000\000\000\000\004F\000\000\004N\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\003\206\000\000\000\000\001u\001u\000\000\000\000\003\166\000\000\000\000\004V\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\002-\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\214\001u\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\002-\002-\000\000\000\129\004f\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\003\142\003\182\000\000\002-\002-\000\129\004n\004v\002-\000\129\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\198\000\000\000\129\003\150\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\129\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\158\000\000\003\174\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\129\000\129\000\000\000\000\003\166\000\000\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000i\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\214\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\000\000\000\000\000i\000i\000\000\000e\003\166\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\003\150\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\003\158\000\000\003\174\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\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\003\158\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\003\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\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]\000\000\004\030\003\166\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\003\142\003\182\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\137\000\137\000\000\000\137\004&\000\000\000\000\000\000\004\030\000\137\000\000\000}\000\000\003\190\000\000\000\000\003\158\000\000\003\174\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\003\142\003\182\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\003\198\000\000\000\137\003\150\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\137\000\000\000}\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\137\000\137\000\000\000\000\003\166\000\000\000\000\003\198\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\004.\003\214\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000}\000}\000\000\000u\003\166\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\003\142\003\182\000\000\000}\000}\000u\000}\003\214\000}\000u\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000a\000u\000\000\000a\000\000\000u\000\000\000\000\003\158\000\000\003\174\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\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\198\000\000\000u\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000u\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\158\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000\000\000\000\003\166\000\000\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000a\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\000\000\000a\000\000\000\000\000a\000a\000\000\000m\003\166\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\003\142\003\182\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\003\158\000\000\003\174\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\000m\000\000\000m\003\150\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000m\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003\158\000\000\003\174\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\003\166\000\000\000\000\003\198\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000q\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\000\000\000q\000\000\000\000\000q\000q\000\000\004\030\003\166\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\003\142\003\182\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\133\000\133\000\000\000\133\004&\000\000\000\000\000\000\000y\000\133\000\000\000y\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\003\198\000\000\000\133\003\150\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\000\000\000y\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\133\000\133\000\000\000\000\003\166\000\000\000\000\003\198\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000y\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\214\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000y\000y\000\000\000\000\003\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\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\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\rj\000\000\000\000\rn\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\002\166\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\r\130\r\142\000\000\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\002:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\000\000\r\166\014N\002\222\002>\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\002J\002N\000\000\000\000\000\000\rF\rJ\000\000\002R\000\000\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\000\000\r\n\000\000\000\n\000\000\000\000\r\014\000\000\006\205\000\000\014R\028\186\014n\r\018\002\150\000\000\000\000\rj\r\022\028\190\rn\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\006\197\rN\000\000\004\249\002\166\000\000\r\214\000\000\000\000\000\000\000\000\006\197\003\026\r\130\r\142\000\000\006\197\014.\014F\014J\000\000\019j\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\001>\019n\r\166\014N\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\000\000\000\000\000\000\001B\015\170\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\001F\002\150\000\n\000\000\rj\000\000\000\000\rn\000\000\000\000\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\205\000\000\014R\002\166\014n\000\n\000\000\000\000\000\000\000\000\005\133\000\000\r\130\r\142\000\000\r\202\014.\014F\014J\000\000\000\000\r\210\002\202\000\000\002\206\000\000\000\000\tY\000\000\000\000\r\214\000\000\000\000\r\162\002\214\000\000\003\026\r\166\014N\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\b\133\b\133\000\000\000\000\000\000\b\133\000\000\003\213\000\000\r\182\r\186\000j\003\213\000\000\000r\r\190\000\130\003\213\000\n\003\213\000\000\000\000\000\000\000\138\003\213\003\213\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\205\000\000\014R\000\000\014n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\146\003\213\000\000\r\210\000\000\003\213\000\000\000\000\000\000\002\129\000\000\000\000\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\213\003\213\003\209\000\000\000\000\000\000\000\198\003\209\000\000\000\206\000\000\000\222\003\209\003\213\003\209\000\162\000\000\000\000\000\230\003\209\003\209\000\000\003\213\000\000\000\000\000\000\003\213\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\003\209\003\213\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\209\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\003\209\003\209\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\003\209\003\213\002\150\000\000\003\209\rj\003\213\003\213\rn\000\000\000\000\003\213\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\003\209\000\000\000\000\000\000\000\000\003\209\000\000\000\000\r\130\r\142\000\000\000\000\014.\014F\015*\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\000\000\r\166\014N\002\222\000\000\000\000\003\209\r\170\r\174\003\209\003\209\r\178\001F\003\209\n\146\006\173\000\000\000\000\003\209\003\209\000\000\006\173\000\000\003\209\000\000\000\000\006\173\006\173\r\182\r\186\000\000\006\173\000\000\006\173\r\190\000\000\000\000\000\n\006\173\006\173\006\173\012-\012-\000\000\000\000\012-\r\198\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\205\000\000\006\173\006\173\014n\006\173\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\r\202\000\000\000\000\006\173\000\000\000\000\r\210\000\000\006\173\011\138\000\000\012-\ti\006\173\000Z\r\214\000\000\000\000\006\173\006\173\000\000\003\026\000\000\001\250\000\000\000\000\006\173\000\000\000Z\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\012-\000\000\006\173\006\173\006\173\006\173\000\000\000\000\000\000\002B\000\000\000\000\000\000\006\173\000Z\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\006\173\006\173\006\173\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\006\173\006\173\001\233\006\173\000\000\001\233\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\012-\001\233\001\233\006\173\000\000\000\000\001\233\000\000\006\173\000\000\001\233\000\000\000\000\000\000\006\173\000\000\001\233\006\173\006\173\001\233\001\233\006\173\001\233\001\233\000\000\000\000\006\173\006\173\001\233\000\000\002\150\006\173\001\233\002\154\000\000\001\233\002\158\001\233\001\233\000\000\000\000\006\173\000\000\000\000\006\173\006\173\016B\000\000\006\173\000\000\000\000\000\000\002\166\006\173\006\173\002\170\000\000\000\000\006\173\000\000\000\000\002\182\002\186\001\233\002\194\001\233\rf\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\014^\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\001\233\017\"\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\011\186\006\173\000\n\000\000\000\000\000\000\000\000\001\233\000\000\001\233\000\000\002\254\000\000\006\173\000\000\017*\001\233\001\233\000\000\001\233\001\233\001\233\003\002\nA\006\173\012\014\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\003\006\000\000\000\000\006\173\012V\006\173\003\018\006\173\006\173\nA\000\000\nA\006\173\000\000\006\173\003\"\006\173\006\173\006\173\006\173\000\000\003\026\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\006\173\006\173\000Z\000\000\006\173\006\173\000\000\006\173\000\000\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\006\173\012\138\000\000\006\173\000\000\006\173\000Z\006\173\000\000\000\000\006\173\006\173\000\000\006\173\006\173\012\202\006\173\012\246\000\000\006\173\000Z\006\173\000Z\000\000\000\000\006\173\006\173\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\000\000\006\173\000\000\006\173\006\173\006\173\006\173\000\000\000\000\017V\006\173\006\173\017^\000\000\000\000\005\206\000\000\000\000\000\000\006\173\000Z\006\173\000\000\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\000\000\006\173\017n\017v\000\000\006\173\006\173\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\006\173\000\000\017~\000\000\006\173\002=\002=\000\000\017\134\017\142\000\000\000\000\000\000\0015\002=\006\173\0015\000\000\017\150\000\000\000\000\017\158\000\000\017\166\002=\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\000\000\017\174\000\000\002=\003\150\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\002=\006\173\0015\000\000\006\173\006\173\003\190\000\000\006\173\003\158\000\000\003\174\0015\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\182\000\000\000\000\002=\000\000\000\000\000\000\017\190\000\000\000\000\003\198\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\017\198\017\206\002=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0015\000\000\000\000\001\029\003\166\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\214\0015\001\029\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\001\025\001\029\000\000\001\025\000\000\001\029\000\000\000\000\003\158\000\000\003\174\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\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\001\029\000\000\001\029\003\150\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\029\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\158\000\000\003\174\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\003\166\000\000\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\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\000\000\001\025\000\000\000\000\001\025\000\000\000\000\001\017\003\166\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\001\017\001\017\000\000\001\025\001\025\001\017\001\025\001\025\001\025\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\004\030\001\017\000\000\001=\000\000\001\017\000\000\000\000\003\158\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\001\017\000\000\001\017\003\150\000\000\000\000\001=\001=\000\000\001=\004&\000\000\000\000\001\017\000\000\001=\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001=\000\000\000\000\000\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\003\166\000\000\000\000\003\198\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\001\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\000\000\003\206\000\000\000\000\001=\000\000\000\000\004\030\003\166\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\003\142\003\182\000\000\001=\001=\0011\004.\003\214\001=\0011\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\000\000\001)\0011\000\000\001)\000\000\003\190\000\000\000\000\003\158\000\000\003\174\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\003\142\003\182\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\198\000\000\0011\003\150\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\0011\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\158\000\000\003\174\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0011\000\000\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\003\214\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\001\021\003\166\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\001\021\001\021\000\000\001)\001)\001\021\001)\001)\001)\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\001!\001\021\000\000\001!\000\000\001\021\000\000\000\000\003\158\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\000\000\003\142\003\182\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\001\021\000\000\001\021\003\150\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\001\021\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\158\000\000\003\174\001!\000\000\000\000\000\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\003\166\000\000\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!\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\000\000\001!\000\000\000\000\001!\000\000\000\000\001%\003\166\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\003\142\003\182\000\000\001!\001!\001%\001!\001!\001!\001%\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\004\030\001%\000\000\0019\000\000\001%\000\000\000\000\003\158\000\000\003\174\001%\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\142\003\182\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\003\198\000\000\001%\003\150\000\000\000\000\0019\0019\000\000\0019\004&\000\000\000\000\001%\000\000\0019\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\213\003\166\000\000\000\213\003\198\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\001%\000\000\001%\000\000\000\000\000\000\000\213\000\213\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\003\206\000\213\000\213\0019\000\000\000\000\001-\003\166\000\000\001-\000\000\000\213\000\000\000\000\003\158\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\003\142\003\182\000\000\0019\0019\001-\0019\003\214\0019\001-\000\000\000\000\000\213\000\000\000\000\003\150\000\000\000\000\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\002\150\000\000\003\190\002\154\000\000\003\158\002\158\003\174\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nA\000\000\000\000\000\000\000\000\000\000\002\166\000\213\000\000\002\170\000\213\000\000\000\000\000\000\003\166\002\182\002\186\003\198\002\194\001-\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\213\000\000\001-\000\000\000\213\000\213\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\213\000\213\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001-\000\000\000\000\000\000\003\166\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\002\254\002\150\000\000\000\000\002\154\001-\001-\002\158\001-\001-\001-\003\002\000\000\000\000\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\002\166\003\006\000\000\002\170\000\000\000\000\000\000\003\018\000\000\002\182\002\186\000\000\002\194\000\000\000\000\000\000\003\"\000\000\000\000\002\202\000\000\002\206\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\002\242\000\000\000\000\000\000\000\000\002\246\026J\000\000\000\n\000\000\023\254\000\000\024\002\012\129\012\129\000\000\000\000\002\254\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\003\002\024\018\000\000\000\000\000\000\024\022\023\246\000\000\000\000\000\000\000\000\024\026\000\000\003\006\000\000\000\000\000\000\000\000\023\250\003\018\000\000\000\000\000\000\025\250\000\000\012\129\000\000\024\030\003\"\023\254\000\000\024\002\000\000\000\000\003\026\000\000\012U\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\000\000\024\018\000\000\000\000\000\000\024\022\000\000\000\000\012\129\000\000\024\"\024\026\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\198\000\000\025v\012U\024*\024\030\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\012\129\000\000\000\000\024*\000\000\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\210\000\000\000\000\006\173\000\000\006\173\000\000\024J\000\000\000\000\006\173\006\173\024N\024R\012U\000R\000V\000f\000\170\000\000\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\000\000\001\026\002\"\000\000\006\173\000\000\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\014\004\254\000\000\002*\006\173\000Z\006\173\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\002:\000\000\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\002>\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\000\000\007\002\000\000\000\000\000\000\006\173\000Z\000\000\011\006\006\173\006\173\006\173\000\000\000\000\000\000\t\134\000\000\000\000\006\173\000\000\000Z\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\n\000\000\000\000\006\173\006\173\005q\000\000\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\006\173\000\000\000\000\004\217\004\217\004\217\004\217\000\000\004\217\006\173\004\217\004\217\004\217\004\217\006\173\004\217\004\217\000\000\004\217\000\000\004\217\000\000\004\217\004\217\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\002Z\006\173\006\173\000\000\000\000\006\173\004\217\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\004\217\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\004\217\000R\000V\000f\000\170\000\000\000\174\004\217\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\002\150\002\"\000\000\002\154\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\t^\000\000\002\194\000\000\002:\000\000\000\000\004\217\000\000\002\202\002F\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\002J\002N\002\234\002\238\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\002\150\000\n\000\000\002\154\000\000\002\254\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002V\002\166\000\000\000\000\002\170\000\000\000\000\000\000\003\014\000\000\002\182\tN\000\000\002\194\003\018\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\003\022\000\000\0141\000\000\000\000\000\000\003\026\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\002\150\000\000\000\000\002\154\003\n\000\000\002\162\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\003\002\000\000\000\000\000\000\002\182\t6\000\000\002\194\000\000\000\000\000\000\000\000\000\000\003\014\002\202\000\000\002\206\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\002\150\000\000\000\000\002\154\003\n\000\000\002\162\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\003\002\000\000\000\000\000\000\002\182\002\250\000\000\002\194\000\000\000\000\000\000\000\000\000\000\003\014\002\202\000\000\002\206\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\000\000\006\173\002\234\002\238\000\000\000\000\006\173\000\000\005R\000\000\000\000\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\002\242\000\000\006\173\000\000\000\000\003\n\000\000\006\173\000\n\005\154\000\000\000\000\006\173\000\000\006\173\000\000\000\000\002\254\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\000\000\000\000\000\000\000\000\003\018\006\173\006\173\006\173\000\000\000\000\000\000\006\173\000\000\003\022\000\000\000Z\000\000\000\000\006\173\003\026\000\000\000\000\000\000\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000Z\000\000\000\000\006\173\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006\173\000\178\000\186\000\194\001\006\006\173\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\002\"\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\002*\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\0165\000\000\000\000\0165\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\0165\0165\000\000\000\000\000\000\000\000\000\000\000\000\007\150\000\000\000\000\000\000\002J\002N\000\000\0165\000\000\000\000\000\000\0165\002R\0165\0165\000\000\000\000\007\158\000\000\000\000\b\162\000\000\000\000\0165\000\000\000\000\0165\000\000\0165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0165\004\193\000\000\002V\004\193\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\174\000\000\000\000\004\193\000\000\000\000\004\193\000\000\002\181\000\000\000\000\000\000\004\193\004\193\000\000\004\193\000\000\000\000\000\000\000\000\0165\0165\004\193\0165\004\193\b\178\000\000\0165\000\000\000\000\000\000\000\000\000\000\004\193\004\193\000\000\b\186\004\193\004\193\004\193\000\000\0165\000\000\004\193\004\193\0165\0165\004\193\004\193\000\000\000\000\000\000\0165\000\000\000\000\000\000\0165\0165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\002\150\000\000\000\000\002\154\004\193\000\000\002\162\004\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\rr\000\000\002\194\000\000\000\000\000\000\000\000\000\000\004\193\002\202\000\000\002\206\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\004\193\002\218\001\150\002\222\000\000\000\000\004\193\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\026\178\000\000\026\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\194\000\000\000\000\002\242\002\150\026\226\000\000\002\154\003\n\000\000\002\162\000\n\023\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\023\254\000\000\024\002\002\166\000\000\000\000\002\170\000\000\003\002\000\000\024\006\000\000\002\182\016.\000\000\002\194\024\n\000\000\000\000\024\018\000\000\003\014\002\202\024\022\002\206\000\000\000\000\003\018\000\000\024\026\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\024\030\026\234\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\024\"\000\000\000\000\024&\000\000\000\000\000\000\002\254\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\024*\000\000\003\002\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\002\166\003\014\000\000\002\170\000\000\024B\000\000\003\018\024F\002\198\007:\000\000\002\194\000\000\000\000\000\000\003\022\000\000\000\000\002\202\000\000\002\206\003\026\024J\000\000\000\000\000\000\000\000\024N\024R\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\000\000\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\007n\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\002*\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\002J\002N\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\002>\000\000\000\000\000\000\006F\006J\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\006N\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\173\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006B\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\000\000\000R\000V\000f\000\170\023\246\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006N\001&\023\250\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\002\"\000\000\000\000\000\000\000\000\024\n\000\000\023\246\024\018\000\000\000\000\000\000\024\022\000\000\000\000\002*\000\000\000\000\024\026\023\250\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025r\023\254\000\000\024\002\000\000\024\030\002:\000\000\000\000\000\000\000\000\024\006\006B\000\000\t\145\000\000\000\000\024\n\000\000\000\000\024\018\002>\000\000\000\000\024\022\006F\006J\000\000\000\000\000\000\024\026\000\000\000\000\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\026\138\006N\000\000\000\000\000\000\024\030\000\000\000\000\000\000\000\000\024*\000\000\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006R\024J\000\000\000\000\000\000\024*\024N\024R\012U\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\002\161\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\012U\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\002*\000\000\029b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029b\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\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\006N\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\029j\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\005\001\000\000\029j\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\002*\000\000\029b\000\000\tu\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\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\006N\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\029j\rj\000\000\002\"\rn\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\002\166\000\000\002\145\000\000\000\000\000\000\000\000\000\000\000\000\r\130\r\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\002\202\000\000\002\206\000\000\000\000\029r\000\000\t\161\000\000\000\000\000\000\r\162\002\214\000\000\002>\r\166\001\150\002\222\029f\006J\000\000\r\170\r\174\002\150\000\000\r\178\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\002\166\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\016\150\016\130\000\000\000\000\000\000\000\000\r\198\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\154\002\214\000\000\000\000\016\158\001\150\002\222\000\000\000\000\r\202\016\162\016\166\000\000\n9\016\170\r\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\214\n9\000\000\t\133\000\000\000\000\003\026\r\182\016\174\000\000\000\000\000\000\n9\016\178\n9\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\016\186\000\000\000\000\n9\000\000\000\000\n9\000\000\b\249\000\000\n9\024\206\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\b\249\000\000\000\000\000\000\016\190\000\000\000\000\000\000\000\000\000\000\016\198\b\249\n9\b\249\000\000\000\000\000\000\000\000\000\000\016\202\000\000\b\249\000\000\000\000\000\000\003\026\000\000\b\249\000\000\000\000\b\249\000\000\000\000\000\000\b\249\000\000\007\149\000\000\000\000\000\000\b\249\000\000\n9\000\000\000\000\n9\000\000\000\000\007\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\249\026\234\n9\007\149\000\000\007\149\000\000\n9\n9\n9\000\000\n9\n9\007\149\n9\000\000\000\000\000\000\000\000\007\149\000\000\n9\007\149\000\000\n9\000\000\007\149\000\000\000\000\000\000\b\249\000\000\007\149\b\249\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\027\238\n9\n9\b\249\000\000\007\149\000\000\000\000\b\249\b\249\b\249\000\000\b\249\b\249\000\000\b\249\000\000\000\000\000\000\000\000\000\000\000\000\b\249\000\000\000\000\b\249\000\000\000\000\000\000\025V\000\000\000\000\000\000\000\000\000\000\007\149\000\000\000\000\007\149\000\000\b\249\023\250\000\000\000\000\000\000\b\249\b\249\000\000\000\000\000\000\000\000\007\149\023\254\000\000\024\002\000\000\007\149\007\149\007\149\000\000\007\149\007\149\024\006\007\149\000\000\000\000\000\000\000\000\024\n\000\000\007\149\024\018\000\000\007\149\000\000\024\022\000\000\025n\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\007\149\023\250\000\000\000\000\000\000\007\149\007\149\000\000\000\000\024\030\000\000\000\000\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\000\000\024\018\000\000\023\246\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\023\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024*\023\254\024\030\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\026\134\000\000\000\000\000\000\024\026\000\000\024\"\000\000\000\000\024&\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\000\000\026&\000\000\024*\023\254\000\000\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\024*\000\000\024\030\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\000\024&\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\000\000\000\000\000\000\024*\023\254\000\000\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\023\246\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\004\030\027\186\000\000\001\001\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\018\003\142\003\182\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\001\001\000\000\001\001\004&\024*\004\030\024\030\000\000\000\245\024.\000\n\0242\003\190\0246\024:\003\158\024>\003\174\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\000\024&\000\000\024J\000\000\003\198\003\150\000\000\024N\024R\000\245\000\000\000\245\000\245\024*\000\000\000\000\000\000\000\000\024.\027\230\0242\003\190\0246\024:\003\158\024>\003\174\000\000\000\000\000\000\000\000\000\000\024B\000\237\000\000\024F\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001\001\000\000\000\000\024J\003\166\003\198\000\000\000\000\024N\024R\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\003\150\000\000\000\000\000\000\000\237\000\000\000\237\000\237\004.\003\214\000\000\000\000\000\000\000\000\000\000\000\217\000\237\000\000\000\217\003\158\003\206\003\174\000\000\000\245\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\245\000\000\000\000\000\000\000\245\000\245\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\245\003\214\000\217\000\229\000\217\000\217\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\003\158\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\166\000\000\000\000\000\233\003\150\000\000\000\233\000\217\000\229\000\000\000\229\000\229\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\229\000\000\000\000\003\158\000\000\003\174\000\000\003\142\003\182\000\237\000\237\000\000\000\000\000\000\000\000\004\030\000\000\000\000\000\253\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\233\000\217\000\233\000\233\000\217\000\229\000\000\000\000\003\166\000\000\000\000\000\000\000\233\003\142\003\182\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\217\003\150\000\000\000\000\000\000\000\253\000\000\000\253\004&\000\000\000\217\000\217\000\165\000\000\000\000\000\000\003\198\003\190\000\229\000\000\003\158\000\229\003\174\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\003\198\000\000\000\000\003\150\000\000\000\000\000\229\000\229\000\233\000\165\000\165\000\233\000\000\000\241\000\000\003\166\000\241\000\000\000\000\000\165\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\000\000\000\003\142\003\182\000\000\003\206\000\000\000\000\000\253\000\233\000\233\000\000\003\166\000\000\000\000\000\165\000\000\003\150\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\253\000\000\000\000\000\000\000\253\000\253\000\000\003\190\r\n\000\161\003\158\000\000\003\174\r\014\000\000\000\253\003\214\000\000\028\186\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\190\000\000\000\000\000\165\000\000\000\000\000\000\000\161\000\161\000\000\003\166\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\165\000\000\000\000\000\000\000\161\000\161\000\000\000\165\000\000\000\000\019j\000\000\000\000\000\000\000\161\000\165\000\165\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\001>\019n\000\000\003\206\000\000\000\000\000\241\000\000\000\000\000\000\003\166\000\000\000\000\000\153\000\000\000\000\000\000\004\030\000\000\000\000\000\161\000\000\015\166\000\000\000\241\000\000\001B\015\170\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\153\000\153\000\241\000\241\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\030\003\150\000\000\000\153\000\153\000\161\000\n\000\197\004&\000\000\000\000\005\133\003\166\000\153\000\000\000\000\003\158\003\190\000\153\000\000\003\158\000\000\003\174\000\000\003\142\003\182\000\161\000\177\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\161\000\161\000\000\000\153\000\185\000\185\000\000\003\198\000\000\000\000\003\142\003\182\000\000\000\000\003\190\n\173\n\173\003\158\000\000\003\174\n\173\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\157\000\153\003\158\003\198\003\174\003\206\000\000\000\000\003\166\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\169\000\157\000\157\000\197\000\173\000\000\000\153\003\198\000\000\000\000\000\197\000\000\000\000\000\000\000\153\000\153\000\157\000\000\004.\003\214\003\206\000\000\000\157\000\157\003\142\003\182\000\000\003\166\003\142\003\182\000\000\000\000\000\157\000\000\000\000\003\158\000\000\000\157\000\000\003\150\000\000\000\185\004\030\003\150\000\000\000\169\000\169\000\177\000\185\000\173\000\173\000\000\000\000\000\000\003\166\000\169\000\185\003\214\003\158\000\173\003\174\000\000\003\158\000\157\003\174\000\000\003\142\003\182\000\177\000\000\000\000\000\000\000\000\000\000\000\181\000\177\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\177\000\177\000\000\000\169\000\193\004&\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\003\190\003\142\003\182\003\158\000\000\003\174\000\157\000\000\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\003\150\000\000\000\000\000\000\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\157\000\000\000\169\000\000\003\198\003\190\000\173\000\157\003\158\003\166\003\174\000\000\000\000\003\166\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\003\198\000\000\000\169\000\169\000\000\000\000\000\173\000\173\003\206\000\000\000\000\000\000\000\000\000\000\000\000\003\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\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\193\003\214\000\000\003\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\000\000\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"))
1581
1582 let lhs =
1583 (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001(\001(\001(\001'\001'\001'\001'\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001!\001!\001!\001!\001 \001\031\001\031\001\031\001\030\001\030\001\030\001\029\001\029\001\029\001\028\001\028\001\028\001\027\001\026\001\025\001\024\001\024\001\023\001\023\001\022\001\022\001\021\001\021\001\020\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\004\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\254\000\254\000\254\000\254\000\253\000\253\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\248\000\247\000\247\000\247\000\247\000\247\000\246\000\246\000\245\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\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\240\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\236\000\236\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\226\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\215\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\211\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\209\000\208\000\208\000\208\000\208\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\206\000\205\000\204\000\204\000\203\000\203\000\203\000\202\000\201\000\201\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\195\000\194\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\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\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\150\000\149\000\149\000\148\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\146\000\146\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\134\000\134\000\133\000\133\000\133\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000z\000z\000z\000y\000y\000x\000x\000x\000w\000w\000w\000v\000u\000u\000u\000t\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\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\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
1584
1585 let goto =
1586 ((16, "\001)\000\002\000\000\000\000\000\000\000\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\001m\002\242\000\000\001Q\001A\000\000\000\000\000\000\000\169\000\000\001\028\001x\000\000\000\000\002\158\000\000\003\210\000\000\000\000\000\000\003\248\000\000\004\"\000\000\000\000\000\000\004\166\000\000\004\212\000\000\000\000\005\"\000\000\005P\005\176\000\000\000\000\005\218\000\000\005\252\000\000\000\000\000\000\006\002\000\000\006(\000\000\006\136\000\000\007\146\000\000\007\148\007\160\000\000\000\000\b\002\000\000\b\020\000\000\0003\003\232\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000}\000\000\000\142\000\000\000\000\t\186\000\000\000\000\004\196\000\000\000\000\000\000\001h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000\000\000\001P\011L\000\000\000\000\r,\000\000\000\000\000\000\000\000\bd\000\000\b\168\004\024\000\000\b\210\000\000\000\000\t\022\000\000\000\000\tT\000\000\t\\\000\000\000\000\000\000\td\000\000\002b\t\194\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\152\003\230\000\000\000\170\000\000\000\000\000\000\t\196\000\000\005F\000\000\000\137\001\023\000\r\000\000\000\000\003\136\003\156\000\000\004\172\000\000\b\132\000\224*\134\n0\026\164\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\174*\134\000\000\000\000\rh\r\130\016V\000\000\018\128\000\000\nf\018\184\000\000\000\000\000\000\000\140\000\000\005\198%H\011\208\000\000\000\0007P\000\000\001\254\000\000\030,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006T\000\000\000\000\012b\000\000\rH\000\000\016.\000\000\016\144\000\000\016\228\000\000\019x\000\000\0210\000\000\023X\000\000\023\248\000\000\026V\000\000\031D\000\0007d\000\000\000\000\000\000\000\000\000\000\027\154\000\000 \028\000\000!\134\000\000\"\208\000\000'\252\000\000)\018\000\000>\182\000\000>\202\000\000?\018\000\000?<\000\000?\206\000\000?\232\000\000?\234\000\000@\014\000\000@\028\000\000@*\000\000\031\134\000\000\000\000!\188\000\000\000\000\000\000\000\000\003v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0307|\000\000\001\172\000\000\000\000\002 \004\"\000\000\002n\t\200\000\000\000\000\t\220\000\000\t\228\t\254\000\000\000\000\n\"\000\000\n0\000\000\000\000\000\000\n6\000\000\n8\000\000\n:\000\000\nX\000\000\000\000\nf\000\000\nl\np\000\000\000\000\nv\000\000\n\160\000\000\000\000\000\000\n\162\000\000\n\164\000\000\n\168\000\000\n\182\000\000\n\190\n\194\000\000\000\000\n\196\000\000\n\222\000\000\000\018\004\128\000\000\n\226\000\000\n\232\bd\000\000\n\236\000\000\000\000\n\238\000\000\n\240\000\000\011\016\000\000\000\000\000\000\011\024\000\000\011\026\000\210\000\000\011$\000\000\r\228\014z\000\000\004\220\000\000\005\024\000\000\000\000\001\134\r\144\000\000\000\000\000\000\000\000\rl\018f\000\000\018\220\000\000\000\000\000\000\005\174\000\000\005\226\000\000\005L\000\000\000\000\000\000\000\000\000\000\000\000\005\210\000\000\000\000\000\228\000\000\001\n\000\000\000\000\000\000\025x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002n\007:\005\144\000\000\011B\000\000\011J\nZ\000\000\011L\000\000\000\000\000\000\006h\000\000\000\000\000\000\000\000\002`\000\000\000\000*\198\000\000\000\000\000\000\025p\000\000\000\000\000\000\000\000\000\000\000\000\021\146\000\000\000\000\024.\000\000\000\000\025:\000\000\028\190\000\000\000\000\000\000\007\244\000\000\027\132(v\000\000\000\000(\250)\134\000\000-\030\000\000.,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@D\000\000.\204\000\0007\128\000\000@\242\000\000A\000\000\000A\028\000\000A\134\000\000A\188\000\000A\216\000\000A\252\000\000B\n\000\000B\030\000\000B,\000\000Bf\000\000B\184\000\000B\224\000\000\000\000)\160\000\000\000\000\000\000)\242\000\000\000\000\000\000\000\000\000\000\000\0008\012\000\000\000\000\000\000\b\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\000\000\000\0008n\000\000\000\000\000\000\002\182\001\208\000\000\000\000\000\000\000\000\r\156\000\000+\020\000\000\000\000\000\000\000\000\000\000+f\000\000\000\000\000\000+\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011N\018\186\000\000\011P\000\000\000\000\000\000\000\000\000\000\011V\000\000\000\000\002H\004n\000\000\005\030\000\000\000\000\000\000\002\174\000\000\r\194\003<\011Z\000\000\000\000\011^\000\000\011b\011t\000\000\000\000\011v\000\000\011z\000\000\000\000\000\000\011\138\000\000\011\150\000\000\011\162\000\000\011\180\000\000\000\000\011\182\000\000\011\186\011\192\000\000\000\000\011\198\000\000\011\200\000\000\000\000\000\000\011\208\000\000\011\214\000\000\011\220\000\000\011\232\000\000\012\n\012\028\000\000\000\000\012 \000\000\0120\000\000\001\166\014\156\000\000\0124\000\000\0126\015\190\000\000\0128\000\000\000\000\012B\000\000\012P\000\000\012R\000\000\000\000\000\000\012X\000\000\002\220\000\000\000\000\000\000\003\020\005\174\000\000\000\000\003\176\000\000\000\000\012Z\021.\000\000\012\\\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n\180\026\160\000\000\012h\000\000\012l\028\022\000\000\012p\000\000\000\000\r\150\012x\000\000\000\000\012\130\000\000\012\134\012\144\000\000\000\000\012\146\000\000\012\158\000\000\000\000\000\000\012\162\000\000\012\178\000\000\012\188\000\000\012\192\000\000\000\000\012\200\000\000\012\212\012\214\000\000\000\000\012\220\000\000\012\226\000\000\000\000\000\000\012\230\000\000\r\006\000\000\r\b\000\000\r\014\000\000\r\024\r(\000\000\000\000\r,\000\000\r0\000\000\004l\017T\000\000\r8\000\000\r>\0204\000\000\rF\000\000\000\000\rJ\000\000\rT\000\000\rd\000\000\000\000\000\000\rp\000\000\rv\029\232\000\000\r~\000\000\000\000\011\170#\244\000\000\r\132\000\000\r\134$\152\000\000\r\140\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\210\000\000\014`\000\000\000\000\000\00096\000\000\000\000\000B\000\000\000\000\000\000\003.\006\196\000\000\000\000/4,N\000\000\027h,\172\000\000\000\000\000\000/8\000\000\000\000-F\000\000\000\000\000\000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\000\030\212\000\000\000\000 \000\000\000\t\236\000\000\000\000\000\000\t\216\000\000#h\000\000\000\0009`\000\000\000\000\000\000\011\194\000\000\000\000\000\000\000\000\000\000\000\0009\196\000\0009\200\000\000\000\000\000\000-h\026\002\000\000\000\000\000\000/\160\000\000\000\000\000\000\000\000\r0\000\000\000\000\000\000\000\000\011\134\000\000\015\218\000\000\000\222\000\000\000\000\000\000CF\000\000Cf\000\000C\204\000\000C\236\000\000C\238\000\000C\250\000\000D\028\000\000DT\000\000D\162\000\000D\196\000\000E\n\000\000E\014\000\000E\030\000\000E*\000\000\000\000\000\0000\n\000\000\000\000\002V0v\000\000\000\0001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\003\130\000\000\b.\000\000\000\000\012\154\000\000\000\000\000\0000\142\000\000\000\000\000\000\000\000\000\000\016\250\000\000\000\000\000\000\001\023\000\0001b\000\000\000\000\000\000\000\000\004\182\016\152\000\0001\132\000\000\000\000\000\000\000\000\020n\000\0001\196\000\000\000\000\000\000\000\000\002\148\000\000\007Z\000\000 \024-v\000\000\000\000\000\0009\228\000\000\000\000\000\000\003\196\000\000:\014\000\000\000\000\000\000:\182\000\000\000\000\000\230\000\000\025*\000!.\016\000\000\000\000\000\000\004d\007\130\000\000\000\000\000\000\000\000\000\000\000\000&\n\000\000\000\000-\014\000\000\000\000/\232\000\000\007\190\000\000\000\000\000\000\r\134\000\000#\234\000\000\000\000;\014\000\000\000\000\000\000\014\002\000\000\000\000\000\000\000\000\000\000\000\000><\000\000>V\000\000\000\000\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\000E\164\000\0001\224\000\000;\156\000\000E\196\000\000E\212\000\000E\228\000\000F\022\000\000F>\000\000F~\000\000F\230\000\000F\244\000\000G\030\000\000G\142\000\000G\156\000\000G\196\000\000G\244\000\000\000\000\004\130\000\000\005f\000\000\r\252\0026\b\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\182\000\000\019\"\007&\014F\000\000\000\000\000\0002P\000\0002\152\000\0002\232\000\000%\172&\168\000\145\t \000\000\000\142\012\138\000\000\000\000\000\000\r~\000\000\000\000\015\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\252\000\000\000\000\000\000\000\000\000\000\000\000$~\000\000&\208\000\000\000\000\000\000\000\000\015~\000\000\000\000\007\234\000\000\000\000\000\000\026\140\001P\000\000\027\026\000\000\000\000\020n\000\000\002\170\000\000\000\000\016\016\000\000\027\156\000\000\000\000$\150\000\000\000\000\000\000\n\020\000\000\000\000\011\168\000\000\000\000#R\000\000\000\000\000\0003$\000\000\000\000\000\000-~\000\000\000\000\000\000\000\0003\180\000\000\000\000\000\000\000\000\004\204\021\202\000\0003\204\000\000\000\000\000\000\000\000\000\000\000\000\016|\000\000\000\000\003J\000\000\016\164\000\000\n\020\000\000\000\000\005~*@\000\000\005\250\000\000\000\000\000\000\000\000\005Z\000\000'\014\000\000\028\152\005\192\029\026\000\000\0066\000\000\017\246\000\000\018x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\250\029T\003\224\030l\000\000\000\000\000\000\005\204\000\000\018\160\000\000\006\"\000\000\000\000\n\166\003\188\031\000\000\000\005\226\000\000\020\030\031\146\000\000\000\000\020\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006.\tT\000\000\006\184\000\000\000\000\000\000\000\000\004\228\000\000\020\200\000\000\000\000\000\000!\234<\000\000\000\000\000\000\000\"\198\000\000\000\000\000\000\000\000\000\000\003\180\014\190\000\000\000\0004@\000\000\000\000\004\"\000\000\015\024\000\000\000\000/\\\000\000\000\000\000\0004b\000\000\000\000\000\000\000\0004z\000\000\000\000\007\176\017\188\000\000\000\0004\210\000\000\000\000\006\234#\210\000\000\018D\000\000\000\0005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\194\000\000\000\000\000\000\003\226\000\000\000\000\018\166\000\000\000\000/\218\000\000\000\000\000\0005\164\000\000\000\000\000\000\000\00062\000\000\000\000\007\200\019N\000\000\000\0006\138\000\000\000\000\007\014\000\000\000\000\000\000\000\000\005Z\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\030\000\000\021J\000\000\000\000\000\000<d\000\000\t\142\000\000\000\000\000\000\005\006\000\000\001\232\000\000\000\000\005\000\022F\000\000\022\200\000\000\000\000\000\000\006\192\000\000<\142\007\030<\242\000\000=V\000\000\000\000\000\000\007\242\000\000=\174\b\012\000\000\000\000'\220\b*'\244\000\000(\218\000\000\000\000\000\000\b8\000\000=\234\bZ\000\000\000\000\001\016\bb\b\002\000\000\b\166\000\000\000\000\000\000\tV\000\000=\238\tx\000\000\000\000\000\000\006~\000\000\000\000\000\000\020\004\000\000\000\000\000\000\000\000\000\000\000\000\007\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\158\000\000\000\000\0038\000\000\000\000\014h\000\000\000\000\000\000\000\000\000\000\005 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014v\000\000\000\000\014P\000\000\004\210\000\000\000\000\0024\000\000\000\197\r\240\002\\\000\000\000\000\006\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\t\214\000\000\000\000\000\230\000\000\000\000\000\000\014r\000\000\000\000\019j\023\020\000\000\000\000\000\000\000\000\025\028\025n\b\024\000\000\000\000\000\000\025\170\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\003\028\000\000\000\000\r\182\000\000\025\246\000\000\000\000\000\000\t\178\000\000\000\000\001\128\000\000\000k\000\000\000\000\000\000\000\000\007\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021H\028\218\000\000\000\000\000\000\000\000\030~\000\000\000\000\tr\000\000\014\152\000\000\000\000\000\000\003\250\000\000\000\006\000\000\000\000\000\000\028Z\000\000\000\000 4 \196\011|\000\000!\158\000\000\000\000\000\000\000\000\000\000\000\000\004D\r\208\000\000\r\212\000\000\"\n\011\166\000\000\".\000\000\000\000\000\000\000\000\r\214\000\000\014Z\000\000\000\000\000\000\000\028\000\000\000<\014\030\002\250\000\000\000\000\000\000\0042\005\250\000\000\000\000\000\000\000\000\004z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\000\000\000\000\019Z\000\000\002\168\014\178\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\r\226\000\000\000\000\028\186\"h\000\000\000\000\000\000\000\000\"\238\000\000\000\000\0006\000\000\007\138\012X\000\000\000\000\000\000\016\188\000\000\000\000\000\000\000\000\000\000\000%\017\002\000\000\000\000\020\148\000\000\000\000\000\000\000\000\015\148\000\000\000\000\007\240\000\000\000\000\000\000\000U\000\000\000\000\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\162\000\000\000\000\000\000\005\186\000\000\000\000\000\000\000\000\000\000\000\b\007\240\b*\012\198\000\000\000\005\0030\007\246\b\130\000\000\000\000\000\000\000\000\000\000\000\000\t\026\022\240\000\000 \152\b\202\000\000\000\000\nF\000\000\024n\000\000.t\000\000\000\000\t\130\023r\000\000!*\000\000\t\186!\190\000\000\000\000\000\000\002\162\003\130\000\000\000\000\000\000\000\000\b\b\000\000\b\136\000v\000\000\000\000\006~\006\224\000\000\015\220\000\000\000\000\005\174\000\000\005\226\000\000\000\000\017\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\012\000\000\000\000\000\000\n\214\000\000\024\240\000\000\n\020\014r\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\0006\182\000\000\006d\000\000\000\000\000\000\000\000\000\000\001\180\000\000\011F\bx\011\200\000\000\002p\r@\000\000\t\212\000\000\004\028\000\000\004\158\000\000\005,\000\000\n\020\000\000\000\000\000\000\000\000\000\000\006J\000\000\t\252\000\000\006\216\000\000\n\020\014\224\000\000\b@\000\000\014\206\b\016\000\000\t\020\000\000\t\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\011\026\000\000\000\000\000\000\r\154\000\000\000\000\000\000\000\000\000\000\014\248\r\186\000\000\000\000\r\238\000\000\000\000\r\190\t\"\015&\000\000\0154\000\000\000\000\t\206\t&\000\000\r\252\000\000\000\000\014<\000\000\000\000\000\000\000\000\000\000\000\000\015 \r\224\000\000\000\000\000\000\014\020\r\228\t\140\n\012\014\"\014v\000\000\000\000\014*\n<\n(\014V\014\144\000\000\000\000\n\156\015t\000\000\015x\000\000\015\154\000\000\000\000\015|\000\000\000\000\015\132\000\000\000\000\000\000\000\000\015\134\000\000\015\186\000\000\000\000\000\000\015\192\000\000\000\000\000\000\015\194\000\000\000\000\000\000"), (16, "\0045\005\248\004H\000S\000S\006\251\006D\006\216\000S\000Z\000\209\000\025\006\131\006\132\000S\000\213\002\221\006\251\000\153\000\024\0045\002E\004H\003U\005\018\004\250\000\r\002\214\002\221\007N\006\217\006\216\006\220\006(\006)\007O\003x\0071\000\153\002^\003y\004\165\006\133\007P\003\218\004\203\000\\\000\016\000\017\002\216\006\251\000k\006\134\000\004\006\217\006E\006\220\006(\006)\000\007\004\204\002\221\0047\006\210\006\192\000S\0048\000\153\006\131\006\132\000k\000T\003U\000V\004\156\000\203\006\216\000\005\000V\000\211\004\204\002\217\0047\000\005\000V\000k\0048\006\190\006\193\006(\006)\002F\002\\\000\153\007\003\000\028\000k\007\005\006\155\006\217\003z\006\220\006(\006)\003{\007\021\007\022\006*\006\134\004\000\000\153\002g\000\018\000\217\000\153\000\156\000\157\002i\000\161\000\153\000\156\000\157\000\158\000\161\005A\006\027\004M\006\211\000\209\001.\004\181\006*\007\b\000\213\000\017\000V\007R\006\212\006\213\000\153\000\156\000\157\001\133\000\161\007\r\000\153\000S\000S\006\025\001\173\004\181\004\166\000\163\006\028\006(\006)\000\163\002\214\007S\004\157\000W\000\163\007^\006*\004\183\000\164\006O\006i\004\167\007j\000\153\000Y\005\176\000~\004E\003U\006*\006\254\004\188\002\218\002_\000\163\000\218\004\205\004\183\004F\005C\005 \000k\006M\006(\006)\000\218\000\203\004E\000\219\004\200\000\211\004\188\005\014\005\181\000Z\000\218\004\205\007T\004F\0075\001s\004\201\004\007\003\136\002\217\004\000\007U\007\026\007\027\000V\004\156\000\218\007s\000\255\003\137\000\164\004\191\006\231\004\251\000\220\005\026\006*\000\153\004\213\000\217\004\205\0051\0045\007\031\004H\003\219\000[\002\232\006x\004\242\004Q\004\191\000S\004\208\007u\0060\007\011\007\141\004\213\002\232\000\153\007w\000\252\002I\000k\007P\007\142\004\203\004R\004\242\004Q\006v\006*\004S\006y\006(\006)\004T\000\b\000\209\0013\000\222\005\194\004U\000\215\000\253\000\153\004\213\004R\000\254\004\218\003U\002\232\004S\003\166\000k\000\224\004T\004\242\007\"\001\172\007\001\004\204\004U\0047\001\152\003\139\0045\0048\004H\004\160\000\206\001\162\007\161\007a\001\136\007b\0015\000\218\001\174\001\136\000\219\000V\003x\0019\000\153\001\155\003y\004\000\000 \003U\005\018\004\250\001\139\004\163\0069\0045\001\139\004H\000k\001\136\001\186\001\139\004\205\000\203\001\186\0010\000\153\000\211\006*\001\186\0013\000\220\001\187\000\153\003\165\007\127\007\128\0067\007P\007\147\004\250\001\139\006=\006:\006(\006)\004\204\006j\0047\001\186\001\226\004\181\0048\001\238\000\031\0019\004\207\007\162\000\153\000\252\006\226\000\217\003\158\007,\005\235\000l\003z\0014\004\201\004\213\003{\006m\004\218\000v\001\199\004\204\005\177\0047\000\222\002H\004\242\0048\000\253\002\219\000m\004\183\000\254\000\153\000c\001\173\001\204\007\158\006\227\000\224\006\228\004E\002\177\005\179\000\153\004\188\003V\007\132\001\163\000\218\004\205\007\163\004F\005\195\001\173\000y\000k\005!\004M\001\228\007U\001.\004\181\001\229\006*\000\153\007\165\006=\001\204\006\229\002\211\005\179\001\181\001\206\000\153\001\156\004\205\001\157\003\160\006\230\0071\002\221\005\000\001.\006>\0019\000\218\006l\006$\000\219\004\191\004\181\004\208\007\167\004\201\002F\004\183\004\213\002r\001\244\007\169\000\200\002[\007\"\006%\001\205\004E\003\162\004\242\004Q\004\188\000\200\002W\002t\000\218\004\205\003V\004F\005\194\005#\000\220\0071\003\136\004\213\003\205\004\183\004\218\004R\004x\004y\000\218\005\014\004S\003\137\004\242\004E\004T\003W\002\195\004\188\005\190\000\153\004U\000\218\004\205\007\153\004F\000\"\000\221\002u\002\197\0053\000S\002\201\007U\004\191\002a\004\251\000S\005\026\004\189\000k\004\213\006>\002t\0051\000\203\000\222\003\165\005&\000\204\000k\001\"\004\242\004Q\0045\000\203\004H\000\218\007-\000\204\001\245\000\224\005]\004\191\003\208\004\251\0016\007\155\006\153\002\203\004\213\004R\000\153\007\157\0019\000\153\004S\007P\007\147\004\250\004T\004\242\004Q\000\217\006A\000S\004U\000S\000S\003\167\0045\006\151\0046\000\217\002G\006\154\006(\006)\007Q\000\004\004R\000V\004x\004y\003\168\004S\003\248\000V\006\189\004T\002\201\005=\000S\000\153\004\204\004U\0047\000S\001\248\0045\0048\004H\005\192\000\005\000z\006\203\001\226\002\200\0074\001\238\007\152\006\190\006\193\006(\006)\0019\001\249\000\153\002m\006\206\001\204\001\250\007P\007\147\004\250\001\251\0019\002\202\000z\001\187\000k\001\252\0047\005\182\000k\000V\0048\000V\000V\006j\001\187\006\203\000\218\006\196\000S\000\219\005L\0019\003\222\0075\006*\003\236\000\218\006\214\0066\000\219\003\248\001\206\004\201\004\204\000$\0047\000V\002\232\004\181\0048\000k\000V\001)\001\228\0045\003\249\004H\001\229\003\241\007\154\000\220\0067\000S\000(\000z\000\153\004\243\006:\006(\006)\000\220\006*\000\153\003\242\000S\006'\005(\007P\007\147\004\250\004x\004y\004\183\004\231\000*\000\153\000\156\000\162\000\153\000\161\002<\006%\004E\001\244\000o\000{\004\188\003\246\000V\005c\000\218\004\205\007\153\004F\000S\000r\003\241\005t\001\198\000c\006\209\007U\004{\004\181\004\204\003\236\0047\004\189\000o\000\128\0048\005\154\000\153\000\156\000\157\001\189\000\161\000\163\004E\000r\007\156\001\226\000V\000c\001\238\006\215\000\218\000\153\003\241\004F\003\"\004\191\006*\004\251\000V\007\155\006\204\004\183\004\213\000\153\000.\007\157\005\020\005o\0018\000\153\001\152\004E\005&\004\242\004Q\004\188\0019\001\162\000\163\000\218\004\205\007\153\004F\0053\000o\001p\000\218\0000\000V\001\245\007U\001\155\004R\000S\006\223\000r\004\189\004S\004\181\000c\005\202\004T\002R\006\233\0013\000k\002o\004U\001\228\006\202\005\193\0045\001\229\004H\0019\005\204\000\209\005\t\000a\000S\004\191\000\210\004\251\002?\007\155\005\020\0003\004\213\004v\000\153\007\157\006\203\004\183\000c\007P\007\147\004\250\001\152\004\242\004Q\004z\004P\004E\002%\001\162\000\164\004\188\001\248\001\244\0007\000\218\004\205\007\153\004F\005\011\000\153\007$\004R\001\155\007%\001\184\007U\004S\000V\0056\001\249\004T\004\189\002\199\006F\001\250\004\204\004U\0047\001\251\000\164\000k\0048\007)\005\t\001\252\000\203\0045\005.\004H\000\211\000S\007\164\001\163\000V\001\142\004\191\001\136\004\251\002q\007\155\007\135\0006\004\213\007\136\000\153\007\157\0019\005.\000\153\007P\007\147\004\250\005F\004\242\004Q\003W\001\164\005\192\001\139\001\156\005\n\001\157\0009\000\217\0050\0045\001\186\004H\007f\0019\006@\000\218\004R\001\136\001\245\005\028\000S\004S\007\"\000;\005+\004T\000?\001\192\005/\004\181\004\204\004U\0047\005H\005\006\0045\0048\004H\001\171\001\139\006\204\002&\0022\001\163\000V\000A\007\168\001\186\006\130\006(\006)\007\140\001\246\000\153\002\200\0045\006.\004H\003U\005\018\004\250\007^\0019\004\183\001\166\005F\001\247\001\169\007e\003\158\001\156\0047\001\157\004E\0019\0048\001\248\004\188\005\023\000S\0019\000\218\004\205\007\153\004F\0045\000\218\0046\005\166\000\219\000V\006/\007U\000C\001\249\004\204\001\187\0047\004\189\001\250\004\181\0048\005G\001\251\004x\004y\005\166\007\"\001\187\001\252\006>\000\209\005\205\002\029\006\207\000k\000\213\0047\006\022\006\023\000\220\0048\004\191\006*\004\251\005\168\007\155\005\204\000\153\004\213\005\012\000\164\007\157\007,\004\183\004M\0071\000\153\005u\004\181\004\242\004Q\003U\005\167\004E\000k\001\200\0047\004\188\000V\005\160\0048\000\218\004\205\007\153\004F\007a\000\153\007b\004R\005\212\007i\007,\007U\004S\004\181\0019\000\226\004T\004\189\007\017\000k\000S\004\183\004U\005\214\000\203\000\164\000\227\004\000\000\211\004M\000S\004E\000\200\002Q\007\194\004\188\006_\006(\006)\000\218\003X\004\191\004F\004\251\007\231\007\155\0060\004\183\004\213\000S\007\144\007\157\000\153\007a\0071\007b\005\014\004E\007\232\004\242\004Q\004\188\000\217\0019\003\220\000\218\004\205\000\153\004F\005\185\005 \0045\003U\004H\000E\000I\000S\004E\004R\007=\004\191\000H\004\189\004S\001\198\000\218\001,\004T\004F\000\153\000V\004\201\000k\004U\003U\005\018\004\250\000\203\004\195\004Q\000V\000\204\004O\007\159\004x\004y\004\191\004E\004\251\004\000\005\026\006*\000z\004\213\005\215\000\218\004\218\004R\004F\000V\006`\007^\004S\007\019\004\242\004Q\004T\005\218\007k\005\214\000K\004\204\004U\0047\000S\000\217\0045\0048\004H\000M\005\226\000\218\005\214\004R\000\219\004Q\000V\005\229\004S\007\216\004\205\0077\004T\0073\000\153\005\228\004x\004y\004U\003U\005\018\004\250\005\228\004R\007W\0045\005\232\004H\004S\0010\000S\005\240\004T\000\005\007\186\000\220\007\186\001\231\004U\000}\0076\005\214\006\150\000\153\004x\004y\005\242\007r\003U\005\018\004\250\007.\005\237\004G\007\240\007\197\004\204\004\213\0047\0019\004\218\004\181\0048\000\252\000V\006\151\000\164\004\164\004\242\006\154\006(\006)\003x\000\131\000\218\006u\003y\000\219\000o\001u\007.\003\225\000\222\0072\007\144\004\204\000\253\0047\0019\000r\000\254\0048\004\205\000c\000\130\004\183\006L\000\224\006v\007l\004\156\006y\006(\006)\007\144\004E\000\209\000S\000\220\004\188\0079\000\213\007\214\000\218\004\205\0071\004F\005\030\005 \006M\006(\006)\000S\007m\000\153\007a\004\181\007b\000\133\007@\004\189\003W\000k\000\209\005\239\0019\003z\007\150\000\210\004\213\003{\004\201\004\218\000n\006*\000\153\000\156\000\157\001\194\000\161\004\242\002.\000S\005\243\004\191\004\181\004\251\007\166\005\026\000\136\004\183\004\213\007G\000\138\004\218\007\235\000k\000\142\005\242\005\246\004E\000\203\004\242\004Q\004\188\000\211\006*\000V\000\218\004\205\002\226\004F\005E\005 \005\214\004\157\007\193\000\163\007\187\004\183\007L\004R\000V\000k\006*\004\189\004S\007\217\000\203\004E\004T\007t\000\211\004\188\003W\b\016\004U\000\218\004\205\000\217\004F\005\189\005 \004\201\002l\000\160\0045\001;\004H\004\191\b\017\004\251\000V\005\026\004\189\000S\004\213\001>\007\236\004\218\007\225\001B\000S\002I\000\153\001.\000\217\004\242\004Q\003U\005\018\004\250\007\243\007\186\001A\0045\003\136\004H\004\191\000o\004\251\000S\005\026\007\242\000\218\004\213\004R\003\137\004\218\006\156\000r\004S\001D\000\153\000c\004T\004\242\004Q\007P\001F\004\203\004U\001J\001L\001N\007\224\004\204\003x\0047\003}\001\204\003y\0048\007\225\0075\004R\004\231\000q\000\218\001P\004S\000\219\006\135\007\186\004T\000V\001S\000\200\002;\001W\004U\001V\000V\003=\001Y\004\204\007\224\0047\000S\003\241\0045\0048\004H\006P\000\209\000\218\0010\001\206\000\219\000\210\007\224\000V\000\220\007\160\004\236\001[\001_\001a\000\153\001c\006_\006(\006)\007P\003\138\004\203\001e\003\158\001\136\0016\001i\003z\001h\001k\000u\003{\004\181\0019\004\240\000\220\000\252\006_\006(\006)\000S\000S\001m\000k\001r\004\231\001\139\001x\000\203\001w\001z\001|\000\204\000S\001\186\000\222\004\204\007\225\0047\000\253\000k\004\181\0048\000\254\000V\000\203\004\183\001~\003\241\000\211\000\224\001\130\001\203\000\209\007\145\001\198\004E\001\135\000\210\000o\004\188\007\189\0024\004\236\000\218\004\205\000\217\004F\007p\005 \000r\006*\001\191\003\160\000c\004\183\001\197\001\196\002f\002e\006\164\004\189\002k\000\217\002y\004E\002|\004\240\002\128\004\188\000V\000V\006*\000\218\004\205\007\146\004F\002\127\002\130\000\153\002\132\006\179\003\162\000V\007U\004\191\004\181\004\251\002\136\005\026\007\149\007\191\004\213\000k\002\138\004\218\000o\003\136\000\203\003\197\002\140\000\153\000\211\004\242\004Q\000\218\007,\000r\003\137\002\142\002\145\000c\002\149\000S\004\191\002\148\004\208\007\151\002\151\002\153\004\183\004\213\004R\002\157\007\157\000\218\002\159\004S\000\219\002\161\004E\004T\004\242\004Q\004\188\002\163\000\217\004U\000\218\004\205\007\146\004F\000\218\003\165\0045\000\219\004H\001\152\000\209\007U\004\155\004R\002\167\000\210\001\162\007\149\004S\000\164\001\198\000\220\004T\002\166\000\153\002\169\000\200\0028\004U\007P\001\155\004\203\003\134\002\171\004\222\002\176\002\182\002\181\000\220\000\200\0027\004\191\002\184\004\208\007\151\004\156\000\153\003\167\004\213\002\186\002\188\007\157\000\209\002\192\002\209\002\208\000S\000\210\000S\004\242\004Q\002\225\003\168\002\231\000\153\002\230\004\204\0038\0047\002\234\000k\0045\0048\004H\002\237\000\203\002\241\000\218\004R\000\211\000\219\002\240\002\243\004S\007\148\001+\000k\004T\002\245\000\153\002\249\000\203\000x\004U\003U\000\204\004\203\000S\002\251\000k\0045\000S\004H\002\253\000\203\002\255\000\153\000\156\000\204\003\002\001\137\000\220\000k\000\217\001\176\003\006\003\005\000\203\000\153\003\b\006\216\000\211\003\n\003U\003\014\004\203\000V\001\163\000V\000\217\004\157\004\204\001\152\0047\004\159\001\155\004\181\0048\007-\001\180\003\016\003\018\000\217\006\217\003\020\006\220\006(\006)\000\163\003\024\0045\003\228\004H\001\155\001\156\000\217\001\157\003\023\000\226\003\026\004\204\003\028\0047\000S\0019\003!\0048\004\156\003'\000\229\004\183\000V\003&\005\197\003)\004\174\005\196\005@\007.\003+\004E\000\153\000\156\001\138\004\188\000\161\0019\003-\000\218\004\205\007\146\004F\000\218\0031\006L\000\219\0037\000S\000o\007U\0036\004\181\005>\003<\003B\007\149\005@\003A\000\218\000r\003\158\000\219\0047\000c\006!\003\157\0048\006M\006(\006)\006*\000\218\006J\000\163\000\219\0065\000\220\006C\006o\004\191\004\181\004\208\007\151\000V\000\218\004\183\004\213\000\219\006\149\007\157\000S\006\174\000\220\006\176\006\186\004E\006\188\004\242\004Q\004\188\006\198\006\225\004\157\000\218\004\205\000\220\004F\000S\004:\001\156\007}\001\157\007\171\001\179\004\183\007\175\004R\000V\000\220\0019\0055\004S\007\195\000\226\004E\004T\000z\001\156\004\188\001\157\004\181\004U\000\218\004\205\000\231\004F\007\201\0019\007\202\007\207\007\208\007\213\006*\0045\004\191\004H\004\208\0057\007\212\0055\007\220\004\213\000S\004\196\004\218\007\222\007\228\007\229\007\233\007\234\000V\000\153\004\242\004Q\004\183\002M\003U\004\198\004\203\007\237\004C\001\139\001\202\004\191\004E\004\208\0057\000V\004\188\001\186\004\213\004R\000\218\004\218\007\238\004F\004S\006\236\006\189\003x\004T\004\242\004Q\003y\007\241\007\244\004U\007\245\b\006\004\189\007\251\b\004\b\000\004\204\004\139\0047\b\003\b\012\000\153\0048\004R\006\190\006\193\006(\006)\004S\0045\b\n\004H\004T\b\014\b\019\000V\004\191\001\136\004U\000\000\004\210\000\000\000\000\000\000\000\209\000o\002\174\000\153\000S\000\210\000\000\000\000\003U\004\211\004\250\004Q\000r\000\000\000\000\001\139\000c\000\000\003\158\000\000\000\200\0026\003z\001\186\000\000\000\000\003{\000\000\000\000\004R\006S\000\000\000\000\000\164\004S\000\000\000S\000\000\004T\0045\000z\004H\004\181\000\000\004U\004\204\007^\0047\005^\000\209\004\253\0048\000\000\007`\000\210\000\000\006*\000\153\000\000\0045\000k\004H\003U\004\211\004\250\000\203\000\000\000\000\000\000\000\211\005\002\000\000\000\000\004\162\000V\000\000\004\183\000\153\000\164\000\000\000k\000\000\003U\004\211\004\250\000\203\004E\000\000\003\160\000\204\004\188\000\209\003W\005f\000\218\004\205\000\210\004F\000\000\004\204\000\000\0047\000\000\000\217\006\216\0048\004\156\000\000\000\000\000k\000\000\004\255\000\000\000S\000\203\004\181\000\000\003\162\000\211\004\204\000\153\0047\000\000\000\217\000\000\0048\000\000\006\217\000\000\006\220\006(\006)\003\136\000\000\003\164\004\191\000\000\004\208\005\001\006\216\000\218\000\000\004\213\003\137\000\000\005\003\000o\002\179\000\000\004\183\000\000\000k\000\217\004\242\004Q\000\000\000\203\000r\000\000\004E\000\211\000c\006\217\004\188\006\220\006(\006)\000\218\004\205\004\181\004F\000\000\004R\000\000\007\014\000\000\000\000\004S\003\165\000\000\000\000\004T\000\218\000V\004\189\000\219\000\000\004U\001\152\004\181\007a\004\157\007b\000\000\000\217\001\162\000\000\000\000\000\000\000\153\0019\000\000\000\218\004\183\006*\000\219\000\000\000S\004\191\001\155\004\251\000\000\004\252\004E\000\000\004\213\000\220\004\188\004\218\000\000\003\167\000\218\004\205\004\183\004F\000\000\004\242\004Q\0045\000\000\004H\000\218\000\000\004E\000\219\003\168\000\220\004\188\004\189\006*\000\000\000\218\004\205\000z\004F\004R\000\153\000\000\000\000\000\000\004S\003U\005\018\004\250\004T\000\000\000\000\000\000\004\189\000S\004U\000\000\004\191\000\226\004\251\000\220\004\252\000\000\007^\004\213\000\164\000\000\004\218\000\218\000\233\007h\000\219\000V\000\000\000\000\004\242\004Q\004\191\000\000\004\251\003\250\004\252\000\000\004\204\004\213\0047\000\000\004\218\0045\0048\004H\000\000\000\200\0025\004R\004\242\004Q\000\153\000\000\004S\000\000\001\163\000\220\004T\003\254\000\000\000\153\000\226\0045\004U\004H\003U\005\018\004\250\004R\000\000\006\255\000\000\000\235\004S\000\200\000\202\000S\004T\000V\003\238\000\153\000\000\001\156\004U\001\157\003U\005\018\004\250\000\000\000\000\000\000\000\000\0019\000\153\000\156\000\157\002c\000\161\000o\003\031\000\000\000\000\004\204\000\226\0047\007\006\000k\004\181\0048\000r\000\153\000\203\000\000\000c\000\237\000\204\000\000\000\000\000\000\001\152\000\000\000\000\004\204\000\000\0047\000S\001\175\0045\0048\004H\000\000\000\000\000\000\000\000\000k\000\163\000\000\000\000\000\000\000\203\001\155\004\183\000\000\000\204\000\000\000\000\000V\000\000\000\000\000\217\000\000\004E\004\174\005\015\000\000\004\188\000\000\000\000\000\000\000\218\004\205\007a\004F\007b\005\025\000\164\000\000\000\000\000\000\000\000\000\209\0019\004\181\000\000\000\000\000\210\004\189\000\217\001\152\000\000\005v\000\000\000\000\000\000\000\000\001\154\000\000\003\158\006\219\0047\000\000\000\000\004\181\0048\000\000\000V\000\000\000\000\006L\001\155\004\191\000\000\004\251\000\000\005\026\000\000\004\183\004\213\000\000\000S\004\218\006\217\000\000\006\220\006(\006)\004E\000\000\004\242\004Q\004\188\006M\006(\006)\000\218\004\205\004\183\004F\000\218\005\027\000k\000\219\000\000\000\164\000\000\000\203\004E\004R\000\000\000\211\004\188\004\189\004S\000\000\000\218\004\205\004T\004F\005\127\005-\000\000\000\000\004U\0045\000\000\004H\000\218\004\181\000\000\000\219\000\000\004\189\000\220\000\000\001\156\004\191\001\157\004\251\000\000\005\026\006\024\000\153\004\213\000\217\0019\004\218\003U\0058\004\250\000V\000\000\000\000\000\164\004\242\004Q\004\191\001\136\004\251\006*\005\026\000\220\004\183\004\213\006\025\000\000\004\218\006*\005\145\006\028\006(\006)\004E\004R\004\242\004Q\004\188\000\000\004S\001\139\000\218\000\000\004T\004F\004\204\000\000\0047\001\186\004U\0045\0048\004H\000\000\004R\001\156\000S\001\157\004\189\004S\000\000\000\000\000\000\004T\003W\0019\000\000\000\000\000\153\004U\0045\000\000\004H\003U\0058\004\250\000\000\006\216\000\000\000\000\000\000\005N\004\191\000\000\000\218\000S\000\000\000\219\000\153\005:\000\000\000\000\000z\003U\004\211\004\250\000\000\000\000\000\164\000\000\006\217\004Q\006\220\006(\006)\006*\000\000\000\000\000\000\000\000\004\204\000\000\0047\005\161\000\000\004\181\0048\000\000\000\220\004R\000\000\000\000\000\209\000\000\004S\000\000\000V\000\210\004T\000\000\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\000\153\000\156\000\157\002\206\000\161\000\000\000\000\000\000\006Y\000\000\004\183\000\000\000\000\000\000\000\153\005<\000V\000\000\000\000\003U\004E\004\203\000\000\000\000\004\188\000\000\000\226\006u\000\218\004\205\000\000\004F\000\200\001\219\000\000\000\000\000\000\000\239\006*\000\000\000\000\004\181\000\163\000k\000\000\004\189\000\000\000\000\000\203\000\000\006v\000\000\000\211\006y\006(\006)\004\204\000\000\0047\000o\003$\004\181\0048\000\000\000\000\000\000\000\000\000\000\000\000\004\191\000r\004\251\000\000\005;\000c\004\183\004\213\000\000\000\000\004\218\006+\000\000\000\000\000\000\000\000\004E\000\217\004\242\004Q\004\188\000\000\000\000\000k\000\218\004\205\004\183\004F\000\203\005\183\003W\000\000\000\204\005@\000\164\000\000\004E\004R\000\000\000\000\004\188\004\189\004S\000\000\000\218\004\205\004T\004F\000\000\004\001\000\000\000S\004U\0045\000\000\004H\000\000\004\181\000\000\006*\000\000\004\189\000\000\000\000\000\000\004\191\000\217\004\251\000\000\005;\000\000\000\153\004\213\004\005\000\000\004\218\003U\000\000\004\203\000\000\000\000\000\000\000\000\004\242\004Q\004\191\007\t\004\251\000\000\004\252\000\000\004\183\004\213\000\000\000\000\004\218\000\218\000\000\000\000\000\219\000\000\004E\004R\004\242\004Q\004\188\000\000\004S\000\000\000\218\004\205\004T\004F\004\204\000\000\0047\000\000\004U\0045\0048\004H\000V\004R\000\000\001\136\000\000\0055\004S\000\000\000\000\000\220\004T\000\000\000\000\000\000\000\000\000\153\004U\0045\000\000\004H\003U\000\000\004\203\000\000\000\218\001\139\000\000\000\219\000\000\004\191\000\000\004\208\0057\001\186\005\199\000\153\004\213\000\000\005@\004\218\003U\000\000\004\203\000\000\000\000\000\000\000\000\004\242\004Q\000\000\000\000\000\000\000\000\000\000\006\141\000\000\000\226\004\204\000\220\0047\000\000\000\000\004\181\0048\000\000\000\000\004R\000\241\000\000\000\209\006L\004S\000\000\000\000\000\210\004T\000\000\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\000\000\000\164\000\000\000\000\000\000\000\000\000\000\006M\006(\006)\004\183\000\000\000\000\005\201\000\153\000\000\004\244\005@\000\000\003U\004E\004\203\000\000\000\000\004\188\000\000\000\000\000\000\000\218\004\205\000\000\004F\000\000\007:\000\000\000\000\000\000\005@\000\000\000\000\004\248\004\181\000\000\000k\000\000\0055\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\004\204\000\000\0047\000\000\000\000\004\181\0048\000\209\000\000\000\000\000\000\000\000\000\210\004\191\000\000\004\208\0057\000\000\000\000\004\183\004\213\000\000\000\000\004\218\000\000\000\000\006*\000\000\000\000\004E\000\217\004\242\004Q\004\188\000\200\001\222\000\000\000\218\004\205\004\183\004F\000\000\007H\000\000\000\000\000\000\005@\000\000\000\000\004E\004R\000\000\000\000\004\188\0055\004S\000\000\000\218\004\205\004T\004F\000\000\000\000\000\000\000\000\004U\0045\000k\004H\000\000\004\181\000\000\000\203\000\000\0055\000\000\000\211\007B\004\191\000\000\004\208\0057\000\000\000\000\000\153\004\213\000\000\000\000\004\218\003U\004\211\004\250\000\000\000\000\000k\000\000\004\242\004Q\004\191\000\203\004\208\0057\000\000\000\204\004\183\004\213\000\000\000\000\004\218\000\218\000\217\000\000\000\219\000\000\004E\004R\004\242\004Q\004\188\000\000\004S\000\000\000\218\004\205\004T\004F\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\004R\000\000\000\217\000\000\0055\004S\000\000\007v\000\220\004T\006W\000\000\000\000\000\000\000\153\004U\000\000\000\000\000\000\003U\004\211\004\250\000\000\000\000\005I\0045\000\000\004H\004\191\000\000\004\208\0057\000\000\000\200\001\225\004\213\000\000\000\000\004\218\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\242\004Q\003U\000\000\004\250\000\000\000\000\006L\000\218\000\226\004\204\000\219\0047\000\000\001\226\004\181\0048\001\227\000\000\004R\000\243\000\000\000\000\000\000\004S\000\000\000\000\000\000\004T\000\000\006M\006(\006)\000\000\004U\000\218\000\153\000\000\000\219\004\204\000\000\0047\000\220\000\000\000\000\0048\000\000\000k\006L\004\183\000\000\000\000\000\203\000\000\000\000\000\000\000\204\000\000\000\000\004E\000\000\000\000\000\000\004\188\000\000\000\000\000\000\000\218\004\205\000\220\004F\006M\006(\006)\000k\000\000\000\000\001\228\006L\000\000\004\181\001\229\000\000\000\000\004\189\000\000\000\000\003x\000\000\000\226\000\217\003y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\006M\006(\006)\001\152\006*\000\000\000\000\004\191\004\181\004\251\001\178\004\252\000\000\004\183\004\213\006L\001\244\004\218\000\000\000\000\000\000\000\000\000\000\004E\001\155\004\242\004Q\004\188\000\209\000\000\000\000\000\218\004\205\000\210\004F\000\000\000\000\000\000\006M\006(\006)\006L\004\183\000\000\004R\006*\003\158\000\000\004\189\004S\003z\000\000\004E\004T\003{\0045\004\188\004H\000\000\004U\000\218\004\205\000\000\004F\006M\006(\006)\001\226\000\218\004\254\001\238\000\219\004\191\000\153\004\251\006*\004\252\005K\003U\004\213\004\203\003\159\004\218\000\153\000\156\000\157\002\223\000\161\000k\000\000\004\242\004Q\000\000\000\203\000\000\000\218\000\000\000\211\001\245\000\000\000\000\004\191\000\220\004\251\000\000\005M\000\000\000\000\004\213\004R\000\000\004\218\000\000\006*\004S\004\204\003\160\0047\004T\004\242\004Q\0048\000\000\006f\004U\000\163\0045\000k\004H\000\000\001\228\000\217\000\000\000\000\001\229\000\000\000\000\000\000\004R\006*\004\202\000\000\000\000\004S\000\153\003\162\000\000\004T\001\156\003U\001\157\004\203\000\000\004U\000\000\000\000\000\000\000\000\0019\000\000\003\136\000\000\003\198\000\000\006d\000\200\003`\002<\000\218\000\000\001\244\003\137\000\000\000\000\0021\000\000\000\000\000\000\000\000\001\226\000\000\000\000\001\238\000\000\000\000\004\181\004\204\000\000\0047\000\000\000\209\0045\0048\004H\006b\000\210\000\000\000\153\003\201\000\000\000\000\000\000\000\000\000\000\000\000\004\212\003\165\000\000\000\000\000\153\000\218\000\000\000\000\000\219\003U\000\000\004\203\000\000\000\000\004\183\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\004E\000\203\000\000\006q\004\188\000\204\000\000\000\000\000\218\004\205\000k\004F\000\000\001\228\000\000\000\220\000\000\001\229\000\000\003\167\000\218\000k\004\204\001\245\0047\004\206\000\203\004\181\0048\006\128\000\211\000\000\000\000\000\000\003\168\000\000\002=\000\000\000\000\000\217\000\000\000\153\000\156\000\157\002\228\000\161\000\000\001\136\002%\004\191\000\000\004\208\004\209\001\244\000\000\000\000\004\213\002?\000\000\004\218\000\000\004\183\000\226\000\000\000\217\000\000\000\000\004\242\004Q\001\139\000\000\004E\000\000\000\247\000\000\004\188\000\000\001\186\000\000\000\218\004\205\001\248\004F\000\163\000\000\000\000\004R\000\000\0045\006u\004H\004S\004\181\000\000\000\000\004T\004\206\000\000\000\000\001\249\000\000\004U\000\000\000\000\001\250\000\000\000\153\001\226\001\251\000\000\001\227\003U\006v\004\203\001\252\006y\006(\006)\000\218\000\000\004\191\000\219\004\208\004\209\000\000\000\000\004\183\004\213\000\000\000\000\004\218\000\000\000\218\000\000\000\000\001\245\004E\006u\004\242\004Q\004\188\000\000\000\000\000\218\000\218\004\205\000\219\004F\004\204\000\000\0047\000\000\000\220\0045\0048\004H\006L\004R\002&\002'\006v\004\206\004S\006y\006(\006)\004T\000k\000\000\001\246\001\228\000\153\004U\000\000\001\229\000\000\003U\000\220\004\203\006M\006(\006)\0045\001\247\004H\004\191\000\000\004\208\004\209\000\000\006*\0019\004\213\001\248\000\000\004\218\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\242\004Q\003U\000\000\004\203\000\000\000\000\001\244\001\249\000\000\004\204\000\000\0047\001\250\000\000\004\181\0048\001\251\000\000\004R\000\000\000\226\000\000\001\252\004S\000\000\000\000\002\029\004T\000\000\000\000\001\136\001\001\000\000\004U\006*\000\000\000\000\000\000\004\204\000\000\0047\000\000\000\000\000\000\0048\000\000\000\000\000\000\004\183\000\000\006*\000\000\001\139\000\000\000\000\000\000\000\000\000\000\004E\000\000\001\186\000\000\004\188\000\000\000\200\003q\000\218\004\205\000\000\004F\000\153\000\156\000\157\0034\000\161\005\029\000\000\000\000\000\000\004\181\000\000\000\000\000\000\005\022\000\000\000\218\000\209\000\000\001\245\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\159\000\000\000\000\000\000\000\000\004\191\004\181\004\208\005\024\000\000\000\163\004\183\004\213\000\000\000\000\004\218\0045\000\000\004H\000\000\000\000\004E\000k\004\242\004Q\004\188\000\000\000\203\000\000\000\218\004\205\000\204\004F\000\000\000\153\000\000\000\000\000\000\005\021\003U\004\183\004\203\004R\000\000\000k\000\000\005\022\004S\006\242\000\203\004E\004T\000\000\000\211\004\188\000\000\000\000\004U\000\218\004\205\006L\004F\0020\000\000\000\000\000\217\005)\006\139\000\200\003t\004\191\000\000\004\208\005\024\000\000\005*\004\204\004\213\0047\000\000\004\218\000\000\0048\006M\006(\006)\000\000\000\217\004\242\004Q\0045\000\000\004H\000\000\000\000\000\000\000\000\000\000\000\000\004\191\000\000\004\208\005,\000\000\000\000\000\000\004\213\004R\000\153\004\218\000\000\000\000\004S\003U\000\000\004\203\004T\004\242\004Q\000\000\000\000\000\000\004U\000\000\000\209\000\000\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\004R\000\204\000\000\000\000\000\000\004S\000\000\000\000\000\218\004T\004\181\000\219\000\000\000\000\004\204\004U\0047\000\000\000\000\000\000\0048\000\209\006*\000\000\000\000\001\136\000\215\0045\000\000\004H\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\004\183\000\153\000\000\001\139\000k\000\000\003U\000\000\004\203\000\203\004E\001\186\000\000\000\211\004\188\000\000\0054\000\000\000\218\004\205\000\220\004F\000\000\000\000\000\000\000\000\000\249\005'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\022\000\000\000k\000\200\003w\004\181\000\000\000\203\004\204\000\000\0047\000\211\000\217\000\221\0048\000\200\004\015\000\209\000\000\000\000\000\000\000\000\000\210\000\000\004\191\000\000\004\208\005\024\000\000\000\000\000\000\004\213\000\222\000\000\004\218\000\218\000\000\000\223\000\219\004\183\000\000\000\000\004\242\004Q\000\000\000\217\000\000\000\224\000\000\004E\000\000\000\000\000\000\004\188\0059\000\000\000\000\000\218\004\205\000\000\004F\004R\006\144\000k\006L\000\000\004S\000\000\000\203\000\220\004T\000\000\000\204\000\000\0055\000k\004U\000k\004\181\0045\000\203\004H\000\203\000\000\000\204\000\000\000\211\006M\006(\006)\000\000\000\218\007>\000\000\000\219\000\000\000\000\000\153\004\191\000\000\004\208\0057\003U\000\000\004\203\004\213\000\217\000\000\004\218\000\000\000\000\000\000\004\183\000\000\000\000\000\000\004\242\004Q\000\217\000\255\000\217\000\000\004E\000\000\000\218\000\220\004\188\000\219\000\000\000\000\000\218\004\205\000\000\004F\000\000\004R\006L\000\000\000\000\004\204\004S\0047\000\000\000\000\004T\0048\000\000\0055\000\000\000\000\004U\000\000\0045\000\252\004H\000\000\000\000\000\000\000\220\006M\006(\006)\006*\000\000\000\000\007J\000\000\000\000\000\000\000\000\000\153\004\191\000\222\004\208\0057\003U\000\253\004\203\004\213\000\000\000\254\004\218\000\000\000\000\000\000\000\218\000\221\000\224\000\219\004\242\004Q\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\209\000\218\000\219\000\000\000\219\000\210\000\000\000\222\000\000\000\000\004R\004\181\001!\000\000\004\204\004S\0047\000\000\000\000\004T\0048\000\220\000\224\000\000\000\000\004U\000\000\000\209\0045\000\000\004H\000\000\000\215\000\220\000\000\000\220\006*\000\000\000\000\000\000\000\000\007M\000\000\000\000\000\000\004\183\000\153\006L\000\000\000\000\0045\003U\004H\004\203\000\000\004E\000\000\000\000\000\000\004\188\000k\000\000\000\000\000\218\004\205\000\203\004F\000\000\000\153\000\211\006M\006(\006)\005\\\000\000\000\000\000\000\000\000\000\000\000\000\007?\000\000\000\226\006\170\004\181\000\000\000\000\000k\004\204\000\000\0047\000\000\000\203\001\003\0048\000\000\000\211\005\173\000\000\000\000\000\000\006L\000\000\000\217\004\191\000\000\004\208\007A\000\000\000\000\005~\004\213\0047\000\000\004\218\000\000\0048\000\000\004\183\006L\000\000\000\000\004\242\004Q\006M\006(\006)\000\000\004E\000\000\000\217\000\000\004\188\000\000\000\000\005\132\000\218\004\205\000\000\004F\000\000\004R\006M\006(\006)\006*\004S\000\000\006L\000\000\004T\000\000\000\000\007?\000\000\006\168\004U\000\000\004\181\000\000\0045\000\000\004H\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\210\006M\006(\006)\000\000\000\000\000\000\004\191\000\153\004\208\007A\000\000\000\218\005\\\004\213\000\219\000\000\004\218\000\000\000\000\000\000\000\000\004\183\000\000\000\000\004\242\004Q\000\000\000\000\006*\000\000\000\000\004E\000\000\000\000\000\000\004\188\005{\000\000\000\218\000\218\004\205\000\219\004F\004R\006L\000\220\006*\000\000\004S\005~\000\000\0047\004T\004E\000k\0048\007?\000\000\004U\000\203\000\000\000\218\005\133\000\211\004F\000\000\000\000\006M\006(\006)\001\226\000\000\000\220\001\238\005\132\006*\000\000\000\153\005\134\000\000\004\191\000\000\004\208\007A\000\000\000\000\000\000\004\213\000\153\000\000\004\218\000\000\000\226\006\166\000\000\000\000\000\000\000\217\004\242\004Q\000\221\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\005\136\000\000\005\169\005\141\000\000\000\000\004M\000\000\004R\001.\000\222\005\159\004Q\004S\0045\001$\004H\004T\000\000\000\000\000\000\000k\000\000\004U\001\228\000\224\001\226\000\000\001\229\001\238\004R\000\000\000\153\006*\000\000\004S\001\152\005\\\006\183\004T\000\000\000\000\000\000\001\162\000\153\004U\000\000\000\000\000\000\000\153\000\156\000\157\003:\000\161\004E\000\000\006\181\001\155\000\000\002%\000\000\005}\000\218\005\133\001\244\004F\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005~\000\000\0047\000\000\000\000\005\171\0048\000\000\000\000\000\000\000\000\006\240\000k\000\000\000\000\001\228\000\000\000\163\000\000\001\229\000\000\000\000\000\000\000\000\000\000\005\132\001\226\000\220\000\000\001\238\000\000\000\000\000\000\000\000\000\000\000\000\005\136\000\000\001\226\005\172\000\000\001\238\000\000\000\000\000\153\000\000\000\000\005\159\004Q\000\000\002%\000\000\000\000\000\000\000\000\001\244\000\153\000\153\000\156\000\157\003?\000\161\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\218\000\000\004S\001\245\000\000\000\226\004T\000\000\000\000\006\245\000\000\001\163\004U\000\000\000\000\000\000\001\007\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\002&\003\127\000\000\000k\000\163\000\000\001\228\000\000\000\000\004\225\001\229\001\246\001\156\000\000\001\157\000\000\000\000\000\000\000\000\004E\000\000\000\000\0019\000\000\000\000\001\247\000\000\000\218\005\133\002%\004F\000\000\000\209\0019\001\244\001\248\000\000\000\213\000\000\000\218\000\000\002%\001\245\000\000\005\134\000\000\001\244\000\000\000\000\000\000\000\153\000\000\000\000\001\249\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\002&\004<\000\000\001\252\000\000\000\000\000\000\002\029\001\136\000\000\005\136\001\246\000\000\005\141\000\000\000\000\000\000\0045\000\000\004H\000\000\005\159\004Q\000\000\000\000\001\247\000\000\000k\001\226\000\000\001\139\001\238\000\203\0019\000\000\001\248\000\211\000\000\001\186\000\000\004R\000\000\004\174\005\005\000\000\004S\000\153\000\000\000\218\004T\000\000\001\245\000\000\001\249\000\000\004U\000\000\000\000\001\250\000\000\000\218\000\000\001\251\001\245\000\200\004.\000\000\000\000\001\252\000\000\000\217\000\000\002\029\000\000\002&\004\185\000\000\003\158\000\000\0047\000\000\000\000\000\000\0048\000\000\001\246\002&\004\215\000k\000\000\001\136\001\228\000\000\000\000\001,\001\229\001.\001\246\000\000\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\001\247\001\139\000\000\000\000\000\000\000\000\000\000\000\000\0019\001\186\001\248\000\000\000\000\000k\000\000\002%\001\249\000\000\000\203\000\000\001\244\001\250\000\204\000\000\000\000\001\251\000\000\000\000\001\249\000\000\000\000\001\252\0045\001\250\004H\002\029\004\181\001\251\000\218\000\000\000\000\000\219\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\000\000\000\000\000\0045\000\000\004H\000\000\000\217\004\174\004\175\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0010\000\000\000\000\000\000\004\183\000\000\000\220\000\000\000\000\000\000\000\000\004\174\004\187\000\000\004E\000\000\000\000\0045\004\188\004H\000\000\000\000\000\218\0016\000\000\004F\003\158\000\000\0047\000\000\000\000\0019\0048\000\218\000\252\000\000\001\245\000\000\000\000\004\189\000\000\000\000\004\174\005\017\000\000\000\000\003\158\000\000\0047\000\000\000\000\000\000\0048\000\222\000\000\000\000\000\000\000\253\000\000\002&\005\138\000\254\000\000\004\191\000\000\000\000\000\000\000\000\000\224\000\218\001\246\000\000\000\219\000\000\000\000\000\000\000\000\003\158\000\000\0047\000\000\000\000\004Q\0048\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\004\181\000\000\000\000\000\000\004R\000\000\000\000\000\220\000\000\004S\000\000\000\000\000\000\004T\000\000\000\000\001\249\000\000\000\000\004U\004\181\001\250\000\000\000\000\0045\001\251\004H\000\000\000\000\000\000\000\000\001\252\000\000\000\000\004\183\002\029\0045\000\000\004H\000\000\000\209\000\000\000\000\000\000\004E\000\210\000\000\000\000\004\188\004\174\005\221\004\181\000\218\000\000\004\183\004F\000\000\000\000\000\000\000\000\000\000\004\174\005\223\000\000\004E\000\000\000\000\000\000\004\188\004\189\000\000\000\000\000\218\000\000\000\000\004F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\004\183\0047\000\000\000\000\004\189\0048\000\000\000\000\004\191\000\000\004E\003\158\000\000\0047\004\188\000k\001\226\0048\000\218\001\238\000\203\004F\000\000\000\000\000\211\000\000\000\000\004Q\004\191\000\000\000\000\000\000\000\000\000\000\000\153\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\004Q\000\000\000\000\004S\000\000\000\000\000\000\004T\000\000\000\000\000\000\000\217\004\191\004U\000\000\000\000\000\000\000\000\004R\0045\000\000\004H\004\181\004S\000\000\000\000\000\000\004T\000\000\000k\000\000\004Q\001\228\004U\004\181\001\226\001\229\000\000\001\238\000\000\000\000\000\000\000\000\000\000\004\174\005\225\000\000\000\209\000\000\004R\000\000\000\000\000\210\000\153\004S\000\000\004\183\000\000\004T\000\000\000\000\000\000\000\000\000\000\004U\000\000\004E\002$\004\183\000\000\004\188\000\000\001\244\000\000\000\218\000\000\000\000\004F\004E\003\158\000\000\0047\004\188\000\000\000\000\0048\000\218\000\000\000\000\004F\000\218\004\189\000\000\000\219\000\000\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\004\189\000\000\001\226\000\000\000k\001\238\000\000\000\000\000\000\000\203\000\000\000\000\004\191\000\211\000\000\001\226\000\000\000\000\001\238\000\000\000\153\000\220\000\000\000\000\004\191\000\000\000\000\000\000\000\000\000\000\000\000\004Q\000\000\000\153\000\000\001\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004Q\000\000\000\000\004\181\000\217\000\218\004R\000\000\001\245\000\000\000\000\004S\000\000\001\226\000\000\004T\001\238\000\000\004R\000k\000\000\004U\001\228\004S\000\000\000\226\001\229\004T\000\000\000\000\000\000\000\153\000k\004U\000\000\001\228\001\t\004\183\000\000\001\229\000\000\000\000\001\246\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\004\188\0045\000\000\004H\000\218\001\247\001\243\004F\000\000\000\000\000\000\001\244\000\000\0019\000\000\001\248\000\000\000\000\000\000\002\031\000\218\004\189\000k\001\245\001\244\001\228\005\b\000\000\000\000\001\229\000\000\000\000\000\218\001\249\000\000\000\219\000\209\000\000\001\250\000\000\000\000\000\213\001\251\000\000\000\000\004\191\000\000\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\153\000\000\000\000\001\246\000\000\000\000\002#\003\158\000\000\0047\004Q\001\244\000\220\0048\000\209\000\000\000\000\001\247\000\000\000\213\000\000\000\000\000\000\000\000\002 \0019\000\000\001\248\004R\000\000\000\000\000\000\000\153\004S\000\000\000\000\000\218\004T\000\000\001\245\000\000\000\000\000k\004U\000\000\001\249\000\000\000\203\000\000\000\218\001\250\000\211\001\245\000\209\001\251\000\000\000\000\000\000\000\213\000\226\001\252\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\001\011\000\153\000\000\001\246\000k\000\000\000\000\004\181\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\001\246\001\247\000\000\000\000\000\218\000\000\000\000\001\245\000\209\0019\000\000\001\248\000\000\000\213\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\004\183\000\153\000k\000\000\001\249\000\000\000\217\000\203\000\000\001\250\004E\000\211\000\000\001\251\004\188\000\209\001\246\001\249\000\218\001\252\000\213\004F\001\250\002\029\000\000\000\000\001\251\000\000\000\000\000\000\001\247\000\000\001\252\000\153\000\000\004\189\002\029\000\000\0019\000\000\001\248\000\000\000\000\000k\000\000\000\217\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\218\000\000\000\000\000\219\000\000\001\249\004\191\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\000\000\000\000\000\000\001\252\000\000\000k\000\000\002\029\004Q\000\000\000\203\0029\000\000\000\000\000\211\000\218\000\217\000\220\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\003x\000\000\004S\000\000\003y\002K\004T\000\000\000\000\000\000\000\000\000\000\004U\0019\001\208\000\000\000\252\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\001\210\000\000\000\253\000\000\000\000\000\000\000\254\000\000\0019\000\000\000\209\000\252\000\000\000\224\000\000\000\213\0029\000\000\000\000\000\000\000\000\000\000\000\220\003\158\000\000\000\000\000\000\003z\000\153\000\218\000\222\003{\000\219\000\000\000\253\000\000\000\000\000\000\000\254\002O\000\000\000\000\000\000\000\000\000\000\000\224\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\0029\003\209\000\200\0041\000\218\000\000\000\220\000\219\000\000\000\000\000\209\000\000\000\222\000k\000\000\000\215\000\253\000\000\000\203\000\000\000\254\000\000\000\211\002U\000\000\000\000\000\000\000\224\000\000\000\000\000\209\0019\0029\000\000\000\252\000\213\003\160\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003x\000\153\000\000\000\000\003y\000\000\000\222\000\209\002Y\000\217\000\253\000\000\000\213\000\000\000\254\000k\0019\000\000\003\162\000\252\000\203\000\224\000\000\000k\000\204\000\153\000\000\000\000\000\203\000\153\000\000\000\000\000\211\003\136\003\213\003\198\000\000\000\000\000\222\000\000\000\000\000\218\000\253\000k\003\137\000\000\000\254\000\000\000\203\000\000\000\000\000\000\000\211\000\224\000\000\000\000\000\000\000\000\000\217\000\000\003\158\000\000\000\000\000\000\003z\003\212\000\217\000k\003{\000\000\000\000\003\201\000\203\000\000\000\000\000\000\000\211\000\000\000\000\003\165\000\000\000\000\000\000\000\000\000\209\000\000\000\217\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\000\003\209\000\000\001\152\000\209\000\000\000\000\000\000\000\153\000\215\001\162\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\0029\000\000\001\155\000\000\000\000\003\167\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\160\000\000\000\000\000\000\003x\000\000\003\168\000\218\003y\003^\000\219\000\000\000\000\000\000\000k\000\218\000\000\0019\000\219\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000k\003\162\000\000\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\222\000\000\000\220\000\000\000\253\003\136\003\210\003\198\000\254\000\209\000\220\000\000\000\000\000\218\000\213\000\224\003\137\000\000\000\217\000\000\000\218\000\000\000\000\000\219\003e\003\158\000\000\000\000\000\000\003z\000\220\000\000\000\217\003{\000\000\000\000\000\000\003\212\000\221\000\000\000\000\000\000\000\000\003\201\000\000\000\000\001\163\003g\0029\000\000\000\000\003\165\000\000\000\000\000\220\0019\000\000\000\222\000\252\000\000\003\209\000\209\001\240\000\209\000\000\000\000\000\213\000\000\000\213\000k\004\233\004\r\000\224\001\156\000\203\001\157\000\000\000\222\000\211\0019\000\000\000\253\000\252\0019\000\000\000\254\000\000\000\000\000\000\000\000\000\000\002\000\000\224\003\167\000\000\003\160\000\000\000\218\000\000\000\153\000\219\000\222\000\000\000\000\000\000\000\253\000\000\000\000\003\168\000\254\000\000\000\218\000\217\000\000\000\219\000\209\000\224\000\000\000\000\000\000\000\213\000k\000\000\000k\003\162\004\"\000\203\000\000\000\203\000\000\000\211\000\220\000\211\000\000\000\000\000\000\000\000\000\000\000\000\003\136\007D\003\198\000\000\000\000\000\000\000\220\000\000\000\218\004$\000\000\003\137\000\200\0044\000\000\000\000\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\153\000\000\000\217\000\000\000\217\001\152\003x\000\000\000\000\003\212\003y\000\221\001\162\000k\000\000\003\201\000\222\000\000\000\203\000\000\000\253\000\000\000\211\003\165\000\254\000\000\001\155\000\000\003b\000\218\000\222\000\224\000\219\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\224\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\217\000\255\000\204\000\000\003x\000\000\000\000\000\220\003y\003\167\003\158\000\000\001\152\000\000\003z\000\000\000\209\000\000\003{\001\162\003\215\000\213\000\000\000\000\003\168\000\218\000\000\000\218\000\219\000\000\000\219\000\000\000\000\001\155\000\000\000\252\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\222\0010\000\000\000\000\000\253\000\220\000\000\000\220\000\254\000\000\003\158\000\000\000\000\001\163\003z\000\224\000\000\000\000\003{\000\000\003\153\000\000\000k\000\000\000\000\000\218\003\160\000\203\000\219\000\000\000\000\000\211\000\000\000\252\003x\000\252\000\000\005i\003y\000\000\001\156\000\000\001\157\000\000\000\000\003\204\000\000\000\000\000\000\000\000\0019\000\000\000\222\003\155\000\222\003\162\000\253\000\000\000\253\000\220\000\254\000\218\000\254\000\000\000\219\000\217\000\000\000\224\000\209\000\224\003\136\000\000\003\198\000\213\000\000\000\000\001\163\000\000\000\218\000\000\003\160\003\137\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\003\158\000\220\000\000\000\000\003z\000\000\005\148\000\000\003{\001\156\000\000\001\157\000\222\000\000\003\201\003\162\000\253\000\000\000\000\0019\000\254\000\000\003\165\000\209\000\000\000\000\000\000\000\224\000\213\000\000\003\136\000\000\003\198\000\000\000k\003\207\000\000\000\209\000\218\000\203\000\000\003\137\000\213\000\211\000\000\003\232\000\000\000\000\000\000\000\000\000\218\000k\000\000\000\219\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\167\000\000\000\000\000\000\003\201\000\000\003\160\000\000\000\000\000\000\000\000\000\000\003\165\000\217\003\155\003\168\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\209\000\217\000\000\000\000\000k\000\213\003\162\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\252\000\000\003\136\000\000\003\198\000\000\003\167\004Y\000\000\000\000\000\218\000\000\000\000\003\137\000\217\000\000\000\000\000\209\000\000\000\222\000\000\003\168\000\213\000\253\000\000\000\000\000\000\000\254\000\217\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\003\244\003\201\000k\000\000\000\000\000\218\000\000\000\203\000\219\003\165\000\000\000\211\000\000\000\000\000\000\000\000\000\000\003\252\000\209\000\000\000\000\000\000\000\218\000\213\004\143\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\217\000\000\000\211\000\209\004\003\003\155\003\167\000\000\000\213\000\218\000\000\000\220\000\219\000\000\000\000\004\145\000\000\000\000\000\000\000\000\000\000\003\168\000\252\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\217\003\155\000\203\000\252\000\000\000\222\000\211\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\255\000\000\000\000\000\000\004\147\000\224\000\220\000\222\000\000\000\000\000\000\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\000\000\000\000\252\000\211\000\224\000\000\000\209\000\217\000\000\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\252\000\000\000\209\000\000\000\000\000\222\000\000\000\213\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\222\000\224\000\217\000\255\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\218\000\000\000\000\000\219\000\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\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\252\000\000\000\255\000\211\000\209\000\000\000k\000\000\000\220\000\213\000\000\000\203\000\000\000\000\000\218\000\211\000\000\000\219\000\000\000\222\000\000\000\209\000\000\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\000\000\000\000\000\000\209\000\224\000\000\000\252\000\217\000\213\004\229\000\000\000\000\000\255\000\000\000\218\000\000\000\000\000\219\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\003\155\000\211\000\000\000\000\000\252\000\209\000\220\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000k\000\000\000\222\000\000\000\000\000\203\000\253\000\000\000\000\000\211\000\254\000\000\000\000\000\252\000\217\000\000\000\000\000\224\004\238\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\004\246\000\217\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000k\000\000\000\000\000\224\000\000\000\203\000\000\003\155\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\217\005a\000\209\000\000\000\000\000\000\000\218\000\213\000\000\000\219\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\222\005m\000\000\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\222\005r\000\000\000\224\000\253\003\155\000\218\000\000\000\254\000\219\000\000\000\220\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\003\155\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000k\003\155\000\000\000\000\000\000\000\203\000\252\000\220\000\000\000\211\000\000\000\209\005y\000\000\000\000\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\217\000\252\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\252\000\000\000\000\000\000\000\000\000\224\000\000\000\222\000\217\000\000\003\155\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\000\000\222\000\209\000\000\000\224\000\253\000\000\000\213\000\000\000\254\000\000\000\000\000\000\000\000\000\209\000\000\000\224\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\209\000\000\000\252\000\211\000\000\000\213\007 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\133\000\000\000\000\005\130\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000k\000\000\005\152\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\000\000k\000\000\003\155\000\000\000\000\000\203\000\000\000\000\000\220\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\209\000\000\000\220\000\000\000\217\000\213\000\000\000\000\000\000\000\252\000\209\000\000\000\000\000\000\000\000\000\213\000\217\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\217\000\213\000\222\000\213\000\252\000\000\000\253\000\000\005\157\000\000\000\254\000\000\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000k\000\000\000\000\000\000\000\224\000\203\000\000\003\155\000\000\000\211\000k\000\000\000\000\000\220\000\000\000\203\000\000\000\000\005\164\000\211\000\000\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\209\000\218\000\000\000\000\000\219\000\213\000\000\000\252\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\000\000\000\003\155\000\000\000\217\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\007!\000\253\000\217\000\000\000\217\000\254\000\220\000\000\000\000\000\000\007!\000\000\000\224\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\252\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\000\000\000\000\252\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\000\000\224\000\253\000\000\000\218\000\000\000\254\000\219\000\222\000\000\000\000\000\000\000\253\000\224\000\218\000\209\000\254\000\219\000\000\000\217\000\213\000\000\000\000\000\224\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\001%\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\0012\000\000\002\002\000\000\000\000\000\000\000\220\000\000\000\220\000\000\000\000\000\209\000\252\000\000\000\217\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\252\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\209\000\000\000\252\000\253\000\252\000\213\000\000\000\254\000\000\000\222\000\000\000\000\000\218\000\253\000\224\000\219\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\222\000\224\000\253\000\000\000\253\000\000\000\254\000\000\000\254\000\217\000\000\000\000\000\000\000\224\000\000\000\224\000k\002*\000\000\000\000\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\209\000\000\000\000\000\211\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\002C\000\000\000\000\000\213\000\222\000\000\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\217\000\000\000\000\000\000\000\000\000\224\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\000\000\252\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003I\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\217\000\000\000\217\000\211\000\224\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\003O\000\217\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\000\000\000\000\000\211\000\000\000\222\000\000\000\252\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\141\000\000\003\143\000\222\000\000\000\000\000\220\000\253\000\220\000\218\000\000\000\254\000\219\000\000\000\217\000k\004\018\000\000\000\224\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\252\004\023\000\000\000\209\000\000\000\000\000\000\000\220\000\213\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\222\000\000\000\222\000\000\000\253\000\217\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\000\000\000\000\224\000\222\000\224\000\252\000\000\000\253\000\209\000\000\000\209\000\254\000\000\000\213\000\000\000\213\000\000\000\000\000\224\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\027\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\217\000\000\000\213\000\000\000\000\000k\000\000\000k\000\218\000\000\000\203\000\219\000\203\000\217\000\211\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\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\220\000\000\000\000\000\222\000\000\000\000\000\217\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000\000\000\000\000\000\000\224\000\000\000\000\004[\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\209\000\000\004\135\000\217\000\000\000\213\000\000\000\000\000\220\000\218\000k\000\218\000\219\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\004\178\000\000\005T\000\000\000\000\000\222\000\220\000\209\000\220\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\217\000\000\000\222\000\000\000\224\000\000\000\253\000k\000\218\000\000\000\254\000\219\000\203\000\000\000\000\000\000\000\211\000\224\000\252\000\000\000\252\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005\187\000\222\000\000\000\222\000\000\000\253\000\220\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\217\000k\000\224\000\000\000\224\000\000\000\203\005\207\000\000\000\000\000\211\000\000\000\209\000\220\000\000\000\000\000\000\000\215\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\218\000\215\000k\000\219\000k\000\000\000\000\000\203\000\000\000\203\000\222\000\211\000\252\000\211\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\005\209\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\209\000\217\000\224\000\217\000\203\000\210\000\218\000\000\000\211\000\219\000\209\000\000\000k\000\000\000\000\000\210\000\000\000\203\000\252\000\000\000\000\000\211\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\211\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\217\000\000\000\000\000\254\000\209\000\000\000\000\000\000\000\218\000\210\000\224\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\252\000\211\000k\000\000\000\210\000\000\000\000\000\203\000\000\000\000\005\217\000\211\000\218\000\000\000\218\000\219\000\220\000\219\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000\000\000\000\000k\000\000\005\231\000\000\005\245\000\203\000\252\000\217\000\220\000\211\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000\209\000\000\000\252\000\000\000\252\000\210\000\224\000\000\000\000\000\217\000\000\000\000\000\000\000\209\000\209\000\220\000\000\000\000\000\210\000\210\000\000\000\222\000\000\000\222\000\000\000\253\000\000\000\253\000\220\000\254\000\217\000\254\000\209\000\000\000\000\000\000\000\224\000\210\000\224\000\209\000\000\000\000\000\218\000\221\000\210\000\219\000\209\000\000\000\000\000\000\000\000\000\210\000\218\000\000\000\000\000\219\000\221\000\000\000\000\000\209\000k\000\000\000\222\000\000\000\210\000\203\000\000\004J\000\000\000\211\000\000\000\000\000\000\000k\000k\000\222\000\220\000\224\000\203\000\203\004L\000\000\000\211\000\211\000\000\000\000\000\220\000\000\000\218\000\000\000\224\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\217\000\203\000\000\000k\000\000\000\211\000\218\000\000\000\203\000\219\000\000\000\000\000\211\000\217\000\217\000\000\000k\000\000\000\000\000\220\000\226\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\226\001\r\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\220\001\015\000\000\000\209\000\000\000\000\000\217\000\000\000\210\000\000\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\218\000\218\000\000\000\219\000\219\000\000\001\019\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\218\000\211\000\220\000\219\000\203\000\000\000\209\000\218\000\211\000\000\000\219\000\210\000\000\000k\000\218\000\220\000\220\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\209\000\220\000\217\000\000\000\000\000\210\000\000\000\000\000\220\000\217\000\000\000\000\000\000\000\000\000\209\000\220\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\001\021\000\220\000\226\000\226\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\209\001\023\001\025\000\211\000\000\000\210\000\000\000\000\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\226\000\209\000\000\000\000\001\027\000k\000\210\000\226\000\000\000\000\000\203\001\029\000\000\000\000\000\211\000\000\000\000\000\000\001\031\000k\000\226\000\217\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\209\001\254\000\000\000\218\000\000\000\210\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\218\000\217\000\203\000\219\000\000\000\000\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\220\000k\000\217\000\211\000\000\000\000\000\203\000\220\000\000\000\000\000\211\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000k\000\209\000\000\000\000\000\000\000\203\000\210\000\217\000\000\000\211\000\218\000\000\000\000\000\219\000\217\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\218\000\226\000\000\000\219\000k\000\000\000\217\000\220\000\000\000\203\000\000\000\000\002\b\000\211\000\218\000\209\000\000\000\219\000\000\000\000\000\210\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\218\000\211\000\220\000\219\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\220\000\218\000\000\000\000\000\219\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\002\n\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\226\000\209\000\220\000\211\000\218\000\000\000\210\000\219\000\000\000\220\000k\002\012\000\000\000\000\000\226\000\203\000\000\000\209\000\209\000\211\000\000\000\000\000\210\000\210\000\209\002\014\000\000\000\000\000\000\000\210\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\217\000\220\000\226\000\000\000\209\000\000\002\016\000\000\000\218\000\210\000\000\000\219\000\226\002\018\000\000\000\000\000\217\000\000\000\000\000\226\000\000\000\000\000\000\002\020\000k\000\000\000\000\000\000\000\218\000\203\002\022\000\219\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\000\000k\000k\000\220\000\000\000\000\000\203\000\203\000k\000\226\000\211\000\211\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\002\024\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\217\000\000\000\203\000\000\000\209\000\000\000\211\000\000\000\000\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\217\000\217\000\000\000\000\000\000\000\209\000\226\000\217\000\000\000k\000\210\000\000\000\218\000\000\000\203\000\219\000\000\002\026\000\211\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\210\000\220\000\210\000k\000\000\000\209\000\000\000\217\000\203\000\000\000\210\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\218\000\000\000k\000\219\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\226\000\000\000\218\000\218\000\000\000\219\000\219\000\000\000\000\000\218\000\000\003\170\000\219\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000k\000\000\000k\000\218\003\172\000\203\000\219\000\203\000\217\000\211\000k\000\211\000\000\000\220\000\220\000\203\000k\000\209\000\000\000\211\000\220\000\203\000\210\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\209\000\219\000\000\000\000\000\220\000\210\000\000\000\000\000\209\000\000\000\217\000\226\000\217\000\210\000\000\000\000\000\209\000\000\000\000\000\000\000\217\000\210\003\174\000\000\000\000\000\000\000\217\000\226\000\226\000\000\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\218\003\176\003\178\000\219\000\209\000\000\000\000\000k\003\180\000\210\000\000\000\000\000\203\000\000\000\226\000\000\000\211\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\209\003\182\000\000\000\000\000\203\000\210\000\000\000k\000\211\000\000\000\220\000\000\000\203\000\000\000\000\000k\000\211\000\000\000\226\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\220\000\218\003\184\000\218\000\219\000\209\000\219\000\000\000\000\000\000\000\210\000\218\000\000\000k\000\219\000\217\000\000\000\218\000\203\000\000\000\219\000\000\000\211\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\217\000\000\000k\000\000\000\220\000\000\000\220\000\203\000\000\000\000\003\186\000\211\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\217\000\209\003\188\000\000\000\000\000\000\000\210\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\226\003\190\000\218\003\192\000\000\000\219\000\226\000\000\000\000\000\000\000\218\003\194\000\000\000\219\000\000\000\000\000\217\003\196\000\218\000\000\000\220\000\219\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\220\000\203\000\000\000\000\000\000\000\211\000\000\000\218\000\220\000\000\000\219\000\000\000\000\000\209\000\000\000\000\000\220\000k\000\210\000\000\000\209\000\000\000\203\000\000\000\000\000\210\000\211\000\218\000\000\000\000\000\219\000\226\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\220\004W\000\000\000\000\000\210\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\004]\000\218\000\217\000\220\000\219\000\226\000\209\000\000\004_\000\000\000\000\000\210\000\000\000\000\000\000\000k\004a\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004c\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\218\004e\000\000\000\219\000\000\000\217\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\226\000\000\000\219\000\217\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004g\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\000\000\218\004i\000\000\000\219\000\000\000\000\000\000\000\000\004k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\220\000\000\004m\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\226\000\000\000\000\000\000\004o\000\000\000\000\000\000\000\000\000\000\000\000\004q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004u"))
1587
1588 let semantic_action =
1589 [|
1590 (fun _menhir_env ->
1591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1592 let {
1593 MenhirLib.EngineTypes.state = _menhir_s;
1594 MenhirLib.EngineTypes.semv = _1;
1595 MenhirLib.EngineTypes.startp = _startpos__1_;
1596 MenhirLib.EngineTypes.endp = _endpos__1_;
1597 MenhirLib.EngineTypes.next = _menhir_stack;
1598 } = _menhir_stack in
1599 raise (MenhirLib.TableInterpreter.Accept _1));
1600 (fun _menhir_env ->
1601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1602 let {
1603 MenhirLib.EngineTypes.state = _menhir_s;
1604 MenhirLib.EngineTypes.semv = _1;
1605 MenhirLib.EngineTypes.startp = _startpos__1_;
1606 MenhirLib.EngineTypes.endp = _endpos__1_;
1607 MenhirLib.EngineTypes.next = _menhir_stack;
1608 } = _menhir_stack in
1609 raise (MenhirLib.TableInterpreter.Accept _1));
1610 (fun _menhir_env ->
1611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1612 let {
1613 MenhirLib.EngineTypes.state = _menhir_s;
1614 MenhirLib.EngineTypes.semv = _1;
1615 MenhirLib.EngineTypes.startp = _startpos__1_;
1616 MenhirLib.EngineTypes.endp = _endpos__1_;
1617 MenhirLib.EngineTypes.next = _menhir_stack;
1618 } = _menhir_stack in
1619 raise (MenhirLib.TableInterpreter.Accept _1));
1620 (fun _menhir_env ->
1621 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1622 let {
1623 MenhirLib.EngineTypes.state = _menhir_s;
1624 MenhirLib.EngineTypes.semv = _1;
1625 MenhirLib.EngineTypes.startp = _startpos__1_;
1626 MenhirLib.EngineTypes.endp = _endpos__1_;
1627 MenhirLib.EngineTypes.next = _menhir_stack;
1628 } = _menhir_stack in
1629 raise (MenhirLib.TableInterpreter.Accept _1));
1630 (fun _menhir_env ->
1631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1632 let {
1633 MenhirLib.EngineTypes.state = _menhir_s;
1634 MenhirLib.EngineTypes.semv = _1;
1635 MenhirLib.EngineTypes.startp = _startpos__1_;
1636 MenhirLib.EngineTypes.endp = _endpos__1_;
1637 MenhirLib.EngineTypes.next = _menhir_stack;
1638 } = _menhir_stack in
1639 raise (MenhirLib.TableInterpreter.Accept _1));
1640 (fun _menhir_env ->
1641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1642 let {
1643 MenhirLib.EngineTypes.state = _menhir_s;
1644 MenhirLib.EngineTypes.semv = _1;
1645 MenhirLib.EngineTypes.startp = _startpos__1_;
1646 MenhirLib.EngineTypes.endp = _endpos__1_;
1647 MenhirLib.EngineTypes.next = _menhir_stack;
1648 } = _menhir_stack in
1649 raise (MenhirLib.TableInterpreter.Accept _1));
1650 (fun _menhir_env ->
1651 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1652 let {
1653 MenhirLib.EngineTypes.state = _menhir_s;
1654 MenhirLib.EngineTypes.semv = _1;
1655 MenhirLib.EngineTypes.startp = _startpos__1_;
1656 MenhirLib.EngineTypes.endp = _endpos__1_;
1657 MenhirLib.EngineTypes.next = _menhir_stack;
1658 } = _menhir_stack in
1659 raise (MenhirLib.TableInterpreter.Accept _1));
1660 (fun _menhir_env ->
1661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1662 let {
1663 MenhirLib.EngineTypes.state = _menhir_s;
1664 MenhirLib.EngineTypes.semv = _1;
1665 MenhirLib.EngineTypes.startp = _startpos__1_;
1666 MenhirLib.EngineTypes.endp = _endpos__1_;
1667 MenhirLib.EngineTypes.next = _menhir_stack;
1668 } = _menhir_stack in
1669 raise (MenhirLib.TableInterpreter.Accept _1));
1670 (fun _menhir_env ->
1671 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1672 let {
1673 MenhirLib.EngineTypes.state = _menhir_s;
1674 MenhirLib.EngineTypes.semv = _1;
1675 MenhirLib.EngineTypes.startp = _startpos__1_;
1676 MenhirLib.EngineTypes.endp = _endpos__1_;
1677 MenhirLib.EngineTypes.next = _menhir_stack;
1678 } = _menhir_stack in
1679 raise (MenhirLib.TableInterpreter.Accept _1));
1680 (fun _menhir_env ->
1681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1682 let {
1683 MenhirLib.EngineTypes.state = _menhir_s;
1684 MenhirLib.EngineTypes.semv = _1;
1685 MenhirLib.EngineTypes.startp = _startpos__1_;
1686 MenhirLib.EngineTypes.endp = _endpos__1_;
1687 MenhirLib.EngineTypes.next = _menhir_stack;
1688 } = _menhir_stack in
1689 raise (MenhirLib.TableInterpreter.Accept _1));
1690 (fun _menhir_env ->
1691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1692 let {
1693 MenhirLib.EngineTypes.state = _menhir_s;
1694 MenhirLib.EngineTypes.semv = _1;
1695 MenhirLib.EngineTypes.startp = _startpos__1_;
1696 MenhirLib.EngineTypes.endp = _endpos__1_;
1697 MenhirLib.EngineTypes.next = _menhir_stack;
1698 } = _menhir_stack in
1699 raise (MenhirLib.TableInterpreter.Accept _1));
1700 (fun _menhir_env ->
1701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1702 let {
1703 MenhirLib.EngineTypes.state = _menhir_s;
1704 MenhirLib.EngineTypes.semv = _1;
1705 MenhirLib.EngineTypes.startp = _startpos__1_;
1706 MenhirLib.EngineTypes.endp = _endpos__1_;
1707 MenhirLib.EngineTypes.next = _menhir_stack;
1708 } = _menhir_stack in
1709 raise (MenhirLib.TableInterpreter.Accept _1));
1710 (fun _menhir_env ->
1711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1712 let {
1713 MenhirLib.EngineTypes.state = _menhir_s;
1714 MenhirLib.EngineTypes.semv = _1;
1715 MenhirLib.EngineTypes.startp = _startpos__1_;
1716 MenhirLib.EngineTypes.endp = _endpos__1_;
1717 MenhirLib.EngineTypes.next = _menhir_stack;
1718 } = _menhir_stack in
1719 raise (MenhirLib.TableInterpreter.Accept _1));
1720 (fun _menhir_env ->
1721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1722 let {
1723 MenhirLib.EngineTypes.state = _menhir_s;
1724 MenhirLib.EngineTypes.semv = _1;
1725 MenhirLib.EngineTypes.startp = _startpos__1_;
1726 MenhirLib.EngineTypes.endp = _endpos__1_;
1727 MenhirLib.EngineTypes.next = _menhir_stack;
1728 } = _menhir_stack in
1729 let _1 : 'tv_dexpr = Obj.magic _1 in
1730 let _startpos = _startpos__1_ in
1731 let _endpos = _endpos__1_ in
1732 let _v : 'tv_aexpr =
1733 # 2177 "parser_cocci_menhir.mly"
1734 ( Ast0.set_arg_exp _1 )
1735 # 1736 "parser_cocci_menhir.ml"
1736 in
1737 _menhir_env.MenhirLib.EngineTypes.stack <- {
1738 MenhirLib.EngineTypes.state = _menhir_s;
1739 MenhirLib.EngineTypes.semv = Obj.repr _v;
1740 MenhirLib.EngineTypes.startp = _startpos;
1741 MenhirLib.EngineTypes.endp = _endpos;
1742 MenhirLib.EngineTypes.next = _menhir_stack;
1743 });
1744 (fun _menhir_env ->
1745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1746 let {
1747 MenhirLib.EngineTypes.state = _menhir_s;
1748 MenhirLib.EngineTypes.semv = _1;
1749 MenhirLib.EngineTypes.startp = _startpos__1_;
1750 MenhirLib.EngineTypes.endp = _endpos__1_;
1751 MenhirLib.EngineTypes.next = _menhir_stack;
1752 } = _menhir_stack in
1753 let _1 : (
1754 # 133 "parser_cocci_menhir.mly"
1755 (Parse_aux.list_info)
1756 # 1757 "parser_cocci_menhir.ml"
1757 ) = Obj.magic _1 in
1758 let _startpos = _startpos__1_ in
1759 let _endpos = _endpos__1_ in
1760 let _v : 'tv_aexpr =
1761 # 2179 "parser_cocci_menhir.mly"
1762 ( let (nm,lenname,pure,clt) = _1 in
1763 let nm = P.clt2mcode nm clt in
1764 let lenname =
1765 match lenname with
1766 Ast.AnyLen -> Ast0.AnyListLen
1767 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
1768 | Ast.CstLen n -> Ast0.CstListLen n in
1769 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1770 # 1771 "parser_cocci_menhir.ml"
1771 in
1772 _menhir_env.MenhirLib.EngineTypes.stack <- {
1773 MenhirLib.EngineTypes.state = _menhir_s;
1774 MenhirLib.EngineTypes.semv = Obj.repr _v;
1775 MenhirLib.EngineTypes.startp = _startpos;
1776 MenhirLib.EngineTypes.endp = _endpos;
1777 MenhirLib.EngineTypes.next = _menhir_stack;
1778 });
1779 (fun _menhir_env ->
1780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1781 let {
1782 MenhirLib.EngineTypes.state = _menhir_s;
1783 MenhirLib.EngineTypes.semv = _1;
1784 MenhirLib.EngineTypes.startp = _startpos__1_;
1785 MenhirLib.EngineTypes.endp = _endpos__1_;
1786 MenhirLib.EngineTypes.next = _menhir_stack;
1787 } = _menhir_stack in
1788 let _1 : 'tv_ctype = Obj.magic _1 in
1789 let _startpos = _startpos__1_ in
1790 let _endpos = _endpos__1_ in
1791 let _v : 'tv_aexpr =
1792 # 2188 "parser_cocci_menhir.mly"
1793 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1794 # 1795 "parser_cocci_menhir.ml"
1795 in
1796 _menhir_env.MenhirLib.EngineTypes.stack <- {
1797 MenhirLib.EngineTypes.state = _menhir_s;
1798 MenhirLib.EngineTypes.semv = Obj.repr _v;
1799 MenhirLib.EngineTypes.startp = _startpos;
1800 MenhirLib.EngineTypes.endp = _endpos;
1801 MenhirLib.EngineTypes.next = _menhir_stack;
1802 });
1803 (fun _menhir_env ->
1804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1805 let {
1806 MenhirLib.EngineTypes.state = _menhir_s;
1807 MenhirLib.EngineTypes.startp = _startpos__1_;
1808 MenhirLib.EngineTypes.endp = _endpos__1_;
1809 MenhirLib.EngineTypes.next = _menhir_stack;
1810 } = _menhir_stack in
1811 let _startpos = _startpos__1_ in
1812 let _endpos = _endpos__1_ in
1813 let _v : 'tv_any_strict =
1814 # 2224 "parser_cocci_menhir.mly"
1815 ( Ast.WhenAny )
1816 # 1817 "parser_cocci_menhir.ml"
1817 in
1818 _menhir_env.MenhirLib.EngineTypes.stack <- {
1819 MenhirLib.EngineTypes.state = _menhir_s;
1820 MenhirLib.EngineTypes.semv = Obj.repr _v;
1821 MenhirLib.EngineTypes.startp = _startpos;
1822 MenhirLib.EngineTypes.endp = _endpos;
1823 MenhirLib.EngineTypes.next = _menhir_stack;
1824 });
1825 (fun _menhir_env ->
1826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1827 let {
1828 MenhirLib.EngineTypes.state = _menhir_s;
1829 MenhirLib.EngineTypes.startp = _startpos__1_;
1830 MenhirLib.EngineTypes.endp = _endpos__1_;
1831 MenhirLib.EngineTypes.next = _menhir_stack;
1832 } = _menhir_stack in
1833 let _startpos = _startpos__1_ in
1834 let _endpos = _endpos__1_ in
1835 let _v : 'tv_any_strict =
1836 # 2225 "parser_cocci_menhir.mly"
1837 ( Ast.WhenStrict )
1838 # 1839 "parser_cocci_menhir.ml"
1839 in
1840 _menhir_env.MenhirLib.EngineTypes.stack <- {
1841 MenhirLib.EngineTypes.state = _menhir_s;
1842 MenhirLib.EngineTypes.semv = Obj.repr _v;
1843 MenhirLib.EngineTypes.startp = _startpos;
1844 MenhirLib.EngineTypes.endp = _endpos;
1845 MenhirLib.EngineTypes.next = _menhir_stack;
1846 });
1847 (fun _menhir_env ->
1848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1849 let {
1850 MenhirLib.EngineTypes.state = _menhir_s;
1851 MenhirLib.EngineTypes.startp = _startpos__1_;
1852 MenhirLib.EngineTypes.endp = _endpos__1_;
1853 MenhirLib.EngineTypes.next = _menhir_stack;
1854 } = _menhir_stack in
1855 let _startpos = _startpos__1_ in
1856 let _endpos = _endpos__1_ in
1857 let _v : 'tv_any_strict =
1858 # 2226 "parser_cocci_menhir.mly"
1859 ( Ast.WhenForall )
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.state = _menhir_s;
1873 MenhirLib.EngineTypes.startp = _startpos__1_;
1874 MenhirLib.EngineTypes.endp = _endpos__1_;
1875 MenhirLib.EngineTypes.next = _menhir_stack;
1876 } = _menhir_stack in
1877 let _startpos = _startpos__1_ in
1878 let _endpos = _endpos__1_ in
1879 let _v : 'tv_any_strict =
1880 # 2227 "parser_cocci_menhir.mly"
1881 ( Ast.WhenExists )
1882 # 1883 "parser_cocci_menhir.ml"
1883 in
1884 _menhir_env.MenhirLib.EngineTypes.stack <- {
1885 MenhirLib.EngineTypes.state = _menhir_s;
1886 MenhirLib.EngineTypes.semv = Obj.repr _v;
1887 MenhirLib.EngineTypes.startp = _startpos;
1888 MenhirLib.EngineTypes.endp = _endpos;
1889 MenhirLib.EngineTypes.next = _menhir_stack;
1890 });
1891 (fun _menhir_env ->
1892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1893 let {
1894 MenhirLib.EngineTypes.state = _menhir_s;
1895 MenhirLib.EngineTypes.semv = _1;
1896 MenhirLib.EngineTypes.startp = _startpos__1_;
1897 MenhirLib.EngineTypes.endp = _endpos__1_;
1898 MenhirLib.EngineTypes.next = _menhir_stack;
1899 } = _menhir_stack in
1900 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1901 let _startpos = _startpos__1_ in
1902 let _endpos = _endpos__1_ in
1903 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1904 # 1434 "parser_cocci_menhir.mly"
1905 ( _1 )
1906 # 1907 "parser_cocci_menhir.ml"
1907 in
1908 _menhir_env.MenhirLib.EngineTypes.stack <- {
1909 MenhirLib.EngineTypes.state = _menhir_s;
1910 MenhirLib.EngineTypes.semv = Obj.repr _v;
1911 MenhirLib.EngineTypes.startp = _startpos;
1912 MenhirLib.EngineTypes.endp = _endpos;
1913 MenhirLib.EngineTypes.next = _menhir_stack;
1914 });
1915 (fun _menhir_env ->
1916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1917 let {
1918 MenhirLib.EngineTypes.semv = _3;
1919 MenhirLib.EngineTypes.startp = _startpos__3_;
1920 MenhirLib.EngineTypes.endp = _endpos__3_;
1921 MenhirLib.EngineTypes.next = {
1922 MenhirLib.EngineTypes.semv = _2;
1923 MenhirLib.EngineTypes.startp = _startpos__2_;
1924 MenhirLib.EngineTypes.endp = _endpos__2_;
1925 MenhirLib.EngineTypes.next = {
1926 MenhirLib.EngineTypes.state = _menhir_s;
1927 MenhirLib.EngineTypes.semv = _1;
1928 MenhirLib.EngineTypes.startp = _startpos__1_;
1929 MenhirLib.EngineTypes.endp = _endpos__1_;
1930 MenhirLib.EngineTypes.next = _menhir_stack;
1931 };
1932 };
1933 } = _menhir_stack in
1934 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
1935 let _2 : (
1936 # 167 "parser_cocci_menhir.mly"
1937 (Data.clt)
1938 # 1939 "parser_cocci_menhir.ml"
1939 ) = Obj.magic _2 in
1940 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1941 let _startpos = _startpos__1_ in
1942 let _endpos = _endpos__3_ in
1943 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1944 # 1436 "parser_cocci_menhir.mly"
1945 ( P.arith_op Ast.Mul _1 _2 _3 )
1946 # 1947 "parser_cocci_menhir.ml"
1947 in
1948 _menhir_env.MenhirLib.EngineTypes.stack <- {
1949 MenhirLib.EngineTypes.state = _menhir_s;
1950 MenhirLib.EngineTypes.semv = Obj.repr _v;
1951 MenhirLib.EngineTypes.startp = _startpos;
1952 MenhirLib.EngineTypes.endp = _endpos;
1953 MenhirLib.EngineTypes.next = _menhir_stack;
1954 });
1955 (fun _menhir_env ->
1956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1957 let {
1958 MenhirLib.EngineTypes.semv = _3;
1959 MenhirLib.EngineTypes.startp = _startpos__3_;
1960 MenhirLib.EngineTypes.endp = _endpos__3_;
1961 MenhirLib.EngineTypes.next = {
1962 MenhirLib.EngineTypes.semv = _2;
1963 MenhirLib.EngineTypes.startp = _startpos__2_;
1964 MenhirLib.EngineTypes.endp = _endpos__2_;
1965 MenhirLib.EngineTypes.next = {
1966 MenhirLib.EngineTypes.state = _menhir_s;
1967 MenhirLib.EngineTypes.semv = _1;
1968 MenhirLib.EngineTypes.startp = _startpos__1_;
1969 MenhirLib.EngineTypes.endp = _endpos__1_;
1970 MenhirLib.EngineTypes.next = _menhir_stack;
1971 };
1972 };
1973 } = _menhir_stack in
1974 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
1975 let _2 : (
1976 # 165 "parser_cocci_menhir.mly"
1977 (Ast_cocci.arithOp * Data.clt)
1978 # 1979 "parser_cocci_menhir.ml"
1979 ) = Obj.magic _2 in
1980 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1981 let _startpos = _startpos__1_ in
1982 let _endpos = _endpos__3_ in
1983 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1984 # 1438 "parser_cocci_menhir.mly"
1985 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1986 # 1987 "parser_cocci_menhir.ml"
1987 in
1988 _menhir_env.MenhirLib.EngineTypes.stack <- {
1989 MenhirLib.EngineTypes.state = _menhir_s;
1990 MenhirLib.EngineTypes.semv = Obj.repr _v;
1991 MenhirLib.EngineTypes.startp = _startpos;
1992 MenhirLib.EngineTypes.endp = _endpos;
1993 MenhirLib.EngineTypes.next = _menhir_stack;
1994 });
1995 (fun _menhir_env ->
1996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1997 let {
1998 MenhirLib.EngineTypes.semv = _3;
1999 MenhirLib.EngineTypes.startp = _startpos__3_;
2000 MenhirLib.EngineTypes.endp = _endpos__3_;
2001 MenhirLib.EngineTypes.next = {
2002 MenhirLib.EngineTypes.semv = _2;
2003 MenhirLib.EngineTypes.startp = _startpos__2_;
2004 MenhirLib.EngineTypes.endp = _endpos__2_;
2005 MenhirLib.EngineTypes.next = {
2006 MenhirLib.EngineTypes.state = _menhir_s;
2007 MenhirLib.EngineTypes.semv = _1;
2008 MenhirLib.EngineTypes.startp = _startpos__1_;
2009 MenhirLib.EngineTypes.endp = _endpos__1_;
2010 MenhirLib.EngineTypes.next = _menhir_stack;
2011 };
2012 };
2013 } = _menhir_stack in
2014 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2015 let _2 : (
2016 # 166 "parser_cocci_menhir.mly"
2017 (Data.clt)
2018 # 2019 "parser_cocci_menhir.ml"
2019 ) = Obj.magic _2 in
2020 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2021 let _startpos = _startpos__1_ in
2022 let _endpos = _endpos__3_ in
2023 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2024 # 1440 "parser_cocci_menhir.mly"
2025 ( P.arith_op Ast.Plus _1 _2 _3 )
2026 # 2027 "parser_cocci_menhir.ml"
2027 in
2028 _menhir_env.MenhirLib.EngineTypes.stack <- {
2029 MenhirLib.EngineTypes.state = _menhir_s;
2030 MenhirLib.EngineTypes.semv = Obj.repr _v;
2031 MenhirLib.EngineTypes.startp = _startpos;
2032 MenhirLib.EngineTypes.endp = _endpos;
2033 MenhirLib.EngineTypes.next = _menhir_stack;
2034 });
2035 (fun _menhir_env ->
2036 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2037 let {
2038 MenhirLib.EngineTypes.semv = _3;
2039 MenhirLib.EngineTypes.startp = _startpos__3_;
2040 MenhirLib.EngineTypes.endp = _endpos__3_;
2041 MenhirLib.EngineTypes.next = {
2042 MenhirLib.EngineTypes.semv = _2;
2043 MenhirLib.EngineTypes.startp = _startpos__2_;
2044 MenhirLib.EngineTypes.endp = _endpos__2_;
2045 MenhirLib.EngineTypes.next = {
2046 MenhirLib.EngineTypes.state = _menhir_s;
2047 MenhirLib.EngineTypes.semv = _1;
2048 MenhirLib.EngineTypes.startp = _startpos__1_;
2049 MenhirLib.EngineTypes.endp = _endpos__1_;
2050 MenhirLib.EngineTypes.next = _menhir_stack;
2051 };
2052 };
2053 } = _menhir_stack in
2054 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2055 let _2 : (
2056 # 166 "parser_cocci_menhir.mly"
2057 (Data.clt)
2058 # 2059 "parser_cocci_menhir.ml"
2059 ) = Obj.magic _2 in
2060 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2061 let _startpos = _startpos__1_ in
2062 let _endpos = _endpos__3_ in
2063 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2064 # 1442 "parser_cocci_menhir.mly"
2065 ( P.arith_op Ast.Minus _1 _2 _3 )
2066 # 2067 "parser_cocci_menhir.ml"
2067 in
2068 _menhir_env.MenhirLib.EngineTypes.stack <- {
2069 MenhirLib.EngineTypes.state = _menhir_s;
2070 MenhirLib.EngineTypes.semv = Obj.repr _v;
2071 MenhirLib.EngineTypes.startp = _startpos;
2072 MenhirLib.EngineTypes.endp = _endpos;
2073 MenhirLib.EngineTypes.next = _menhir_stack;
2074 });
2075 (fun _menhir_env ->
2076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2077 let {
2078 MenhirLib.EngineTypes.semv = _3;
2079 MenhirLib.EngineTypes.startp = _startpos__3_;
2080 MenhirLib.EngineTypes.endp = _endpos__3_;
2081 MenhirLib.EngineTypes.next = {
2082 MenhirLib.EngineTypes.semv = _2;
2083 MenhirLib.EngineTypes.startp = _startpos__2_;
2084 MenhirLib.EngineTypes.endp = _endpos__2_;
2085 MenhirLib.EngineTypes.next = {
2086 MenhirLib.EngineTypes.state = _menhir_s;
2087 MenhirLib.EngineTypes.semv = _1;
2088 MenhirLib.EngineTypes.startp = _startpos__1_;
2089 MenhirLib.EngineTypes.endp = _endpos__1_;
2090 MenhirLib.EngineTypes.next = _menhir_stack;
2091 };
2092 };
2093 } = _menhir_stack in
2094 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2095 let _2 : (
2096 # 164 "parser_cocci_menhir.mly"
2097 (Ast_cocci.arithOp * Data.clt)
2098 # 2099 "parser_cocci_menhir.ml"
2099 ) = Obj.magic _2 in
2100 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2101 let _startpos = _startpos__1_ in
2102 let _endpos = _endpos__3_ in
2103 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2104 # 1444 "parser_cocci_menhir.mly"
2105 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2106 # 2107 "parser_cocci_menhir.ml"
2107 in
2108 _menhir_env.MenhirLib.EngineTypes.stack <- {
2109 MenhirLib.EngineTypes.state = _menhir_s;
2110 MenhirLib.EngineTypes.semv = Obj.repr _v;
2111 MenhirLib.EngineTypes.startp = _startpos;
2112 MenhirLib.EngineTypes.endp = _endpos;
2113 MenhirLib.EngineTypes.next = _menhir_stack;
2114 });
2115 (fun _menhir_env ->
2116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2117 let {
2118 MenhirLib.EngineTypes.semv = _3;
2119 MenhirLib.EngineTypes.startp = _startpos__3_;
2120 MenhirLib.EngineTypes.endp = _endpos__3_;
2121 MenhirLib.EngineTypes.next = {
2122 MenhirLib.EngineTypes.semv = _2;
2123 MenhirLib.EngineTypes.startp = _startpos__2_;
2124 MenhirLib.EngineTypes.endp = _endpos__2_;
2125 MenhirLib.EngineTypes.next = {
2126 MenhirLib.EngineTypes.state = _menhir_s;
2127 MenhirLib.EngineTypes.semv = _1;
2128 MenhirLib.EngineTypes.startp = _startpos__1_;
2129 MenhirLib.EngineTypes.endp = _endpos__1_;
2130 MenhirLib.EngineTypes.next = _menhir_stack;
2131 };
2132 };
2133 } = _menhir_stack in
2134 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2135 let _2 : (
2136 # 164 "parser_cocci_menhir.mly"
2137 (Ast_cocci.arithOp * Data.clt)
2138 # 2139 "parser_cocci_menhir.ml"
2139 ) = Obj.magic _2 in
2140 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2141 let _startpos = _startpos__1_ in
2142 let _endpos = _endpos__3_ in
2143 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2144 # 1446 "parser_cocci_menhir.mly"
2145 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2146 # 2147 "parser_cocci_menhir.ml"
2147 in
2148 _menhir_env.MenhirLib.EngineTypes.stack <- {
2149 MenhirLib.EngineTypes.state = _menhir_s;
2150 MenhirLib.EngineTypes.semv = Obj.repr _v;
2151 MenhirLib.EngineTypes.startp = _startpos;
2152 MenhirLib.EngineTypes.endp = _endpos;
2153 MenhirLib.EngineTypes.next = _menhir_stack;
2154 });
2155 (fun _menhir_env ->
2156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2157 let {
2158 MenhirLib.EngineTypes.semv = _3;
2159 MenhirLib.EngineTypes.startp = _startpos__3_;
2160 MenhirLib.EngineTypes.endp = _endpos__3_;
2161 MenhirLib.EngineTypes.next = {
2162 MenhirLib.EngineTypes.semv = _2;
2163 MenhirLib.EngineTypes.startp = _startpos__2_;
2164 MenhirLib.EngineTypes.endp = _endpos__2_;
2165 MenhirLib.EngineTypes.next = {
2166 MenhirLib.EngineTypes.state = _menhir_s;
2167 MenhirLib.EngineTypes.semv = _1;
2168 MenhirLib.EngineTypes.startp = _startpos__1_;
2169 MenhirLib.EngineTypes.endp = _endpos__1_;
2170 MenhirLib.EngineTypes.next = _menhir_stack;
2171 };
2172 };
2173 } = _menhir_stack in
2174 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2175 let _2 : (
2176 # 163 "parser_cocci_menhir.mly"
2177 (Ast_cocci.logicalOp * Data.clt)
2178 # 2179 "parser_cocci_menhir.ml"
2179 ) = Obj.magic _2 in
2180 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2181 let _startpos = _startpos__1_ in
2182 let _endpos = _endpos__3_ in
2183 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2184 # 1448 "parser_cocci_menhir.mly"
2185 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2186 # 2187 "parser_cocci_menhir.ml"
2187 in
2188 _menhir_env.MenhirLib.EngineTypes.stack <- {
2189 MenhirLib.EngineTypes.state = _menhir_s;
2190 MenhirLib.EngineTypes.semv = Obj.repr _v;
2191 MenhirLib.EngineTypes.startp = _startpos;
2192 MenhirLib.EngineTypes.endp = _endpos;
2193 MenhirLib.EngineTypes.next = _menhir_stack;
2194 });
2195 (fun _menhir_env ->
2196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2197 let {
2198 MenhirLib.EngineTypes.semv = _3;
2199 MenhirLib.EngineTypes.startp = _startpos__3_;
2200 MenhirLib.EngineTypes.endp = _endpos__3_;
2201 MenhirLib.EngineTypes.next = {
2202 MenhirLib.EngineTypes.semv = _2;
2203 MenhirLib.EngineTypes.startp = _startpos__2_;
2204 MenhirLib.EngineTypes.endp = _endpos__2_;
2205 MenhirLib.EngineTypes.next = {
2206 MenhirLib.EngineTypes.state = _menhir_s;
2207 MenhirLib.EngineTypes.semv = _1;
2208 MenhirLib.EngineTypes.startp = _startpos__1_;
2209 MenhirLib.EngineTypes.endp = _endpos__1_;
2210 MenhirLib.EngineTypes.next = _menhir_stack;
2211 };
2212 };
2213 } = _menhir_stack in
2214 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2215 let _2 : (
2216 # 162 "parser_cocci_menhir.mly"
2217 (Data.clt)
2218 # 2219 "parser_cocci_menhir.ml"
2219 ) = Obj.magic _2 in
2220 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2221 let _startpos = _startpos__1_ in
2222 let _endpos = _endpos__3_ in
2223 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2224 # 1450 "parser_cocci_menhir.mly"
2225 ( P.logic_op Ast.Eq _1 _2 _3 )
2226 # 2227 "parser_cocci_menhir.ml"
2227 in
2228 _menhir_env.MenhirLib.EngineTypes.stack <- {
2229 MenhirLib.EngineTypes.state = _menhir_s;
2230 MenhirLib.EngineTypes.semv = Obj.repr _v;
2231 MenhirLib.EngineTypes.startp = _startpos;
2232 MenhirLib.EngineTypes.endp = _endpos;
2233 MenhirLib.EngineTypes.next = _menhir_stack;
2234 });
2235 (fun _menhir_env ->
2236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2237 let {
2238 MenhirLib.EngineTypes.semv = _3;
2239 MenhirLib.EngineTypes.startp = _startpos__3_;
2240 MenhirLib.EngineTypes.endp = _endpos__3_;
2241 MenhirLib.EngineTypes.next = {
2242 MenhirLib.EngineTypes.semv = _2;
2243 MenhirLib.EngineTypes.startp = _startpos__2_;
2244 MenhirLib.EngineTypes.endp = _endpos__2_;
2245 MenhirLib.EngineTypes.next = {
2246 MenhirLib.EngineTypes.state = _menhir_s;
2247 MenhirLib.EngineTypes.semv = _1;
2248 MenhirLib.EngineTypes.startp = _startpos__1_;
2249 MenhirLib.EngineTypes.endp = _endpos__1_;
2250 MenhirLib.EngineTypes.next = _menhir_stack;
2251 };
2252 };
2253 } = _menhir_stack in
2254 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2255 let _2 : (
2256 # 162 "parser_cocci_menhir.mly"
2257 (Data.clt)
2258 # 2259 "parser_cocci_menhir.ml"
2259 ) = Obj.magic _2 in
2260 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2261 let _startpos = _startpos__1_ in
2262 let _endpos = _endpos__3_ in
2263 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2264 # 1452 "parser_cocci_menhir.mly"
2265 ( P.logic_op Ast.NotEq _1 _2 _3 )
2266 # 2267 "parser_cocci_menhir.ml"
2267 in
2268 _menhir_env.MenhirLib.EngineTypes.stack <- {
2269 MenhirLib.EngineTypes.state = _menhir_s;
2270 MenhirLib.EngineTypes.semv = Obj.repr _v;
2271 MenhirLib.EngineTypes.startp = _startpos;
2272 MenhirLib.EngineTypes.endp = _endpos;
2273 MenhirLib.EngineTypes.next = _menhir_stack;
2274 });
2275 (fun _menhir_env ->
2276 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2277 let {
2278 MenhirLib.EngineTypes.semv = _3;
2279 MenhirLib.EngineTypes.startp = _startpos__3_;
2280 MenhirLib.EngineTypes.endp = _endpos__3_;
2281 MenhirLib.EngineTypes.next = {
2282 MenhirLib.EngineTypes.semv = _2;
2283 MenhirLib.EngineTypes.startp = _startpos__2_;
2284 MenhirLib.EngineTypes.endp = _endpos__2_;
2285 MenhirLib.EngineTypes.next = {
2286 MenhirLib.EngineTypes.state = _menhir_s;
2287 MenhirLib.EngineTypes.semv = _1;
2288 MenhirLib.EngineTypes.startp = _startpos__1_;
2289 MenhirLib.EngineTypes.endp = _endpos__1_;
2290 MenhirLib.EngineTypes.next = _menhir_stack;
2291 };
2292 };
2293 } = _menhir_stack in
2294 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2295 let _2 : (
2296 # 161 "parser_cocci_menhir.mly"
2297 (Data.clt)
2298 # 2299 "parser_cocci_menhir.ml"
2299 ) = Obj.magic _2 in
2300 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2301 let _startpos = _startpos__1_ in
2302 let _endpos = _endpos__3_ in
2303 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2304 # 1454 "parser_cocci_menhir.mly"
2305 ( P.arith_op Ast.And _1 _2 _3 )
2306 # 2307 "parser_cocci_menhir.ml"
2307 in
2308 _menhir_env.MenhirLib.EngineTypes.stack <- {
2309 MenhirLib.EngineTypes.state = _menhir_s;
2310 MenhirLib.EngineTypes.semv = Obj.repr _v;
2311 MenhirLib.EngineTypes.startp = _startpos;
2312 MenhirLib.EngineTypes.endp = _endpos;
2313 MenhirLib.EngineTypes.next = _menhir_stack;
2314 });
2315 (fun _menhir_env ->
2316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2317 let {
2318 MenhirLib.EngineTypes.semv = _3;
2319 MenhirLib.EngineTypes.startp = _startpos__3_;
2320 MenhirLib.EngineTypes.endp = _endpos__3_;
2321 MenhirLib.EngineTypes.next = {
2322 MenhirLib.EngineTypes.semv = _2;
2323 MenhirLib.EngineTypes.startp = _startpos__2_;
2324 MenhirLib.EngineTypes.endp = _endpos__2_;
2325 MenhirLib.EngineTypes.next = {
2326 MenhirLib.EngineTypes.state = _menhir_s;
2327 MenhirLib.EngineTypes.semv = _1;
2328 MenhirLib.EngineTypes.startp = _startpos__1_;
2329 MenhirLib.EngineTypes.endp = _endpos__1_;
2330 MenhirLib.EngineTypes.next = _menhir_stack;
2331 };
2332 };
2333 } = _menhir_stack in
2334 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2335 let _2 : (
2336 # 159 "parser_cocci_menhir.mly"
2337 (Data.clt)
2338 # 2339 "parser_cocci_menhir.ml"
2339 ) = Obj.magic _2 in
2340 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2341 let _startpos = _startpos__1_ in
2342 let _endpos = _endpos__3_ in
2343 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2344 # 1456 "parser_cocci_menhir.mly"
2345 ( P.arith_op Ast.Or _1 _2 _3 )
2346 # 2347 "parser_cocci_menhir.ml"
2347 in
2348 _menhir_env.MenhirLib.EngineTypes.stack <- {
2349 MenhirLib.EngineTypes.state = _menhir_s;
2350 MenhirLib.EngineTypes.semv = Obj.repr _v;
2351 MenhirLib.EngineTypes.startp = _startpos;
2352 MenhirLib.EngineTypes.endp = _endpos;
2353 MenhirLib.EngineTypes.next = _menhir_stack;
2354 });
2355 (fun _menhir_env ->
2356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2357 let {
2358 MenhirLib.EngineTypes.semv = _3;
2359 MenhirLib.EngineTypes.startp = _startpos__3_;
2360 MenhirLib.EngineTypes.endp = _endpos__3_;
2361 MenhirLib.EngineTypes.next = {
2362 MenhirLib.EngineTypes.semv = _2;
2363 MenhirLib.EngineTypes.startp = _startpos__2_;
2364 MenhirLib.EngineTypes.endp = _endpos__2_;
2365 MenhirLib.EngineTypes.next = {
2366 MenhirLib.EngineTypes.state = _menhir_s;
2367 MenhirLib.EngineTypes.semv = _1;
2368 MenhirLib.EngineTypes.startp = _startpos__1_;
2369 MenhirLib.EngineTypes.endp = _endpos__1_;
2370 MenhirLib.EngineTypes.next = _menhir_stack;
2371 };
2372 };
2373 } = _menhir_stack in
2374 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2375 let _2 : (
2376 # 160 "parser_cocci_menhir.mly"
2377 (Data.clt)
2378 # 2379 "parser_cocci_menhir.ml"
2379 ) = Obj.magic _2 in
2380 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2381 let _startpos = _startpos__1_ in
2382 let _endpos = _endpos__3_ in
2383 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2384 # 1458 "parser_cocci_menhir.mly"
2385 ( P.arith_op Ast.Xor _1 _2 _3 )
2386 # 2387 "parser_cocci_menhir.ml"
2387 in
2388 _menhir_env.MenhirLib.EngineTypes.stack <- {
2389 MenhirLib.EngineTypes.state = _menhir_s;
2390 MenhirLib.EngineTypes.semv = Obj.repr _v;
2391 MenhirLib.EngineTypes.startp = _startpos;
2392 MenhirLib.EngineTypes.endp = _endpos;
2393 MenhirLib.EngineTypes.next = _menhir_stack;
2394 });
2395 (fun _menhir_env ->
2396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2397 let {
2398 MenhirLib.EngineTypes.semv = _3;
2399 MenhirLib.EngineTypes.startp = _startpos__3_;
2400 MenhirLib.EngineTypes.endp = _endpos__3_;
2401 MenhirLib.EngineTypes.next = {
2402 MenhirLib.EngineTypes.semv = _2;
2403 MenhirLib.EngineTypes.startp = _startpos__2_;
2404 MenhirLib.EngineTypes.endp = _endpos__2_;
2405 MenhirLib.EngineTypes.next = {
2406 MenhirLib.EngineTypes.state = _menhir_s;
2407 MenhirLib.EngineTypes.semv = _1;
2408 MenhirLib.EngineTypes.startp = _startpos__1_;
2409 MenhirLib.EngineTypes.endp = _endpos__1_;
2410 MenhirLib.EngineTypes.next = _menhir_stack;
2411 };
2412 };
2413 } = _menhir_stack in
2414 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2415 let _2 : (
2416 # 158 "parser_cocci_menhir.mly"
2417 (Data.clt)
2418 # 2419 "parser_cocci_menhir.ml"
2419 ) = Obj.magic _2 in
2420 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2421 let _startpos = _startpos__1_ in
2422 let _endpos = _endpos__3_ in
2423 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2424 # 1460 "parser_cocci_menhir.mly"
2425 ( P.logic_op Ast.AndLog _1 _2 _3 )
2426 # 2427 "parser_cocci_menhir.ml"
2427 in
2428 _menhir_env.MenhirLib.EngineTypes.stack <- {
2429 MenhirLib.EngineTypes.state = _menhir_s;
2430 MenhirLib.EngineTypes.semv = Obj.repr _v;
2431 MenhirLib.EngineTypes.startp = _startpos;
2432 MenhirLib.EngineTypes.endp = _endpos;
2433 MenhirLib.EngineTypes.next = _menhir_stack;
2434 });
2435 (fun _menhir_env ->
2436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2437 let {
2438 MenhirLib.EngineTypes.semv = _3;
2439 MenhirLib.EngineTypes.startp = _startpos__3_;
2440 MenhirLib.EngineTypes.endp = _endpos__3_;
2441 MenhirLib.EngineTypes.next = {
2442 MenhirLib.EngineTypes.semv = _2;
2443 MenhirLib.EngineTypes.startp = _startpos__2_;
2444 MenhirLib.EngineTypes.endp = _endpos__2_;
2445 MenhirLib.EngineTypes.next = {
2446 MenhirLib.EngineTypes.state = _menhir_s;
2447 MenhirLib.EngineTypes.semv = _1;
2448 MenhirLib.EngineTypes.startp = _startpos__1_;
2449 MenhirLib.EngineTypes.endp = _endpos__1_;
2450 MenhirLib.EngineTypes.next = _menhir_stack;
2451 };
2452 };
2453 } = _menhir_stack in
2454 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2455 let _2 : (
2456 # 157 "parser_cocci_menhir.mly"
2457 (Data.clt)
2458 # 2459 "parser_cocci_menhir.ml"
2459 ) = Obj.magic _2 in
2460 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2461 let _startpos = _startpos__1_ in
2462 let _endpos = _endpos__3_ in
2463 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2464 # 1462 "parser_cocci_menhir.mly"
2465 ( P.logic_op Ast.OrLog _1 _2 _3 )
2466 # 2467 "parser_cocci_menhir.ml"
2467 in
2468 _menhir_env.MenhirLib.EngineTypes.stack <- {
2469 MenhirLib.EngineTypes.state = _menhir_s;
2470 MenhirLib.EngineTypes.semv = Obj.repr _v;
2471 MenhirLib.EngineTypes.startp = _startpos;
2472 MenhirLib.EngineTypes.endp = _endpos;
2473 MenhirLib.EngineTypes.next = _menhir_stack;
2474 });
2475 (fun _menhir_env ->
2476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2477 let {
2478 MenhirLib.EngineTypes.state = _menhir_s;
2479 MenhirLib.EngineTypes.semv = _1;
2480 MenhirLib.EngineTypes.startp = _startpos__1_;
2481 MenhirLib.EngineTypes.endp = _endpos__1_;
2482 MenhirLib.EngineTypes.next = _menhir_stack;
2483 } = _menhir_stack in
2484 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2485 let _startpos = _startpos__1_ in
2486 let _endpos = _endpos__1_ in
2487 let _v : 'tv_arith_expr_eexpr_invalid_ =
2488 # 1434 "parser_cocci_menhir.mly"
2489 ( _1 )
2490 # 2491 "parser_cocci_menhir.ml"
2491 in
2492 _menhir_env.MenhirLib.EngineTypes.stack <- {
2493 MenhirLib.EngineTypes.state = _menhir_s;
2494 MenhirLib.EngineTypes.semv = Obj.repr _v;
2495 MenhirLib.EngineTypes.startp = _startpos;
2496 MenhirLib.EngineTypes.endp = _endpos;
2497 MenhirLib.EngineTypes.next = _menhir_stack;
2498 });
2499 (fun _menhir_env ->
2500 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2501 let {
2502 MenhirLib.EngineTypes.semv = _3;
2503 MenhirLib.EngineTypes.startp = _startpos__3_;
2504 MenhirLib.EngineTypes.endp = _endpos__3_;
2505 MenhirLib.EngineTypes.next = {
2506 MenhirLib.EngineTypes.semv = _2;
2507 MenhirLib.EngineTypes.startp = _startpos__2_;
2508 MenhirLib.EngineTypes.endp = _endpos__2_;
2509 MenhirLib.EngineTypes.next = {
2510 MenhirLib.EngineTypes.state = _menhir_s;
2511 MenhirLib.EngineTypes.semv = _1;
2512 MenhirLib.EngineTypes.startp = _startpos__1_;
2513 MenhirLib.EngineTypes.endp = _endpos__1_;
2514 MenhirLib.EngineTypes.next = _menhir_stack;
2515 };
2516 };
2517 } = _menhir_stack in
2518 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2519 let _2 : (
2520 # 167 "parser_cocci_menhir.mly"
2521 (Data.clt)
2522 # 2523 "parser_cocci_menhir.ml"
2523 ) = Obj.magic _2 in
2524 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2525 let _startpos = _startpos__1_ in
2526 let _endpos = _endpos__3_ in
2527 let _v : 'tv_arith_expr_eexpr_invalid_ =
2528 # 1436 "parser_cocci_menhir.mly"
2529 ( P.arith_op Ast.Mul _1 _2 _3 )
2530 # 2531 "parser_cocci_menhir.ml"
2531 in
2532 _menhir_env.MenhirLib.EngineTypes.stack <- {
2533 MenhirLib.EngineTypes.state = _menhir_s;
2534 MenhirLib.EngineTypes.semv = Obj.repr _v;
2535 MenhirLib.EngineTypes.startp = _startpos;
2536 MenhirLib.EngineTypes.endp = _endpos;
2537 MenhirLib.EngineTypes.next = _menhir_stack;
2538 });
2539 (fun _menhir_env ->
2540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2541 let {
2542 MenhirLib.EngineTypes.semv = _3;
2543 MenhirLib.EngineTypes.startp = _startpos__3_;
2544 MenhirLib.EngineTypes.endp = _endpos__3_;
2545 MenhirLib.EngineTypes.next = {
2546 MenhirLib.EngineTypes.semv = _2;
2547 MenhirLib.EngineTypes.startp = _startpos__2_;
2548 MenhirLib.EngineTypes.endp = _endpos__2_;
2549 MenhirLib.EngineTypes.next = {
2550 MenhirLib.EngineTypes.state = _menhir_s;
2551 MenhirLib.EngineTypes.semv = _1;
2552 MenhirLib.EngineTypes.startp = _startpos__1_;
2553 MenhirLib.EngineTypes.endp = _endpos__1_;
2554 MenhirLib.EngineTypes.next = _menhir_stack;
2555 };
2556 };
2557 } = _menhir_stack in
2558 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2559 let _2 : (
2560 # 165 "parser_cocci_menhir.mly"
2561 (Ast_cocci.arithOp * Data.clt)
2562 # 2563 "parser_cocci_menhir.ml"
2563 ) = Obj.magic _2 in
2564 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2565 let _startpos = _startpos__1_ in
2566 let _endpos = _endpos__3_ in
2567 let _v : 'tv_arith_expr_eexpr_invalid_ =
2568 # 1438 "parser_cocci_menhir.mly"
2569 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2570 # 2571 "parser_cocci_menhir.ml"
2571 in
2572 _menhir_env.MenhirLib.EngineTypes.stack <- {
2573 MenhirLib.EngineTypes.state = _menhir_s;
2574 MenhirLib.EngineTypes.semv = Obj.repr _v;
2575 MenhirLib.EngineTypes.startp = _startpos;
2576 MenhirLib.EngineTypes.endp = _endpos;
2577 MenhirLib.EngineTypes.next = _menhir_stack;
2578 });
2579 (fun _menhir_env ->
2580 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2581 let {
2582 MenhirLib.EngineTypes.semv = _3;
2583 MenhirLib.EngineTypes.startp = _startpos__3_;
2584 MenhirLib.EngineTypes.endp = _endpos__3_;
2585 MenhirLib.EngineTypes.next = {
2586 MenhirLib.EngineTypes.semv = _2;
2587 MenhirLib.EngineTypes.startp = _startpos__2_;
2588 MenhirLib.EngineTypes.endp = _endpos__2_;
2589 MenhirLib.EngineTypes.next = {
2590 MenhirLib.EngineTypes.state = _menhir_s;
2591 MenhirLib.EngineTypes.semv = _1;
2592 MenhirLib.EngineTypes.startp = _startpos__1_;
2593 MenhirLib.EngineTypes.endp = _endpos__1_;
2594 MenhirLib.EngineTypes.next = _menhir_stack;
2595 };
2596 };
2597 } = _menhir_stack in
2598 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2599 let _2 : (
2600 # 166 "parser_cocci_menhir.mly"
2601 (Data.clt)
2602 # 2603 "parser_cocci_menhir.ml"
2603 ) = Obj.magic _2 in
2604 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2605 let _startpos = _startpos__1_ in
2606 let _endpos = _endpos__3_ in
2607 let _v : 'tv_arith_expr_eexpr_invalid_ =
2608 # 1440 "parser_cocci_menhir.mly"
2609 ( P.arith_op Ast.Plus _1 _2 _3 )
2610 # 2611 "parser_cocci_menhir.ml"
2611 in
2612 _menhir_env.MenhirLib.EngineTypes.stack <- {
2613 MenhirLib.EngineTypes.state = _menhir_s;
2614 MenhirLib.EngineTypes.semv = Obj.repr _v;
2615 MenhirLib.EngineTypes.startp = _startpos;
2616 MenhirLib.EngineTypes.endp = _endpos;
2617 MenhirLib.EngineTypes.next = _menhir_stack;
2618 });
2619 (fun _menhir_env ->
2620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2621 let {
2622 MenhirLib.EngineTypes.semv = _3;
2623 MenhirLib.EngineTypes.startp = _startpos__3_;
2624 MenhirLib.EngineTypes.endp = _endpos__3_;
2625 MenhirLib.EngineTypes.next = {
2626 MenhirLib.EngineTypes.semv = _2;
2627 MenhirLib.EngineTypes.startp = _startpos__2_;
2628 MenhirLib.EngineTypes.endp = _endpos__2_;
2629 MenhirLib.EngineTypes.next = {
2630 MenhirLib.EngineTypes.state = _menhir_s;
2631 MenhirLib.EngineTypes.semv = _1;
2632 MenhirLib.EngineTypes.startp = _startpos__1_;
2633 MenhirLib.EngineTypes.endp = _endpos__1_;
2634 MenhirLib.EngineTypes.next = _menhir_stack;
2635 };
2636 };
2637 } = _menhir_stack in
2638 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2639 let _2 : (
2640 # 166 "parser_cocci_menhir.mly"
2641 (Data.clt)
2642 # 2643 "parser_cocci_menhir.ml"
2643 ) = Obj.magic _2 in
2644 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2645 let _startpos = _startpos__1_ in
2646 let _endpos = _endpos__3_ in
2647 let _v : 'tv_arith_expr_eexpr_invalid_ =
2648 # 1442 "parser_cocci_menhir.mly"
2649 ( P.arith_op Ast.Minus _1 _2 _3 )
2650 # 2651 "parser_cocci_menhir.ml"
2651 in
2652 _menhir_env.MenhirLib.EngineTypes.stack <- {
2653 MenhirLib.EngineTypes.state = _menhir_s;
2654 MenhirLib.EngineTypes.semv = Obj.repr _v;
2655 MenhirLib.EngineTypes.startp = _startpos;
2656 MenhirLib.EngineTypes.endp = _endpos;
2657 MenhirLib.EngineTypes.next = _menhir_stack;
2658 });
2659 (fun _menhir_env ->
2660 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2661 let {
2662 MenhirLib.EngineTypes.semv = _3;
2663 MenhirLib.EngineTypes.startp = _startpos__3_;
2664 MenhirLib.EngineTypes.endp = _endpos__3_;
2665 MenhirLib.EngineTypes.next = {
2666 MenhirLib.EngineTypes.semv = _2;
2667 MenhirLib.EngineTypes.startp = _startpos__2_;
2668 MenhirLib.EngineTypes.endp = _endpos__2_;
2669 MenhirLib.EngineTypes.next = {
2670 MenhirLib.EngineTypes.state = _menhir_s;
2671 MenhirLib.EngineTypes.semv = _1;
2672 MenhirLib.EngineTypes.startp = _startpos__1_;
2673 MenhirLib.EngineTypes.endp = _endpos__1_;
2674 MenhirLib.EngineTypes.next = _menhir_stack;
2675 };
2676 };
2677 } = _menhir_stack in
2678 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2679 let _2 : (
2680 # 164 "parser_cocci_menhir.mly"
2681 (Ast_cocci.arithOp * Data.clt)
2682 # 2683 "parser_cocci_menhir.ml"
2683 ) = Obj.magic _2 in
2684 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2685 let _startpos = _startpos__1_ in
2686 let _endpos = _endpos__3_ in
2687 let _v : 'tv_arith_expr_eexpr_invalid_ =
2688 # 1444 "parser_cocci_menhir.mly"
2689 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2690 # 2691 "parser_cocci_menhir.ml"
2691 in
2692 _menhir_env.MenhirLib.EngineTypes.stack <- {
2693 MenhirLib.EngineTypes.state = _menhir_s;
2694 MenhirLib.EngineTypes.semv = Obj.repr _v;
2695 MenhirLib.EngineTypes.startp = _startpos;
2696 MenhirLib.EngineTypes.endp = _endpos;
2697 MenhirLib.EngineTypes.next = _menhir_stack;
2698 });
2699 (fun _menhir_env ->
2700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2701 let {
2702 MenhirLib.EngineTypes.semv = _3;
2703 MenhirLib.EngineTypes.startp = _startpos__3_;
2704 MenhirLib.EngineTypes.endp = _endpos__3_;
2705 MenhirLib.EngineTypes.next = {
2706 MenhirLib.EngineTypes.semv = _2;
2707 MenhirLib.EngineTypes.startp = _startpos__2_;
2708 MenhirLib.EngineTypes.endp = _endpos__2_;
2709 MenhirLib.EngineTypes.next = {
2710 MenhirLib.EngineTypes.state = _menhir_s;
2711 MenhirLib.EngineTypes.semv = _1;
2712 MenhirLib.EngineTypes.startp = _startpos__1_;
2713 MenhirLib.EngineTypes.endp = _endpos__1_;
2714 MenhirLib.EngineTypes.next = _menhir_stack;
2715 };
2716 };
2717 } = _menhir_stack in
2718 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2719 let _2 : (
2720 # 164 "parser_cocci_menhir.mly"
2721 (Ast_cocci.arithOp * Data.clt)
2722 # 2723 "parser_cocci_menhir.ml"
2723 ) = Obj.magic _2 in
2724 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2725 let _startpos = _startpos__1_ in
2726 let _endpos = _endpos__3_ in
2727 let _v : 'tv_arith_expr_eexpr_invalid_ =
2728 # 1446 "parser_cocci_menhir.mly"
2729 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2730 # 2731 "parser_cocci_menhir.ml"
2731 in
2732 _menhir_env.MenhirLib.EngineTypes.stack <- {
2733 MenhirLib.EngineTypes.state = _menhir_s;
2734 MenhirLib.EngineTypes.semv = Obj.repr _v;
2735 MenhirLib.EngineTypes.startp = _startpos;
2736 MenhirLib.EngineTypes.endp = _endpos;
2737 MenhirLib.EngineTypes.next = _menhir_stack;
2738 });
2739 (fun _menhir_env ->
2740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2741 let {
2742 MenhirLib.EngineTypes.semv = _3;
2743 MenhirLib.EngineTypes.startp = _startpos__3_;
2744 MenhirLib.EngineTypes.endp = _endpos__3_;
2745 MenhirLib.EngineTypes.next = {
2746 MenhirLib.EngineTypes.semv = _2;
2747 MenhirLib.EngineTypes.startp = _startpos__2_;
2748 MenhirLib.EngineTypes.endp = _endpos__2_;
2749 MenhirLib.EngineTypes.next = {
2750 MenhirLib.EngineTypes.state = _menhir_s;
2751 MenhirLib.EngineTypes.semv = _1;
2752 MenhirLib.EngineTypes.startp = _startpos__1_;
2753 MenhirLib.EngineTypes.endp = _endpos__1_;
2754 MenhirLib.EngineTypes.next = _menhir_stack;
2755 };
2756 };
2757 } = _menhir_stack in
2758 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2759 let _2 : (
2760 # 163 "parser_cocci_menhir.mly"
2761 (Ast_cocci.logicalOp * Data.clt)
2762 # 2763 "parser_cocci_menhir.ml"
2763 ) = Obj.magic _2 in
2764 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2765 let _startpos = _startpos__1_ in
2766 let _endpos = _endpos__3_ in
2767 let _v : 'tv_arith_expr_eexpr_invalid_ =
2768 # 1448 "parser_cocci_menhir.mly"
2769 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2770 # 2771 "parser_cocci_menhir.ml"
2771 in
2772 _menhir_env.MenhirLib.EngineTypes.stack <- {
2773 MenhirLib.EngineTypes.state = _menhir_s;
2774 MenhirLib.EngineTypes.semv = Obj.repr _v;
2775 MenhirLib.EngineTypes.startp = _startpos;
2776 MenhirLib.EngineTypes.endp = _endpos;
2777 MenhirLib.EngineTypes.next = _menhir_stack;
2778 });
2779 (fun _menhir_env ->
2780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2781 let {
2782 MenhirLib.EngineTypes.semv = _3;
2783 MenhirLib.EngineTypes.startp = _startpos__3_;
2784 MenhirLib.EngineTypes.endp = _endpos__3_;
2785 MenhirLib.EngineTypes.next = {
2786 MenhirLib.EngineTypes.semv = _2;
2787 MenhirLib.EngineTypes.startp = _startpos__2_;
2788 MenhirLib.EngineTypes.endp = _endpos__2_;
2789 MenhirLib.EngineTypes.next = {
2790 MenhirLib.EngineTypes.state = _menhir_s;
2791 MenhirLib.EngineTypes.semv = _1;
2792 MenhirLib.EngineTypes.startp = _startpos__1_;
2793 MenhirLib.EngineTypes.endp = _endpos__1_;
2794 MenhirLib.EngineTypes.next = _menhir_stack;
2795 };
2796 };
2797 } = _menhir_stack in
2798 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2799 let _2 : (
2800 # 162 "parser_cocci_menhir.mly"
2801 (Data.clt)
2802 # 2803 "parser_cocci_menhir.ml"
2803 ) = Obj.magic _2 in
2804 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2805 let _startpos = _startpos__1_ in
2806 let _endpos = _endpos__3_ in
2807 let _v : 'tv_arith_expr_eexpr_invalid_ =
2808 # 1450 "parser_cocci_menhir.mly"
2809 ( P.logic_op Ast.Eq _1 _2 _3 )
2810 # 2811 "parser_cocci_menhir.ml"
2811 in
2812 _menhir_env.MenhirLib.EngineTypes.stack <- {
2813 MenhirLib.EngineTypes.state = _menhir_s;
2814 MenhirLib.EngineTypes.semv = Obj.repr _v;
2815 MenhirLib.EngineTypes.startp = _startpos;
2816 MenhirLib.EngineTypes.endp = _endpos;
2817 MenhirLib.EngineTypes.next = _menhir_stack;
2818 });
2819 (fun _menhir_env ->
2820 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2821 let {
2822 MenhirLib.EngineTypes.semv = _3;
2823 MenhirLib.EngineTypes.startp = _startpos__3_;
2824 MenhirLib.EngineTypes.endp = _endpos__3_;
2825 MenhirLib.EngineTypes.next = {
2826 MenhirLib.EngineTypes.semv = _2;
2827 MenhirLib.EngineTypes.startp = _startpos__2_;
2828 MenhirLib.EngineTypes.endp = _endpos__2_;
2829 MenhirLib.EngineTypes.next = {
2830 MenhirLib.EngineTypes.state = _menhir_s;
2831 MenhirLib.EngineTypes.semv = _1;
2832 MenhirLib.EngineTypes.startp = _startpos__1_;
2833 MenhirLib.EngineTypes.endp = _endpos__1_;
2834 MenhirLib.EngineTypes.next = _menhir_stack;
2835 };
2836 };
2837 } = _menhir_stack in
2838 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2839 let _2 : (
2840 # 162 "parser_cocci_menhir.mly"
2841 (Data.clt)
2842 # 2843 "parser_cocci_menhir.ml"
2843 ) = Obj.magic _2 in
2844 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2845 let _startpos = _startpos__1_ in
2846 let _endpos = _endpos__3_ in
2847 let _v : 'tv_arith_expr_eexpr_invalid_ =
2848 # 1452 "parser_cocci_menhir.mly"
2849 ( P.logic_op Ast.NotEq _1 _2 _3 )
2850 # 2851 "parser_cocci_menhir.ml"
2851 in
2852 _menhir_env.MenhirLib.EngineTypes.stack <- {
2853 MenhirLib.EngineTypes.state = _menhir_s;
2854 MenhirLib.EngineTypes.semv = Obj.repr _v;
2855 MenhirLib.EngineTypes.startp = _startpos;
2856 MenhirLib.EngineTypes.endp = _endpos;
2857 MenhirLib.EngineTypes.next = _menhir_stack;
2858 });
2859 (fun _menhir_env ->
2860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2861 let {
2862 MenhirLib.EngineTypes.semv = _3;
2863 MenhirLib.EngineTypes.startp = _startpos__3_;
2864 MenhirLib.EngineTypes.endp = _endpos__3_;
2865 MenhirLib.EngineTypes.next = {
2866 MenhirLib.EngineTypes.semv = _2;
2867 MenhirLib.EngineTypes.startp = _startpos__2_;
2868 MenhirLib.EngineTypes.endp = _endpos__2_;
2869 MenhirLib.EngineTypes.next = {
2870 MenhirLib.EngineTypes.state = _menhir_s;
2871 MenhirLib.EngineTypes.semv = _1;
2872 MenhirLib.EngineTypes.startp = _startpos__1_;
2873 MenhirLib.EngineTypes.endp = _endpos__1_;
2874 MenhirLib.EngineTypes.next = _menhir_stack;
2875 };
2876 };
2877 } = _menhir_stack in
2878 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2879 let _2 : (
2880 # 161 "parser_cocci_menhir.mly"
2881 (Data.clt)
2882 # 2883 "parser_cocci_menhir.ml"
2883 ) = Obj.magic _2 in
2884 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2885 let _startpos = _startpos__1_ in
2886 let _endpos = _endpos__3_ in
2887 let _v : 'tv_arith_expr_eexpr_invalid_ =
2888 # 1454 "parser_cocci_menhir.mly"
2889 ( P.arith_op Ast.And _1 _2 _3 )
2890 # 2891 "parser_cocci_menhir.ml"
2891 in
2892 _menhir_env.MenhirLib.EngineTypes.stack <- {
2893 MenhirLib.EngineTypes.state = _menhir_s;
2894 MenhirLib.EngineTypes.semv = Obj.repr _v;
2895 MenhirLib.EngineTypes.startp = _startpos;
2896 MenhirLib.EngineTypes.endp = _endpos;
2897 MenhirLib.EngineTypes.next = _menhir_stack;
2898 });
2899 (fun _menhir_env ->
2900 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2901 let {
2902 MenhirLib.EngineTypes.semv = _3;
2903 MenhirLib.EngineTypes.startp = _startpos__3_;
2904 MenhirLib.EngineTypes.endp = _endpos__3_;
2905 MenhirLib.EngineTypes.next = {
2906 MenhirLib.EngineTypes.semv = _2;
2907 MenhirLib.EngineTypes.startp = _startpos__2_;
2908 MenhirLib.EngineTypes.endp = _endpos__2_;
2909 MenhirLib.EngineTypes.next = {
2910 MenhirLib.EngineTypes.state = _menhir_s;
2911 MenhirLib.EngineTypes.semv = _1;
2912 MenhirLib.EngineTypes.startp = _startpos__1_;
2913 MenhirLib.EngineTypes.endp = _endpos__1_;
2914 MenhirLib.EngineTypes.next = _menhir_stack;
2915 };
2916 };
2917 } = _menhir_stack in
2918 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2919 let _2 : (
2920 # 159 "parser_cocci_menhir.mly"
2921 (Data.clt)
2922 # 2923 "parser_cocci_menhir.ml"
2923 ) = Obj.magic _2 in
2924 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2925 let _startpos = _startpos__1_ in
2926 let _endpos = _endpos__3_ in
2927 let _v : 'tv_arith_expr_eexpr_invalid_ =
2928 # 1456 "parser_cocci_menhir.mly"
2929 ( P.arith_op Ast.Or _1 _2 _3 )
2930 # 2931 "parser_cocci_menhir.ml"
2931 in
2932 _menhir_env.MenhirLib.EngineTypes.stack <- {
2933 MenhirLib.EngineTypes.state = _menhir_s;
2934 MenhirLib.EngineTypes.semv = Obj.repr _v;
2935 MenhirLib.EngineTypes.startp = _startpos;
2936 MenhirLib.EngineTypes.endp = _endpos;
2937 MenhirLib.EngineTypes.next = _menhir_stack;
2938 });
2939 (fun _menhir_env ->
2940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2941 let {
2942 MenhirLib.EngineTypes.semv = _3;
2943 MenhirLib.EngineTypes.startp = _startpos__3_;
2944 MenhirLib.EngineTypes.endp = _endpos__3_;
2945 MenhirLib.EngineTypes.next = {
2946 MenhirLib.EngineTypes.semv = _2;
2947 MenhirLib.EngineTypes.startp = _startpos__2_;
2948 MenhirLib.EngineTypes.endp = _endpos__2_;
2949 MenhirLib.EngineTypes.next = {
2950 MenhirLib.EngineTypes.state = _menhir_s;
2951 MenhirLib.EngineTypes.semv = _1;
2952 MenhirLib.EngineTypes.startp = _startpos__1_;
2953 MenhirLib.EngineTypes.endp = _endpos__1_;
2954 MenhirLib.EngineTypes.next = _menhir_stack;
2955 };
2956 };
2957 } = _menhir_stack in
2958 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2959 let _2 : (
2960 # 160 "parser_cocci_menhir.mly"
2961 (Data.clt)
2962 # 2963 "parser_cocci_menhir.ml"
2963 ) = Obj.magic _2 in
2964 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2965 let _startpos = _startpos__1_ in
2966 let _endpos = _endpos__3_ in
2967 let _v : 'tv_arith_expr_eexpr_invalid_ =
2968 # 1458 "parser_cocci_menhir.mly"
2969 ( P.arith_op Ast.Xor _1 _2 _3 )
2970 # 2971 "parser_cocci_menhir.ml"
2971 in
2972 _menhir_env.MenhirLib.EngineTypes.stack <- {
2973 MenhirLib.EngineTypes.state = _menhir_s;
2974 MenhirLib.EngineTypes.semv = Obj.repr _v;
2975 MenhirLib.EngineTypes.startp = _startpos;
2976 MenhirLib.EngineTypes.endp = _endpos;
2977 MenhirLib.EngineTypes.next = _menhir_stack;
2978 });
2979 (fun _menhir_env ->
2980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2981 let {
2982 MenhirLib.EngineTypes.semv = _3;
2983 MenhirLib.EngineTypes.startp = _startpos__3_;
2984 MenhirLib.EngineTypes.endp = _endpos__3_;
2985 MenhirLib.EngineTypes.next = {
2986 MenhirLib.EngineTypes.semv = _2;
2987 MenhirLib.EngineTypes.startp = _startpos__2_;
2988 MenhirLib.EngineTypes.endp = _endpos__2_;
2989 MenhirLib.EngineTypes.next = {
2990 MenhirLib.EngineTypes.state = _menhir_s;
2991 MenhirLib.EngineTypes.semv = _1;
2992 MenhirLib.EngineTypes.startp = _startpos__1_;
2993 MenhirLib.EngineTypes.endp = _endpos__1_;
2994 MenhirLib.EngineTypes.next = _menhir_stack;
2995 };
2996 };
2997 } = _menhir_stack in
2998 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2999 let _2 : (
3000 # 158 "parser_cocci_menhir.mly"
3001 (Data.clt)
3002 # 3003 "parser_cocci_menhir.ml"
3003 ) = Obj.magic _2 in
3004 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
3005 let _startpos = _startpos__1_ in
3006 let _endpos = _endpos__3_ in
3007 let _v : 'tv_arith_expr_eexpr_invalid_ =
3008 # 1460 "parser_cocci_menhir.mly"
3009 ( P.logic_op Ast.AndLog _1 _2 _3 )
3010 # 3011 "parser_cocci_menhir.ml"
3011 in
3012 _menhir_env.MenhirLib.EngineTypes.stack <- {
3013 MenhirLib.EngineTypes.state = _menhir_s;
3014 MenhirLib.EngineTypes.semv = Obj.repr _v;
3015 MenhirLib.EngineTypes.startp = _startpos;
3016 MenhirLib.EngineTypes.endp = _endpos;
3017 MenhirLib.EngineTypes.next = _menhir_stack;
3018 });
3019 (fun _menhir_env ->
3020 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3021 let {
3022 MenhirLib.EngineTypes.semv = _3;
3023 MenhirLib.EngineTypes.startp = _startpos__3_;
3024 MenhirLib.EngineTypes.endp = _endpos__3_;
3025 MenhirLib.EngineTypes.next = {
3026 MenhirLib.EngineTypes.semv = _2;
3027 MenhirLib.EngineTypes.startp = _startpos__2_;
3028 MenhirLib.EngineTypes.endp = _endpos__2_;
3029 MenhirLib.EngineTypes.next = {
3030 MenhirLib.EngineTypes.state = _menhir_s;
3031 MenhirLib.EngineTypes.semv = _1;
3032 MenhirLib.EngineTypes.startp = _startpos__1_;
3033 MenhirLib.EngineTypes.endp = _endpos__1_;
3034 MenhirLib.EngineTypes.next = _menhir_stack;
3035 };
3036 };
3037 } = _menhir_stack in
3038 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3039 let _2 : (
3040 # 157 "parser_cocci_menhir.mly"
3041 (Data.clt)
3042 # 3043 "parser_cocci_menhir.ml"
3043 ) = Obj.magic _2 in
3044 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
3045 let _startpos = _startpos__1_ in
3046 let _endpos = _endpos__3_ in
3047 let _v : 'tv_arith_expr_eexpr_invalid_ =
3048 # 1462 "parser_cocci_menhir.mly"
3049 ( P.logic_op Ast.OrLog _1 _2 _3 )
3050 # 3051 "parser_cocci_menhir.ml"
3051 in
3052 _menhir_env.MenhirLib.EngineTypes.stack <- {
3053 MenhirLib.EngineTypes.state = _menhir_s;
3054 MenhirLib.EngineTypes.semv = Obj.repr _v;
3055 MenhirLib.EngineTypes.startp = _startpos;
3056 MenhirLib.EngineTypes.endp = _endpos;
3057 MenhirLib.EngineTypes.next = _menhir_stack;
3058 });
3059 (fun _menhir_env ->
3060 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3061 let {
3062 MenhirLib.EngineTypes.state = _menhir_s;
3063 MenhirLib.EngineTypes.semv = _1;
3064 MenhirLib.EngineTypes.startp = _startpos__1_;
3065 MenhirLib.EngineTypes.endp = _endpos__1_;
3066 MenhirLib.EngineTypes.next = _menhir_stack;
3067 } = _menhir_stack in
3068 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3069 let _startpos = _startpos__1_ in
3070 let _endpos = _endpos__1_ in
3071 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3072 # 1434 "parser_cocci_menhir.mly"
3073 ( _1 )
3074 # 3075 "parser_cocci_menhir.ml"
3075 in
3076 _menhir_env.MenhirLib.EngineTypes.stack <- {
3077 MenhirLib.EngineTypes.state = _menhir_s;
3078 MenhirLib.EngineTypes.semv = Obj.repr _v;
3079 MenhirLib.EngineTypes.startp = _startpos;
3080 MenhirLib.EngineTypes.endp = _endpos;
3081 MenhirLib.EngineTypes.next = _menhir_stack;
3082 });
3083 (fun _menhir_env ->
3084 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3085 let {
3086 MenhirLib.EngineTypes.semv = _3;
3087 MenhirLib.EngineTypes.startp = _startpos__3_;
3088 MenhirLib.EngineTypes.endp = _endpos__3_;
3089 MenhirLib.EngineTypes.next = {
3090 MenhirLib.EngineTypes.semv = _2;
3091 MenhirLib.EngineTypes.startp = _startpos__2_;
3092 MenhirLib.EngineTypes.endp = _endpos__2_;
3093 MenhirLib.EngineTypes.next = {
3094 MenhirLib.EngineTypes.state = _menhir_s;
3095 MenhirLib.EngineTypes.semv = _1;
3096 MenhirLib.EngineTypes.startp = _startpos__1_;
3097 MenhirLib.EngineTypes.endp = _endpos__1_;
3098 MenhirLib.EngineTypes.next = _menhir_stack;
3099 };
3100 };
3101 } = _menhir_stack in
3102 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3103 let _2 : (
3104 # 167 "parser_cocci_menhir.mly"
3105 (Data.clt)
3106 # 3107 "parser_cocci_menhir.ml"
3107 ) = Obj.magic _2 in
3108 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3109 let _startpos = _startpos__1_ in
3110 let _endpos = _endpos__3_ in
3111 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3112 # 1436 "parser_cocci_menhir.mly"
3113 ( P.arith_op Ast.Mul _1 _2 _3 )
3114 # 3115 "parser_cocci_menhir.ml"
3115 in
3116 _menhir_env.MenhirLib.EngineTypes.stack <- {
3117 MenhirLib.EngineTypes.state = _menhir_s;
3118 MenhirLib.EngineTypes.semv = Obj.repr _v;
3119 MenhirLib.EngineTypes.startp = _startpos;
3120 MenhirLib.EngineTypes.endp = _endpos;
3121 MenhirLib.EngineTypes.next = _menhir_stack;
3122 });
3123 (fun _menhir_env ->
3124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3125 let {
3126 MenhirLib.EngineTypes.semv = _3;
3127 MenhirLib.EngineTypes.startp = _startpos__3_;
3128 MenhirLib.EngineTypes.endp = _endpos__3_;
3129 MenhirLib.EngineTypes.next = {
3130 MenhirLib.EngineTypes.semv = _2;
3131 MenhirLib.EngineTypes.startp = _startpos__2_;
3132 MenhirLib.EngineTypes.endp = _endpos__2_;
3133 MenhirLib.EngineTypes.next = {
3134 MenhirLib.EngineTypes.state = _menhir_s;
3135 MenhirLib.EngineTypes.semv = _1;
3136 MenhirLib.EngineTypes.startp = _startpos__1_;
3137 MenhirLib.EngineTypes.endp = _endpos__1_;
3138 MenhirLib.EngineTypes.next = _menhir_stack;
3139 };
3140 };
3141 } = _menhir_stack in
3142 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3143 let _2 : (
3144 # 165 "parser_cocci_menhir.mly"
3145 (Ast_cocci.arithOp * Data.clt)
3146 # 3147 "parser_cocci_menhir.ml"
3147 ) = Obj.magic _2 in
3148 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3149 let _startpos = _startpos__1_ in
3150 let _endpos = _endpos__3_ in
3151 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3152 # 1438 "parser_cocci_menhir.mly"
3153 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3154 # 3155 "parser_cocci_menhir.ml"
3155 in
3156 _menhir_env.MenhirLib.EngineTypes.stack <- {
3157 MenhirLib.EngineTypes.state = _menhir_s;
3158 MenhirLib.EngineTypes.semv = Obj.repr _v;
3159 MenhirLib.EngineTypes.startp = _startpos;
3160 MenhirLib.EngineTypes.endp = _endpos;
3161 MenhirLib.EngineTypes.next = _menhir_stack;
3162 });
3163 (fun _menhir_env ->
3164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3165 let {
3166 MenhirLib.EngineTypes.semv = _3;
3167 MenhirLib.EngineTypes.startp = _startpos__3_;
3168 MenhirLib.EngineTypes.endp = _endpos__3_;
3169 MenhirLib.EngineTypes.next = {
3170 MenhirLib.EngineTypes.semv = _2;
3171 MenhirLib.EngineTypes.startp = _startpos__2_;
3172 MenhirLib.EngineTypes.endp = _endpos__2_;
3173 MenhirLib.EngineTypes.next = {
3174 MenhirLib.EngineTypes.state = _menhir_s;
3175 MenhirLib.EngineTypes.semv = _1;
3176 MenhirLib.EngineTypes.startp = _startpos__1_;
3177 MenhirLib.EngineTypes.endp = _endpos__1_;
3178 MenhirLib.EngineTypes.next = _menhir_stack;
3179 };
3180 };
3181 } = _menhir_stack in
3182 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3183 let _2 : (
3184 # 166 "parser_cocci_menhir.mly"
3185 (Data.clt)
3186 # 3187 "parser_cocci_menhir.ml"
3187 ) = Obj.magic _2 in
3188 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3189 let _startpos = _startpos__1_ in
3190 let _endpos = _endpos__3_ in
3191 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3192 # 1440 "parser_cocci_menhir.mly"
3193 ( P.arith_op Ast.Plus _1 _2 _3 )
3194 # 3195 "parser_cocci_menhir.ml"
3195 in
3196 _menhir_env.MenhirLib.EngineTypes.stack <- {
3197 MenhirLib.EngineTypes.state = _menhir_s;
3198 MenhirLib.EngineTypes.semv = Obj.repr _v;
3199 MenhirLib.EngineTypes.startp = _startpos;
3200 MenhirLib.EngineTypes.endp = _endpos;
3201 MenhirLib.EngineTypes.next = _menhir_stack;
3202 });
3203 (fun _menhir_env ->
3204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3205 let {
3206 MenhirLib.EngineTypes.semv = _3;
3207 MenhirLib.EngineTypes.startp = _startpos__3_;
3208 MenhirLib.EngineTypes.endp = _endpos__3_;
3209 MenhirLib.EngineTypes.next = {
3210 MenhirLib.EngineTypes.semv = _2;
3211 MenhirLib.EngineTypes.startp = _startpos__2_;
3212 MenhirLib.EngineTypes.endp = _endpos__2_;
3213 MenhirLib.EngineTypes.next = {
3214 MenhirLib.EngineTypes.state = _menhir_s;
3215 MenhirLib.EngineTypes.semv = _1;
3216 MenhirLib.EngineTypes.startp = _startpos__1_;
3217 MenhirLib.EngineTypes.endp = _endpos__1_;
3218 MenhirLib.EngineTypes.next = _menhir_stack;
3219 };
3220 };
3221 } = _menhir_stack in
3222 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3223 let _2 : (
3224 # 166 "parser_cocci_menhir.mly"
3225 (Data.clt)
3226 # 3227 "parser_cocci_menhir.ml"
3227 ) = Obj.magic _2 in
3228 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3229 let _startpos = _startpos__1_ in
3230 let _endpos = _endpos__3_ in
3231 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3232 # 1442 "parser_cocci_menhir.mly"
3233 ( P.arith_op Ast.Minus _1 _2 _3 )
3234 # 3235 "parser_cocci_menhir.ml"
3235 in
3236 _menhir_env.MenhirLib.EngineTypes.stack <- {
3237 MenhirLib.EngineTypes.state = _menhir_s;
3238 MenhirLib.EngineTypes.semv = Obj.repr _v;
3239 MenhirLib.EngineTypes.startp = _startpos;
3240 MenhirLib.EngineTypes.endp = _endpos;
3241 MenhirLib.EngineTypes.next = _menhir_stack;
3242 });
3243 (fun _menhir_env ->
3244 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3245 let {
3246 MenhirLib.EngineTypes.semv = _3;
3247 MenhirLib.EngineTypes.startp = _startpos__3_;
3248 MenhirLib.EngineTypes.endp = _endpos__3_;
3249 MenhirLib.EngineTypes.next = {
3250 MenhirLib.EngineTypes.semv = _2;
3251 MenhirLib.EngineTypes.startp = _startpos__2_;
3252 MenhirLib.EngineTypes.endp = _endpos__2_;
3253 MenhirLib.EngineTypes.next = {
3254 MenhirLib.EngineTypes.state = _menhir_s;
3255 MenhirLib.EngineTypes.semv = _1;
3256 MenhirLib.EngineTypes.startp = _startpos__1_;
3257 MenhirLib.EngineTypes.endp = _endpos__1_;
3258 MenhirLib.EngineTypes.next = _menhir_stack;
3259 };
3260 };
3261 } = _menhir_stack in
3262 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3263 let _2 : (
3264 # 164 "parser_cocci_menhir.mly"
3265 (Ast_cocci.arithOp * Data.clt)
3266 # 3267 "parser_cocci_menhir.ml"
3267 ) = Obj.magic _2 in
3268 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3269 let _startpos = _startpos__1_ in
3270 let _endpos = _endpos__3_ in
3271 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3272 # 1444 "parser_cocci_menhir.mly"
3273 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3274 # 3275 "parser_cocci_menhir.ml"
3275 in
3276 _menhir_env.MenhirLib.EngineTypes.stack <- {
3277 MenhirLib.EngineTypes.state = _menhir_s;
3278 MenhirLib.EngineTypes.semv = Obj.repr _v;
3279 MenhirLib.EngineTypes.startp = _startpos;
3280 MenhirLib.EngineTypes.endp = _endpos;
3281 MenhirLib.EngineTypes.next = _menhir_stack;
3282 });
3283 (fun _menhir_env ->
3284 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3285 let {
3286 MenhirLib.EngineTypes.semv = _3;
3287 MenhirLib.EngineTypes.startp = _startpos__3_;
3288 MenhirLib.EngineTypes.endp = _endpos__3_;
3289 MenhirLib.EngineTypes.next = {
3290 MenhirLib.EngineTypes.semv = _2;
3291 MenhirLib.EngineTypes.startp = _startpos__2_;
3292 MenhirLib.EngineTypes.endp = _endpos__2_;
3293 MenhirLib.EngineTypes.next = {
3294 MenhirLib.EngineTypes.state = _menhir_s;
3295 MenhirLib.EngineTypes.semv = _1;
3296 MenhirLib.EngineTypes.startp = _startpos__1_;
3297 MenhirLib.EngineTypes.endp = _endpos__1_;
3298 MenhirLib.EngineTypes.next = _menhir_stack;
3299 };
3300 };
3301 } = _menhir_stack in
3302 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3303 let _2 : (
3304 # 164 "parser_cocci_menhir.mly"
3305 (Ast_cocci.arithOp * Data.clt)
3306 # 3307 "parser_cocci_menhir.ml"
3307 ) = Obj.magic _2 in
3308 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3309 let _startpos = _startpos__1_ in
3310 let _endpos = _endpos__3_ in
3311 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3312 # 1446 "parser_cocci_menhir.mly"
3313 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3314 # 3315 "parser_cocci_menhir.ml"
3315 in
3316 _menhir_env.MenhirLib.EngineTypes.stack <- {
3317 MenhirLib.EngineTypes.state = _menhir_s;
3318 MenhirLib.EngineTypes.semv = Obj.repr _v;
3319 MenhirLib.EngineTypes.startp = _startpos;
3320 MenhirLib.EngineTypes.endp = _endpos;
3321 MenhirLib.EngineTypes.next = _menhir_stack;
3322 });
3323 (fun _menhir_env ->
3324 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3325 let {
3326 MenhirLib.EngineTypes.semv = _3;
3327 MenhirLib.EngineTypes.startp = _startpos__3_;
3328 MenhirLib.EngineTypes.endp = _endpos__3_;
3329 MenhirLib.EngineTypes.next = {
3330 MenhirLib.EngineTypes.semv = _2;
3331 MenhirLib.EngineTypes.startp = _startpos__2_;
3332 MenhirLib.EngineTypes.endp = _endpos__2_;
3333 MenhirLib.EngineTypes.next = {
3334 MenhirLib.EngineTypes.state = _menhir_s;
3335 MenhirLib.EngineTypes.semv = _1;
3336 MenhirLib.EngineTypes.startp = _startpos__1_;
3337 MenhirLib.EngineTypes.endp = _endpos__1_;
3338 MenhirLib.EngineTypes.next = _menhir_stack;
3339 };
3340 };
3341 } = _menhir_stack in
3342 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3343 let _2 : (
3344 # 163 "parser_cocci_menhir.mly"
3345 (Ast_cocci.logicalOp * Data.clt)
3346 # 3347 "parser_cocci_menhir.ml"
3347 ) = Obj.magic _2 in
3348 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3349 let _startpos = _startpos__1_ in
3350 let _endpos = _endpos__3_ in
3351 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3352 # 1448 "parser_cocci_menhir.mly"
3353 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3354 # 3355 "parser_cocci_menhir.ml"
3355 in
3356 _menhir_env.MenhirLib.EngineTypes.stack <- {
3357 MenhirLib.EngineTypes.state = _menhir_s;
3358 MenhirLib.EngineTypes.semv = Obj.repr _v;
3359 MenhirLib.EngineTypes.startp = _startpos;
3360 MenhirLib.EngineTypes.endp = _endpos;
3361 MenhirLib.EngineTypes.next = _menhir_stack;
3362 });
3363 (fun _menhir_env ->
3364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3365 let {
3366 MenhirLib.EngineTypes.semv = _3;
3367 MenhirLib.EngineTypes.startp = _startpos__3_;
3368 MenhirLib.EngineTypes.endp = _endpos__3_;
3369 MenhirLib.EngineTypes.next = {
3370 MenhirLib.EngineTypes.semv = _2;
3371 MenhirLib.EngineTypes.startp = _startpos__2_;
3372 MenhirLib.EngineTypes.endp = _endpos__2_;
3373 MenhirLib.EngineTypes.next = {
3374 MenhirLib.EngineTypes.state = _menhir_s;
3375 MenhirLib.EngineTypes.semv = _1;
3376 MenhirLib.EngineTypes.startp = _startpos__1_;
3377 MenhirLib.EngineTypes.endp = _endpos__1_;
3378 MenhirLib.EngineTypes.next = _menhir_stack;
3379 };
3380 };
3381 } = _menhir_stack in
3382 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3383 let _2 : (
3384 # 162 "parser_cocci_menhir.mly"
3385 (Data.clt)
3386 # 3387 "parser_cocci_menhir.ml"
3387 ) = Obj.magic _2 in
3388 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3389 let _startpos = _startpos__1_ in
3390 let _endpos = _endpos__3_ in
3391 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3392 # 1450 "parser_cocci_menhir.mly"
3393 ( P.logic_op Ast.Eq _1 _2 _3 )
3394 # 3395 "parser_cocci_menhir.ml"
3395 in
3396 _menhir_env.MenhirLib.EngineTypes.stack <- {
3397 MenhirLib.EngineTypes.state = _menhir_s;
3398 MenhirLib.EngineTypes.semv = Obj.repr _v;
3399 MenhirLib.EngineTypes.startp = _startpos;
3400 MenhirLib.EngineTypes.endp = _endpos;
3401 MenhirLib.EngineTypes.next = _menhir_stack;
3402 });
3403 (fun _menhir_env ->
3404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3405 let {
3406 MenhirLib.EngineTypes.semv = _3;
3407 MenhirLib.EngineTypes.startp = _startpos__3_;
3408 MenhirLib.EngineTypes.endp = _endpos__3_;
3409 MenhirLib.EngineTypes.next = {
3410 MenhirLib.EngineTypes.semv = _2;
3411 MenhirLib.EngineTypes.startp = _startpos__2_;
3412 MenhirLib.EngineTypes.endp = _endpos__2_;
3413 MenhirLib.EngineTypes.next = {
3414 MenhirLib.EngineTypes.state = _menhir_s;
3415 MenhirLib.EngineTypes.semv = _1;
3416 MenhirLib.EngineTypes.startp = _startpos__1_;
3417 MenhirLib.EngineTypes.endp = _endpos__1_;
3418 MenhirLib.EngineTypes.next = _menhir_stack;
3419 };
3420 };
3421 } = _menhir_stack in
3422 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3423 let _2 : (
3424 # 162 "parser_cocci_menhir.mly"
3425 (Data.clt)
3426 # 3427 "parser_cocci_menhir.ml"
3427 ) = Obj.magic _2 in
3428 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3429 let _startpos = _startpos__1_ in
3430 let _endpos = _endpos__3_ in
3431 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3432 # 1452 "parser_cocci_menhir.mly"
3433 ( P.logic_op Ast.NotEq _1 _2 _3 )
3434 # 3435 "parser_cocci_menhir.ml"
3435 in
3436 _menhir_env.MenhirLib.EngineTypes.stack <- {
3437 MenhirLib.EngineTypes.state = _menhir_s;
3438 MenhirLib.EngineTypes.semv = Obj.repr _v;
3439 MenhirLib.EngineTypes.startp = _startpos;
3440 MenhirLib.EngineTypes.endp = _endpos;
3441 MenhirLib.EngineTypes.next = _menhir_stack;
3442 });
3443 (fun _menhir_env ->
3444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3445 let {
3446 MenhirLib.EngineTypes.semv = _3;
3447 MenhirLib.EngineTypes.startp = _startpos__3_;
3448 MenhirLib.EngineTypes.endp = _endpos__3_;
3449 MenhirLib.EngineTypes.next = {
3450 MenhirLib.EngineTypes.semv = _2;
3451 MenhirLib.EngineTypes.startp = _startpos__2_;
3452 MenhirLib.EngineTypes.endp = _endpos__2_;
3453 MenhirLib.EngineTypes.next = {
3454 MenhirLib.EngineTypes.state = _menhir_s;
3455 MenhirLib.EngineTypes.semv = _1;
3456 MenhirLib.EngineTypes.startp = _startpos__1_;
3457 MenhirLib.EngineTypes.endp = _endpos__1_;
3458 MenhirLib.EngineTypes.next = _menhir_stack;
3459 };
3460 };
3461 } = _menhir_stack in
3462 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3463 let _2 : (
3464 # 161 "parser_cocci_menhir.mly"
3465 (Data.clt)
3466 # 3467 "parser_cocci_menhir.ml"
3467 ) = Obj.magic _2 in
3468 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3469 let _startpos = _startpos__1_ in
3470 let _endpos = _endpos__3_ in
3471 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3472 # 1454 "parser_cocci_menhir.mly"
3473 ( P.arith_op Ast.And _1 _2 _3 )
3474 # 3475 "parser_cocci_menhir.ml"
3475 in
3476 _menhir_env.MenhirLib.EngineTypes.stack <- {
3477 MenhirLib.EngineTypes.state = _menhir_s;
3478 MenhirLib.EngineTypes.semv = Obj.repr _v;
3479 MenhirLib.EngineTypes.startp = _startpos;
3480 MenhirLib.EngineTypes.endp = _endpos;
3481 MenhirLib.EngineTypes.next = _menhir_stack;
3482 });
3483 (fun _menhir_env ->
3484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3485 let {
3486 MenhirLib.EngineTypes.semv = _3;
3487 MenhirLib.EngineTypes.startp = _startpos__3_;
3488 MenhirLib.EngineTypes.endp = _endpos__3_;
3489 MenhirLib.EngineTypes.next = {
3490 MenhirLib.EngineTypes.semv = _2;
3491 MenhirLib.EngineTypes.startp = _startpos__2_;
3492 MenhirLib.EngineTypes.endp = _endpos__2_;
3493 MenhirLib.EngineTypes.next = {
3494 MenhirLib.EngineTypes.state = _menhir_s;
3495 MenhirLib.EngineTypes.semv = _1;
3496 MenhirLib.EngineTypes.startp = _startpos__1_;
3497 MenhirLib.EngineTypes.endp = _endpos__1_;
3498 MenhirLib.EngineTypes.next = _menhir_stack;
3499 };
3500 };
3501 } = _menhir_stack in
3502 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3503 let _2 : (
3504 # 159 "parser_cocci_menhir.mly"
3505 (Data.clt)
3506 # 3507 "parser_cocci_menhir.ml"
3507 ) = Obj.magic _2 in
3508 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3509 let _startpos = _startpos__1_ in
3510 let _endpos = _endpos__3_ in
3511 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3512 # 1456 "parser_cocci_menhir.mly"
3513 ( P.arith_op Ast.Or _1 _2 _3 )
3514 # 3515 "parser_cocci_menhir.ml"
3515 in
3516 _menhir_env.MenhirLib.EngineTypes.stack <- {
3517 MenhirLib.EngineTypes.state = _menhir_s;
3518 MenhirLib.EngineTypes.semv = Obj.repr _v;
3519 MenhirLib.EngineTypes.startp = _startpos;
3520 MenhirLib.EngineTypes.endp = _endpos;
3521 MenhirLib.EngineTypes.next = _menhir_stack;
3522 });
3523 (fun _menhir_env ->
3524 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3525 let {
3526 MenhirLib.EngineTypes.semv = _3;
3527 MenhirLib.EngineTypes.startp = _startpos__3_;
3528 MenhirLib.EngineTypes.endp = _endpos__3_;
3529 MenhirLib.EngineTypes.next = {
3530 MenhirLib.EngineTypes.semv = _2;
3531 MenhirLib.EngineTypes.startp = _startpos__2_;
3532 MenhirLib.EngineTypes.endp = _endpos__2_;
3533 MenhirLib.EngineTypes.next = {
3534 MenhirLib.EngineTypes.state = _menhir_s;
3535 MenhirLib.EngineTypes.semv = _1;
3536 MenhirLib.EngineTypes.startp = _startpos__1_;
3537 MenhirLib.EngineTypes.endp = _endpos__1_;
3538 MenhirLib.EngineTypes.next = _menhir_stack;
3539 };
3540 };
3541 } = _menhir_stack in
3542 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3543 let _2 : (
3544 # 160 "parser_cocci_menhir.mly"
3545 (Data.clt)
3546 # 3547 "parser_cocci_menhir.ml"
3547 ) = Obj.magic _2 in
3548 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3549 let _startpos = _startpos__1_ in
3550 let _endpos = _endpos__3_ in
3551 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3552 # 1458 "parser_cocci_menhir.mly"
3553 ( P.arith_op Ast.Xor _1 _2 _3 )
3554 # 3555 "parser_cocci_menhir.ml"
3555 in
3556 _menhir_env.MenhirLib.EngineTypes.stack <- {
3557 MenhirLib.EngineTypes.state = _menhir_s;
3558 MenhirLib.EngineTypes.semv = Obj.repr _v;
3559 MenhirLib.EngineTypes.startp = _startpos;
3560 MenhirLib.EngineTypes.endp = _endpos;
3561 MenhirLib.EngineTypes.next = _menhir_stack;
3562 });
3563 (fun _menhir_env ->
3564 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3565 let {
3566 MenhirLib.EngineTypes.semv = _3;
3567 MenhirLib.EngineTypes.startp = _startpos__3_;
3568 MenhirLib.EngineTypes.endp = _endpos__3_;
3569 MenhirLib.EngineTypes.next = {
3570 MenhirLib.EngineTypes.semv = _2;
3571 MenhirLib.EngineTypes.startp = _startpos__2_;
3572 MenhirLib.EngineTypes.endp = _endpos__2_;
3573 MenhirLib.EngineTypes.next = {
3574 MenhirLib.EngineTypes.state = _menhir_s;
3575 MenhirLib.EngineTypes.semv = _1;
3576 MenhirLib.EngineTypes.startp = _startpos__1_;
3577 MenhirLib.EngineTypes.endp = _endpos__1_;
3578 MenhirLib.EngineTypes.next = _menhir_stack;
3579 };
3580 };
3581 } = _menhir_stack in
3582 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3583 let _2 : (
3584 # 158 "parser_cocci_menhir.mly"
3585 (Data.clt)
3586 # 3587 "parser_cocci_menhir.ml"
3587 ) = Obj.magic _2 in
3588 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3589 let _startpos = _startpos__1_ in
3590 let _endpos = _endpos__3_ in
3591 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3592 # 1460 "parser_cocci_menhir.mly"
3593 ( P.logic_op Ast.AndLog _1 _2 _3 )
3594 # 3595 "parser_cocci_menhir.ml"
3595 in
3596 _menhir_env.MenhirLib.EngineTypes.stack <- {
3597 MenhirLib.EngineTypes.state = _menhir_s;
3598 MenhirLib.EngineTypes.semv = Obj.repr _v;
3599 MenhirLib.EngineTypes.startp = _startpos;
3600 MenhirLib.EngineTypes.endp = _endpos;
3601 MenhirLib.EngineTypes.next = _menhir_stack;
3602 });
3603 (fun _menhir_env ->
3604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3605 let {
3606 MenhirLib.EngineTypes.semv = _3;
3607 MenhirLib.EngineTypes.startp = _startpos__3_;
3608 MenhirLib.EngineTypes.endp = _endpos__3_;
3609 MenhirLib.EngineTypes.next = {
3610 MenhirLib.EngineTypes.semv = _2;
3611 MenhirLib.EngineTypes.startp = _startpos__2_;
3612 MenhirLib.EngineTypes.endp = _endpos__2_;
3613 MenhirLib.EngineTypes.next = {
3614 MenhirLib.EngineTypes.state = _menhir_s;
3615 MenhirLib.EngineTypes.semv = _1;
3616 MenhirLib.EngineTypes.startp = _startpos__1_;
3617 MenhirLib.EngineTypes.endp = _endpos__1_;
3618 MenhirLib.EngineTypes.next = _menhir_stack;
3619 };
3620 };
3621 } = _menhir_stack in
3622 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3623 let _2 : (
3624 # 157 "parser_cocci_menhir.mly"
3625 (Data.clt)
3626 # 3627 "parser_cocci_menhir.ml"
3627 ) = Obj.magic _2 in
3628 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3629 let _startpos = _startpos__1_ in
3630 let _endpos = _endpos__3_ in
3631 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3632 # 1462 "parser_cocci_menhir.mly"
3633 ( P.logic_op Ast.OrLog _1 _2 _3 )
3634 # 3635 "parser_cocci_menhir.ml"
3635 in
3636 _menhir_env.MenhirLib.EngineTypes.stack <- {
3637 MenhirLib.EngineTypes.state = _menhir_s;
3638 MenhirLib.EngineTypes.semv = Obj.repr _v;
3639 MenhirLib.EngineTypes.startp = _startpos;
3640 MenhirLib.EngineTypes.endp = _endpos;
3641 MenhirLib.EngineTypes.next = _menhir_stack;
3642 });
3643 (fun _menhir_env ->
3644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3645 let {
3646 MenhirLib.EngineTypes.state = _menhir_s;
3647 MenhirLib.EngineTypes.semv = _1;
3648 MenhirLib.EngineTypes.startp = _startpos__1_;
3649 MenhirLib.EngineTypes.endp = _endpos__1_;
3650 MenhirLib.EngineTypes.next = _menhir_stack;
3651 } = _menhir_stack in
3652 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3653 let _startpos = _startpos__1_ in
3654 let _endpos = _endpos__1_ in
3655 let _v : 'tv_arith_expr_expr_invalid_ =
3656 # 1434 "parser_cocci_menhir.mly"
3657 ( _1 )
3658 # 3659 "parser_cocci_menhir.ml"
3659 in
3660 _menhir_env.MenhirLib.EngineTypes.stack <- {
3661 MenhirLib.EngineTypes.state = _menhir_s;
3662 MenhirLib.EngineTypes.semv = Obj.repr _v;
3663 MenhirLib.EngineTypes.startp = _startpos;
3664 MenhirLib.EngineTypes.endp = _endpos;
3665 MenhirLib.EngineTypes.next = _menhir_stack;
3666 });
3667 (fun _menhir_env ->
3668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3669 let {
3670 MenhirLib.EngineTypes.semv = _3;
3671 MenhirLib.EngineTypes.startp = _startpos__3_;
3672 MenhirLib.EngineTypes.endp = _endpos__3_;
3673 MenhirLib.EngineTypes.next = {
3674 MenhirLib.EngineTypes.semv = _2;
3675 MenhirLib.EngineTypes.startp = _startpos__2_;
3676 MenhirLib.EngineTypes.endp = _endpos__2_;
3677 MenhirLib.EngineTypes.next = {
3678 MenhirLib.EngineTypes.state = _menhir_s;
3679 MenhirLib.EngineTypes.semv = _1;
3680 MenhirLib.EngineTypes.startp = _startpos__1_;
3681 MenhirLib.EngineTypes.endp = _endpos__1_;
3682 MenhirLib.EngineTypes.next = _menhir_stack;
3683 };
3684 };
3685 } = _menhir_stack in
3686 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3687 let _2 : (
3688 # 167 "parser_cocci_menhir.mly"
3689 (Data.clt)
3690 # 3691 "parser_cocci_menhir.ml"
3691 ) = Obj.magic _2 in
3692 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3693 let _startpos = _startpos__1_ in
3694 let _endpos = _endpos__3_ in
3695 let _v : 'tv_arith_expr_expr_invalid_ =
3696 # 1436 "parser_cocci_menhir.mly"
3697 ( P.arith_op Ast.Mul _1 _2 _3 )
3698 # 3699 "parser_cocci_menhir.ml"
3699 in
3700 _menhir_env.MenhirLib.EngineTypes.stack <- {
3701 MenhirLib.EngineTypes.state = _menhir_s;
3702 MenhirLib.EngineTypes.semv = Obj.repr _v;
3703 MenhirLib.EngineTypes.startp = _startpos;
3704 MenhirLib.EngineTypes.endp = _endpos;
3705 MenhirLib.EngineTypes.next = _menhir_stack;
3706 });
3707 (fun _menhir_env ->
3708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3709 let {
3710 MenhirLib.EngineTypes.semv = _3;
3711 MenhirLib.EngineTypes.startp = _startpos__3_;
3712 MenhirLib.EngineTypes.endp = _endpos__3_;
3713 MenhirLib.EngineTypes.next = {
3714 MenhirLib.EngineTypes.semv = _2;
3715 MenhirLib.EngineTypes.startp = _startpos__2_;
3716 MenhirLib.EngineTypes.endp = _endpos__2_;
3717 MenhirLib.EngineTypes.next = {
3718 MenhirLib.EngineTypes.state = _menhir_s;
3719 MenhirLib.EngineTypes.semv = _1;
3720 MenhirLib.EngineTypes.startp = _startpos__1_;
3721 MenhirLib.EngineTypes.endp = _endpos__1_;
3722 MenhirLib.EngineTypes.next = _menhir_stack;
3723 };
3724 };
3725 } = _menhir_stack in
3726 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3727 let _2 : (
3728 # 165 "parser_cocci_menhir.mly"
3729 (Ast_cocci.arithOp * Data.clt)
3730 # 3731 "parser_cocci_menhir.ml"
3731 ) = Obj.magic _2 in
3732 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3733 let _startpos = _startpos__1_ in
3734 let _endpos = _endpos__3_ in
3735 let _v : 'tv_arith_expr_expr_invalid_ =
3736 # 1438 "parser_cocci_menhir.mly"
3737 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3738 # 3739 "parser_cocci_menhir.ml"
3739 in
3740 _menhir_env.MenhirLib.EngineTypes.stack <- {
3741 MenhirLib.EngineTypes.state = _menhir_s;
3742 MenhirLib.EngineTypes.semv = Obj.repr _v;
3743 MenhirLib.EngineTypes.startp = _startpos;
3744 MenhirLib.EngineTypes.endp = _endpos;
3745 MenhirLib.EngineTypes.next = _menhir_stack;
3746 });
3747 (fun _menhir_env ->
3748 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3749 let {
3750 MenhirLib.EngineTypes.semv = _3;
3751 MenhirLib.EngineTypes.startp = _startpos__3_;
3752 MenhirLib.EngineTypes.endp = _endpos__3_;
3753 MenhirLib.EngineTypes.next = {
3754 MenhirLib.EngineTypes.semv = _2;
3755 MenhirLib.EngineTypes.startp = _startpos__2_;
3756 MenhirLib.EngineTypes.endp = _endpos__2_;
3757 MenhirLib.EngineTypes.next = {
3758 MenhirLib.EngineTypes.state = _menhir_s;
3759 MenhirLib.EngineTypes.semv = _1;
3760 MenhirLib.EngineTypes.startp = _startpos__1_;
3761 MenhirLib.EngineTypes.endp = _endpos__1_;
3762 MenhirLib.EngineTypes.next = _menhir_stack;
3763 };
3764 };
3765 } = _menhir_stack in
3766 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3767 let _2 : (
3768 # 166 "parser_cocci_menhir.mly"
3769 (Data.clt)
3770 # 3771 "parser_cocci_menhir.ml"
3771 ) = Obj.magic _2 in
3772 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3773 let _startpos = _startpos__1_ in
3774 let _endpos = _endpos__3_ in
3775 let _v : 'tv_arith_expr_expr_invalid_ =
3776 # 1440 "parser_cocci_menhir.mly"
3777 ( P.arith_op Ast.Plus _1 _2 _3 )
3778 # 3779 "parser_cocci_menhir.ml"
3779 in
3780 _menhir_env.MenhirLib.EngineTypes.stack <- {
3781 MenhirLib.EngineTypes.state = _menhir_s;
3782 MenhirLib.EngineTypes.semv = Obj.repr _v;
3783 MenhirLib.EngineTypes.startp = _startpos;
3784 MenhirLib.EngineTypes.endp = _endpos;
3785 MenhirLib.EngineTypes.next = _menhir_stack;
3786 });
3787 (fun _menhir_env ->
3788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3789 let {
3790 MenhirLib.EngineTypes.semv = _3;
3791 MenhirLib.EngineTypes.startp = _startpos__3_;
3792 MenhirLib.EngineTypes.endp = _endpos__3_;
3793 MenhirLib.EngineTypes.next = {
3794 MenhirLib.EngineTypes.semv = _2;
3795 MenhirLib.EngineTypes.startp = _startpos__2_;
3796 MenhirLib.EngineTypes.endp = _endpos__2_;
3797 MenhirLib.EngineTypes.next = {
3798 MenhirLib.EngineTypes.state = _menhir_s;
3799 MenhirLib.EngineTypes.semv = _1;
3800 MenhirLib.EngineTypes.startp = _startpos__1_;
3801 MenhirLib.EngineTypes.endp = _endpos__1_;
3802 MenhirLib.EngineTypes.next = _menhir_stack;
3803 };
3804 };
3805 } = _menhir_stack in
3806 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3807 let _2 : (
3808 # 166 "parser_cocci_menhir.mly"
3809 (Data.clt)
3810 # 3811 "parser_cocci_menhir.ml"
3811 ) = Obj.magic _2 in
3812 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3813 let _startpos = _startpos__1_ in
3814 let _endpos = _endpos__3_ in
3815 let _v : 'tv_arith_expr_expr_invalid_ =
3816 # 1442 "parser_cocci_menhir.mly"
3817 ( P.arith_op Ast.Minus _1 _2 _3 )
3818 # 3819 "parser_cocci_menhir.ml"
3819 in
3820 _menhir_env.MenhirLib.EngineTypes.stack <- {
3821 MenhirLib.EngineTypes.state = _menhir_s;
3822 MenhirLib.EngineTypes.semv = Obj.repr _v;
3823 MenhirLib.EngineTypes.startp = _startpos;
3824 MenhirLib.EngineTypes.endp = _endpos;
3825 MenhirLib.EngineTypes.next = _menhir_stack;
3826 });
3827 (fun _menhir_env ->
3828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3829 let {
3830 MenhirLib.EngineTypes.semv = _3;
3831 MenhirLib.EngineTypes.startp = _startpos__3_;
3832 MenhirLib.EngineTypes.endp = _endpos__3_;
3833 MenhirLib.EngineTypes.next = {
3834 MenhirLib.EngineTypes.semv = _2;
3835 MenhirLib.EngineTypes.startp = _startpos__2_;
3836 MenhirLib.EngineTypes.endp = _endpos__2_;
3837 MenhirLib.EngineTypes.next = {
3838 MenhirLib.EngineTypes.state = _menhir_s;
3839 MenhirLib.EngineTypes.semv = _1;
3840 MenhirLib.EngineTypes.startp = _startpos__1_;
3841 MenhirLib.EngineTypes.endp = _endpos__1_;
3842 MenhirLib.EngineTypes.next = _menhir_stack;
3843 };
3844 };
3845 } = _menhir_stack in
3846 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3847 let _2 : (
3848 # 164 "parser_cocci_menhir.mly"
3849 (Ast_cocci.arithOp * Data.clt)
3850 # 3851 "parser_cocci_menhir.ml"
3851 ) = Obj.magic _2 in
3852 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3853 let _startpos = _startpos__1_ in
3854 let _endpos = _endpos__3_ in
3855 let _v : 'tv_arith_expr_expr_invalid_ =
3856 # 1444 "parser_cocci_menhir.mly"
3857 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3858 # 3859 "parser_cocci_menhir.ml"
3859 in
3860 _menhir_env.MenhirLib.EngineTypes.stack <- {
3861 MenhirLib.EngineTypes.state = _menhir_s;
3862 MenhirLib.EngineTypes.semv = Obj.repr _v;
3863 MenhirLib.EngineTypes.startp = _startpos;
3864 MenhirLib.EngineTypes.endp = _endpos;
3865 MenhirLib.EngineTypes.next = _menhir_stack;
3866 });
3867 (fun _menhir_env ->
3868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3869 let {
3870 MenhirLib.EngineTypes.semv = _3;
3871 MenhirLib.EngineTypes.startp = _startpos__3_;
3872 MenhirLib.EngineTypes.endp = _endpos__3_;
3873 MenhirLib.EngineTypes.next = {
3874 MenhirLib.EngineTypes.semv = _2;
3875 MenhirLib.EngineTypes.startp = _startpos__2_;
3876 MenhirLib.EngineTypes.endp = _endpos__2_;
3877 MenhirLib.EngineTypes.next = {
3878 MenhirLib.EngineTypes.state = _menhir_s;
3879 MenhirLib.EngineTypes.semv = _1;
3880 MenhirLib.EngineTypes.startp = _startpos__1_;
3881 MenhirLib.EngineTypes.endp = _endpos__1_;
3882 MenhirLib.EngineTypes.next = _menhir_stack;
3883 };
3884 };
3885 } = _menhir_stack in
3886 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3887 let _2 : (
3888 # 164 "parser_cocci_menhir.mly"
3889 (Ast_cocci.arithOp * Data.clt)
3890 # 3891 "parser_cocci_menhir.ml"
3891 ) = Obj.magic _2 in
3892 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3893 let _startpos = _startpos__1_ in
3894 let _endpos = _endpos__3_ in
3895 let _v : 'tv_arith_expr_expr_invalid_ =
3896 # 1446 "parser_cocci_menhir.mly"
3897 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3898 # 3899 "parser_cocci_menhir.ml"
3899 in
3900 _menhir_env.MenhirLib.EngineTypes.stack <- {
3901 MenhirLib.EngineTypes.state = _menhir_s;
3902 MenhirLib.EngineTypes.semv = Obj.repr _v;
3903 MenhirLib.EngineTypes.startp = _startpos;
3904 MenhirLib.EngineTypes.endp = _endpos;
3905 MenhirLib.EngineTypes.next = _menhir_stack;
3906 });
3907 (fun _menhir_env ->
3908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3909 let {
3910 MenhirLib.EngineTypes.semv = _3;
3911 MenhirLib.EngineTypes.startp = _startpos__3_;
3912 MenhirLib.EngineTypes.endp = _endpos__3_;
3913 MenhirLib.EngineTypes.next = {
3914 MenhirLib.EngineTypes.semv = _2;
3915 MenhirLib.EngineTypes.startp = _startpos__2_;
3916 MenhirLib.EngineTypes.endp = _endpos__2_;
3917 MenhirLib.EngineTypes.next = {
3918 MenhirLib.EngineTypes.state = _menhir_s;
3919 MenhirLib.EngineTypes.semv = _1;
3920 MenhirLib.EngineTypes.startp = _startpos__1_;
3921 MenhirLib.EngineTypes.endp = _endpos__1_;
3922 MenhirLib.EngineTypes.next = _menhir_stack;
3923 };
3924 };
3925 } = _menhir_stack in
3926 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3927 let _2 : (
3928 # 163 "parser_cocci_menhir.mly"
3929 (Ast_cocci.logicalOp * Data.clt)
3930 # 3931 "parser_cocci_menhir.ml"
3931 ) = Obj.magic _2 in
3932 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3933 let _startpos = _startpos__1_ in
3934 let _endpos = _endpos__3_ in
3935 let _v : 'tv_arith_expr_expr_invalid_ =
3936 # 1448 "parser_cocci_menhir.mly"
3937 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3938 # 3939 "parser_cocci_menhir.ml"
3939 in
3940 _menhir_env.MenhirLib.EngineTypes.stack <- {
3941 MenhirLib.EngineTypes.state = _menhir_s;
3942 MenhirLib.EngineTypes.semv = Obj.repr _v;
3943 MenhirLib.EngineTypes.startp = _startpos;
3944 MenhirLib.EngineTypes.endp = _endpos;
3945 MenhirLib.EngineTypes.next = _menhir_stack;
3946 });
3947 (fun _menhir_env ->
3948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3949 let {
3950 MenhirLib.EngineTypes.semv = _3;
3951 MenhirLib.EngineTypes.startp = _startpos__3_;
3952 MenhirLib.EngineTypes.endp = _endpos__3_;
3953 MenhirLib.EngineTypes.next = {
3954 MenhirLib.EngineTypes.semv = _2;
3955 MenhirLib.EngineTypes.startp = _startpos__2_;
3956 MenhirLib.EngineTypes.endp = _endpos__2_;
3957 MenhirLib.EngineTypes.next = {
3958 MenhirLib.EngineTypes.state = _menhir_s;
3959 MenhirLib.EngineTypes.semv = _1;
3960 MenhirLib.EngineTypes.startp = _startpos__1_;
3961 MenhirLib.EngineTypes.endp = _endpos__1_;
3962 MenhirLib.EngineTypes.next = _menhir_stack;
3963 };
3964 };
3965 } = _menhir_stack in
3966 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3967 let _2 : (
3968 # 162 "parser_cocci_menhir.mly"
3969 (Data.clt)
3970 # 3971 "parser_cocci_menhir.ml"
3971 ) = Obj.magic _2 in
3972 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3973 let _startpos = _startpos__1_ in
3974 let _endpos = _endpos__3_ in
3975 let _v : 'tv_arith_expr_expr_invalid_ =
3976 # 1450 "parser_cocci_menhir.mly"
3977 ( P.logic_op Ast.Eq _1 _2 _3 )
3978 # 3979 "parser_cocci_menhir.ml"
3979 in
3980 _menhir_env.MenhirLib.EngineTypes.stack <- {
3981 MenhirLib.EngineTypes.state = _menhir_s;
3982 MenhirLib.EngineTypes.semv = Obj.repr _v;
3983 MenhirLib.EngineTypes.startp = _startpos;
3984 MenhirLib.EngineTypes.endp = _endpos;
3985 MenhirLib.EngineTypes.next = _menhir_stack;
3986 });
3987 (fun _menhir_env ->
3988 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3989 let {
3990 MenhirLib.EngineTypes.semv = _3;
3991 MenhirLib.EngineTypes.startp = _startpos__3_;
3992 MenhirLib.EngineTypes.endp = _endpos__3_;
3993 MenhirLib.EngineTypes.next = {
3994 MenhirLib.EngineTypes.semv = _2;
3995 MenhirLib.EngineTypes.startp = _startpos__2_;
3996 MenhirLib.EngineTypes.endp = _endpos__2_;
3997 MenhirLib.EngineTypes.next = {
3998 MenhirLib.EngineTypes.state = _menhir_s;
3999 MenhirLib.EngineTypes.semv = _1;
4000 MenhirLib.EngineTypes.startp = _startpos__1_;
4001 MenhirLib.EngineTypes.endp = _endpos__1_;
4002 MenhirLib.EngineTypes.next = _menhir_stack;
4003 };
4004 };
4005 } = _menhir_stack in
4006 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4007 let _2 : (
4008 # 162 "parser_cocci_menhir.mly"
4009 (Data.clt)
4010 # 4011 "parser_cocci_menhir.ml"
4011 ) = Obj.magic _2 in
4012 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4013 let _startpos = _startpos__1_ in
4014 let _endpos = _endpos__3_ in
4015 let _v : 'tv_arith_expr_expr_invalid_ =
4016 # 1452 "parser_cocci_menhir.mly"
4017 ( P.logic_op Ast.NotEq _1 _2 _3 )
4018 # 4019 "parser_cocci_menhir.ml"
4019 in
4020 _menhir_env.MenhirLib.EngineTypes.stack <- {
4021 MenhirLib.EngineTypes.state = _menhir_s;
4022 MenhirLib.EngineTypes.semv = Obj.repr _v;
4023 MenhirLib.EngineTypes.startp = _startpos;
4024 MenhirLib.EngineTypes.endp = _endpos;
4025 MenhirLib.EngineTypes.next = _menhir_stack;
4026 });
4027 (fun _menhir_env ->
4028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4029 let {
4030 MenhirLib.EngineTypes.semv = _3;
4031 MenhirLib.EngineTypes.startp = _startpos__3_;
4032 MenhirLib.EngineTypes.endp = _endpos__3_;
4033 MenhirLib.EngineTypes.next = {
4034 MenhirLib.EngineTypes.semv = _2;
4035 MenhirLib.EngineTypes.startp = _startpos__2_;
4036 MenhirLib.EngineTypes.endp = _endpos__2_;
4037 MenhirLib.EngineTypes.next = {
4038 MenhirLib.EngineTypes.state = _menhir_s;
4039 MenhirLib.EngineTypes.semv = _1;
4040 MenhirLib.EngineTypes.startp = _startpos__1_;
4041 MenhirLib.EngineTypes.endp = _endpos__1_;
4042 MenhirLib.EngineTypes.next = _menhir_stack;
4043 };
4044 };
4045 } = _menhir_stack in
4046 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4047 let _2 : (
4048 # 161 "parser_cocci_menhir.mly"
4049 (Data.clt)
4050 # 4051 "parser_cocci_menhir.ml"
4051 ) = Obj.magic _2 in
4052 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4053 let _startpos = _startpos__1_ in
4054 let _endpos = _endpos__3_ in
4055 let _v : 'tv_arith_expr_expr_invalid_ =
4056 # 1454 "parser_cocci_menhir.mly"
4057 ( P.arith_op Ast.And _1 _2 _3 )
4058 # 4059 "parser_cocci_menhir.ml"
4059 in
4060 _menhir_env.MenhirLib.EngineTypes.stack <- {
4061 MenhirLib.EngineTypes.state = _menhir_s;
4062 MenhirLib.EngineTypes.semv = Obj.repr _v;
4063 MenhirLib.EngineTypes.startp = _startpos;
4064 MenhirLib.EngineTypes.endp = _endpos;
4065 MenhirLib.EngineTypes.next = _menhir_stack;
4066 });
4067 (fun _menhir_env ->
4068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4069 let {
4070 MenhirLib.EngineTypes.semv = _3;
4071 MenhirLib.EngineTypes.startp = _startpos__3_;
4072 MenhirLib.EngineTypes.endp = _endpos__3_;
4073 MenhirLib.EngineTypes.next = {
4074 MenhirLib.EngineTypes.semv = _2;
4075 MenhirLib.EngineTypes.startp = _startpos__2_;
4076 MenhirLib.EngineTypes.endp = _endpos__2_;
4077 MenhirLib.EngineTypes.next = {
4078 MenhirLib.EngineTypes.state = _menhir_s;
4079 MenhirLib.EngineTypes.semv = _1;
4080 MenhirLib.EngineTypes.startp = _startpos__1_;
4081 MenhirLib.EngineTypes.endp = _endpos__1_;
4082 MenhirLib.EngineTypes.next = _menhir_stack;
4083 };
4084 };
4085 } = _menhir_stack in
4086 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4087 let _2 : (
4088 # 159 "parser_cocci_menhir.mly"
4089 (Data.clt)
4090 # 4091 "parser_cocci_menhir.ml"
4091 ) = Obj.magic _2 in
4092 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4093 let _startpos = _startpos__1_ in
4094 let _endpos = _endpos__3_ in
4095 let _v : 'tv_arith_expr_expr_invalid_ =
4096 # 1456 "parser_cocci_menhir.mly"
4097 ( P.arith_op Ast.Or _1 _2 _3 )
4098 # 4099 "parser_cocci_menhir.ml"
4099 in
4100 _menhir_env.MenhirLib.EngineTypes.stack <- {
4101 MenhirLib.EngineTypes.state = _menhir_s;
4102 MenhirLib.EngineTypes.semv = Obj.repr _v;
4103 MenhirLib.EngineTypes.startp = _startpos;
4104 MenhirLib.EngineTypes.endp = _endpos;
4105 MenhirLib.EngineTypes.next = _menhir_stack;
4106 });
4107 (fun _menhir_env ->
4108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4109 let {
4110 MenhirLib.EngineTypes.semv = _3;
4111 MenhirLib.EngineTypes.startp = _startpos__3_;
4112 MenhirLib.EngineTypes.endp = _endpos__3_;
4113 MenhirLib.EngineTypes.next = {
4114 MenhirLib.EngineTypes.semv = _2;
4115 MenhirLib.EngineTypes.startp = _startpos__2_;
4116 MenhirLib.EngineTypes.endp = _endpos__2_;
4117 MenhirLib.EngineTypes.next = {
4118 MenhirLib.EngineTypes.state = _menhir_s;
4119 MenhirLib.EngineTypes.semv = _1;
4120 MenhirLib.EngineTypes.startp = _startpos__1_;
4121 MenhirLib.EngineTypes.endp = _endpos__1_;
4122 MenhirLib.EngineTypes.next = _menhir_stack;
4123 };
4124 };
4125 } = _menhir_stack in
4126 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4127 let _2 : (
4128 # 160 "parser_cocci_menhir.mly"
4129 (Data.clt)
4130 # 4131 "parser_cocci_menhir.ml"
4131 ) = Obj.magic _2 in
4132 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4133 let _startpos = _startpos__1_ in
4134 let _endpos = _endpos__3_ in
4135 let _v : 'tv_arith_expr_expr_invalid_ =
4136 # 1458 "parser_cocci_menhir.mly"
4137 ( P.arith_op Ast.Xor _1 _2 _3 )
4138 # 4139 "parser_cocci_menhir.ml"
4139 in
4140 _menhir_env.MenhirLib.EngineTypes.stack <- {
4141 MenhirLib.EngineTypes.state = _menhir_s;
4142 MenhirLib.EngineTypes.semv = Obj.repr _v;
4143 MenhirLib.EngineTypes.startp = _startpos;
4144 MenhirLib.EngineTypes.endp = _endpos;
4145 MenhirLib.EngineTypes.next = _menhir_stack;
4146 });
4147 (fun _menhir_env ->
4148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4149 let {
4150 MenhirLib.EngineTypes.semv = _3;
4151 MenhirLib.EngineTypes.startp = _startpos__3_;
4152 MenhirLib.EngineTypes.endp = _endpos__3_;
4153 MenhirLib.EngineTypes.next = {
4154 MenhirLib.EngineTypes.semv = _2;
4155 MenhirLib.EngineTypes.startp = _startpos__2_;
4156 MenhirLib.EngineTypes.endp = _endpos__2_;
4157 MenhirLib.EngineTypes.next = {
4158 MenhirLib.EngineTypes.state = _menhir_s;
4159 MenhirLib.EngineTypes.semv = _1;
4160 MenhirLib.EngineTypes.startp = _startpos__1_;
4161 MenhirLib.EngineTypes.endp = _endpos__1_;
4162 MenhirLib.EngineTypes.next = _menhir_stack;
4163 };
4164 };
4165 } = _menhir_stack in
4166 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4167 let _2 : (
4168 # 158 "parser_cocci_menhir.mly"
4169 (Data.clt)
4170 # 4171 "parser_cocci_menhir.ml"
4171 ) = Obj.magic _2 in
4172 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4173 let _startpos = _startpos__1_ in
4174 let _endpos = _endpos__3_ in
4175 let _v : 'tv_arith_expr_expr_invalid_ =
4176 # 1460 "parser_cocci_menhir.mly"
4177 ( P.logic_op Ast.AndLog _1 _2 _3 )
4178 # 4179 "parser_cocci_menhir.ml"
4179 in
4180 _menhir_env.MenhirLib.EngineTypes.stack <- {
4181 MenhirLib.EngineTypes.state = _menhir_s;
4182 MenhirLib.EngineTypes.semv = Obj.repr _v;
4183 MenhirLib.EngineTypes.startp = _startpos;
4184 MenhirLib.EngineTypes.endp = _endpos;
4185 MenhirLib.EngineTypes.next = _menhir_stack;
4186 });
4187 (fun _menhir_env ->
4188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4189 let {
4190 MenhirLib.EngineTypes.semv = _3;
4191 MenhirLib.EngineTypes.startp = _startpos__3_;
4192 MenhirLib.EngineTypes.endp = _endpos__3_;
4193 MenhirLib.EngineTypes.next = {
4194 MenhirLib.EngineTypes.semv = _2;
4195 MenhirLib.EngineTypes.startp = _startpos__2_;
4196 MenhirLib.EngineTypes.endp = _endpos__2_;
4197 MenhirLib.EngineTypes.next = {
4198 MenhirLib.EngineTypes.state = _menhir_s;
4199 MenhirLib.EngineTypes.semv = _1;
4200 MenhirLib.EngineTypes.startp = _startpos__1_;
4201 MenhirLib.EngineTypes.endp = _endpos__1_;
4202 MenhirLib.EngineTypes.next = _menhir_stack;
4203 };
4204 };
4205 } = _menhir_stack in
4206 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4207 let _2 : (
4208 # 157 "parser_cocci_menhir.mly"
4209 (Data.clt)
4210 # 4211 "parser_cocci_menhir.ml"
4211 ) = Obj.magic _2 in
4212 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4213 let _startpos = _startpos__1_ in
4214 let _endpos = _endpos__3_ in
4215 let _v : 'tv_arith_expr_expr_invalid_ =
4216 # 1462 "parser_cocci_menhir.mly"
4217 ( P.logic_op Ast.OrLog _1 _2 _3 )
4218 # 4219 "parser_cocci_menhir.ml"
4219 in
4220 _menhir_env.MenhirLib.EngineTypes.stack <- {
4221 MenhirLib.EngineTypes.state = _menhir_s;
4222 MenhirLib.EngineTypes.semv = Obj.repr _v;
4223 MenhirLib.EngineTypes.startp = _startpos;
4224 MenhirLib.EngineTypes.endp = _endpos;
4225 MenhirLib.EngineTypes.next = _menhir_stack;
4226 });
4227 (fun _menhir_env ->
4228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4229 let {
4230 MenhirLib.EngineTypes.state = _menhir_s;
4231 MenhirLib.EngineTypes.semv = _1;
4232 MenhirLib.EngineTypes.startp = _startpos__1_;
4233 MenhirLib.EngineTypes.endp = _endpos__1_;
4234 MenhirLib.EngineTypes.next = _menhir_stack;
4235 } = _menhir_stack in
4236 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4237 let _startpos = _startpos__1_ in
4238 let _endpos = _endpos__1_ in
4239 let _v : 'tv_arith_expr_bis =
4240 # 1467 "parser_cocci_menhir.mly"
4241 ( _1 )
4242 # 4243 "parser_cocci_menhir.ml"
4243 in
4244 _menhir_env.MenhirLib.EngineTypes.stack <- {
4245 MenhirLib.EngineTypes.state = _menhir_s;
4246 MenhirLib.EngineTypes.semv = Obj.repr _v;
4247 MenhirLib.EngineTypes.startp = _startpos;
4248 MenhirLib.EngineTypes.endp = _endpos;
4249 MenhirLib.EngineTypes.next = _menhir_stack;
4250 });
4251 (fun _menhir_env ->
4252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4253 let {
4254 MenhirLib.EngineTypes.semv = _3;
4255 MenhirLib.EngineTypes.startp = _startpos__3_;
4256 MenhirLib.EngineTypes.endp = _endpos__3_;
4257 MenhirLib.EngineTypes.next = {
4258 MenhirLib.EngineTypes.semv = _2;
4259 MenhirLib.EngineTypes.startp = _startpos__2_;
4260 MenhirLib.EngineTypes.endp = _endpos__2_;
4261 MenhirLib.EngineTypes.next = {
4262 MenhirLib.EngineTypes.state = _menhir_s;
4263 MenhirLib.EngineTypes.semv = _1;
4264 MenhirLib.EngineTypes.startp = _startpos__1_;
4265 MenhirLib.EngineTypes.endp = _endpos__1_;
4266 MenhirLib.EngineTypes.next = _menhir_stack;
4267 };
4268 };
4269 } = _menhir_stack in
4270 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4271 let _2 : (
4272 # 167 "parser_cocci_menhir.mly"
4273 (Data.clt)
4274 # 4275 "parser_cocci_menhir.ml"
4275 ) = Obj.magic _2 in
4276 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4277 let _startpos = _startpos__1_ in
4278 let _endpos = _endpos__3_ in
4279 let _v : 'tv_arith_expr_bis =
4280 # 1469 "parser_cocci_menhir.mly"
4281 ( P.arith_op Ast.Mul _1 _2 _3 )
4282 # 4283 "parser_cocci_menhir.ml"
4283 in
4284 _menhir_env.MenhirLib.EngineTypes.stack <- {
4285 MenhirLib.EngineTypes.state = _menhir_s;
4286 MenhirLib.EngineTypes.semv = Obj.repr _v;
4287 MenhirLib.EngineTypes.startp = _startpos;
4288 MenhirLib.EngineTypes.endp = _endpos;
4289 MenhirLib.EngineTypes.next = _menhir_stack;
4290 });
4291 (fun _menhir_env ->
4292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4293 let {
4294 MenhirLib.EngineTypes.semv = _3;
4295 MenhirLib.EngineTypes.startp = _startpos__3_;
4296 MenhirLib.EngineTypes.endp = _endpos__3_;
4297 MenhirLib.EngineTypes.next = {
4298 MenhirLib.EngineTypes.semv = _2;
4299 MenhirLib.EngineTypes.startp = _startpos__2_;
4300 MenhirLib.EngineTypes.endp = _endpos__2_;
4301 MenhirLib.EngineTypes.next = {
4302 MenhirLib.EngineTypes.state = _menhir_s;
4303 MenhirLib.EngineTypes.semv = _1;
4304 MenhirLib.EngineTypes.startp = _startpos__1_;
4305 MenhirLib.EngineTypes.endp = _endpos__1_;
4306 MenhirLib.EngineTypes.next = _menhir_stack;
4307 };
4308 };
4309 } = _menhir_stack in
4310 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4311 let _2 : (
4312 # 165 "parser_cocci_menhir.mly"
4313 (Ast_cocci.arithOp * Data.clt)
4314 # 4315 "parser_cocci_menhir.ml"
4315 ) = Obj.magic _2 in
4316 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4317 let _startpos = _startpos__1_ in
4318 let _endpos = _endpos__3_ in
4319 let _v : 'tv_arith_expr_bis =
4320 # 1471 "parser_cocci_menhir.mly"
4321 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
4322 # 4323 "parser_cocci_menhir.ml"
4323 in
4324 _menhir_env.MenhirLib.EngineTypes.stack <- {
4325 MenhirLib.EngineTypes.state = _menhir_s;
4326 MenhirLib.EngineTypes.semv = Obj.repr _v;
4327 MenhirLib.EngineTypes.startp = _startpos;
4328 MenhirLib.EngineTypes.endp = _endpos;
4329 MenhirLib.EngineTypes.next = _menhir_stack;
4330 });
4331 (fun _menhir_env ->
4332 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4333 let {
4334 MenhirLib.EngineTypes.semv = _3;
4335 MenhirLib.EngineTypes.startp = _startpos__3_;
4336 MenhirLib.EngineTypes.endp = _endpos__3_;
4337 MenhirLib.EngineTypes.next = {
4338 MenhirLib.EngineTypes.semv = _2;
4339 MenhirLib.EngineTypes.startp = _startpos__2_;
4340 MenhirLib.EngineTypes.endp = _endpos__2_;
4341 MenhirLib.EngineTypes.next = {
4342 MenhirLib.EngineTypes.state = _menhir_s;
4343 MenhirLib.EngineTypes.semv = _1;
4344 MenhirLib.EngineTypes.startp = _startpos__1_;
4345 MenhirLib.EngineTypes.endp = _endpos__1_;
4346 MenhirLib.EngineTypes.next = _menhir_stack;
4347 };
4348 };
4349 } = _menhir_stack in
4350 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4351 let _2 : (
4352 # 166 "parser_cocci_menhir.mly"
4353 (Data.clt)
4354 # 4355 "parser_cocci_menhir.ml"
4355 ) = Obj.magic _2 in
4356 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4357 let _startpos = _startpos__1_ in
4358 let _endpos = _endpos__3_ in
4359 let _v : 'tv_arith_expr_bis =
4360 # 1473 "parser_cocci_menhir.mly"
4361 ( P.arith_op Ast.Plus _1 _2 _3 )
4362 # 4363 "parser_cocci_menhir.ml"
4363 in
4364 _menhir_env.MenhirLib.EngineTypes.stack <- {
4365 MenhirLib.EngineTypes.state = _menhir_s;
4366 MenhirLib.EngineTypes.semv = Obj.repr _v;
4367 MenhirLib.EngineTypes.startp = _startpos;
4368 MenhirLib.EngineTypes.endp = _endpos;
4369 MenhirLib.EngineTypes.next = _menhir_stack;
4370 });
4371 (fun _menhir_env ->
4372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4373 let {
4374 MenhirLib.EngineTypes.semv = _3;
4375 MenhirLib.EngineTypes.startp = _startpos__3_;
4376 MenhirLib.EngineTypes.endp = _endpos__3_;
4377 MenhirLib.EngineTypes.next = {
4378 MenhirLib.EngineTypes.semv = _2;
4379 MenhirLib.EngineTypes.startp = _startpos__2_;
4380 MenhirLib.EngineTypes.endp = _endpos__2_;
4381 MenhirLib.EngineTypes.next = {
4382 MenhirLib.EngineTypes.state = _menhir_s;
4383 MenhirLib.EngineTypes.semv = _1;
4384 MenhirLib.EngineTypes.startp = _startpos__1_;
4385 MenhirLib.EngineTypes.endp = _endpos__1_;
4386 MenhirLib.EngineTypes.next = _menhir_stack;
4387 };
4388 };
4389 } = _menhir_stack in
4390 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4391 let _2 : (
4392 # 166 "parser_cocci_menhir.mly"
4393 (Data.clt)
4394 # 4395 "parser_cocci_menhir.ml"
4395 ) = Obj.magic _2 in
4396 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4397 let _startpos = _startpos__1_ in
4398 let _endpos = _endpos__3_ in
4399 let _v : 'tv_arith_expr_bis =
4400 # 1475 "parser_cocci_menhir.mly"
4401 ( P.arith_op Ast.Minus _1 _2 _3 )
4402 # 4403 "parser_cocci_menhir.ml"
4403 in
4404 _menhir_env.MenhirLib.EngineTypes.stack <- {
4405 MenhirLib.EngineTypes.state = _menhir_s;
4406 MenhirLib.EngineTypes.semv = Obj.repr _v;
4407 MenhirLib.EngineTypes.startp = _startpos;
4408 MenhirLib.EngineTypes.endp = _endpos;
4409 MenhirLib.EngineTypes.next = _menhir_stack;
4410 });
4411 (fun _menhir_env ->
4412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4413 let {
4414 MenhirLib.EngineTypes.semv = _3;
4415 MenhirLib.EngineTypes.startp = _startpos__3_;
4416 MenhirLib.EngineTypes.endp = _endpos__3_;
4417 MenhirLib.EngineTypes.next = {
4418 MenhirLib.EngineTypes.semv = _2;
4419 MenhirLib.EngineTypes.startp = _startpos__2_;
4420 MenhirLib.EngineTypes.endp = _endpos__2_;
4421 MenhirLib.EngineTypes.next = {
4422 MenhirLib.EngineTypes.state = _menhir_s;
4423 MenhirLib.EngineTypes.semv = _1;
4424 MenhirLib.EngineTypes.startp = _startpos__1_;
4425 MenhirLib.EngineTypes.endp = _endpos__1_;
4426 MenhirLib.EngineTypes.next = _menhir_stack;
4427 };
4428 };
4429 } = _menhir_stack in
4430 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4431 let _2 : (
4432 # 164 "parser_cocci_menhir.mly"
4433 (Ast_cocci.arithOp * Data.clt)
4434 # 4435 "parser_cocci_menhir.ml"
4435 ) = Obj.magic _2 in
4436 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4437 let _startpos = _startpos__1_ in
4438 let _endpos = _endpos__3_ in
4439 let _v : 'tv_arith_expr_bis =
4440 # 1477 "parser_cocci_menhir.mly"
4441 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
4442 # 4443 "parser_cocci_menhir.ml"
4443 in
4444 _menhir_env.MenhirLib.EngineTypes.stack <- {
4445 MenhirLib.EngineTypes.state = _menhir_s;
4446 MenhirLib.EngineTypes.semv = Obj.repr _v;
4447 MenhirLib.EngineTypes.startp = _startpos;
4448 MenhirLib.EngineTypes.endp = _endpos;
4449 MenhirLib.EngineTypes.next = _menhir_stack;
4450 });
4451 (fun _menhir_env ->
4452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4453 let {
4454 MenhirLib.EngineTypes.semv = _3;
4455 MenhirLib.EngineTypes.startp = _startpos__3_;
4456 MenhirLib.EngineTypes.endp = _endpos__3_;
4457 MenhirLib.EngineTypes.next = {
4458 MenhirLib.EngineTypes.semv = _2;
4459 MenhirLib.EngineTypes.startp = _startpos__2_;
4460 MenhirLib.EngineTypes.endp = _endpos__2_;
4461 MenhirLib.EngineTypes.next = {
4462 MenhirLib.EngineTypes.state = _menhir_s;
4463 MenhirLib.EngineTypes.semv = _1;
4464 MenhirLib.EngineTypes.startp = _startpos__1_;
4465 MenhirLib.EngineTypes.endp = _endpos__1_;
4466 MenhirLib.EngineTypes.next = _menhir_stack;
4467 };
4468 };
4469 } = _menhir_stack in
4470 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4471 let _2 : (
4472 # 164 "parser_cocci_menhir.mly"
4473 (Ast_cocci.arithOp * Data.clt)
4474 # 4475 "parser_cocci_menhir.ml"
4475 ) = Obj.magic _2 in
4476 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4477 let _startpos = _startpos__1_ in
4478 let _endpos = _endpos__3_ in
4479 let _v : 'tv_arith_expr_bis =
4480 # 1479 "parser_cocci_menhir.mly"
4481 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
4482 # 4483 "parser_cocci_menhir.ml"
4483 in
4484 _menhir_env.MenhirLib.EngineTypes.stack <- {
4485 MenhirLib.EngineTypes.state = _menhir_s;
4486 MenhirLib.EngineTypes.semv = Obj.repr _v;
4487 MenhirLib.EngineTypes.startp = _startpos;
4488 MenhirLib.EngineTypes.endp = _endpos;
4489 MenhirLib.EngineTypes.next = _menhir_stack;
4490 });
4491 (fun _menhir_env ->
4492 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4493 let {
4494 MenhirLib.EngineTypes.semv = _3;
4495 MenhirLib.EngineTypes.startp = _startpos__3_;
4496 MenhirLib.EngineTypes.endp = _endpos__3_;
4497 MenhirLib.EngineTypes.next = {
4498 MenhirLib.EngineTypes.semv = _2;
4499 MenhirLib.EngineTypes.startp = _startpos__2_;
4500 MenhirLib.EngineTypes.endp = _endpos__2_;
4501 MenhirLib.EngineTypes.next = {
4502 MenhirLib.EngineTypes.state = _menhir_s;
4503 MenhirLib.EngineTypes.semv = _1;
4504 MenhirLib.EngineTypes.startp = _startpos__1_;
4505 MenhirLib.EngineTypes.endp = _endpos__1_;
4506 MenhirLib.EngineTypes.next = _menhir_stack;
4507 };
4508 };
4509 } = _menhir_stack in
4510 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4511 let _2 : (
4512 # 163 "parser_cocci_menhir.mly"
4513 (Ast_cocci.logicalOp * Data.clt)
4514 # 4515 "parser_cocci_menhir.ml"
4515 ) = Obj.magic _2 in
4516 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4517 let _startpos = _startpos__1_ in
4518 let _endpos = _endpos__3_ in
4519 let _v : 'tv_arith_expr_bis =
4520 # 1481 "parser_cocci_menhir.mly"
4521 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
4522 # 4523 "parser_cocci_menhir.ml"
4523 in
4524 _menhir_env.MenhirLib.EngineTypes.stack <- {
4525 MenhirLib.EngineTypes.state = _menhir_s;
4526 MenhirLib.EngineTypes.semv = Obj.repr _v;
4527 MenhirLib.EngineTypes.startp = _startpos;
4528 MenhirLib.EngineTypes.endp = _endpos;
4529 MenhirLib.EngineTypes.next = _menhir_stack;
4530 });
4531 (fun _menhir_env ->
4532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4533 let {
4534 MenhirLib.EngineTypes.semv = _3;
4535 MenhirLib.EngineTypes.startp = _startpos__3_;
4536 MenhirLib.EngineTypes.endp = _endpos__3_;
4537 MenhirLib.EngineTypes.next = {
4538 MenhirLib.EngineTypes.semv = _2;
4539 MenhirLib.EngineTypes.startp = _startpos__2_;
4540 MenhirLib.EngineTypes.endp = _endpos__2_;
4541 MenhirLib.EngineTypes.next = {
4542 MenhirLib.EngineTypes.state = _menhir_s;
4543 MenhirLib.EngineTypes.semv = _1;
4544 MenhirLib.EngineTypes.startp = _startpos__1_;
4545 MenhirLib.EngineTypes.endp = _endpos__1_;
4546 MenhirLib.EngineTypes.next = _menhir_stack;
4547 };
4548 };
4549 } = _menhir_stack in
4550 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4551 let _2 : (
4552 # 162 "parser_cocci_menhir.mly"
4553 (Data.clt)
4554 # 4555 "parser_cocci_menhir.ml"
4555 ) = Obj.magic _2 in
4556 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4557 let _startpos = _startpos__1_ in
4558 let _endpos = _endpos__3_ in
4559 let _v : 'tv_arith_expr_bis =
4560 # 1483 "parser_cocci_menhir.mly"
4561 ( P.logic_op Ast.Eq _1 _2 _3 )
4562 # 4563 "parser_cocci_menhir.ml"
4563 in
4564 _menhir_env.MenhirLib.EngineTypes.stack <- {
4565 MenhirLib.EngineTypes.state = _menhir_s;
4566 MenhirLib.EngineTypes.semv = Obj.repr _v;
4567 MenhirLib.EngineTypes.startp = _startpos;
4568 MenhirLib.EngineTypes.endp = _endpos;
4569 MenhirLib.EngineTypes.next = _menhir_stack;
4570 });
4571 (fun _menhir_env ->
4572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4573 let {
4574 MenhirLib.EngineTypes.semv = _3;
4575 MenhirLib.EngineTypes.startp = _startpos__3_;
4576 MenhirLib.EngineTypes.endp = _endpos__3_;
4577 MenhirLib.EngineTypes.next = {
4578 MenhirLib.EngineTypes.semv = _2;
4579 MenhirLib.EngineTypes.startp = _startpos__2_;
4580 MenhirLib.EngineTypes.endp = _endpos__2_;
4581 MenhirLib.EngineTypes.next = {
4582 MenhirLib.EngineTypes.state = _menhir_s;
4583 MenhirLib.EngineTypes.semv = _1;
4584 MenhirLib.EngineTypes.startp = _startpos__1_;
4585 MenhirLib.EngineTypes.endp = _endpos__1_;
4586 MenhirLib.EngineTypes.next = _menhir_stack;
4587 };
4588 };
4589 } = _menhir_stack in
4590 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4591 let _2 : (
4592 # 162 "parser_cocci_menhir.mly"
4593 (Data.clt)
4594 # 4595 "parser_cocci_menhir.ml"
4595 ) = Obj.magic _2 in
4596 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4597 let _startpos = _startpos__1_ in
4598 let _endpos = _endpos__3_ in
4599 let _v : 'tv_arith_expr_bis =
4600 # 1485 "parser_cocci_menhir.mly"
4601 ( P.logic_op Ast.NotEq _1 _2 _3 )
4602 # 4603 "parser_cocci_menhir.ml"
4603 in
4604 _menhir_env.MenhirLib.EngineTypes.stack <- {
4605 MenhirLib.EngineTypes.state = _menhir_s;
4606 MenhirLib.EngineTypes.semv = Obj.repr _v;
4607 MenhirLib.EngineTypes.startp = _startpos;
4608 MenhirLib.EngineTypes.endp = _endpos;
4609 MenhirLib.EngineTypes.next = _menhir_stack;
4610 });
4611 (fun _menhir_env ->
4612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4613 let {
4614 MenhirLib.EngineTypes.semv = _3;
4615 MenhirLib.EngineTypes.startp = _startpos__3_;
4616 MenhirLib.EngineTypes.endp = _endpos__3_;
4617 MenhirLib.EngineTypes.next = {
4618 MenhirLib.EngineTypes.semv = _2;
4619 MenhirLib.EngineTypes.startp = _startpos__2_;
4620 MenhirLib.EngineTypes.endp = _endpos__2_;
4621 MenhirLib.EngineTypes.next = {
4622 MenhirLib.EngineTypes.state = _menhir_s;
4623 MenhirLib.EngineTypes.semv = _1;
4624 MenhirLib.EngineTypes.startp = _startpos__1_;
4625 MenhirLib.EngineTypes.endp = _endpos__1_;
4626 MenhirLib.EngineTypes.next = _menhir_stack;
4627 };
4628 };
4629 } = _menhir_stack in
4630 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4631 let _2 : (
4632 # 161 "parser_cocci_menhir.mly"
4633 (Data.clt)
4634 # 4635 "parser_cocci_menhir.ml"
4635 ) = Obj.magic _2 in
4636 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4637 let _startpos = _startpos__1_ in
4638 let _endpos = _endpos__3_ in
4639 let _v : 'tv_arith_expr_bis =
4640 # 1487 "parser_cocci_menhir.mly"
4641 ( P.arith_op Ast.And _1 _2 _3 )
4642 # 4643 "parser_cocci_menhir.ml"
4643 in
4644 _menhir_env.MenhirLib.EngineTypes.stack <- {
4645 MenhirLib.EngineTypes.state = _menhir_s;
4646 MenhirLib.EngineTypes.semv = Obj.repr _v;
4647 MenhirLib.EngineTypes.startp = _startpos;
4648 MenhirLib.EngineTypes.endp = _endpos;
4649 MenhirLib.EngineTypes.next = _menhir_stack;
4650 });
4651 (fun _menhir_env ->
4652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4653 let {
4654 MenhirLib.EngineTypes.semv = _3;
4655 MenhirLib.EngineTypes.startp = _startpos__3_;
4656 MenhirLib.EngineTypes.endp = _endpos__3_;
4657 MenhirLib.EngineTypes.next = {
4658 MenhirLib.EngineTypes.semv = _2;
4659 MenhirLib.EngineTypes.startp = _startpos__2_;
4660 MenhirLib.EngineTypes.endp = _endpos__2_;
4661 MenhirLib.EngineTypes.next = {
4662 MenhirLib.EngineTypes.state = _menhir_s;
4663 MenhirLib.EngineTypes.semv = _1;
4664 MenhirLib.EngineTypes.startp = _startpos__1_;
4665 MenhirLib.EngineTypes.endp = _endpos__1_;
4666 MenhirLib.EngineTypes.next = _menhir_stack;
4667 };
4668 };
4669 } = _menhir_stack in
4670 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4671 let _2 : (
4672 # 159 "parser_cocci_menhir.mly"
4673 (Data.clt)
4674 # 4675 "parser_cocci_menhir.ml"
4675 ) = Obj.magic _2 in
4676 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4677 let _startpos = _startpos__1_ in
4678 let _endpos = _endpos__3_ in
4679 let _v : 'tv_arith_expr_bis =
4680 # 1489 "parser_cocci_menhir.mly"
4681 ( P.arith_op Ast.Or _1 _2 _3 )
4682 # 4683 "parser_cocci_menhir.ml"
4683 in
4684 _menhir_env.MenhirLib.EngineTypes.stack <- {
4685 MenhirLib.EngineTypes.state = _menhir_s;
4686 MenhirLib.EngineTypes.semv = Obj.repr _v;
4687 MenhirLib.EngineTypes.startp = _startpos;
4688 MenhirLib.EngineTypes.endp = _endpos;
4689 MenhirLib.EngineTypes.next = _menhir_stack;
4690 });
4691 (fun _menhir_env ->
4692 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4693 let {
4694 MenhirLib.EngineTypes.semv = _3;
4695 MenhirLib.EngineTypes.startp = _startpos__3_;
4696 MenhirLib.EngineTypes.endp = _endpos__3_;
4697 MenhirLib.EngineTypes.next = {
4698 MenhirLib.EngineTypes.semv = _2;
4699 MenhirLib.EngineTypes.startp = _startpos__2_;
4700 MenhirLib.EngineTypes.endp = _endpos__2_;
4701 MenhirLib.EngineTypes.next = {
4702 MenhirLib.EngineTypes.state = _menhir_s;
4703 MenhirLib.EngineTypes.semv = _1;
4704 MenhirLib.EngineTypes.startp = _startpos__1_;
4705 MenhirLib.EngineTypes.endp = _endpos__1_;
4706 MenhirLib.EngineTypes.next = _menhir_stack;
4707 };
4708 };
4709 } = _menhir_stack in
4710 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4711 let _2 : (
4712 # 160 "parser_cocci_menhir.mly"
4713 (Data.clt)
4714 # 4715 "parser_cocci_menhir.ml"
4715 ) = Obj.magic _2 in
4716 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4717 let _startpos = _startpos__1_ in
4718 let _endpos = _endpos__3_ in
4719 let _v : 'tv_arith_expr_bis =
4720 # 1491 "parser_cocci_menhir.mly"
4721 ( P.arith_op Ast.Xor _1 _2 _3 )
4722 # 4723 "parser_cocci_menhir.ml"
4723 in
4724 _menhir_env.MenhirLib.EngineTypes.stack <- {
4725 MenhirLib.EngineTypes.state = _menhir_s;
4726 MenhirLib.EngineTypes.semv = Obj.repr _v;
4727 MenhirLib.EngineTypes.startp = _startpos;
4728 MenhirLib.EngineTypes.endp = _endpos;
4729 MenhirLib.EngineTypes.next = _menhir_stack;
4730 });
4731 (fun _menhir_env ->
4732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4733 let {
4734 MenhirLib.EngineTypes.semv = _3;
4735 MenhirLib.EngineTypes.startp = _startpos__3_;
4736 MenhirLib.EngineTypes.endp = _endpos__3_;
4737 MenhirLib.EngineTypes.next = {
4738 MenhirLib.EngineTypes.semv = _2;
4739 MenhirLib.EngineTypes.startp = _startpos__2_;
4740 MenhirLib.EngineTypes.endp = _endpos__2_;
4741 MenhirLib.EngineTypes.next = {
4742 MenhirLib.EngineTypes.state = _menhir_s;
4743 MenhirLib.EngineTypes.semv = _1;
4744 MenhirLib.EngineTypes.startp = _startpos__1_;
4745 MenhirLib.EngineTypes.endp = _endpos__1_;
4746 MenhirLib.EngineTypes.next = _menhir_stack;
4747 };
4748 };
4749 } = _menhir_stack in
4750 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4751 let _2 : (
4752 # 158 "parser_cocci_menhir.mly"
4753 (Data.clt)
4754 # 4755 "parser_cocci_menhir.ml"
4755 ) = Obj.magic _2 in
4756 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4757 let _startpos = _startpos__1_ in
4758 let _endpos = _endpos__3_ in
4759 let _v : 'tv_arith_expr_bis =
4760 # 1493 "parser_cocci_menhir.mly"
4761 ( P.logic_op Ast.AndLog _1 _2 _3 )
4762 # 4763 "parser_cocci_menhir.ml"
4763 in
4764 _menhir_env.MenhirLib.EngineTypes.stack <- {
4765 MenhirLib.EngineTypes.state = _menhir_s;
4766 MenhirLib.EngineTypes.semv = Obj.repr _v;
4767 MenhirLib.EngineTypes.startp = _startpos;
4768 MenhirLib.EngineTypes.endp = _endpos;
4769 MenhirLib.EngineTypes.next = _menhir_stack;
4770 });
4771 (fun _menhir_env ->
4772 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4773 let {
4774 MenhirLib.EngineTypes.state = _menhir_s;
4775 MenhirLib.EngineTypes.startp = _startpos__1_;
4776 MenhirLib.EngineTypes.endp = _endpos__1_;
4777 MenhirLib.EngineTypes.next = _menhir_stack;
4778 } = _menhir_stack in
4779 let _startpos = _startpos__1_ in
4780 let _endpos = _endpos__1_ in
4781 let _v : 'tv_arity =
4782 # 607 "parser_cocci_menhir.mly"
4783 ( Ast.UNIQUE )
4784 # 4785 "parser_cocci_menhir.ml"
4785 in
4786 _menhir_env.MenhirLib.EngineTypes.stack <- {
4787 MenhirLib.EngineTypes.state = _menhir_s;
4788 MenhirLib.EngineTypes.semv = Obj.repr _v;
4789 MenhirLib.EngineTypes.startp = _startpos;
4790 MenhirLib.EngineTypes.endp = _endpos;
4791 MenhirLib.EngineTypes.next = _menhir_stack;
4792 });
4793 (fun _menhir_env ->
4794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4795 let {
4796 MenhirLib.EngineTypes.state = _menhir_s;
4797 MenhirLib.EngineTypes.startp = _startpos__1_;
4798 MenhirLib.EngineTypes.endp = _endpos__1_;
4799 MenhirLib.EngineTypes.next = _menhir_stack;
4800 } = _menhir_stack in
4801 let _startpos = _startpos__1_ in
4802 let _endpos = _endpos__1_ in
4803 let _v : 'tv_arity =
4804 # 608 "parser_cocci_menhir.mly"
4805 ( Ast.OPT )
4806 # 4807 "parser_cocci_menhir.ml"
4807 in
4808 _menhir_env.MenhirLib.EngineTypes.stack <- {
4809 MenhirLib.EngineTypes.state = _menhir_s;
4810 MenhirLib.EngineTypes.semv = Obj.repr _v;
4811 MenhirLib.EngineTypes.startp = _startpos;
4812 MenhirLib.EngineTypes.endp = _endpos;
4813 MenhirLib.EngineTypes.next = _menhir_stack;
4814 });
4815 (fun _menhir_env ->
4816 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4817 let {
4818 MenhirLib.EngineTypes.state = _menhir_s;
4819 MenhirLib.EngineTypes.startp = _startpos__1_;
4820 MenhirLib.EngineTypes.endp = _endpos__1_;
4821 MenhirLib.EngineTypes.next = _menhir_stack;
4822 } = _menhir_stack in
4823 let _startpos = _startpos__1_ in
4824 let _endpos = _endpos__1_ in
4825 let _v : 'tv_arity =
4826 # 609 "parser_cocci_menhir.mly"
4827 ( Ast.MULTI )
4828 # 4829 "parser_cocci_menhir.ml"
4829 in
4830 _menhir_env.MenhirLib.EngineTypes.stack <- {
4831 MenhirLib.EngineTypes.state = _menhir_s;
4832 MenhirLib.EngineTypes.semv = Obj.repr _v;
4833 MenhirLib.EngineTypes.startp = _startpos;
4834 MenhirLib.EngineTypes.endp = _endpos;
4835 MenhirLib.EngineTypes.next = _menhir_stack;
4836 });
4837 (fun _menhir_env ->
4838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4839 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
4840 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
4841 let _endpos = _startpos in
4842 let _v : 'tv_arity =
4843 # 610 "parser_cocci_menhir.mly"
4844 ( Ast.NONE )
4845 # 4846 "parser_cocci_menhir.ml"
4846 in
4847 _menhir_env.MenhirLib.EngineTypes.stack <- {
4848 MenhirLib.EngineTypes.state = _menhir_s;
4849 MenhirLib.EngineTypes.semv = Obj.repr _v;
4850 MenhirLib.EngineTypes.startp = _startpos;
4851 MenhirLib.EngineTypes.endp = _endpos;
4852 MenhirLib.EngineTypes.next = _menhir_stack;
4853 });
4854 (fun _menhir_env ->
4855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4856 let {
4857 MenhirLib.EngineTypes.semv = r;
4858 MenhirLib.EngineTypes.startp = _startpos_r_;
4859 MenhirLib.EngineTypes.endp = _endpos_r_;
4860 MenhirLib.EngineTypes.next = {
4861 MenhirLib.EngineTypes.semv = i;
4862 MenhirLib.EngineTypes.startp = _startpos_i_;
4863 MenhirLib.EngineTypes.endp = _endpos_i_;
4864 MenhirLib.EngineTypes.next = {
4865 MenhirLib.EngineTypes.state = _menhir_s;
4866 MenhirLib.EngineTypes.semv = l;
4867 MenhirLib.EngineTypes.startp = _startpos_l_;
4868 MenhirLib.EngineTypes.endp = _endpos_l_;
4869 MenhirLib.EngineTypes.next = _menhir_stack;
4870 };
4871 };
4872 } = _menhir_stack in
4873 let r : (
4874 # 170 "parser_cocci_menhir.mly"
4875 (Data.clt)
4876 # 4877 "parser_cocci_menhir.ml"
4877 ) = Obj.magic r in
4878 let i : 'tv_option_eexpr_ = Obj.magic i in
4879 let l : (
4880 # 170 "parser_cocci_menhir.mly"
4881 (Data.clt)
4882 # 4883 "parser_cocci_menhir.ml"
4883 ) = Obj.magic l in
4884 let _startpos = _startpos_l_ in
4885 let _endpos = _endpos_r_ in
4886 let _v : 'tv_array_dec =
4887 # 1258 "parser_cocci_menhir.mly"
4888 ( (l,i,r) )
4889 # 4890 "parser_cocci_menhir.ml"
4890 in
4891 _menhir_env.MenhirLib.EngineTypes.stack <- {
4892 MenhirLib.EngineTypes.state = _menhir_s;
4893 MenhirLib.EngineTypes.semv = Obj.repr _v;
4894 MenhirLib.EngineTypes.startp = _startpos;
4895 MenhirLib.EngineTypes.endp = _endpos;
4896 MenhirLib.EngineTypes.next = _menhir_stack;
4897 });
4898 (fun _menhir_env ->
4899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4900 let {
4901 MenhirLib.EngineTypes.state = _menhir_s;
4902 MenhirLib.EngineTypes.semv = _1;
4903 MenhirLib.EngineTypes.startp = _startpos__1_;
4904 MenhirLib.EngineTypes.endp = _endpos__1_;
4905 MenhirLib.EngineTypes.next = _menhir_stack;
4906 } = _menhir_stack in
4907 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4908 let _startpos = _startpos__1_ in
4909 let _endpos = _endpos__1_ in
4910 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4911 # 1406 "parser_cocci_menhir.mly"
4912 ( _1 )
4913 # 4914 "parser_cocci_menhir.ml"
4914 in
4915 _menhir_env.MenhirLib.EngineTypes.stack <- {
4916 MenhirLib.EngineTypes.state = _menhir_s;
4917 MenhirLib.EngineTypes.semv = Obj.repr _v;
4918 MenhirLib.EngineTypes.startp = _startpos;
4919 MenhirLib.EngineTypes.endp = _endpos;
4920 MenhirLib.EngineTypes.next = _menhir_stack;
4921 });
4922 (fun _menhir_env ->
4923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4924 let {
4925 MenhirLib.EngineTypes.semv = _3;
4926 MenhirLib.EngineTypes.startp = _startpos__3_;
4927 MenhirLib.EngineTypes.endp = _endpos__3_;
4928 MenhirLib.EngineTypes.next = {
4929 MenhirLib.EngineTypes.semv = _2;
4930 MenhirLib.EngineTypes.startp = _startpos__2_;
4931 MenhirLib.EngineTypes.endp = _endpos__2_;
4932 MenhirLib.EngineTypes.next = {
4933 MenhirLib.EngineTypes.state = _menhir_s;
4934 MenhirLib.EngineTypes.semv = _1;
4935 MenhirLib.EngineTypes.startp = _startpos__1_;
4936 MenhirLib.EngineTypes.endp = _endpos__1_;
4937 MenhirLib.EngineTypes.next = _menhir_stack;
4938 };
4939 };
4940 } = _menhir_stack in
4941 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4942 let _2 : (
4943 # 176 "parser_cocci_menhir.mly"
4944 (Ast_cocci.assignOp * Data.clt)
4945 # 4946 "parser_cocci_menhir.ml"
4946 ) = Obj.magic _2 in
4947 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4948 let _startpos = _startpos__1_ in
4949 let _endpos = _endpos__3_ in
4950 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4951 # 1408 "parser_cocci_menhir.mly"
4952 ( let (op,clt) = _2 in
4953 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4954 Ast0.set_arg_exp _3,false)) )
4955 # 4956 "parser_cocci_menhir.ml"
4956 in
4957 _menhir_env.MenhirLib.EngineTypes.stack <- {
4958 MenhirLib.EngineTypes.state = _menhir_s;
4959 MenhirLib.EngineTypes.semv = Obj.repr _v;
4960 MenhirLib.EngineTypes.startp = _startpos;
4961 MenhirLib.EngineTypes.endp = _endpos;
4962 MenhirLib.EngineTypes.next = _menhir_stack;
4963 });
4964 (fun _menhir_env ->
4965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4966 let {
4967 MenhirLib.EngineTypes.semv = _3;
4968 MenhirLib.EngineTypes.startp = _startpos__3_;
4969 MenhirLib.EngineTypes.endp = _endpos__3_;
4970 MenhirLib.EngineTypes.next = {
4971 MenhirLib.EngineTypes.semv = _2;
4972 MenhirLib.EngineTypes.startp = _startpos__2_;
4973 MenhirLib.EngineTypes.endp = _endpos__2_;
4974 MenhirLib.EngineTypes.next = {
4975 MenhirLib.EngineTypes.state = _menhir_s;
4976 MenhirLib.EngineTypes.semv = _1;
4977 MenhirLib.EngineTypes.startp = _startpos__1_;
4978 MenhirLib.EngineTypes.endp = _endpos__1_;
4979 MenhirLib.EngineTypes.next = _menhir_stack;
4980 };
4981 };
4982 } = _menhir_stack in
4983 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4984 let _2 : (
4985 # 175 "parser_cocci_menhir.mly"
4986 (Data.clt)
4987 # 4988 "parser_cocci_menhir.ml"
4988 ) = Obj.magic _2 in
4989 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4990 let _startpos = _startpos__1_ in
4991 let _endpos = _endpos__3_ in
4992 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4993 # 1412 "parser_cocci_menhir.mly"
4994 ( Ast0.wrap
4995 (Ast0.Assignment
4996 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4997 # 4998 "parser_cocci_menhir.ml"
4998 in
4999 _menhir_env.MenhirLib.EngineTypes.stack <- {
5000 MenhirLib.EngineTypes.state = _menhir_s;
5001 MenhirLib.EngineTypes.semv = Obj.repr _v;
5002 MenhirLib.EngineTypes.startp = _startpos;
5003 MenhirLib.EngineTypes.endp = _endpos;
5004 MenhirLib.EngineTypes.next = _menhir_stack;
5005 });
5006 (fun _menhir_env ->
5007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5008 let {
5009 MenhirLib.EngineTypes.state = _menhir_s;
5010 MenhirLib.EngineTypes.semv = _1;
5011 MenhirLib.EngineTypes.startp = _startpos__1_;
5012 MenhirLib.EngineTypes.endp = _endpos__1_;
5013 MenhirLib.EngineTypes.next = _menhir_stack;
5014 } = _menhir_stack in
5015 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5016 let _startpos = _startpos__1_ in
5017 let _endpos = _endpos__1_ in
5018 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
5019 # 1406 "parser_cocci_menhir.mly"
5020 ( _1 )
5021 # 5022 "parser_cocci_menhir.ml"
5022 in
5023 _menhir_env.MenhirLib.EngineTypes.stack <- {
5024 MenhirLib.EngineTypes.state = _menhir_s;
5025 MenhirLib.EngineTypes.semv = Obj.repr _v;
5026 MenhirLib.EngineTypes.startp = _startpos;
5027 MenhirLib.EngineTypes.endp = _endpos;
5028 MenhirLib.EngineTypes.next = _menhir_stack;
5029 });
5030 (fun _menhir_env ->
5031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5032 let {
5033 MenhirLib.EngineTypes.semv = _3;
5034 MenhirLib.EngineTypes.startp = _startpos__3_;
5035 MenhirLib.EngineTypes.endp = _endpos__3_;
5036 MenhirLib.EngineTypes.next = {
5037 MenhirLib.EngineTypes.semv = _2;
5038 MenhirLib.EngineTypes.startp = _startpos__2_;
5039 MenhirLib.EngineTypes.endp = _endpos__2_;
5040 MenhirLib.EngineTypes.next = {
5041 MenhirLib.EngineTypes.state = _menhir_s;
5042 MenhirLib.EngineTypes.semv = _1;
5043 MenhirLib.EngineTypes.startp = _startpos__1_;
5044 MenhirLib.EngineTypes.endp = _endpos__1_;
5045 MenhirLib.EngineTypes.next = _menhir_stack;
5046 };
5047 };
5048 } = _menhir_stack in
5049 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5050 let _2 : (
5051 # 176 "parser_cocci_menhir.mly"
5052 (Ast_cocci.assignOp * Data.clt)
5053 # 5054 "parser_cocci_menhir.ml"
5054 ) = Obj.magic _2 in
5055 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5056 let _startpos = _startpos__1_ in
5057 let _endpos = _endpos__3_ in
5058 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
5059 # 1408 "parser_cocci_menhir.mly"
5060 ( let (op,clt) = _2 in
5061 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
5062 Ast0.set_arg_exp _3,false)) )
5063 # 5064 "parser_cocci_menhir.ml"
5064 in
5065 _menhir_env.MenhirLib.EngineTypes.stack <- {
5066 MenhirLib.EngineTypes.state = _menhir_s;
5067 MenhirLib.EngineTypes.semv = Obj.repr _v;
5068 MenhirLib.EngineTypes.startp = _startpos;
5069 MenhirLib.EngineTypes.endp = _endpos;
5070 MenhirLib.EngineTypes.next = _menhir_stack;
5071 });
5072 (fun _menhir_env ->
5073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5074 let {
5075 MenhirLib.EngineTypes.semv = _3;
5076 MenhirLib.EngineTypes.startp = _startpos__3_;
5077 MenhirLib.EngineTypes.endp = _endpos__3_;
5078 MenhirLib.EngineTypes.next = {
5079 MenhirLib.EngineTypes.semv = _2;
5080 MenhirLib.EngineTypes.startp = _startpos__2_;
5081 MenhirLib.EngineTypes.endp = _endpos__2_;
5082 MenhirLib.EngineTypes.next = {
5083 MenhirLib.EngineTypes.state = _menhir_s;
5084 MenhirLib.EngineTypes.semv = _1;
5085 MenhirLib.EngineTypes.startp = _startpos__1_;
5086 MenhirLib.EngineTypes.endp = _endpos__1_;
5087 MenhirLib.EngineTypes.next = _menhir_stack;
5088 };
5089 };
5090 } = _menhir_stack in
5091 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5092 let _2 : (
5093 # 175 "parser_cocci_menhir.mly"
5094 (Data.clt)
5095 # 5096 "parser_cocci_menhir.ml"
5096 ) = Obj.magic _2 in
5097 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5098 let _startpos = _startpos__1_ in
5099 let _endpos = _endpos__3_ in
5100 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
5101 # 1412 "parser_cocci_menhir.mly"
5102 ( Ast0.wrap
5103 (Ast0.Assignment
5104 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
5105 # 5106 "parser_cocci_menhir.ml"
5106 in
5107 _menhir_env.MenhirLib.EngineTypes.stack <- {
5108 MenhirLib.EngineTypes.state = _menhir_s;
5109 MenhirLib.EngineTypes.semv = Obj.repr _v;
5110 MenhirLib.EngineTypes.startp = _startpos;
5111 MenhirLib.EngineTypes.endp = _endpos;
5112 MenhirLib.EngineTypes.next = _menhir_stack;
5113 });
5114 (fun _menhir_env ->
5115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5116 let {
5117 MenhirLib.EngineTypes.state = _menhir_s;
5118 MenhirLib.EngineTypes.semv = _1;
5119 MenhirLib.EngineTypes.startp = _startpos__1_;
5120 MenhirLib.EngineTypes.endp = _endpos__1_;
5121 MenhirLib.EngineTypes.next = _menhir_stack;
5122 } = _menhir_stack in
5123 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
5124 let _startpos = _startpos__1_ in
5125 let _endpos = _endpos__1_ in
5126 let _v : 'tv_assign_expr_expr_invalid_ =
5127 # 1406 "parser_cocci_menhir.mly"
5128 ( _1 )
5129 # 5130 "parser_cocci_menhir.ml"
5130 in
5131 _menhir_env.MenhirLib.EngineTypes.stack <- {
5132 MenhirLib.EngineTypes.state = _menhir_s;
5133 MenhirLib.EngineTypes.semv = Obj.repr _v;
5134 MenhirLib.EngineTypes.startp = _startpos;
5135 MenhirLib.EngineTypes.endp = _endpos;
5136 MenhirLib.EngineTypes.next = _menhir_stack;
5137 });
5138 (fun _menhir_env ->
5139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5140 let {
5141 MenhirLib.EngineTypes.semv = _3;
5142 MenhirLib.EngineTypes.startp = _startpos__3_;
5143 MenhirLib.EngineTypes.endp = _endpos__3_;
5144 MenhirLib.EngineTypes.next = {
5145 MenhirLib.EngineTypes.semv = _2;
5146 MenhirLib.EngineTypes.startp = _startpos__2_;
5147 MenhirLib.EngineTypes.endp = _endpos__2_;
5148 MenhirLib.EngineTypes.next = {
5149 MenhirLib.EngineTypes.state = _menhir_s;
5150 MenhirLib.EngineTypes.semv = _1;
5151 MenhirLib.EngineTypes.startp = _startpos__1_;
5152 MenhirLib.EngineTypes.endp = _endpos__1_;
5153 MenhirLib.EngineTypes.next = _menhir_stack;
5154 };
5155 };
5156 } = _menhir_stack in
5157 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5158 let _2 : (
5159 # 176 "parser_cocci_menhir.mly"
5160 (Ast_cocci.assignOp * Data.clt)
5161 # 5162 "parser_cocci_menhir.ml"
5162 ) = Obj.magic _2 in
5163 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5164 let _startpos = _startpos__1_ in
5165 let _endpos = _endpos__3_ in
5166 let _v : 'tv_assign_expr_expr_invalid_ =
5167 # 1408 "parser_cocci_menhir.mly"
5168 ( let (op,clt) = _2 in
5169 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
5170 Ast0.set_arg_exp _3,false)) )
5171 # 5172 "parser_cocci_menhir.ml"
5172 in
5173 _menhir_env.MenhirLib.EngineTypes.stack <- {
5174 MenhirLib.EngineTypes.state = _menhir_s;
5175 MenhirLib.EngineTypes.semv = Obj.repr _v;
5176 MenhirLib.EngineTypes.startp = _startpos;
5177 MenhirLib.EngineTypes.endp = _endpos;
5178 MenhirLib.EngineTypes.next = _menhir_stack;
5179 });
5180 (fun _menhir_env ->
5181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5182 let {
5183 MenhirLib.EngineTypes.semv = _3;
5184 MenhirLib.EngineTypes.startp = _startpos__3_;
5185 MenhirLib.EngineTypes.endp = _endpos__3_;
5186 MenhirLib.EngineTypes.next = {
5187 MenhirLib.EngineTypes.semv = _2;
5188 MenhirLib.EngineTypes.startp = _startpos__2_;
5189 MenhirLib.EngineTypes.endp = _endpos__2_;
5190 MenhirLib.EngineTypes.next = {
5191 MenhirLib.EngineTypes.state = _menhir_s;
5192 MenhirLib.EngineTypes.semv = _1;
5193 MenhirLib.EngineTypes.startp = _startpos__1_;
5194 MenhirLib.EngineTypes.endp = _endpos__1_;
5195 MenhirLib.EngineTypes.next = _menhir_stack;
5196 };
5197 };
5198 } = _menhir_stack in
5199 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5200 let _2 : (
5201 # 175 "parser_cocci_menhir.mly"
5202 (Data.clt)
5203 # 5204 "parser_cocci_menhir.ml"
5204 ) = Obj.magic _2 in
5205 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5206 let _startpos = _startpos__1_ in
5207 let _endpos = _endpos__3_ in
5208 let _v : 'tv_assign_expr_expr_invalid_ =
5209 # 1412 "parser_cocci_menhir.mly"
5210 ( Ast0.wrap
5211 (Ast0.Assignment
5212 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
5213 # 5214 "parser_cocci_menhir.ml"
5214 in
5215 _menhir_env.MenhirLib.EngineTypes.stack <- {
5216 MenhirLib.EngineTypes.state = _menhir_s;
5217 MenhirLib.EngineTypes.semv = Obj.repr _v;
5218 MenhirLib.EngineTypes.startp = _startpos;
5219 MenhirLib.EngineTypes.endp = _endpos;
5220 MenhirLib.EngineTypes.next = _menhir_stack;
5221 });
5222 (fun _menhir_env ->
5223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5224 let {
5225 MenhirLib.EngineTypes.state = _menhir_s;
5226 MenhirLib.EngineTypes.semv = _1;
5227 MenhirLib.EngineTypes.startp = _startpos__1_;
5228 MenhirLib.EngineTypes.endp = _endpos__1_;
5229 MenhirLib.EngineTypes.next = _menhir_stack;
5230 } = _menhir_stack in
5231 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5232 let _startpos = _startpos__1_ in
5233 let _endpos = _endpos__1_ in
5234 let _v : 'tv_assign_expr_bis =
5235 # 1417 "parser_cocci_menhir.mly"
5236 ( _1 )
5237 # 5238 "parser_cocci_menhir.ml"
5238 in
5239 _menhir_env.MenhirLib.EngineTypes.stack <- {
5240 MenhirLib.EngineTypes.state = _menhir_s;
5241 MenhirLib.EngineTypes.semv = Obj.repr _v;
5242 MenhirLib.EngineTypes.startp = _startpos;
5243 MenhirLib.EngineTypes.endp = _endpos;
5244 MenhirLib.EngineTypes.next = _menhir_stack;
5245 });
5246 (fun _menhir_env ->
5247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5248 let {
5249 MenhirLib.EngineTypes.semv = _3;
5250 MenhirLib.EngineTypes.startp = _startpos__3_;
5251 MenhirLib.EngineTypes.endp = _endpos__3_;
5252 MenhirLib.EngineTypes.next = {
5253 MenhirLib.EngineTypes.semv = _2;
5254 MenhirLib.EngineTypes.startp = _startpos__2_;
5255 MenhirLib.EngineTypes.endp = _endpos__2_;
5256 MenhirLib.EngineTypes.next = {
5257 MenhirLib.EngineTypes.state = _menhir_s;
5258 MenhirLib.EngineTypes.semv = _1;
5259 MenhirLib.EngineTypes.startp = _startpos__1_;
5260 MenhirLib.EngineTypes.endp = _endpos__1_;
5261 MenhirLib.EngineTypes.next = _menhir_stack;
5262 };
5263 };
5264 } = _menhir_stack in
5265 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5266 let _2 : (
5267 # 176 "parser_cocci_menhir.mly"
5268 (Ast_cocci.assignOp * Data.clt)
5269 # 5270 "parser_cocci_menhir.ml"
5270 ) = Obj.magic _2 in
5271 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5272 let _startpos = _startpos__1_ in
5273 let _endpos = _endpos__3_ in
5274 let _v : 'tv_assign_expr_bis =
5275 # 1419 "parser_cocci_menhir.mly"
5276 ( let (op,clt) = _2 in
5277 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
5278 Ast0.set_arg_exp _3,false)) )
5279 # 5280 "parser_cocci_menhir.ml"
5280 in
5281 _menhir_env.MenhirLib.EngineTypes.stack <- {
5282 MenhirLib.EngineTypes.state = _menhir_s;
5283 MenhirLib.EngineTypes.semv = Obj.repr _v;
5284 MenhirLib.EngineTypes.startp = _startpos;
5285 MenhirLib.EngineTypes.endp = _endpos;
5286 MenhirLib.EngineTypes.next = _menhir_stack;
5287 });
5288 (fun _menhir_env ->
5289 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5290 let {
5291 MenhirLib.EngineTypes.semv = _3;
5292 MenhirLib.EngineTypes.startp = _startpos__3_;
5293 MenhirLib.EngineTypes.endp = _endpos__3_;
5294 MenhirLib.EngineTypes.next = {
5295 MenhirLib.EngineTypes.semv = _2;
5296 MenhirLib.EngineTypes.startp = _startpos__2_;
5297 MenhirLib.EngineTypes.endp = _endpos__2_;
5298 MenhirLib.EngineTypes.next = {
5299 MenhirLib.EngineTypes.state = _menhir_s;
5300 MenhirLib.EngineTypes.semv = _1;
5301 MenhirLib.EngineTypes.startp = _startpos__1_;
5302 MenhirLib.EngineTypes.endp = _endpos__1_;
5303 MenhirLib.EngineTypes.next = _menhir_stack;
5304 };
5305 };
5306 } = _menhir_stack in
5307 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5308 let _2 : (
5309 # 175 "parser_cocci_menhir.mly"
5310 (Data.clt)
5311 # 5312 "parser_cocci_menhir.ml"
5312 ) = Obj.magic _2 in
5313 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5314 let _startpos = _startpos__1_ in
5315 let _endpos = _endpos__3_ in
5316 let _v : 'tv_assign_expr_bis =
5317 # 1423 "parser_cocci_menhir.mly"
5318 ( Ast0.wrap
5319 (Ast0.Assignment
5320 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
5321 # 5322 "parser_cocci_menhir.ml"
5322 in
5323 _menhir_env.MenhirLib.EngineTypes.stack <- {
5324 MenhirLib.EngineTypes.state = _menhir_s;
5325 MenhirLib.EngineTypes.semv = Obj.repr _v;
5326 MenhirLib.EngineTypes.startp = _startpos;
5327 MenhirLib.EngineTypes.endp = _endpos;
5328 MenhirLib.EngineTypes.next = _menhir_stack;
5329 });
5330 (fun _menhir_env ->
5331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5332 let {
5333 MenhirLib.EngineTypes.state = _menhir_s;
5334 MenhirLib.EngineTypes.semv = _1;
5335 MenhirLib.EngineTypes.startp = _startpos__1_;
5336 MenhirLib.EngineTypes.endp = _endpos__1_;
5337 MenhirLib.EngineTypes.next = _menhir_stack;
5338 } = _menhir_stack in
5339 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5340 let _startpos = _startpos__1_ in
5341 let _endpos = _endpos__1_ in
5342 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
5343 # 1403 "parser_cocci_menhir.mly"
5344 ( _1 )
5345 # 5346 "parser_cocci_menhir.ml"
5346 in
5347 _menhir_env.MenhirLib.EngineTypes.stack <- {
5348 MenhirLib.EngineTypes.state = _menhir_s;
5349 MenhirLib.EngineTypes.semv = Obj.repr _v;
5350 MenhirLib.EngineTypes.startp = _startpos;
5351 MenhirLib.EngineTypes.endp = _endpos;
5352 MenhirLib.EngineTypes.next = _menhir_stack;
5353 });
5354 (fun _menhir_env ->
5355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5356 let {
5357 MenhirLib.EngineTypes.state = _menhir_s;
5358 MenhirLib.EngineTypes.semv = _1;
5359 MenhirLib.EngineTypes.startp = _startpos__1_;
5360 MenhirLib.EngineTypes.endp = _endpos__1_;
5361 MenhirLib.EngineTypes.next = _menhir_stack;
5362 } = _menhir_stack in
5363 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5364 let _startpos = _startpos__1_ in
5365 let _endpos = _endpos__1_ in
5366 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
5367 # 1403 "parser_cocci_menhir.mly"
5368 ( _1 )
5369 # 5370 "parser_cocci_menhir.ml"
5370 in
5371 _menhir_env.MenhirLib.EngineTypes.stack <- {
5372 MenhirLib.EngineTypes.state = _menhir_s;
5373 MenhirLib.EngineTypes.semv = Obj.repr _v;
5374 MenhirLib.EngineTypes.startp = _startpos;
5375 MenhirLib.EngineTypes.endp = _endpos;
5376 MenhirLib.EngineTypes.next = _menhir_stack;
5377 });
5378 (fun _menhir_env ->
5379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5380 let {
5381 MenhirLib.EngineTypes.state = _menhir_s;
5382 MenhirLib.EngineTypes.semv = _1;
5383 MenhirLib.EngineTypes.startp = _startpos__1_;
5384 MenhirLib.EngineTypes.endp = _endpos__1_;
5385 MenhirLib.EngineTypes.next = _menhir_stack;
5386 } = _menhir_stack in
5387 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
5388 let _startpos = _startpos__1_ in
5389 let _endpos = _endpos__1_ in
5390 let _v : 'tv_basic_expr_expr_invalid_ =
5391 # 1403 "parser_cocci_menhir.mly"
5392 ( _1 )
5393 # 5394 "parser_cocci_menhir.ml"
5394 in
5395 _menhir_env.MenhirLib.EngineTypes.stack <- {
5396 MenhirLib.EngineTypes.state = _menhir_s;
5397 MenhirLib.EngineTypes.semv = Obj.repr _v;
5398 MenhirLib.EngineTypes.startp = _startpos;
5399 MenhirLib.EngineTypes.endp = _endpos;
5400 MenhirLib.EngineTypes.next = _menhir_stack;
5401 });
5402 (fun _menhir_env ->
5403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5404 let {
5405 MenhirLib.EngineTypes.semv = _3;
5406 MenhirLib.EngineTypes.startp = _startpos__3_;
5407 MenhirLib.EngineTypes.endp = _endpos__3_;
5408 MenhirLib.EngineTypes.next = {
5409 MenhirLib.EngineTypes.semv = _2;
5410 MenhirLib.EngineTypes.startp = _startpos__2_;
5411 MenhirLib.EngineTypes.endp = _endpos__2_;
5412 MenhirLib.EngineTypes.next = {
5413 MenhirLib.EngineTypes.state = _menhir_s;
5414 MenhirLib.EngineTypes.semv = _1;
5415 MenhirLib.EngineTypes.startp = _startpos__1_;
5416 MenhirLib.EngineTypes.endp = _endpos__1_;
5417 MenhirLib.EngineTypes.next = _menhir_stack;
5418 };
5419 };
5420 } = _menhir_stack in
5421 let _3 : 'tv_fun_start = Obj.magic _3 in
5422 let _2 : (
5423 # 144 "parser_cocci_menhir.mly"
5424 (Data.clt)
5425 # 5426 "parser_cocci_menhir.ml"
5426 ) = Obj.magic _2 in
5427 let _1 : (
5428 # 123 "parser_cocci_menhir.mly"
5429 (Data.clt)
5430 # 5431 "parser_cocci_menhir.ml"
5431 ) = Obj.magic _1 in
5432 let _startpos = _startpos__1_ in
5433 let _endpos = _endpos__3_ in
5434 let _v : 'tv_case_line =
5435 # 1127 "parser_cocci_menhir.mly"
5436 ( Ast0.wrap
5437 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
5438 # 5439 "parser_cocci_menhir.ml"
5439 in
5440 _menhir_env.MenhirLib.EngineTypes.stack <- {
5441 MenhirLib.EngineTypes.state = _menhir_s;
5442 MenhirLib.EngineTypes.semv = Obj.repr _v;
5443 MenhirLib.EngineTypes.startp = _startpos;
5444 MenhirLib.EngineTypes.endp = _endpos;
5445 MenhirLib.EngineTypes.next = _menhir_stack;
5446 });
5447 (fun _menhir_env ->
5448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5449 let {
5450 MenhirLib.EngineTypes.semv = _4;
5451 MenhirLib.EngineTypes.startp = _startpos__4_;
5452 MenhirLib.EngineTypes.endp = _endpos__4_;
5453 MenhirLib.EngineTypes.next = {
5454 MenhirLib.EngineTypes.semv = _3;
5455 MenhirLib.EngineTypes.startp = _startpos__3_;
5456 MenhirLib.EngineTypes.endp = _endpos__3_;
5457 MenhirLib.EngineTypes.next = {
5458 MenhirLib.EngineTypes.semv = _2;
5459 MenhirLib.EngineTypes.startp = _startpos__2_;
5460 MenhirLib.EngineTypes.endp = _endpos__2_;
5461 MenhirLib.EngineTypes.next = {
5462 MenhirLib.EngineTypes.state = _menhir_s;
5463 MenhirLib.EngineTypes.semv = _1;
5464 MenhirLib.EngineTypes.startp = _startpos__1_;
5465 MenhirLib.EngineTypes.endp = _endpos__1_;
5466 MenhirLib.EngineTypes.next = _menhir_stack;
5467 };
5468 };
5469 };
5470 } = _menhir_stack in
5471 let _4 : 'tv_fun_start = Obj.magic _4 in
5472 let _3 : (
5473 # 144 "parser_cocci_menhir.mly"
5474 (Data.clt)
5475 # 5476 "parser_cocci_menhir.ml"
5476 ) = Obj.magic _3 in
5477 let _2 : 'tv_eexpr = Obj.magic _2 in
5478 let _1 : (
5479 # 123 "parser_cocci_menhir.mly"
5480 (Data.clt)
5481 # 5482 "parser_cocci_menhir.ml"
5482 ) = Obj.magic _1 in
5483 let _startpos = _startpos__1_ in
5484 let _endpos = _endpos__4_ in
5485 let _v : 'tv_case_line =
5486 # 1130 "parser_cocci_menhir.mly"
5487 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
5488 # 5489 "parser_cocci_menhir.ml"
5489 in
5490 _menhir_env.MenhirLib.EngineTypes.stack <- {
5491 MenhirLib.EngineTypes.state = _menhir_s;
5492 MenhirLib.EngineTypes.semv = Obj.repr _v;
5493 MenhirLib.EngineTypes.startp = _startpos;
5494 MenhirLib.EngineTypes.endp = _endpos;
5495 MenhirLib.EngineTypes.next = _menhir_stack;
5496 });
5497 (fun _menhir_env ->
5498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5499 let {
5500 MenhirLib.EngineTypes.state = _menhir_s;
5501 MenhirLib.EngineTypes.semv = _1;
5502 MenhirLib.EngineTypes.startp = _startpos__1_;
5503 MenhirLib.EngineTypes.endp = _endpos__1_;
5504 MenhirLib.EngineTypes.next = _menhir_stack;
5505 } = _menhir_stack in
5506 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5507 let _startpos = _startpos__1_ in
5508 let _endpos = _endpos__1_ in
5509 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
5510 # 1498 "parser_cocci_menhir.mly"
5511 ( _1 )
5512 # 5513 "parser_cocci_menhir.ml"
5513 in
5514 _menhir_env.MenhirLib.EngineTypes.stack <- {
5515 MenhirLib.EngineTypes.state = _menhir_s;
5516 MenhirLib.EngineTypes.semv = Obj.repr _v;
5517 MenhirLib.EngineTypes.startp = _startpos;
5518 MenhirLib.EngineTypes.endp = _endpos;
5519 MenhirLib.EngineTypes.next = _menhir_stack;
5520 });
5521 (fun _menhir_env ->
5522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5523 let {
5524 MenhirLib.EngineTypes.semv = e;
5525 MenhirLib.EngineTypes.startp = _startpos_e_;
5526 MenhirLib.EngineTypes.endp = _endpos_e_;
5527 MenhirLib.EngineTypes.next = {
5528 MenhirLib.EngineTypes.semv = rp;
5529 MenhirLib.EngineTypes.startp = _startpos_rp_;
5530 MenhirLib.EngineTypes.endp = _endpos_rp_;
5531 MenhirLib.EngineTypes.next = {
5532 MenhirLib.EngineTypes.semv = t;
5533 MenhirLib.EngineTypes.startp = _startpos_t_;
5534 MenhirLib.EngineTypes.endp = _endpos_t_;
5535 MenhirLib.EngineTypes.next = {
5536 MenhirLib.EngineTypes.state = _menhir_s;
5537 MenhirLib.EngineTypes.semv = lp;
5538 MenhirLib.EngineTypes.startp = _startpos_lp_;
5539 MenhirLib.EngineTypes.endp = _endpos_lp_;
5540 MenhirLib.EngineTypes.next = _menhir_stack;
5541 };
5542 };
5543 };
5544 } = _menhir_stack in
5545 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
5546 let rp : (
5547 # 145 "parser_cocci_menhir.mly"
5548 (Data.clt)
5549 # 5550 "parser_cocci_menhir.ml"
5550 ) = Obj.magic rp in
5551 let t : 'tv_ctype = Obj.magic t in
5552 let lp : (
5553 # 144 "parser_cocci_menhir.mly"
5554 (Data.clt)
5555 # 5556 "parser_cocci_menhir.ml"
5556 ) = Obj.magic lp in
5557 let _startpos = _startpos_lp_ in
5558 let _endpos = _endpos_e_ in
5559 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
5560 # 1500 "parser_cocci_menhir.mly"
5561 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5562 P.clt2mcode ")" rp, e)) )
5563 # 5564 "parser_cocci_menhir.ml"
5564 in
5565 _menhir_env.MenhirLib.EngineTypes.stack <- {
5566 MenhirLib.EngineTypes.state = _menhir_s;
5567 MenhirLib.EngineTypes.semv = Obj.repr _v;
5568 MenhirLib.EngineTypes.startp = _startpos;
5569 MenhirLib.EngineTypes.endp = _endpos;
5570 MenhirLib.EngineTypes.next = _menhir_stack;
5571 });
5572 (fun _menhir_env ->
5573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5574 let {
5575 MenhirLib.EngineTypes.state = _menhir_s;
5576 MenhirLib.EngineTypes.semv = _1;
5577 MenhirLib.EngineTypes.startp = _startpos__1_;
5578 MenhirLib.EngineTypes.endp = _endpos__1_;
5579 MenhirLib.EngineTypes.next = _menhir_stack;
5580 } = _menhir_stack in
5581 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
5582 let _startpos = _startpos__1_ in
5583 let _endpos = _endpos__1_ in
5584 let _v : 'tv_cast_expr_eexpr_invalid_ =
5585 # 1498 "parser_cocci_menhir.mly"
5586 ( _1 )
5587 # 5588 "parser_cocci_menhir.ml"
5588 in
5589 _menhir_env.MenhirLib.EngineTypes.stack <- {
5590 MenhirLib.EngineTypes.state = _menhir_s;
5591 MenhirLib.EngineTypes.semv = Obj.repr _v;
5592 MenhirLib.EngineTypes.startp = _startpos;
5593 MenhirLib.EngineTypes.endp = _endpos;
5594 MenhirLib.EngineTypes.next = _menhir_stack;
5595 });
5596 (fun _menhir_env ->
5597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5598 let {
5599 MenhirLib.EngineTypes.semv = e;
5600 MenhirLib.EngineTypes.startp = _startpos_e_;
5601 MenhirLib.EngineTypes.endp = _endpos_e_;
5602 MenhirLib.EngineTypes.next = {
5603 MenhirLib.EngineTypes.semv = rp;
5604 MenhirLib.EngineTypes.startp = _startpos_rp_;
5605 MenhirLib.EngineTypes.endp = _endpos_rp_;
5606 MenhirLib.EngineTypes.next = {
5607 MenhirLib.EngineTypes.semv = t;
5608 MenhirLib.EngineTypes.startp = _startpos_t_;
5609 MenhirLib.EngineTypes.endp = _endpos_t_;
5610 MenhirLib.EngineTypes.next = {
5611 MenhirLib.EngineTypes.state = _menhir_s;
5612 MenhirLib.EngineTypes.semv = lp;
5613 MenhirLib.EngineTypes.startp = _startpos_lp_;
5614 MenhirLib.EngineTypes.endp = _endpos_lp_;
5615 MenhirLib.EngineTypes.next = _menhir_stack;
5616 };
5617 };
5618 };
5619 } = _menhir_stack in
5620 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
5621 let rp : (
5622 # 145 "parser_cocci_menhir.mly"
5623 (Data.clt)
5624 # 5625 "parser_cocci_menhir.ml"
5625 ) = Obj.magic rp in
5626 let t : 'tv_ctype = Obj.magic t in
5627 let lp : (
5628 # 144 "parser_cocci_menhir.mly"
5629 (Data.clt)
5630 # 5631 "parser_cocci_menhir.ml"
5631 ) = Obj.magic lp in
5632 let _startpos = _startpos_lp_ in
5633 let _endpos = _endpos_e_ in
5634 let _v : 'tv_cast_expr_eexpr_invalid_ =
5635 # 1500 "parser_cocci_menhir.mly"
5636 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5637 P.clt2mcode ")" rp, e)) )
5638 # 5639 "parser_cocci_menhir.ml"
5639 in
5640 _menhir_env.MenhirLib.EngineTypes.stack <- {
5641 MenhirLib.EngineTypes.state = _menhir_s;
5642 MenhirLib.EngineTypes.semv = Obj.repr _v;
5643 MenhirLib.EngineTypes.startp = _startpos;
5644 MenhirLib.EngineTypes.endp = _endpos;
5645 MenhirLib.EngineTypes.next = _menhir_stack;
5646 });
5647 (fun _menhir_env ->
5648 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5649 let {
5650 MenhirLib.EngineTypes.state = _menhir_s;
5651 MenhirLib.EngineTypes.semv = _1;
5652 MenhirLib.EngineTypes.startp = _startpos__1_;
5653 MenhirLib.EngineTypes.endp = _endpos__1_;
5654 MenhirLib.EngineTypes.next = _menhir_stack;
5655 } = _menhir_stack in
5656 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5657 let _startpos = _startpos__1_ in
5658 let _endpos = _endpos__1_ in
5659 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
5660 # 1498 "parser_cocci_menhir.mly"
5661 ( _1 )
5662 # 5663 "parser_cocci_menhir.ml"
5663 in
5664 _menhir_env.MenhirLib.EngineTypes.stack <- {
5665 MenhirLib.EngineTypes.state = _menhir_s;
5666 MenhirLib.EngineTypes.semv = Obj.repr _v;
5667 MenhirLib.EngineTypes.startp = _startpos;
5668 MenhirLib.EngineTypes.endp = _endpos;
5669 MenhirLib.EngineTypes.next = _menhir_stack;
5670 });
5671 (fun _menhir_env ->
5672 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5673 let {
5674 MenhirLib.EngineTypes.semv = e;
5675 MenhirLib.EngineTypes.startp = _startpos_e_;
5676 MenhirLib.EngineTypes.endp = _endpos_e_;
5677 MenhirLib.EngineTypes.next = {
5678 MenhirLib.EngineTypes.semv = rp;
5679 MenhirLib.EngineTypes.startp = _startpos_rp_;
5680 MenhirLib.EngineTypes.endp = _endpos_rp_;
5681 MenhirLib.EngineTypes.next = {
5682 MenhirLib.EngineTypes.semv = t;
5683 MenhirLib.EngineTypes.startp = _startpos_t_;
5684 MenhirLib.EngineTypes.endp = _endpos_t_;
5685 MenhirLib.EngineTypes.next = {
5686 MenhirLib.EngineTypes.state = _menhir_s;
5687 MenhirLib.EngineTypes.semv = lp;
5688 MenhirLib.EngineTypes.startp = _startpos_lp_;
5689 MenhirLib.EngineTypes.endp = _endpos_lp_;
5690 MenhirLib.EngineTypes.next = _menhir_stack;
5691 };
5692 };
5693 };
5694 } = _menhir_stack in
5695 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
5696 let rp : (
5697 # 145 "parser_cocci_menhir.mly"
5698 (Data.clt)
5699 # 5700 "parser_cocci_menhir.ml"
5700 ) = Obj.magic rp in
5701 let t : 'tv_ctype = Obj.magic t in
5702 let lp : (
5703 # 144 "parser_cocci_menhir.mly"
5704 (Data.clt)
5705 # 5706 "parser_cocci_menhir.ml"
5706 ) = Obj.magic lp in
5707 let _startpos = _startpos_lp_ in
5708 let _endpos = _endpos_e_ in
5709 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
5710 # 1500 "parser_cocci_menhir.mly"
5711 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5712 P.clt2mcode ")" rp, e)) )
5713 # 5714 "parser_cocci_menhir.ml"
5714 in
5715 _menhir_env.MenhirLib.EngineTypes.stack <- {
5716 MenhirLib.EngineTypes.state = _menhir_s;
5717 MenhirLib.EngineTypes.semv = Obj.repr _v;
5718 MenhirLib.EngineTypes.startp = _startpos;
5719 MenhirLib.EngineTypes.endp = _endpos;
5720 MenhirLib.EngineTypes.next = _menhir_stack;
5721 });
5722 (fun _menhir_env ->
5723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5724 let {
5725 MenhirLib.EngineTypes.state = _menhir_s;
5726 MenhirLib.EngineTypes.semv = _1;
5727 MenhirLib.EngineTypes.startp = _startpos__1_;
5728 MenhirLib.EngineTypes.endp = _endpos__1_;
5729 MenhirLib.EngineTypes.next = _menhir_stack;
5730 } = _menhir_stack in
5731 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5732 let _startpos = _startpos__1_ in
5733 let _endpos = _endpos__1_ in
5734 let _v : 'tv_cast_expr_expr_invalid_ =
5735 # 1498 "parser_cocci_menhir.mly"
5736 ( _1 )
5737 # 5738 "parser_cocci_menhir.ml"
5738 in
5739 _menhir_env.MenhirLib.EngineTypes.stack <- {
5740 MenhirLib.EngineTypes.state = _menhir_s;
5741 MenhirLib.EngineTypes.semv = Obj.repr _v;
5742 MenhirLib.EngineTypes.startp = _startpos;
5743 MenhirLib.EngineTypes.endp = _endpos;
5744 MenhirLib.EngineTypes.next = _menhir_stack;
5745 });
5746 (fun _menhir_env ->
5747 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5748 let {
5749 MenhirLib.EngineTypes.semv = e;
5750 MenhirLib.EngineTypes.startp = _startpos_e_;
5751 MenhirLib.EngineTypes.endp = _endpos_e_;
5752 MenhirLib.EngineTypes.next = {
5753 MenhirLib.EngineTypes.semv = rp;
5754 MenhirLib.EngineTypes.startp = _startpos_rp_;
5755 MenhirLib.EngineTypes.endp = _endpos_rp_;
5756 MenhirLib.EngineTypes.next = {
5757 MenhirLib.EngineTypes.semv = t;
5758 MenhirLib.EngineTypes.startp = _startpos_t_;
5759 MenhirLib.EngineTypes.endp = _endpos_t_;
5760 MenhirLib.EngineTypes.next = {
5761 MenhirLib.EngineTypes.state = _menhir_s;
5762 MenhirLib.EngineTypes.semv = lp;
5763 MenhirLib.EngineTypes.startp = _startpos_lp_;
5764 MenhirLib.EngineTypes.endp = _endpos_lp_;
5765 MenhirLib.EngineTypes.next = _menhir_stack;
5766 };
5767 };
5768 };
5769 } = _menhir_stack in
5770 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
5771 let rp : (
5772 # 145 "parser_cocci_menhir.mly"
5773 (Data.clt)
5774 # 5775 "parser_cocci_menhir.ml"
5775 ) = Obj.magic rp in
5776 let t : 'tv_ctype = Obj.magic t in
5777 let lp : (
5778 # 144 "parser_cocci_menhir.mly"
5779 (Data.clt)
5780 # 5781 "parser_cocci_menhir.ml"
5781 ) = Obj.magic lp in
5782 let _startpos = _startpos_lp_ in
5783 let _endpos = _endpos_e_ in
5784 let _v : 'tv_cast_expr_expr_invalid_ =
5785 # 1500 "parser_cocci_menhir.mly"
5786 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5787 P.clt2mcode ")" rp, e)) )
5788 # 5789 "parser_cocci_menhir.ml"
5789 in
5790 _menhir_env.MenhirLib.EngineTypes.stack <- {
5791 MenhirLib.EngineTypes.state = _menhir_s;
5792 MenhirLib.EngineTypes.semv = Obj.repr _v;
5793 MenhirLib.EngineTypes.startp = _startpos;
5794 MenhirLib.EngineTypes.endp = _endpos;
5795 MenhirLib.EngineTypes.next = _menhir_stack;
5796 });
5797 (fun _menhir_env ->
5798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5799 let {
5800 MenhirLib.EngineTypes.semv = _2;
5801 MenhirLib.EngineTypes.startp = _startpos__2_;
5802 MenhirLib.EngineTypes.endp = _endpos__2_;
5803 MenhirLib.EngineTypes.next = {
5804 MenhirLib.EngineTypes.state = _menhir_s;
5805 MenhirLib.EngineTypes.startp = _startpos__1_;
5806 MenhirLib.EngineTypes.endp = _endpos__1_;
5807 MenhirLib.EngineTypes.next = _menhir_stack;
5808 };
5809 } = _menhir_stack in
5810 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
5811 let _startpos = _startpos__1_ in
5812 let _endpos = _endpos__2_ in
5813 let _v : 'tv_choose_iso =
5814 # 307 "parser_cocci_menhir.mly"
5815 ( List.map P.id2name _2 )
5816 # 5817 "parser_cocci_menhir.ml"
5817 in
5818 _menhir_env.MenhirLib.EngineTypes.stack <- {
5819 MenhirLib.EngineTypes.state = _menhir_s;
5820 MenhirLib.EngineTypes.semv = Obj.repr _v;
5821 MenhirLib.EngineTypes.startp = _startpos;
5822 MenhirLib.EngineTypes.endp = _endpos;
5823 MenhirLib.EngineTypes.next = _menhir_stack;
5824 });
5825 (fun _menhir_env ->
5826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5827 let {
5828 MenhirLib.EngineTypes.state = _menhir_s;
5829 MenhirLib.EngineTypes.semv = _1;
5830 MenhirLib.EngineTypes.startp = _startpos__1_;
5831 MenhirLib.EngineTypes.endp = _endpos__1_;
5832 MenhirLib.EngineTypes.next = _menhir_stack;
5833 } = _menhir_stack in
5834 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5835 let _startpos = _startpos__1_ in
5836 let _endpos = _endpos__1_ in
5837 let _v : 'tv_comma_list_any_strict_ =
5838 # 2202 "parser_cocci_menhir.mly"
5839 ( _1 )
5840 # 5841 "parser_cocci_menhir.ml"
5841 in
5842 _menhir_env.MenhirLib.EngineTypes.stack <- {
5843 MenhirLib.EngineTypes.state = _menhir_s;
5844 MenhirLib.EngineTypes.semv = Obj.repr _v;
5845 MenhirLib.EngineTypes.startp = _startpos;
5846 MenhirLib.EngineTypes.endp = _endpos;
5847 MenhirLib.EngineTypes.next = _menhir_stack;
5848 });
5849 (fun _menhir_env ->
5850 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5851 let {
5852 MenhirLib.EngineTypes.state = _menhir_s;
5853 MenhirLib.EngineTypes.semv = _1;
5854 MenhirLib.EngineTypes.startp = _startpos__1_;
5855 MenhirLib.EngineTypes.endp = _endpos__1_;
5856 MenhirLib.EngineTypes.next = _menhir_stack;
5857 } = _menhir_stack in
5858 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5859 let _startpos = _startpos__1_ in
5860 let _endpos = _endpos__1_ in
5861 let _v : 'tv_comma_list_ctype_ =
5862 # 2202 "parser_cocci_menhir.mly"
5863 ( _1 )
5864 # 5865 "parser_cocci_menhir.ml"
5865 in
5866 _menhir_env.MenhirLib.EngineTypes.stack <- {
5867 MenhirLib.EngineTypes.state = _menhir_s;
5868 MenhirLib.EngineTypes.semv = Obj.repr _v;
5869 MenhirLib.EngineTypes.startp = _startpos;
5870 MenhirLib.EngineTypes.endp = _endpos;
5871 MenhirLib.EngineTypes.next = _menhir_stack;
5872 });
5873 (fun _menhir_env ->
5874 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5875 let {
5876 MenhirLib.EngineTypes.state = _menhir_s;
5877 MenhirLib.EngineTypes.semv = _1;
5878 MenhirLib.EngineTypes.startp = _startpos__1_;
5879 MenhirLib.EngineTypes.endp = _endpos__1_;
5880 MenhirLib.EngineTypes.next = _menhir_stack;
5881 } = _menhir_stack in
5882 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5883 let _startpos = _startpos__1_ in
5884 let _endpos = _endpos__1_ in
5885 let _v : 'tv_comma_list_d_ident_ =
5886 # 2202 "parser_cocci_menhir.mly"
5887 ( _1 )
5888 # 5889 "parser_cocci_menhir.ml"
5889 in
5890 _menhir_env.MenhirLib.EngineTypes.stack <- {
5891 MenhirLib.EngineTypes.state = _menhir_s;
5892 MenhirLib.EngineTypes.semv = Obj.repr _v;
5893 MenhirLib.EngineTypes.startp = _startpos;
5894 MenhirLib.EngineTypes.endp = _endpos;
5895 MenhirLib.EngineTypes.next = _menhir_stack;
5896 });
5897 (fun _menhir_env ->
5898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5899 let {
5900 MenhirLib.EngineTypes.state = _menhir_s;
5901 MenhirLib.EngineTypes.semv = _1;
5902 MenhirLib.EngineTypes.startp = _startpos__1_;
5903 MenhirLib.EngineTypes.endp = _endpos__1_;
5904 MenhirLib.EngineTypes.next = _menhir_stack;
5905 } = _menhir_stack in
5906 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5907 let _startpos = _startpos__1_ in
5908 let _endpos = _endpos__1_ in
5909 let _v : 'tv_comma_list_ident_or_const_ =
5910 # 2202 "parser_cocci_menhir.mly"
5911 ( _1 )
5912 # 5913 "parser_cocci_menhir.ml"
5913 in
5914 _menhir_env.MenhirLib.EngineTypes.stack <- {
5915 MenhirLib.EngineTypes.state = _menhir_s;
5916 MenhirLib.EngineTypes.semv = Obj.repr _v;
5917 MenhirLib.EngineTypes.startp = _startpos;
5918 MenhirLib.EngineTypes.endp = _endpos;
5919 MenhirLib.EngineTypes.next = _menhir_stack;
5920 });
5921 (fun _menhir_env ->
5922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5923 let {
5924 MenhirLib.EngineTypes.state = _menhir_s;
5925 MenhirLib.EngineTypes.semv = _1;
5926 MenhirLib.EngineTypes.startp = _startpos__1_;
5927 MenhirLib.EngineTypes.endp = _endpos__1_;
5928 MenhirLib.EngineTypes.next = _menhir_stack;
5929 } = _menhir_stack in
5930 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5931 let _startpos = _startpos__1_ in
5932 let _endpos = _endpos__1_ in
5933 let _v : 'tv_comma_list_meta_ident_ =
5934 # 2202 "parser_cocci_menhir.mly"
5935 ( _1 )
5936 # 5937 "parser_cocci_menhir.ml"
5937 in
5938 _menhir_env.MenhirLib.EngineTypes.stack <- {
5939 MenhirLib.EngineTypes.state = _menhir_s;
5940 MenhirLib.EngineTypes.semv = Obj.repr _v;
5941 MenhirLib.EngineTypes.startp = _startpos;
5942 MenhirLib.EngineTypes.endp = _endpos;
5943 MenhirLib.EngineTypes.next = _menhir_stack;
5944 });
5945 (fun _menhir_env ->
5946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5947 let {
5948 MenhirLib.EngineTypes.state = _menhir_s;
5949 MenhirLib.EngineTypes.semv = _1;
5950 MenhirLib.EngineTypes.startp = _startpos__1_;
5951 MenhirLib.EngineTypes.endp = _endpos__1_;
5952 MenhirLib.EngineTypes.next = _menhir_stack;
5953 } = _menhir_stack in
5954 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5955 let _startpos = _startpos__1_ in
5956 let _endpos = _endpos__1_ in
5957 let _v : 'tv_comma_list_pure_ident_ =
5958 # 2202 "parser_cocci_menhir.mly"
5959 ( _1 )
5960 # 5961 "parser_cocci_menhir.ml"
5961 in
5962 _menhir_env.MenhirLib.EngineTypes.stack <- {
5963 MenhirLib.EngineTypes.state = _menhir_s;
5964 MenhirLib.EngineTypes.semv = Obj.repr _v;
5965 MenhirLib.EngineTypes.startp = _startpos;
5966 MenhirLib.EngineTypes.endp = _endpos;
5967 MenhirLib.EngineTypes.next = _menhir_stack;
5968 });
5969 (fun _menhir_env ->
5970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5971 let {
5972 MenhirLib.EngineTypes.state = _menhir_s;
5973 MenhirLib.EngineTypes.semv = _1;
5974 MenhirLib.EngineTypes.startp = _startpos__1_;
5975 MenhirLib.EngineTypes.endp = _endpos__1_;
5976 MenhirLib.EngineTypes.next = _menhir_stack;
5977 } = _menhir_stack in
5978 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5979 let _startpos = _startpos__1_ in
5980 let _endpos = _endpos__1_ in
5981 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5982 # 2202 "parser_cocci_menhir.mly"
5983 ( _1 )
5984 # 5985 "parser_cocci_menhir.ml"
5985 in
5986 _menhir_env.MenhirLib.EngineTypes.stack <- {
5987 MenhirLib.EngineTypes.state = _menhir_s;
5988 MenhirLib.EngineTypes.semv = Obj.repr _v;
5989 MenhirLib.EngineTypes.startp = _startpos;
5990 MenhirLib.EngineTypes.endp = _endpos;
5991 MenhirLib.EngineTypes.next = _menhir_stack;
5992 });
5993 (fun _menhir_env ->
5994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5995 let {
5996 MenhirLib.EngineTypes.state = _menhir_s;
5997 MenhirLib.EngineTypes.semv = _1;
5998 MenhirLib.EngineTypes.startp = _startpos__1_;
5999 MenhirLib.EngineTypes.endp = _endpos__1_;
6000 MenhirLib.EngineTypes.next = _menhir_stack;
6001 } = _menhir_stack in
6002 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
6003 let _startpos = _startpos__1_ in
6004 let _endpos = _endpos__1_ in
6005 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
6006 # 2202 "parser_cocci_menhir.mly"
6007 ( _1 )
6008 # 6009 "parser_cocci_menhir.ml"
6009 in
6010 _menhir_env.MenhirLib.EngineTypes.stack <- {
6011 MenhirLib.EngineTypes.state = _menhir_s;
6012 MenhirLib.EngineTypes.semv = Obj.repr _v;
6013 MenhirLib.EngineTypes.startp = _startpos;
6014 MenhirLib.EngineTypes.endp = _endpos;
6015 MenhirLib.EngineTypes.next = _menhir_stack;
6016 });
6017 (fun _menhir_env ->
6018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6019 let {
6020 MenhirLib.EngineTypes.state = _menhir_s;
6021 MenhirLib.EngineTypes.semv = _1;
6022 MenhirLib.EngineTypes.startp = _startpos__1_;
6023 MenhirLib.EngineTypes.endp = _endpos__1_;
6024 MenhirLib.EngineTypes.next = _menhir_stack;
6025 } = _menhir_stack in
6026 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
6027 let _startpos = _startpos__1_ in
6028 let _endpos = _endpos__1_ in
6029 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
6030 # 2202 "parser_cocci_menhir.mly"
6031 ( _1 )
6032 # 6033 "parser_cocci_menhir.ml"
6033 in
6034 _menhir_env.MenhirLib.EngineTypes.stack <- {
6035 MenhirLib.EngineTypes.state = _menhir_s;
6036 MenhirLib.EngineTypes.semv = Obj.repr _v;
6037 MenhirLib.EngineTypes.startp = _startpos;
6038 MenhirLib.EngineTypes.endp = _endpos;
6039 MenhirLib.EngineTypes.next = _menhir_stack;
6040 });
6041 (fun _menhir_env ->
6042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6043 let {
6044 MenhirLib.EngineTypes.state = _menhir_s;
6045 MenhirLib.EngineTypes.semv = _1;
6046 MenhirLib.EngineTypes.startp = _startpos__1_;
6047 MenhirLib.EngineTypes.endp = _endpos__1_;
6048 MenhirLib.EngineTypes.next = _menhir_stack;
6049 } = _menhir_stack in
6050 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
6051 let _startpos = _startpos__1_ in
6052 let _endpos = _endpos__1_ in
6053 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
6054 # 2202 "parser_cocci_menhir.mly"
6055 ( _1 )
6056 # 6057 "parser_cocci_menhir.ml"
6057 in
6058 _menhir_env.MenhirLib.EngineTypes.stack <- {
6059 MenhirLib.EngineTypes.state = _menhir_s;
6060 MenhirLib.EngineTypes.semv = Obj.repr _v;
6061 MenhirLib.EngineTypes.startp = _startpos;
6062 MenhirLib.EngineTypes.endp = _endpos;
6063 MenhirLib.EngineTypes.next = _menhir_stack;
6064 });
6065 (fun _menhir_env ->
6066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6067 let {
6068 MenhirLib.EngineTypes.state = _menhir_s;
6069 MenhirLib.EngineTypes.semv = _1;
6070 MenhirLib.EngineTypes.startp = _startpos__1_;
6071 MenhirLib.EngineTypes.endp = _endpos__1_;
6072 MenhirLib.EngineTypes.next = _menhir_stack;
6073 } = _menhir_stack in
6074 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
6075 let _startpos = _startpos__1_ in
6076 let _endpos = _endpos__1_ in
6077 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
6078 # 2202 "parser_cocci_menhir.mly"
6079 ( _1 )
6080 # 6081 "parser_cocci_menhir.ml"
6081 in
6082 _menhir_env.MenhirLib.EngineTypes.stack <- {
6083 MenhirLib.EngineTypes.state = _menhir_s;
6084 MenhirLib.EngineTypes.semv = Obj.repr _v;
6085 MenhirLib.EngineTypes.startp = _startpos;
6086 MenhirLib.EngineTypes.endp = _endpos;
6087 MenhirLib.EngineTypes.next = _menhir_stack;
6088 });
6089 (fun _menhir_env ->
6090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6091 let {
6092 MenhirLib.EngineTypes.state = _menhir_s;
6093 MenhirLib.EngineTypes.semv = _1;
6094 MenhirLib.EngineTypes.startp = _startpos__1_;
6095 MenhirLib.EngineTypes.endp = _endpos__1_;
6096 MenhirLib.EngineTypes.next = _menhir_stack;
6097 } = _menhir_stack in
6098 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
6099 let _startpos = _startpos__1_ in
6100 let _endpos = _endpos__1_ in
6101 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
6102 # 2202 "parser_cocci_menhir.mly"
6103 ( _1 )
6104 # 6105 "parser_cocci_menhir.ml"
6105 in
6106 _menhir_env.MenhirLib.EngineTypes.stack <- {
6107 MenhirLib.EngineTypes.state = _menhir_s;
6108 MenhirLib.EngineTypes.semv = Obj.repr _v;
6109 MenhirLib.EngineTypes.startp = _startpos;
6110 MenhirLib.EngineTypes.endp = _endpos;
6111 MenhirLib.EngineTypes.next = _menhir_stack;
6112 });
6113 (fun _menhir_env ->
6114 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6115 let {
6116 MenhirLib.EngineTypes.state = _menhir_s;
6117 MenhirLib.EngineTypes.semv = _1;
6118 MenhirLib.EngineTypes.startp = _startpos__1_;
6119 MenhirLib.EngineTypes.endp = _endpos__1_;
6120 MenhirLib.EngineTypes.next = _menhir_stack;
6121 } = _menhir_stack in
6122 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
6123 let _startpos = _startpos__1_ in
6124 let _endpos = _endpos__1_ in
6125 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
6126 # 2202 "parser_cocci_menhir.mly"
6127 ( _1 )
6128 # 6129 "parser_cocci_menhir.ml"
6129 in
6130 _menhir_env.MenhirLib.EngineTypes.stack <- {
6131 MenhirLib.EngineTypes.state = _menhir_s;
6132 MenhirLib.EngineTypes.semv = Obj.repr _v;
6133 MenhirLib.EngineTypes.startp = _startpos;
6134 MenhirLib.EngineTypes.endp = _endpos;
6135 MenhirLib.EngineTypes.next = _menhir_stack;
6136 });
6137 (fun _menhir_env ->
6138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6139 let {
6140 MenhirLib.EngineTypes.state = _menhir_s;
6141 MenhirLib.EngineTypes.semv = _1;
6142 MenhirLib.EngineTypes.startp = _startpos__1_;
6143 MenhirLib.EngineTypes.endp = _endpos__1_;
6144 MenhirLib.EngineTypes.next = _menhir_stack;
6145 } = _menhir_stack in
6146 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
6147 let _startpos = _startpos__1_ in
6148 let _endpos = _endpos__1_ in
6149 let _v : 'tv_comma_list_typedef_ident_ =
6150 # 2202 "parser_cocci_menhir.mly"
6151 ( _1 )
6152 # 6153 "parser_cocci_menhir.ml"
6153 in
6154 _menhir_env.MenhirLib.EngineTypes.stack <- {
6155 MenhirLib.EngineTypes.state = _menhir_s;
6156 MenhirLib.EngineTypes.semv = Obj.repr _v;
6157 MenhirLib.EngineTypes.startp = _startpos;
6158 MenhirLib.EngineTypes.endp = _endpos;
6159 MenhirLib.EngineTypes.next = _menhir_stack;
6160 });
6161 (fun _menhir_env ->
6162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6163 let {
6164 MenhirLib.EngineTypes.state = _menhir_s;
6165 MenhirLib.EngineTypes.semv = _1;
6166 MenhirLib.EngineTypes.startp = _startpos__1_;
6167 MenhirLib.EngineTypes.endp = _endpos__1_;
6168 MenhirLib.EngineTypes.next = _menhir_stack;
6169 } = _menhir_stack in
6170 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
6171 let _startpos = _startpos__1_ in
6172 let _endpos = _endpos__1_ in
6173 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
6174 # 1428 "parser_cocci_menhir.mly"
6175 ( _1 )
6176 # 6177 "parser_cocci_menhir.ml"
6177 in
6178 _menhir_env.MenhirLib.EngineTypes.stack <- {
6179 MenhirLib.EngineTypes.state = _menhir_s;
6180 MenhirLib.EngineTypes.semv = Obj.repr _v;
6181 MenhirLib.EngineTypes.startp = _startpos;
6182 MenhirLib.EngineTypes.endp = _endpos;
6183 MenhirLib.EngineTypes.next = _menhir_stack;
6184 });
6185 (fun _menhir_env ->
6186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6187 let {
6188 MenhirLib.EngineTypes.semv = r;
6189 MenhirLib.EngineTypes.startp = _startpos_r_;
6190 MenhirLib.EngineTypes.endp = _endpos_r_;
6191 MenhirLib.EngineTypes.next = {
6192 MenhirLib.EngineTypes.semv = dd;
6193 MenhirLib.EngineTypes.startp = _startpos_dd_;
6194 MenhirLib.EngineTypes.endp = _endpos_dd_;
6195 MenhirLib.EngineTypes.next = {
6196 MenhirLib.EngineTypes.semv = t;
6197 MenhirLib.EngineTypes.startp = _startpos_t_;
6198 MenhirLib.EngineTypes.endp = _endpos_t_;
6199 MenhirLib.EngineTypes.next = {
6200 MenhirLib.EngineTypes.semv = w;
6201 MenhirLib.EngineTypes.startp = _startpos_w_;
6202 MenhirLib.EngineTypes.endp = _endpos_w_;
6203 MenhirLib.EngineTypes.next = {
6204 MenhirLib.EngineTypes.state = _menhir_s;
6205 MenhirLib.EngineTypes.semv = l;
6206 MenhirLib.EngineTypes.startp = _startpos_l_;
6207 MenhirLib.EngineTypes.endp = _endpos_l_;
6208 MenhirLib.EngineTypes.next = _menhir_stack;
6209 };
6210 };
6211 };
6212 };
6213 } = _menhir_stack in
6214 let r : 'tv_eexpr = Obj.magic r in
6215 let dd : (
6216 # 144 "parser_cocci_menhir.mly"
6217 (Data.clt)
6218 # 6219 "parser_cocci_menhir.ml"
6219 ) = Obj.magic dd in
6220 let t : 'tv_option_eexpr_ = Obj.magic t in
6221 let w : (
6222 # 144 "parser_cocci_menhir.mly"
6223 (Data.clt)
6224 # 6225 "parser_cocci_menhir.ml"
6225 ) = Obj.magic w in
6226 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
6227 let _startpos = _startpos_l_ in
6228 let _endpos = _endpos_r_ in
6229 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
6230 # 1430 "parser_cocci_menhir.mly"
6231 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
6232 P.clt2mcode ":" dd, r)) )
6233 # 6234 "parser_cocci_menhir.ml"
6234 in
6235 _menhir_env.MenhirLib.EngineTypes.stack <- {
6236 MenhirLib.EngineTypes.state = _menhir_s;
6237 MenhirLib.EngineTypes.semv = Obj.repr _v;
6238 MenhirLib.EngineTypes.startp = _startpos;
6239 MenhirLib.EngineTypes.endp = _endpos;
6240 MenhirLib.EngineTypes.next = _menhir_stack;
6241 });
6242 (fun _menhir_env ->
6243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6244 let {
6245 MenhirLib.EngineTypes.state = _menhir_s;
6246 MenhirLib.EngineTypes.semv = _1;
6247 MenhirLib.EngineTypes.startp = _startpos__1_;
6248 MenhirLib.EngineTypes.endp = _endpos__1_;
6249 MenhirLib.EngineTypes.next = _menhir_stack;
6250 } = _menhir_stack in
6251 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
6252 let _startpos = _startpos__1_ in
6253 let _endpos = _endpos__1_ in
6254 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
6255 # 1428 "parser_cocci_menhir.mly"
6256 ( _1 )
6257 # 6258 "parser_cocci_menhir.ml"
6258 in
6259 _menhir_env.MenhirLib.EngineTypes.stack <- {
6260 MenhirLib.EngineTypes.state = _menhir_s;
6261 MenhirLib.EngineTypes.semv = Obj.repr _v;
6262 MenhirLib.EngineTypes.startp = _startpos;
6263 MenhirLib.EngineTypes.endp = _endpos;
6264 MenhirLib.EngineTypes.next = _menhir_stack;
6265 });
6266 (fun _menhir_env ->
6267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6268 let {
6269 MenhirLib.EngineTypes.semv = r;
6270 MenhirLib.EngineTypes.startp = _startpos_r_;
6271 MenhirLib.EngineTypes.endp = _endpos_r_;
6272 MenhirLib.EngineTypes.next = {
6273 MenhirLib.EngineTypes.semv = dd;
6274 MenhirLib.EngineTypes.startp = _startpos_dd_;
6275 MenhirLib.EngineTypes.endp = _endpos_dd_;
6276 MenhirLib.EngineTypes.next = {
6277 MenhirLib.EngineTypes.semv = t;
6278 MenhirLib.EngineTypes.startp = _startpos_t_;
6279 MenhirLib.EngineTypes.endp = _endpos_t_;
6280 MenhirLib.EngineTypes.next = {
6281 MenhirLib.EngineTypes.semv = w;
6282 MenhirLib.EngineTypes.startp = _startpos_w_;
6283 MenhirLib.EngineTypes.endp = _endpos_w_;
6284 MenhirLib.EngineTypes.next = {
6285 MenhirLib.EngineTypes.state = _menhir_s;
6286 MenhirLib.EngineTypes.semv = l;
6287 MenhirLib.EngineTypes.startp = _startpos_l_;
6288 MenhirLib.EngineTypes.endp = _endpos_l_;
6289 MenhirLib.EngineTypes.next = _menhir_stack;
6290 };
6291 };
6292 };
6293 };
6294 } = _menhir_stack in
6295 let r : 'tv_eexpr = Obj.magic r in
6296 let dd : (
6297 # 144 "parser_cocci_menhir.mly"
6298 (Data.clt)
6299 # 6300 "parser_cocci_menhir.ml"
6300 ) = Obj.magic dd in
6301 let t : 'tv_option_eexpr_ = Obj.magic t in
6302 let w : (
6303 # 144 "parser_cocci_menhir.mly"
6304 (Data.clt)
6305 # 6306 "parser_cocci_menhir.ml"
6306 ) = Obj.magic w in
6307 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
6308 let _startpos = _startpos_l_ in
6309 let _endpos = _endpos_r_ in
6310 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
6311 # 1430 "parser_cocci_menhir.mly"
6312 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
6313 P.clt2mcode ":" dd, r)) )
6314 # 6315 "parser_cocci_menhir.ml"
6315 in
6316 _menhir_env.MenhirLib.EngineTypes.stack <- {
6317 MenhirLib.EngineTypes.state = _menhir_s;
6318 MenhirLib.EngineTypes.semv = Obj.repr _v;
6319 MenhirLib.EngineTypes.startp = _startpos;
6320 MenhirLib.EngineTypes.endp = _endpos;
6321 MenhirLib.EngineTypes.next = _menhir_stack;
6322 });
6323 (fun _menhir_env ->
6324 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6325 let {
6326 MenhirLib.EngineTypes.state = _menhir_s;
6327 MenhirLib.EngineTypes.semv = _1;
6328 MenhirLib.EngineTypes.startp = _startpos__1_;
6329 MenhirLib.EngineTypes.endp = _endpos__1_;
6330 MenhirLib.EngineTypes.next = _menhir_stack;
6331 } = _menhir_stack in
6332 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
6333 let _startpos = _startpos__1_ in
6334 let _endpos = _endpos__1_ in
6335 let _v : 'tv_cond_expr_expr_invalid_ =
6336 # 1428 "parser_cocci_menhir.mly"
6337 ( _1 )
6338 # 6339 "parser_cocci_menhir.ml"
6339 in
6340 _menhir_env.MenhirLib.EngineTypes.stack <- {
6341 MenhirLib.EngineTypes.state = _menhir_s;
6342 MenhirLib.EngineTypes.semv = Obj.repr _v;
6343 MenhirLib.EngineTypes.startp = _startpos;
6344 MenhirLib.EngineTypes.endp = _endpos;
6345 MenhirLib.EngineTypes.next = _menhir_stack;
6346 });
6347 (fun _menhir_env ->
6348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6349 let {
6350 MenhirLib.EngineTypes.semv = r;
6351 MenhirLib.EngineTypes.startp = _startpos_r_;
6352 MenhirLib.EngineTypes.endp = _endpos_r_;
6353 MenhirLib.EngineTypes.next = {
6354 MenhirLib.EngineTypes.semv = dd;
6355 MenhirLib.EngineTypes.startp = _startpos_dd_;
6356 MenhirLib.EngineTypes.endp = _endpos_dd_;
6357 MenhirLib.EngineTypes.next = {
6358 MenhirLib.EngineTypes.semv = t;
6359 MenhirLib.EngineTypes.startp = _startpos_t_;
6360 MenhirLib.EngineTypes.endp = _endpos_t_;
6361 MenhirLib.EngineTypes.next = {
6362 MenhirLib.EngineTypes.semv = w;
6363 MenhirLib.EngineTypes.startp = _startpos_w_;
6364 MenhirLib.EngineTypes.endp = _endpos_w_;
6365 MenhirLib.EngineTypes.next = {
6366 MenhirLib.EngineTypes.state = _menhir_s;
6367 MenhirLib.EngineTypes.semv = l;
6368 MenhirLib.EngineTypes.startp = _startpos_l_;
6369 MenhirLib.EngineTypes.endp = _endpos_l_;
6370 MenhirLib.EngineTypes.next = _menhir_stack;
6371 };
6372 };
6373 };
6374 };
6375 } = _menhir_stack in
6376 let r : 'tv_eexpr = Obj.magic r in
6377 let dd : (
6378 # 144 "parser_cocci_menhir.mly"
6379 (Data.clt)
6380 # 6381 "parser_cocci_menhir.ml"
6381 ) = Obj.magic dd in
6382 let t : 'tv_option_eexpr_ = Obj.magic t in
6383 let w : (
6384 # 144 "parser_cocci_menhir.mly"
6385 (Data.clt)
6386 # 6387 "parser_cocci_menhir.ml"
6387 ) = Obj.magic w in
6388 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
6389 let _startpos = _startpos_l_ in
6390 let _endpos = _endpos_r_ in
6391 let _v : 'tv_cond_expr_expr_invalid_ =
6392 # 1430 "parser_cocci_menhir.mly"
6393 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
6394 P.clt2mcode ":" dd, r)) )
6395 # 6396 "parser_cocci_menhir.ml"
6396 in
6397 _menhir_env.MenhirLib.EngineTypes.stack <- {
6398 MenhirLib.EngineTypes.state = _menhir_s;
6399 MenhirLib.EngineTypes.semv = Obj.repr _v;
6400 MenhirLib.EngineTypes.startp = _startpos;
6401 MenhirLib.EngineTypes.endp = _endpos;
6402 MenhirLib.EngineTypes.next = _menhir_stack;
6403 });
6404 (fun _menhir_env ->
6405 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6406 let {
6407 MenhirLib.EngineTypes.state = _menhir_s;
6408 MenhirLib.EngineTypes.semv = _1;
6409 MenhirLib.EngineTypes.startp = _startpos__1_;
6410 MenhirLib.EngineTypes.endp = _endpos__1_;
6411 MenhirLib.EngineTypes.next = _menhir_stack;
6412 } = _menhir_stack in
6413 let _1 : (
6414 # 120 "parser_cocci_menhir.mly"
6415 (Data.clt)
6416 # 6417 "parser_cocci_menhir.ml"
6417 ) = Obj.magic _1 in
6418 let _startpos = _startpos__1_ in
6419 let _endpos = _endpos__1_ in
6420 let _v : 'tv_const_vol =
6421 # 1035 "parser_cocci_menhir.mly"
6422 ( P.clt2mcode Ast.Const _1 )
6423 # 6424 "parser_cocci_menhir.ml"
6424 in
6425 _menhir_env.MenhirLib.EngineTypes.stack <- {
6426 MenhirLib.EngineTypes.state = _menhir_s;
6427 MenhirLib.EngineTypes.semv = Obj.repr _v;
6428 MenhirLib.EngineTypes.startp = _startpos;
6429 MenhirLib.EngineTypes.endp = _endpos;
6430 MenhirLib.EngineTypes.next = _menhir_stack;
6431 });
6432 (fun _menhir_env ->
6433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6434 let {
6435 MenhirLib.EngineTypes.state = _menhir_s;
6436 MenhirLib.EngineTypes.semv = _1;
6437 MenhirLib.EngineTypes.startp = _startpos__1_;
6438 MenhirLib.EngineTypes.endp = _endpos__1_;
6439 MenhirLib.EngineTypes.next = _menhir_stack;
6440 } = _menhir_stack in
6441 let _1 : (
6442 # 120 "parser_cocci_menhir.mly"
6443 (Data.clt)
6444 # 6445 "parser_cocci_menhir.ml"
6445 ) = Obj.magic _1 in
6446 let _startpos = _startpos__1_ in
6447 let _endpos = _endpos__1_ in
6448 let _v : 'tv_const_vol =
6449 # 1036 "parser_cocci_menhir.mly"
6450 ( P.clt2mcode Ast.Volatile _1 )
6451 # 6452 "parser_cocci_menhir.ml"
6452 in
6453 _menhir_env.MenhirLib.EngineTypes.stack <- {
6454 MenhirLib.EngineTypes.state = _menhir_s;
6455 MenhirLib.EngineTypes.semv = Obj.repr _v;
6456 MenhirLib.EngineTypes.startp = _startpos;
6457 MenhirLib.EngineTypes.endp = _endpos;
6458 MenhirLib.EngineTypes.next = _menhir_stack;
6459 });
6460 (fun _menhir_env ->
6461 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6462 let {
6463 MenhirLib.EngineTypes.state = _menhir_s;
6464 MenhirLib.EngineTypes.semv = _1;
6465 MenhirLib.EngineTypes.startp = _startpos__1_;
6466 MenhirLib.EngineTypes.endp = _endpos__1_;
6467 MenhirLib.EngineTypes.next = _menhir_stack;
6468 } = _menhir_stack in
6469 let _1 : 'tv_aexpr = Obj.magic _1 in
6470 let _startpos = _startpos__1_ in
6471 let _endpos = _endpos__1_ in
6472 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6473 # 1978 "parser_cocci_menhir.mly"
6474 ( fun build_dots build_comma -> [_1] )
6475 # 6476 "parser_cocci_menhir.ml"
6476 in
6477 _menhir_env.MenhirLib.EngineTypes.stack <- {
6478 MenhirLib.EngineTypes.state = _menhir_s;
6479 MenhirLib.EngineTypes.semv = Obj.repr _v;
6480 MenhirLib.EngineTypes.startp = _startpos;
6481 MenhirLib.EngineTypes.endp = _endpos;
6482 MenhirLib.EngineTypes.next = _menhir_stack;
6483 });
6484 (fun _menhir_env ->
6485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6486 let {
6487 MenhirLib.EngineTypes.semv = _2;
6488 MenhirLib.EngineTypes.startp = _startpos__2_;
6489 MenhirLib.EngineTypes.endp = _endpos__2_;
6490 MenhirLib.EngineTypes.next = {
6491 MenhirLib.EngineTypes.state = _menhir_s;
6492 MenhirLib.EngineTypes.semv = _1;
6493 MenhirLib.EngineTypes.startp = _startpos__1_;
6494 MenhirLib.EngineTypes.endp = _endpos__1_;
6495 MenhirLib.EngineTypes.next = _menhir_stack;
6496 };
6497 } = _menhir_stack in
6498 let _2 : (
6499 # 175 "parser_cocci_menhir.mly"
6500 (Data.clt)
6501 # 6502 "parser_cocci_menhir.ml"
6502 ) = Obj.magic _2 in
6503 let _1 : 'tv_aexpr = Obj.magic _1 in
6504 let _startpos = _startpos__1_ in
6505 let _endpos = _endpos__2_ in
6506 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6507 # 1980 "parser_cocci_menhir.mly"
6508 ( fun build_dots build_comma ->
6509 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6510 # 6511 "parser_cocci_menhir.ml"
6511 in
6512 _menhir_env.MenhirLib.EngineTypes.stack <- {
6513 MenhirLib.EngineTypes.state = _menhir_s;
6514 MenhirLib.EngineTypes.semv = Obj.repr _v;
6515 MenhirLib.EngineTypes.startp = _startpos;
6516 MenhirLib.EngineTypes.endp = _endpos;
6517 MenhirLib.EngineTypes.next = _menhir_stack;
6518 });
6519 (fun _menhir_env ->
6520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6521 let {
6522 MenhirLib.EngineTypes.semv = _3;
6523 MenhirLib.EngineTypes.startp = _startpos__3_;
6524 MenhirLib.EngineTypes.endp = _endpos__3_;
6525 MenhirLib.EngineTypes.next = {
6526 MenhirLib.EngineTypes.semv = _2;
6527 MenhirLib.EngineTypes.startp = _startpos__2_;
6528 MenhirLib.EngineTypes.endp = _endpos__2_;
6529 MenhirLib.EngineTypes.next = {
6530 MenhirLib.EngineTypes.state = _menhir_s;
6531 MenhirLib.EngineTypes.semv = _1;
6532 MenhirLib.EngineTypes.startp = _startpos__1_;
6533 MenhirLib.EngineTypes.endp = _endpos__1_;
6534 MenhirLib.EngineTypes.next = _menhir_stack;
6535 };
6536 };
6537 } = _menhir_stack in
6538 let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
6539 let _2 : (
6540 # 175 "parser_cocci_menhir.mly"
6541 (Data.clt)
6542 # 6543 "parser_cocci_menhir.ml"
6543 ) = Obj.magic _2 in
6544 let _1 : 'tv_aexpr = Obj.magic _1 in
6545 let _startpos = _startpos__1_ in
6546 let _endpos = _endpos__3_ in
6547 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6548 # 1983 "parser_cocci_menhir.mly"
6549 ( fun build_dots build_comma ->
6550 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6551 (_3 build_dots build_comma) )
6552 # 6553 "parser_cocci_menhir.ml"
6553 in
6554 _menhir_env.MenhirLib.EngineTypes.stack <- {
6555 MenhirLib.EngineTypes.state = _menhir_s;
6556 MenhirLib.EngineTypes.semv = Obj.repr _v;
6557 MenhirLib.EngineTypes.startp = _startpos;
6558 MenhirLib.EngineTypes.endp = _endpos;
6559 MenhirLib.EngineTypes.next = _menhir_stack;
6560 });
6561 (fun _menhir_env ->
6562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6563 let {
6564 MenhirLib.EngineTypes.semv = _2;
6565 MenhirLib.EngineTypes.startp = _startpos__2_;
6566 MenhirLib.EngineTypes.endp = _endpos__2_;
6567 MenhirLib.EngineTypes.next = {
6568 MenhirLib.EngineTypes.state = _menhir_s;
6569 MenhirLib.EngineTypes.startp = _startpos__1_;
6570 MenhirLib.EngineTypes.endp = _endpos__1_;
6571 MenhirLib.EngineTypes.next = _menhir_stack;
6572 };
6573 } = _menhir_stack in
6574 let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
6575 let _startpos = _startpos__1_ in
6576 let _endpos = _endpos__2_ in
6577 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6578 # 1986 "parser_cocci_menhir.mly"
6579 ( _2 )
6580 # 6581 "parser_cocci_menhir.ml"
6581 in
6582 _menhir_env.MenhirLib.EngineTypes.stack <- {
6583 MenhirLib.EngineTypes.state = _menhir_s;
6584 MenhirLib.EngineTypes.semv = Obj.repr _v;
6585 MenhirLib.EngineTypes.startp = _startpos;
6586 MenhirLib.EngineTypes.endp = _endpos;
6587 MenhirLib.EngineTypes.next = _menhir_stack;
6588 });
6589 (fun _menhir_env ->
6590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6591 let {
6592 MenhirLib.EngineTypes.state = _menhir_s;
6593 MenhirLib.EngineTypes.semv = _1;
6594 MenhirLib.EngineTypes.startp = _startpos__1_;
6595 MenhirLib.EngineTypes.endp = _endpos__1_;
6596 MenhirLib.EngineTypes.next = _menhir_stack;
6597 } = _menhir_stack in
6598 let _1 : 'tv_dparam = Obj.magic _1 in
6599 let _startpos = _startpos__1_ in
6600 let _endpos = _endpos__1_ in
6601 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6602 # 1978 "parser_cocci_menhir.mly"
6603 ( fun build_dots build_comma -> [_1] )
6604 # 6605 "parser_cocci_menhir.ml"
6605 in
6606 _menhir_env.MenhirLib.EngineTypes.stack <- {
6607 MenhirLib.EngineTypes.state = _menhir_s;
6608 MenhirLib.EngineTypes.semv = Obj.repr _v;
6609 MenhirLib.EngineTypes.startp = _startpos;
6610 MenhirLib.EngineTypes.endp = _endpos;
6611 MenhirLib.EngineTypes.next = _menhir_stack;
6612 });
6613 (fun _menhir_env ->
6614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6615 let {
6616 MenhirLib.EngineTypes.semv = _2;
6617 MenhirLib.EngineTypes.startp = _startpos__2_;
6618 MenhirLib.EngineTypes.endp = _endpos__2_;
6619 MenhirLib.EngineTypes.next = {
6620 MenhirLib.EngineTypes.state = _menhir_s;
6621 MenhirLib.EngineTypes.semv = _1;
6622 MenhirLib.EngineTypes.startp = _startpos__1_;
6623 MenhirLib.EngineTypes.endp = _endpos__1_;
6624 MenhirLib.EngineTypes.next = _menhir_stack;
6625 };
6626 } = _menhir_stack in
6627 let _2 : (
6628 # 175 "parser_cocci_menhir.mly"
6629 (Data.clt)
6630 # 6631 "parser_cocci_menhir.ml"
6631 ) = Obj.magic _2 in
6632 let _1 : 'tv_dparam = Obj.magic _1 in
6633 let _startpos = _startpos__1_ in
6634 let _endpos = _endpos__2_ in
6635 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6636 # 1980 "parser_cocci_menhir.mly"
6637 ( fun build_dots build_comma ->
6638 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6639 # 6640 "parser_cocci_menhir.ml"
6640 in
6641 _menhir_env.MenhirLib.EngineTypes.stack <- {
6642 MenhirLib.EngineTypes.state = _menhir_s;
6643 MenhirLib.EngineTypes.semv = Obj.repr _v;
6644 MenhirLib.EngineTypes.startp = _startpos;
6645 MenhirLib.EngineTypes.endp = _endpos;
6646 MenhirLib.EngineTypes.next = _menhir_stack;
6647 });
6648 (fun _menhir_env ->
6649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6650 let {
6651 MenhirLib.EngineTypes.semv = _3;
6652 MenhirLib.EngineTypes.startp = _startpos__3_;
6653 MenhirLib.EngineTypes.endp = _endpos__3_;
6654 MenhirLib.EngineTypes.next = {
6655 MenhirLib.EngineTypes.semv = _2;
6656 MenhirLib.EngineTypes.startp = _startpos__2_;
6657 MenhirLib.EngineTypes.endp = _endpos__2_;
6658 MenhirLib.EngineTypes.next = {
6659 MenhirLib.EngineTypes.state = _menhir_s;
6660 MenhirLib.EngineTypes.semv = _1;
6661 MenhirLib.EngineTypes.startp = _startpos__1_;
6662 MenhirLib.EngineTypes.endp = _endpos__1_;
6663 MenhirLib.EngineTypes.next = _menhir_stack;
6664 };
6665 };
6666 } = _menhir_stack in
6667 let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
6668 let _2 : (
6669 # 175 "parser_cocci_menhir.mly"
6670 (Data.clt)
6671 # 6672 "parser_cocci_menhir.ml"
6672 ) = Obj.magic _2 in
6673 let _1 : 'tv_dparam = Obj.magic _1 in
6674 let _startpos = _startpos__1_ in
6675 let _endpos = _endpos__3_ in
6676 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6677 # 1983 "parser_cocci_menhir.mly"
6678 ( fun build_dots build_comma ->
6679 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6680 (_3 build_dots build_comma) )
6681 # 6682 "parser_cocci_menhir.ml"
6682 in
6683 _menhir_env.MenhirLib.EngineTypes.stack <- {
6684 MenhirLib.EngineTypes.state = _menhir_s;
6685 MenhirLib.EngineTypes.semv = Obj.repr _v;
6686 MenhirLib.EngineTypes.startp = _startpos;
6687 MenhirLib.EngineTypes.endp = _endpos;
6688 MenhirLib.EngineTypes.next = _menhir_stack;
6689 });
6690 (fun _menhir_env ->
6691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6692 let {
6693 MenhirLib.EngineTypes.semv = _2;
6694 MenhirLib.EngineTypes.startp = _startpos__2_;
6695 MenhirLib.EngineTypes.endp = _endpos__2_;
6696 MenhirLib.EngineTypes.next = {
6697 MenhirLib.EngineTypes.state = _menhir_s;
6698 MenhirLib.EngineTypes.startp = _startpos__1_;
6699 MenhirLib.EngineTypes.endp = _endpos__1_;
6700 MenhirLib.EngineTypes.next = _menhir_stack;
6701 };
6702 } = _menhir_stack in
6703 let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
6704 let _startpos = _startpos__1_ in
6705 let _endpos = _endpos__2_ in
6706 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6707 # 1986 "parser_cocci_menhir.mly"
6708 ( _2 )
6709 # 6710 "parser_cocci_menhir.ml"
6710 in
6711 _menhir_env.MenhirLib.EngineTypes.stack <- {
6712 MenhirLib.EngineTypes.state = _menhir_s;
6713 MenhirLib.EngineTypes.semv = Obj.repr _v;
6714 MenhirLib.EngineTypes.startp = _startpos;
6715 MenhirLib.EngineTypes.endp = _endpos;
6716 MenhirLib.EngineTypes.next = _menhir_stack;
6717 });
6718 (fun _menhir_env ->
6719 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6720 let {
6721 MenhirLib.EngineTypes.state = _menhir_s;
6722 MenhirLib.EngineTypes.semv = _1;
6723 MenhirLib.EngineTypes.startp = _startpos__1_;
6724 MenhirLib.EngineTypes.endp = _endpos__1_;
6725 MenhirLib.EngineTypes.next = _menhir_stack;
6726 } = _menhir_stack in
6727 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6728 let _startpos = _startpos__1_ in
6729 let _endpos = _endpos__1_ in
6730 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6731 # 1978 "parser_cocci_menhir.mly"
6732 ( fun build_dots build_comma -> [_1] )
6733 # 6734 "parser_cocci_menhir.ml"
6734 in
6735 _menhir_env.MenhirLib.EngineTypes.stack <- {
6736 MenhirLib.EngineTypes.state = _menhir_s;
6737 MenhirLib.EngineTypes.semv = Obj.repr _v;
6738 MenhirLib.EngineTypes.startp = _startpos;
6739 MenhirLib.EngineTypes.endp = _endpos;
6740 MenhirLib.EngineTypes.next = _menhir_stack;
6741 });
6742 (fun _menhir_env ->
6743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6744 let {
6745 MenhirLib.EngineTypes.semv = _2;
6746 MenhirLib.EngineTypes.startp = _startpos__2_;
6747 MenhirLib.EngineTypes.endp = _endpos__2_;
6748 MenhirLib.EngineTypes.next = {
6749 MenhirLib.EngineTypes.state = _menhir_s;
6750 MenhirLib.EngineTypes.semv = _1;
6751 MenhirLib.EngineTypes.startp = _startpos__1_;
6752 MenhirLib.EngineTypes.endp = _endpos__1_;
6753 MenhirLib.EngineTypes.next = _menhir_stack;
6754 };
6755 } = _menhir_stack in
6756 let _2 : (
6757 # 175 "parser_cocci_menhir.mly"
6758 (Data.clt)
6759 # 6760 "parser_cocci_menhir.ml"
6760 ) = Obj.magic _2 in
6761 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6762 let _startpos = _startpos__1_ in
6763 let _endpos = _endpos__2_ in
6764 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6765 # 1980 "parser_cocci_menhir.mly"
6766 ( fun build_dots build_comma ->
6767 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6768 # 6769 "parser_cocci_menhir.ml"
6769 in
6770 _menhir_env.MenhirLib.EngineTypes.stack <- {
6771 MenhirLib.EngineTypes.state = _menhir_s;
6772 MenhirLib.EngineTypes.semv = Obj.repr _v;
6773 MenhirLib.EngineTypes.startp = _startpos;
6774 MenhirLib.EngineTypes.endp = _endpos;
6775 MenhirLib.EngineTypes.next = _menhir_stack;
6776 });
6777 (fun _menhir_env ->
6778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6779 let {
6780 MenhirLib.EngineTypes.semv = _3;
6781 MenhirLib.EngineTypes.startp = _startpos__3_;
6782 MenhirLib.EngineTypes.endp = _endpos__3_;
6783 MenhirLib.EngineTypes.next = {
6784 MenhirLib.EngineTypes.semv = _2;
6785 MenhirLib.EngineTypes.startp = _startpos__2_;
6786 MenhirLib.EngineTypes.endp = _endpos__2_;
6787 MenhirLib.EngineTypes.next = {
6788 MenhirLib.EngineTypes.state = _menhir_s;
6789 MenhirLib.EngineTypes.semv = _1;
6790 MenhirLib.EngineTypes.startp = _startpos__1_;
6791 MenhirLib.EngineTypes.endp = _endpos__1_;
6792 MenhirLib.EngineTypes.next = _menhir_stack;
6793 };
6794 };
6795 } = _menhir_stack in
6796 let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
6797 let _2 : (
6798 # 175 "parser_cocci_menhir.mly"
6799 (Data.clt)
6800 # 6801 "parser_cocci_menhir.ml"
6801 ) = Obj.magic _2 in
6802 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6803 let _startpos = _startpos__1_ in
6804 let _endpos = _endpos__3_ in
6805 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6806 # 1983 "parser_cocci_menhir.mly"
6807 ( fun build_dots build_comma ->
6808 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6809 (_3 build_dots build_comma) )
6810 # 6811 "parser_cocci_menhir.ml"
6811 in
6812 _menhir_env.MenhirLib.EngineTypes.stack <- {
6813 MenhirLib.EngineTypes.state = _menhir_s;
6814 MenhirLib.EngineTypes.semv = Obj.repr _v;
6815 MenhirLib.EngineTypes.startp = _startpos;
6816 MenhirLib.EngineTypes.endp = _endpos;
6817 MenhirLib.EngineTypes.next = _menhir_stack;
6818 });
6819 (fun _menhir_env ->
6820 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6821 let {
6822 MenhirLib.EngineTypes.semv = _2;
6823 MenhirLib.EngineTypes.startp = _startpos__2_;
6824 MenhirLib.EngineTypes.endp = _endpos__2_;
6825 MenhirLib.EngineTypes.next = {
6826 MenhirLib.EngineTypes.state = _menhir_s;
6827 MenhirLib.EngineTypes.startp = _startpos__1_;
6828 MenhirLib.EngineTypes.endp = _endpos__1_;
6829 MenhirLib.EngineTypes.next = _menhir_stack;
6830 };
6831 } = _menhir_stack in
6832 let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
6833 let _startpos = _startpos__1_ in
6834 let _endpos = _endpos__2_ in
6835 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6836 # 1986 "parser_cocci_menhir.mly"
6837 ( _2 )
6838 # 6839 "parser_cocci_menhir.ml"
6839 in
6840 _menhir_env.MenhirLib.EngineTypes.stack <- {
6841 MenhirLib.EngineTypes.state = _menhir_s;
6842 MenhirLib.EngineTypes.semv = Obj.repr _v;
6843 MenhirLib.EngineTypes.startp = _startpos;
6844 MenhirLib.EngineTypes.endp = _endpos;
6845 MenhirLib.EngineTypes.next = _menhir_stack;
6846 });
6847 (fun _menhir_env ->
6848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6849 let {
6850 MenhirLib.EngineTypes.state = _menhir_s;
6851 MenhirLib.EngineTypes.semv = _1;
6852 MenhirLib.EngineTypes.startp = _startpos__1_;
6853 MenhirLib.EngineTypes.endp = _endpos__1_;
6854 MenhirLib.EngineTypes.next = _menhir_stack;
6855 } = _menhir_stack in
6856 let _1 : 'tv_initialize2 = Obj.magic _1 in
6857 let _startpos = _startpos__1_ in
6858 let _endpos = _endpos__1_ in
6859 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6860 # 1978 "parser_cocci_menhir.mly"
6861 ( fun build_dots build_comma -> [_1] )
6862 # 6863 "parser_cocci_menhir.ml"
6863 in
6864 _menhir_env.MenhirLib.EngineTypes.stack <- {
6865 MenhirLib.EngineTypes.state = _menhir_s;
6866 MenhirLib.EngineTypes.semv = Obj.repr _v;
6867 MenhirLib.EngineTypes.startp = _startpos;
6868 MenhirLib.EngineTypes.endp = _endpos;
6869 MenhirLib.EngineTypes.next = _menhir_stack;
6870 });
6871 (fun _menhir_env ->
6872 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6873 let {
6874 MenhirLib.EngineTypes.semv = _2;
6875 MenhirLib.EngineTypes.startp = _startpos__2_;
6876 MenhirLib.EngineTypes.endp = _endpos__2_;
6877 MenhirLib.EngineTypes.next = {
6878 MenhirLib.EngineTypes.state = _menhir_s;
6879 MenhirLib.EngineTypes.semv = _1;
6880 MenhirLib.EngineTypes.startp = _startpos__1_;
6881 MenhirLib.EngineTypes.endp = _endpos__1_;
6882 MenhirLib.EngineTypes.next = _menhir_stack;
6883 };
6884 } = _menhir_stack in
6885 let _2 : (
6886 # 175 "parser_cocci_menhir.mly"
6887 (Data.clt)
6888 # 6889 "parser_cocci_menhir.ml"
6889 ) = Obj.magic _2 in
6890 let _1 : 'tv_initialize2 = Obj.magic _1 in
6891 let _startpos = _startpos__1_ in
6892 let _endpos = _endpos__2_ in
6893 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6894 # 1980 "parser_cocci_menhir.mly"
6895 ( fun build_dots build_comma ->
6896 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6897 # 6898 "parser_cocci_menhir.ml"
6898 in
6899 _menhir_env.MenhirLib.EngineTypes.stack <- {
6900 MenhirLib.EngineTypes.state = _menhir_s;
6901 MenhirLib.EngineTypes.semv = Obj.repr _v;
6902 MenhirLib.EngineTypes.startp = _startpos;
6903 MenhirLib.EngineTypes.endp = _endpos;
6904 MenhirLib.EngineTypes.next = _menhir_stack;
6905 });
6906 (fun _menhir_env ->
6907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6908 let {
6909 MenhirLib.EngineTypes.semv = _3;
6910 MenhirLib.EngineTypes.startp = _startpos__3_;
6911 MenhirLib.EngineTypes.endp = _endpos__3_;
6912 MenhirLib.EngineTypes.next = {
6913 MenhirLib.EngineTypes.semv = _2;
6914 MenhirLib.EngineTypes.startp = _startpos__2_;
6915 MenhirLib.EngineTypes.endp = _endpos__2_;
6916 MenhirLib.EngineTypes.next = {
6917 MenhirLib.EngineTypes.state = _menhir_s;
6918 MenhirLib.EngineTypes.semv = _1;
6919 MenhirLib.EngineTypes.startp = _startpos__1_;
6920 MenhirLib.EngineTypes.endp = _endpos__1_;
6921 MenhirLib.EngineTypes.next = _menhir_stack;
6922 };
6923 };
6924 } = _menhir_stack in
6925 let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
6926 let _2 : (
6927 # 175 "parser_cocci_menhir.mly"
6928 (Data.clt)
6929 # 6930 "parser_cocci_menhir.ml"
6930 ) = Obj.magic _2 in
6931 let _1 : 'tv_initialize2 = Obj.magic _1 in
6932 let _startpos = _startpos__1_ in
6933 let _endpos = _endpos__3_ in
6934 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6935 # 1983 "parser_cocci_menhir.mly"
6936 ( fun build_dots build_comma ->
6937 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6938 (_3 build_dots build_comma) )
6939 # 6940 "parser_cocci_menhir.ml"
6940 in
6941 _menhir_env.MenhirLib.EngineTypes.stack <- {
6942 MenhirLib.EngineTypes.state = _menhir_s;
6943 MenhirLib.EngineTypes.semv = Obj.repr _v;
6944 MenhirLib.EngineTypes.startp = _startpos;
6945 MenhirLib.EngineTypes.endp = _endpos;
6946 MenhirLib.EngineTypes.next = _menhir_stack;
6947 });
6948 (fun _menhir_env ->
6949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6950 let {
6951 MenhirLib.EngineTypes.semv = _2;
6952 MenhirLib.EngineTypes.startp = _startpos__2_;
6953 MenhirLib.EngineTypes.endp = _endpos__2_;
6954 MenhirLib.EngineTypes.next = {
6955 MenhirLib.EngineTypes.state = _menhir_s;
6956 MenhirLib.EngineTypes.startp = _startpos__1_;
6957 MenhirLib.EngineTypes.endp = _endpos__1_;
6958 MenhirLib.EngineTypes.next = _menhir_stack;
6959 };
6960 } = _menhir_stack in
6961 let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
6962 let _startpos = _startpos__1_ in
6963 let _endpos = _endpos__2_ in
6964 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6965 # 1986 "parser_cocci_menhir.mly"
6966 ( _2 )
6967 # 6968 "parser_cocci_menhir.ml"
6968 in
6969 _menhir_env.MenhirLib.EngineTypes.stack <- {
6970 MenhirLib.EngineTypes.state = _menhir_s;
6971 MenhirLib.EngineTypes.semv = Obj.repr _v;
6972 MenhirLib.EngineTypes.startp = _startpos;
6973 MenhirLib.EngineTypes.endp = _endpos;
6974 MenhirLib.EngineTypes.next = _menhir_stack;
6975 });
6976 (fun _menhir_env ->
6977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6978 let {
6979 MenhirLib.EngineTypes.state = _menhir_s;
6980 MenhirLib.EngineTypes.semv = _1;
6981 MenhirLib.EngineTypes.startp = _startpos__1_;
6982 MenhirLib.EngineTypes.endp = _endpos__1_;
6983 MenhirLib.EngineTypes.next = _menhir_stack;
6984 } = _menhir_stack in
6985 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6986 let _startpos = _startpos__1_ in
6987 let _endpos = _endpos__1_ in
6988 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6989 # 1978 "parser_cocci_menhir.mly"
6990 ( fun build_dots build_comma -> [_1] )
6991 # 6992 "parser_cocci_menhir.ml"
6992 in
6993 _menhir_env.MenhirLib.EngineTypes.stack <- {
6994 MenhirLib.EngineTypes.state = _menhir_s;
6995 MenhirLib.EngineTypes.semv = Obj.repr _v;
6996 MenhirLib.EngineTypes.startp = _startpos;
6997 MenhirLib.EngineTypes.endp = _endpos;
6998 MenhirLib.EngineTypes.next = _menhir_stack;
6999 });
7000 (fun _menhir_env ->
7001 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7002 let {
7003 MenhirLib.EngineTypes.semv = _2;
7004 MenhirLib.EngineTypes.startp = _startpos__2_;
7005 MenhirLib.EngineTypes.endp = _endpos__2_;
7006 MenhirLib.EngineTypes.next = {
7007 MenhirLib.EngineTypes.state = _menhir_s;
7008 MenhirLib.EngineTypes.semv = _1;
7009 MenhirLib.EngineTypes.startp = _startpos__1_;
7010 MenhirLib.EngineTypes.endp = _endpos__1_;
7011 MenhirLib.EngineTypes.next = _menhir_stack;
7012 };
7013 } = _menhir_stack in
7014 let _2 : (
7015 # 175 "parser_cocci_menhir.mly"
7016 (Data.clt)
7017 # 7018 "parser_cocci_menhir.ml"
7018 ) = Obj.magic _2 in
7019 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
7020 let _startpos = _startpos__1_ in
7021 let _endpos = _endpos__2_ in
7022 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
7023 # 1980 "parser_cocci_menhir.mly"
7024 ( fun build_dots build_comma ->
7025 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
7026 # 7027 "parser_cocci_menhir.ml"
7027 in
7028 _menhir_env.MenhirLib.EngineTypes.stack <- {
7029 MenhirLib.EngineTypes.state = _menhir_s;
7030 MenhirLib.EngineTypes.semv = Obj.repr _v;
7031 MenhirLib.EngineTypes.startp = _startpos;
7032 MenhirLib.EngineTypes.endp = _endpos;
7033 MenhirLib.EngineTypes.next = _menhir_stack;
7034 });
7035 (fun _menhir_env ->
7036 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7037 let {
7038 MenhirLib.EngineTypes.semv = _3;
7039 MenhirLib.EngineTypes.startp = _startpos__3_;
7040 MenhirLib.EngineTypes.endp = _endpos__3_;
7041 MenhirLib.EngineTypes.next = {
7042 MenhirLib.EngineTypes.semv = _2;
7043 MenhirLib.EngineTypes.startp = _startpos__2_;
7044 MenhirLib.EngineTypes.endp = _endpos__2_;
7045 MenhirLib.EngineTypes.next = {
7046 MenhirLib.EngineTypes.state = _menhir_s;
7047 MenhirLib.EngineTypes.semv = _1;
7048 MenhirLib.EngineTypes.startp = _startpos__1_;
7049 MenhirLib.EngineTypes.endp = _endpos__1_;
7050 MenhirLib.EngineTypes.next = _menhir_stack;
7051 };
7052 };
7053 } = _menhir_stack in
7054 let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
7055 let _2 : (
7056 # 175 "parser_cocci_menhir.mly"
7057 (Data.clt)
7058 # 7059 "parser_cocci_menhir.ml"
7059 ) = Obj.magic _2 in
7060 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
7061 let _startpos = _startpos__1_ in
7062 let _endpos = _endpos__3_ in
7063 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
7064 # 1983 "parser_cocci_menhir.mly"
7065 ( fun build_dots build_comma ->
7066 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
7067 (_3 build_dots build_comma) )
7068 # 7069 "parser_cocci_menhir.ml"
7069 in
7070 _menhir_env.MenhirLib.EngineTypes.stack <- {
7071 MenhirLib.EngineTypes.state = _menhir_s;
7072 MenhirLib.EngineTypes.semv = Obj.repr _v;
7073 MenhirLib.EngineTypes.startp = _startpos;
7074 MenhirLib.EngineTypes.endp = _endpos;
7075 MenhirLib.EngineTypes.next = _menhir_stack;
7076 });
7077 (fun _menhir_env ->
7078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7079 let {
7080 MenhirLib.EngineTypes.semv = _2;
7081 MenhirLib.EngineTypes.startp = _startpos__2_;
7082 MenhirLib.EngineTypes.endp = _endpos__2_;
7083 MenhirLib.EngineTypes.next = {
7084 MenhirLib.EngineTypes.state = _menhir_s;
7085 MenhirLib.EngineTypes.startp = _startpos__1_;
7086 MenhirLib.EngineTypes.endp = _endpos__1_;
7087 MenhirLib.EngineTypes.next = _menhir_stack;
7088 };
7089 } = _menhir_stack in
7090 let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
7091 let _startpos = _startpos__1_ in
7092 let _endpos = _endpos__2_ in
7093 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
7094 # 1986 "parser_cocci_menhir.mly"
7095 ( _2 )
7096 # 7097 "parser_cocci_menhir.ml"
7097 in
7098 _menhir_env.MenhirLib.EngineTypes.stack <- {
7099 MenhirLib.EngineTypes.state = _menhir_s;
7100 MenhirLib.EngineTypes.semv = Obj.repr _v;
7101 MenhirLib.EngineTypes.startp = _startpos;
7102 MenhirLib.EngineTypes.endp = _endpos;
7103 MenhirLib.EngineTypes.next = _menhir_stack;
7104 });
7105 (fun _menhir_env ->
7106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7107 let {
7108 MenhirLib.EngineTypes.state = _menhir_s;
7109 MenhirLib.EngineTypes.semv = _1;
7110 MenhirLib.EngineTypes.startp = _startpos__1_;
7111 MenhirLib.EngineTypes.endp = _endpos__1_;
7112 MenhirLib.EngineTypes.next = _menhir_stack;
7113 } = _menhir_stack in
7114 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
7115 let _startpos = _startpos__1_ in
7116 let _endpos = _endpos__1_ in
7117 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7118 # 1978 "parser_cocci_menhir.mly"
7119 ( fun build_dots build_comma -> [_1] )
7120 # 7121 "parser_cocci_menhir.ml"
7121 in
7122 _menhir_env.MenhirLib.EngineTypes.stack <- {
7123 MenhirLib.EngineTypes.state = _menhir_s;
7124 MenhirLib.EngineTypes.semv = Obj.repr _v;
7125 MenhirLib.EngineTypes.startp = _startpos;
7126 MenhirLib.EngineTypes.endp = _endpos;
7127 MenhirLib.EngineTypes.next = _menhir_stack;
7128 });
7129 (fun _menhir_env ->
7130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7131 let {
7132 MenhirLib.EngineTypes.semv = _2;
7133 MenhirLib.EngineTypes.startp = _startpos__2_;
7134 MenhirLib.EngineTypes.endp = _endpos__2_;
7135 MenhirLib.EngineTypes.next = {
7136 MenhirLib.EngineTypes.state = _menhir_s;
7137 MenhirLib.EngineTypes.semv = _1;
7138 MenhirLib.EngineTypes.startp = _startpos__1_;
7139 MenhirLib.EngineTypes.endp = _endpos__1_;
7140 MenhirLib.EngineTypes.next = _menhir_stack;
7141 };
7142 } = _menhir_stack in
7143 let _2 : (
7144 # 175 "parser_cocci_menhir.mly"
7145 (Data.clt)
7146 # 7147 "parser_cocci_menhir.ml"
7147 ) = Obj.magic _2 in
7148 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
7149 let _startpos = _startpos__1_ in
7150 let _endpos = _endpos__2_ in
7151 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7152 # 1980 "parser_cocci_menhir.mly"
7153 ( fun build_dots build_comma ->
7154 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
7155 # 7156 "parser_cocci_menhir.ml"
7156 in
7157 _menhir_env.MenhirLib.EngineTypes.stack <- {
7158 MenhirLib.EngineTypes.state = _menhir_s;
7159 MenhirLib.EngineTypes.semv = Obj.repr _v;
7160 MenhirLib.EngineTypes.startp = _startpos;
7161 MenhirLib.EngineTypes.endp = _endpos;
7162 MenhirLib.EngineTypes.next = _menhir_stack;
7163 });
7164 (fun _menhir_env ->
7165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7166 let {
7167 MenhirLib.EngineTypes.semv = _3;
7168 MenhirLib.EngineTypes.startp = _startpos__3_;
7169 MenhirLib.EngineTypes.endp = _endpos__3_;
7170 MenhirLib.EngineTypes.next = {
7171 MenhirLib.EngineTypes.semv = _2;
7172 MenhirLib.EngineTypes.startp = _startpos__2_;
7173 MenhirLib.EngineTypes.endp = _endpos__2_;
7174 MenhirLib.EngineTypes.next = {
7175 MenhirLib.EngineTypes.state = _menhir_s;
7176 MenhirLib.EngineTypes.semv = _1;
7177 MenhirLib.EngineTypes.startp = _startpos__1_;
7178 MenhirLib.EngineTypes.endp = _endpos__1_;
7179 MenhirLib.EngineTypes.next = _menhir_stack;
7180 };
7181 };
7182 } = _menhir_stack in
7183 let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
7184 let _2 : (
7185 # 175 "parser_cocci_menhir.mly"
7186 (Data.clt)
7187 # 7188 "parser_cocci_menhir.ml"
7188 ) = Obj.magic _2 in
7189 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
7190 let _startpos = _startpos__1_ in
7191 let _endpos = _endpos__3_ in
7192 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7193 # 1983 "parser_cocci_menhir.mly"
7194 ( fun build_dots build_comma ->
7195 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
7196 (_3 build_dots build_comma) )
7197 # 7198 "parser_cocci_menhir.ml"
7198 in
7199 _menhir_env.MenhirLib.EngineTypes.stack <- {
7200 MenhirLib.EngineTypes.state = _menhir_s;
7201 MenhirLib.EngineTypes.semv = Obj.repr _v;
7202 MenhirLib.EngineTypes.startp = _startpos;
7203 MenhirLib.EngineTypes.endp = _endpos;
7204 MenhirLib.EngineTypes.next = _menhir_stack;
7205 });
7206 (fun _menhir_env ->
7207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7208 let {
7209 MenhirLib.EngineTypes.semv = _2;
7210 MenhirLib.EngineTypes.startp = _startpos__2_;
7211 MenhirLib.EngineTypes.endp = _endpos__2_;
7212 MenhirLib.EngineTypes.next = {
7213 MenhirLib.EngineTypes.state = _menhir_s;
7214 MenhirLib.EngineTypes.startp = _startpos__1_;
7215 MenhirLib.EngineTypes.endp = _endpos__1_;
7216 MenhirLib.EngineTypes.next = _menhir_stack;
7217 };
7218 } = _menhir_stack in
7219 let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
7220 let _startpos = _startpos__1_ in
7221 let _endpos = _endpos__2_ in
7222 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7223 # 1986 "parser_cocci_menhir.mly"
7224 ( _2 )
7225 # 7226 "parser_cocci_menhir.ml"
7226 in
7227 _menhir_env.MenhirLib.EngineTypes.stack <- {
7228 MenhirLib.EngineTypes.state = _menhir_s;
7229 MenhirLib.EngineTypes.semv = Obj.repr _v;
7230 MenhirLib.EngineTypes.startp = _startpos;
7231 MenhirLib.EngineTypes.endp = _endpos;
7232 MenhirLib.EngineTypes.next = _menhir_stack;
7233 });
7234 (fun _menhir_env ->
7235 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7236 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
7237 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
7238 let _endpos = _startpos in
7239 let _v : 'tv_continue_struct_decl_list =
7240 # 753 "parser_cocci_menhir.mly"
7241 ( [] )
7242 # 7243 "parser_cocci_menhir.ml"
7243 in
7244 _menhir_env.MenhirLib.EngineTypes.stack <- {
7245 MenhirLib.EngineTypes.state = _menhir_s;
7246 MenhirLib.EngineTypes.semv = Obj.repr _v;
7247 MenhirLib.EngineTypes.startp = _startpos;
7248 MenhirLib.EngineTypes.endp = _endpos;
7249 MenhirLib.EngineTypes.next = _menhir_stack;
7250 });
7251 (fun _menhir_env ->
7252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7253 let {
7254 MenhirLib.EngineTypes.semv = _2;
7255 MenhirLib.EngineTypes.startp = _startpos__2_;
7256 MenhirLib.EngineTypes.endp = _endpos__2_;
7257 MenhirLib.EngineTypes.next = {
7258 MenhirLib.EngineTypes.state = _menhir_s;
7259 MenhirLib.EngineTypes.semv = _1;
7260 MenhirLib.EngineTypes.startp = _startpos__1_;
7261 MenhirLib.EngineTypes.endp = _endpos__1_;
7262 MenhirLib.EngineTypes.next = _menhir_stack;
7263 };
7264 } = _menhir_stack in
7265 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
7266 let _1 : 'tv_struct_decl = Obj.magic _1 in
7267 let _startpos = _startpos__1_ in
7268 let _endpos = _endpos__2_ in
7269 let _v : 'tv_continue_struct_decl_list =
7270 # 754 "parser_cocci_menhir.mly"
7271 ( _1@_2 )
7272 # 7273 "parser_cocci_menhir.ml"
7273 in
7274 _menhir_env.MenhirLib.EngineTypes.stack <- {
7275 MenhirLib.EngineTypes.state = _menhir_s;
7276 MenhirLib.EngineTypes.semv = Obj.repr _v;
7277 MenhirLib.EngineTypes.startp = _startpos;
7278 MenhirLib.EngineTypes.endp = _endpos;
7279 MenhirLib.EngineTypes.next = _menhir_stack;
7280 });
7281 (fun _menhir_env ->
7282 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7283 let {
7284 MenhirLib.EngineTypes.state = _menhir_s;
7285 MenhirLib.EngineTypes.semv = _1;
7286 MenhirLib.EngineTypes.startp = _startpos__1_;
7287 MenhirLib.EngineTypes.endp = _endpos__1_;
7288 MenhirLib.EngineTypes.next = _menhir_stack;
7289 } = _menhir_stack in
7290 let _1 : 'tv_struct_decl = Obj.magic _1 in
7291 let _startpos = _startpos__1_ in
7292 let _endpos = _endpos__1_ in
7293 let _v : 'tv_continue_struct_decl_list =
7294 # 755 "parser_cocci_menhir.mly"
7295 ( _1 )
7296 # 7297 "parser_cocci_menhir.ml"
7297 in
7298 _menhir_env.MenhirLib.EngineTypes.stack <- {
7299 MenhirLib.EngineTypes.state = _menhir_s;
7300 MenhirLib.EngineTypes.semv = Obj.repr _v;
7301 MenhirLib.EngineTypes.startp = _startpos;
7302 MenhirLib.EngineTypes.endp = _endpos;
7303 MenhirLib.EngineTypes.next = _menhir_stack;
7304 });
7305 (fun _menhir_env ->
7306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7307 let {
7308 MenhirLib.EngineTypes.semv = m;
7309 MenhirLib.EngineTypes.startp = _startpos_m_;
7310 MenhirLib.EngineTypes.endp = _endpos_m_;
7311 MenhirLib.EngineTypes.next = {
7312 MenhirLib.EngineTypes.semv = ty00;
7313 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7314 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7315 MenhirLib.EngineTypes.next = {
7316 MenhirLib.EngineTypes.state = _menhir_s;
7317 MenhirLib.EngineTypes.semv = r0;
7318 MenhirLib.EngineTypes.startp = _startpos_r0_;
7319 MenhirLib.EngineTypes.endp = _endpos_r0_;
7320 MenhirLib.EngineTypes.next = _menhir_stack;
7321 };
7322 };
7323 } = _menhir_stack in
7324 let m : 'tv_list_TMul_ = Obj.magic m in
7325 let ty00 : (
7326 # 114 "parser_cocci_menhir.mly"
7327 (Data.clt)
7328 # 7329 "parser_cocci_menhir.ml"
7329 ) = Obj.magic ty00 in
7330 let r0 : (
7331 # 117 "parser_cocci_menhir.mly"
7332 (Data.clt)
7333 # 7334 "parser_cocci_menhir.ml"
7334 ) = Obj.magic r0 in
7335 let _startpos = _startpos_r0_ in
7336 let _endpos = _endpos_m_ in
7337 let _v : 'tv_ctype = let ty =
7338 let ty0 = ty00 in
7339 let r = r0 in
7340 let ty =
7341 let ty = ty0 in
7342
7343 # 617 "parser_cocci_menhir.mly"
7344 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7345 # 7346 "parser_cocci_menhir.ml"
7346
7347 in
7348
7349 # 680 "parser_cocci_menhir.mly"
7350 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7351 # 7352 "parser_cocci_menhir.ml"
7352
7353 in
7354 let cv =
7355
7356 # 39 "standard.mly"
7357 ( None )
7358 # 7359 "parser_cocci_menhir.ml"
7359
7360 in
7361
7362 # 688 "parser_cocci_menhir.mly"
7363 ( P.pointerify (P.make_cv cv ty) m )
7364 # 7365 "parser_cocci_menhir.ml"
7365 in
7366 _menhir_env.MenhirLib.EngineTypes.stack <- {
7367 MenhirLib.EngineTypes.state = _menhir_s;
7368 MenhirLib.EngineTypes.semv = Obj.repr _v;
7369 MenhirLib.EngineTypes.startp = _startpos;
7370 MenhirLib.EngineTypes.endp = _endpos;
7371 MenhirLib.EngineTypes.next = _menhir_stack;
7372 });
7373 (fun _menhir_env ->
7374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7375 let {
7376 MenhirLib.EngineTypes.semv = m;
7377 MenhirLib.EngineTypes.startp = _startpos_m_;
7378 MenhirLib.EngineTypes.endp = _endpos_m_;
7379 MenhirLib.EngineTypes.next = {
7380 MenhirLib.EngineTypes.semv = ty00;
7381 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7382 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7383 MenhirLib.EngineTypes.next = {
7384 MenhirLib.EngineTypes.state = _menhir_s;
7385 MenhirLib.EngineTypes.semv = r0;
7386 MenhirLib.EngineTypes.startp = _startpos_r0_;
7387 MenhirLib.EngineTypes.endp = _endpos_r0_;
7388 MenhirLib.EngineTypes.next = _menhir_stack;
7389 };
7390 };
7391 } = _menhir_stack in
7392 let m : 'tv_list_TMul_ = Obj.magic m in
7393 let ty00 : (
7394 # 114 "parser_cocci_menhir.mly"
7395 (Data.clt)
7396 # 7397 "parser_cocci_menhir.ml"
7397 ) = Obj.magic ty00 in
7398 let r0 : (
7399 # 117 "parser_cocci_menhir.mly"
7400 (Data.clt)
7401 # 7402 "parser_cocci_menhir.ml"
7402 ) = Obj.magic r0 in
7403 let _startpos = _startpos_r0_ in
7404 let _endpos = _endpos_m_ in
7405 let _v : 'tv_ctype = let ty =
7406 let ty0 = ty00 in
7407 let r = r0 in
7408 let ty =
7409 let ty = ty0 in
7410
7411 # 619 "parser_cocci_menhir.mly"
7412 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7413 # 7414 "parser_cocci_menhir.ml"
7414
7415 in
7416
7417 # 680 "parser_cocci_menhir.mly"
7418 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7419 # 7420 "parser_cocci_menhir.ml"
7420
7421 in
7422 let cv =
7423
7424 # 39 "standard.mly"
7425 ( None )
7426 # 7427 "parser_cocci_menhir.ml"
7427
7428 in
7429
7430 # 688 "parser_cocci_menhir.mly"
7431 ( P.pointerify (P.make_cv cv ty) m )
7432 # 7433 "parser_cocci_menhir.ml"
7433 in
7434 _menhir_env.MenhirLib.EngineTypes.stack <- {
7435 MenhirLib.EngineTypes.state = _menhir_s;
7436 MenhirLib.EngineTypes.semv = Obj.repr _v;
7437 MenhirLib.EngineTypes.startp = _startpos;
7438 MenhirLib.EngineTypes.endp = _endpos;
7439 MenhirLib.EngineTypes.next = _menhir_stack;
7440 });
7441 (fun _menhir_env ->
7442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7443 let {
7444 MenhirLib.EngineTypes.semv = m;
7445 MenhirLib.EngineTypes.startp = _startpos_m_;
7446 MenhirLib.EngineTypes.endp = _endpos_m_;
7447 MenhirLib.EngineTypes.next = {
7448 MenhirLib.EngineTypes.semv = ty00;
7449 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7450 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7451 MenhirLib.EngineTypes.next = {
7452 MenhirLib.EngineTypes.state = _menhir_s;
7453 MenhirLib.EngineTypes.semv = r0;
7454 MenhirLib.EngineTypes.startp = _startpos_r0_;
7455 MenhirLib.EngineTypes.endp = _endpos_r0_;
7456 MenhirLib.EngineTypes.next = _menhir_stack;
7457 };
7458 };
7459 } = _menhir_stack in
7460 let m : 'tv_list_TMul_ = Obj.magic m in
7461 let ty00 : (
7462 # 114 "parser_cocci_menhir.mly"
7463 (Data.clt)
7464 # 7465 "parser_cocci_menhir.ml"
7465 ) = Obj.magic ty00 in
7466 let r0 : (
7467 # 117 "parser_cocci_menhir.mly"
7468 (Data.clt)
7469 # 7470 "parser_cocci_menhir.ml"
7470 ) = Obj.magic r0 in
7471 let _startpos = _startpos_r0_ in
7472 let _endpos = _endpos_m_ in
7473 let _v : 'tv_ctype = let ty =
7474 let ty0 = ty00 in
7475 let r = r0 in
7476 let ty =
7477 let ty = ty0 in
7478
7479 # 621 "parser_cocci_menhir.mly"
7480 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7481 # 7482 "parser_cocci_menhir.ml"
7482
7483 in
7484
7485 # 680 "parser_cocci_menhir.mly"
7486 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7487 # 7488 "parser_cocci_menhir.ml"
7488
7489 in
7490 let cv =
7491
7492 # 39 "standard.mly"
7493 ( None )
7494 # 7495 "parser_cocci_menhir.ml"
7495
7496 in
7497
7498 # 688 "parser_cocci_menhir.mly"
7499 ( P.pointerify (P.make_cv cv ty) m )
7500 # 7501 "parser_cocci_menhir.ml"
7501 in
7502 _menhir_env.MenhirLib.EngineTypes.stack <- {
7503 MenhirLib.EngineTypes.state = _menhir_s;
7504 MenhirLib.EngineTypes.semv = Obj.repr _v;
7505 MenhirLib.EngineTypes.startp = _startpos;
7506 MenhirLib.EngineTypes.endp = _endpos;
7507 MenhirLib.EngineTypes.next = _menhir_stack;
7508 });
7509 (fun _menhir_env ->
7510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7511 let {
7512 MenhirLib.EngineTypes.semv = m;
7513 MenhirLib.EngineTypes.startp = _startpos_m_;
7514 MenhirLib.EngineTypes.endp = _endpos_m_;
7515 MenhirLib.EngineTypes.next = {
7516 MenhirLib.EngineTypes.semv = p00;
7517 MenhirLib.EngineTypes.startp = _startpos_p00_;
7518 MenhirLib.EngineTypes.endp = _endpos_p00_;
7519 MenhirLib.EngineTypes.next = {
7520 MenhirLib.EngineTypes.state = _menhir_s;
7521 MenhirLib.EngineTypes.semv = r0;
7522 MenhirLib.EngineTypes.startp = _startpos_r0_;
7523 MenhirLib.EngineTypes.endp = _endpos_r0_;
7524 MenhirLib.EngineTypes.next = _menhir_stack;
7525 };
7526 };
7527 } = _menhir_stack in
7528 let m : 'tv_list_TMul_ = Obj.magic m in
7529 let p00 : (
7530 # 131 "parser_cocci_menhir.mly"
7531 (Parse_aux.info)
7532 # 7533 "parser_cocci_menhir.ml"
7533 ) = Obj.magic p00 in
7534 let r0 : (
7535 # 117 "parser_cocci_menhir.mly"
7536 (Data.clt)
7537 # 7538 "parser_cocci_menhir.ml"
7538 ) = Obj.magic r0 in
7539 let _startpos = _startpos_r0_ in
7540 let _endpos = _endpos_m_ in
7541 let _v : 'tv_ctype = let ty =
7542 let p0 = p00 in
7543 let r = r0 in
7544 let ty =
7545 let p = p0 in
7546
7547 # 623 "parser_cocci_menhir.mly"
7548 ( let (nm,pure,clt) = p in
7549 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7550 # 7551 "parser_cocci_menhir.ml"
7551
7552 in
7553
7554 # 680 "parser_cocci_menhir.mly"
7555 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7556 # 7557 "parser_cocci_menhir.ml"
7557
7558 in
7559 let cv =
7560
7561 # 39 "standard.mly"
7562 ( None )
7563 # 7564 "parser_cocci_menhir.ml"
7564
7565 in
7566
7567 # 688 "parser_cocci_menhir.mly"
7568 ( P.pointerify (P.make_cv cv ty) m )
7569 # 7570 "parser_cocci_menhir.ml"
7570 in
7571 _menhir_env.MenhirLib.EngineTypes.stack <- {
7572 MenhirLib.EngineTypes.state = _menhir_s;
7573 MenhirLib.EngineTypes.semv = Obj.repr _v;
7574 MenhirLib.EngineTypes.startp = _startpos;
7575 MenhirLib.EngineTypes.endp = _endpos;
7576 MenhirLib.EngineTypes.next = _menhir_stack;
7577 });
7578 (fun _menhir_env ->
7579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7580 let {
7581 MenhirLib.EngineTypes.semv = m;
7582 MenhirLib.EngineTypes.startp = _startpos_m_;
7583 MenhirLib.EngineTypes.endp = _endpos_m_;
7584 MenhirLib.EngineTypes.next = {
7585 MenhirLib.EngineTypes.semv = p00;
7586 MenhirLib.EngineTypes.startp = _startpos_p00_;
7587 MenhirLib.EngineTypes.endp = _endpos_p00_;
7588 MenhirLib.EngineTypes.next = {
7589 MenhirLib.EngineTypes.startp = _startpos__3_;
7590 MenhirLib.EngineTypes.endp = _endpos__3_;
7591 MenhirLib.EngineTypes.next = {
7592 MenhirLib.EngineTypes.semv = r00;
7593 MenhirLib.EngineTypes.startp = _startpos_r00_;
7594 MenhirLib.EngineTypes.endp = _endpos_r00_;
7595 MenhirLib.EngineTypes.next = {
7596 MenhirLib.EngineTypes.state = _menhir_s;
7597 MenhirLib.EngineTypes.semv = r1;
7598 MenhirLib.EngineTypes.startp = _startpos_r1_;
7599 MenhirLib.EngineTypes.endp = _endpos_r1_;
7600 MenhirLib.EngineTypes.next = _menhir_stack;
7601 };
7602 };
7603 };
7604 };
7605 } = _menhir_stack in
7606 let m : 'tv_list_TMul_ = Obj.magic m in
7607 let p00 : (
7608 # 125 "parser_cocci_menhir.mly"
7609 (string * Data.clt)
7610 # 7611 "parser_cocci_menhir.ml"
7611 ) = Obj.magic p00 in
7612 let r00 : (
7613 # 112 "parser_cocci_menhir.mly"
7614 (string)
7615 # 7616 "parser_cocci_menhir.ml"
7616 ) = Obj.magic r00 in
7617 let r1 : (
7618 # 117 "parser_cocci_menhir.mly"
7619 (Data.clt)
7620 # 7621 "parser_cocci_menhir.ml"
7621 ) = Obj.magic r1 in
7622 let _startpos = _startpos_r1_ in
7623 let _endpos = _endpos_m_ in
7624 let _v : 'tv_ctype = let ty =
7625 let p0 = p00 in
7626 let r0 = r00 in
7627 let r = r1 in
7628 let ty =
7629 let p = p0 in
7630 let r = r0 in
7631
7632 # 626 "parser_cocci_menhir.mly"
7633 ( let nm = (r,P.id2name p) in
7634 (* this is only possible when we are in a metavar decl. Otherwise,
7635 it will be represented already as a MetaType *)
7636 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7637 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7638 Ast0.Impure (*will be ignored*))) )
7639 # 7640 "parser_cocci_menhir.ml"
7640
7641 in
7642
7643 # 680 "parser_cocci_menhir.mly"
7644 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7645 # 7646 "parser_cocci_menhir.ml"
7646
7647 in
7648 let cv =
7649
7650 # 39 "standard.mly"
7651 ( None )
7652 # 7653 "parser_cocci_menhir.ml"
7653
7654 in
7655
7656 # 688 "parser_cocci_menhir.mly"
7657 ( P.pointerify (P.make_cv cv ty) m )
7658 # 7659 "parser_cocci_menhir.ml"
7659 in
7660 _menhir_env.MenhirLib.EngineTypes.stack <- {
7661 MenhirLib.EngineTypes.state = _menhir_s;
7662 MenhirLib.EngineTypes.semv = Obj.repr _v;
7663 MenhirLib.EngineTypes.startp = _startpos;
7664 MenhirLib.EngineTypes.endp = _endpos;
7665 MenhirLib.EngineTypes.next = _menhir_stack;
7666 });
7667 (fun _menhir_env ->
7668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7669 let {
7670 MenhirLib.EngineTypes.semv = m;
7671 MenhirLib.EngineTypes.startp = _startpos_m_;
7672 MenhirLib.EngineTypes.endp = _endpos_m_;
7673 MenhirLib.EngineTypes.next = {
7674 MenhirLib.EngineTypes.semv = ty00;
7675 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7676 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7677 MenhirLib.EngineTypes.next = {
7678 MenhirLib.EngineTypes.state = _menhir_s;
7679 MenhirLib.EngineTypes.semv = r0;
7680 MenhirLib.EngineTypes.startp = _startpos_r0_;
7681 MenhirLib.EngineTypes.endp = _endpos_r0_;
7682 MenhirLib.EngineTypes.next = _menhir_stack;
7683 };
7684 };
7685 } = _menhir_stack in
7686 let m : 'tv_list_TMul_ = Obj.magic m in
7687 let ty00 : (
7688 # 114 "parser_cocci_menhir.mly"
7689 (Data.clt)
7690 # 7691 "parser_cocci_menhir.ml"
7691 ) = Obj.magic ty00 in
7692 let r0 : (
7693 # 117 "parser_cocci_menhir.mly"
7694 (Data.clt)
7695 # 7696 "parser_cocci_menhir.ml"
7696 ) = Obj.magic r0 in
7697 let _startpos = _startpos_r0_ in
7698 let _endpos = _endpos_m_ in
7699 let _v : 'tv_ctype = let ty =
7700 let ty0 = ty00 in
7701 let r = r0 in
7702 let ty =
7703 let ty = ty0 in
7704
7705 # 633 "parser_cocci_menhir.mly"
7706 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7707 # 7708 "parser_cocci_menhir.ml"
7708
7709 in
7710
7711 # 680 "parser_cocci_menhir.mly"
7712 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7713 # 7714 "parser_cocci_menhir.ml"
7714
7715 in
7716 let cv =
7717
7718 # 39 "standard.mly"
7719 ( None )
7720 # 7721 "parser_cocci_menhir.ml"
7721
7722 in
7723
7724 # 688 "parser_cocci_menhir.mly"
7725 ( P.pointerify (P.make_cv cv ty) m )
7726 # 7727 "parser_cocci_menhir.ml"
7727 in
7728 _menhir_env.MenhirLib.EngineTypes.stack <- {
7729 MenhirLib.EngineTypes.state = _menhir_s;
7730 MenhirLib.EngineTypes.semv = Obj.repr _v;
7731 MenhirLib.EngineTypes.startp = _startpos;
7732 MenhirLib.EngineTypes.endp = _endpos;
7733 MenhirLib.EngineTypes.next = _menhir_stack;
7734 });
7735 (fun _menhir_env ->
7736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7737 let {
7738 MenhirLib.EngineTypes.semv = m;
7739 MenhirLib.EngineTypes.startp = _startpos_m_;
7740 MenhirLib.EngineTypes.endp = _endpos_m_;
7741 MenhirLib.EngineTypes.next = {
7742 MenhirLib.EngineTypes.semv = ty200;
7743 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7744 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7745 MenhirLib.EngineTypes.next = {
7746 MenhirLib.EngineTypes.semv = ty100;
7747 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7748 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7749 MenhirLib.EngineTypes.next = {
7750 MenhirLib.EngineTypes.state = _menhir_s;
7751 MenhirLib.EngineTypes.semv = r0;
7752 MenhirLib.EngineTypes.startp = _startpos_r0_;
7753 MenhirLib.EngineTypes.endp = _endpos_r0_;
7754 MenhirLib.EngineTypes.next = _menhir_stack;
7755 };
7756 };
7757 };
7758 } = _menhir_stack in
7759 let m : 'tv_list_TMul_ = Obj.magic m in
7760 let ty200 : (
7761 # 114 "parser_cocci_menhir.mly"
7762 (Data.clt)
7763 # 7764 "parser_cocci_menhir.ml"
7764 ) = Obj.magic ty200 in
7765 let ty100 : (
7766 # 114 "parser_cocci_menhir.mly"
7767 (Data.clt)
7768 # 7769 "parser_cocci_menhir.ml"
7769 ) = Obj.magic ty100 in
7770 let r0 : (
7771 # 117 "parser_cocci_menhir.mly"
7772 (Data.clt)
7773 # 7774 "parser_cocci_menhir.ml"
7774 ) = Obj.magic r0 in
7775 let _startpos = _startpos_r0_ in
7776 let _endpos = _endpos_m_ in
7777 let _v : 'tv_ctype = let ty =
7778 let ty20 = ty200 in
7779 let ty10 = ty100 in
7780 let r = r0 in
7781 let ty =
7782 let ty2 = ty20 in
7783 let ty1 = ty10 in
7784
7785 # 635 "parser_cocci_menhir.mly"
7786 ( Ast0.wrap
7787 (Ast0.BaseType
7788 (Ast.LongLongType,
7789 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7790 # 7791 "parser_cocci_menhir.ml"
7791
7792 in
7793
7794 # 680 "parser_cocci_menhir.mly"
7795 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7796 # 7797 "parser_cocci_menhir.ml"
7797
7798 in
7799 let cv =
7800
7801 # 39 "standard.mly"
7802 ( None )
7803 # 7804 "parser_cocci_menhir.ml"
7804
7805 in
7806
7807 # 688 "parser_cocci_menhir.mly"
7808 ( P.pointerify (P.make_cv cv ty) m )
7809 # 7810 "parser_cocci_menhir.ml"
7810 in
7811 _menhir_env.MenhirLib.EngineTypes.stack <- {
7812 MenhirLib.EngineTypes.state = _menhir_s;
7813 MenhirLib.EngineTypes.semv = Obj.repr _v;
7814 MenhirLib.EngineTypes.startp = _startpos;
7815 MenhirLib.EngineTypes.endp = _endpos;
7816 MenhirLib.EngineTypes.next = _menhir_stack;
7817 });
7818 (fun _menhir_env ->
7819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7820 let {
7821 MenhirLib.EngineTypes.semv = m;
7822 MenhirLib.EngineTypes.startp = _startpos_m_;
7823 MenhirLib.EngineTypes.endp = _endpos_m_;
7824 MenhirLib.EngineTypes.next = {
7825 MenhirLib.EngineTypes.semv = ty00;
7826 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7827 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7828 MenhirLib.EngineTypes.next = {
7829 MenhirLib.EngineTypes.state = _menhir_s;
7830 MenhirLib.EngineTypes.semv = r0;
7831 MenhirLib.EngineTypes.startp = _startpos_r0_;
7832 MenhirLib.EngineTypes.endp = _endpos_r0_;
7833 MenhirLib.EngineTypes.next = _menhir_stack;
7834 };
7835 };
7836 } = _menhir_stack in
7837 let m : 'tv_list_TMul_ = Obj.magic m in
7838 let ty00 : (
7839 # 114 "parser_cocci_menhir.mly"
7840 (Data.clt)
7841 # 7842 "parser_cocci_menhir.ml"
7842 ) = Obj.magic ty00 in
7843 let r0 : (
7844 # 117 "parser_cocci_menhir.mly"
7845 (Data.clt)
7846 # 7847 "parser_cocci_menhir.ml"
7847 ) = Obj.magic r0 in
7848 let _startpos = _startpos_r0_ in
7849 let _endpos = _endpos_m_ in
7850 let _v : 'tv_ctype = let ty =
7851 let ty0 = ty00 in
7852 let r = r0 in
7853 let ty =
7854 let ty = ty0 in
7855
7856 # 617 "parser_cocci_menhir.mly"
7857 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7858 # 7859 "parser_cocci_menhir.ml"
7859
7860 in
7861
7862 # 682 "parser_cocci_menhir.mly"
7863 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7864 # 7865 "parser_cocci_menhir.ml"
7865
7866 in
7867 let cv =
7868
7869 # 39 "standard.mly"
7870 ( None )
7871 # 7872 "parser_cocci_menhir.ml"
7872
7873 in
7874
7875 # 688 "parser_cocci_menhir.mly"
7876 ( P.pointerify (P.make_cv cv ty) m )
7877 # 7878 "parser_cocci_menhir.ml"
7878 in
7879 _menhir_env.MenhirLib.EngineTypes.stack <- {
7880 MenhirLib.EngineTypes.state = _menhir_s;
7881 MenhirLib.EngineTypes.semv = Obj.repr _v;
7882 MenhirLib.EngineTypes.startp = _startpos;
7883 MenhirLib.EngineTypes.endp = _endpos;
7884 MenhirLib.EngineTypes.next = _menhir_stack;
7885 });
7886 (fun _menhir_env ->
7887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7888 let {
7889 MenhirLib.EngineTypes.semv = m;
7890 MenhirLib.EngineTypes.startp = _startpos_m_;
7891 MenhirLib.EngineTypes.endp = _endpos_m_;
7892 MenhirLib.EngineTypes.next = {
7893 MenhirLib.EngineTypes.semv = ty00;
7894 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7895 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7896 MenhirLib.EngineTypes.next = {
7897 MenhirLib.EngineTypes.state = _menhir_s;
7898 MenhirLib.EngineTypes.semv = r0;
7899 MenhirLib.EngineTypes.startp = _startpos_r0_;
7900 MenhirLib.EngineTypes.endp = _endpos_r0_;
7901 MenhirLib.EngineTypes.next = _menhir_stack;
7902 };
7903 };
7904 } = _menhir_stack in
7905 let m : 'tv_list_TMul_ = Obj.magic m in
7906 let ty00 : (
7907 # 114 "parser_cocci_menhir.mly"
7908 (Data.clt)
7909 # 7910 "parser_cocci_menhir.ml"
7910 ) = Obj.magic ty00 in
7911 let r0 : (
7912 # 117 "parser_cocci_menhir.mly"
7913 (Data.clt)
7914 # 7915 "parser_cocci_menhir.ml"
7915 ) = Obj.magic r0 in
7916 let _startpos = _startpos_r0_ in
7917 let _endpos = _endpos_m_ in
7918 let _v : 'tv_ctype = let ty =
7919 let ty0 = ty00 in
7920 let r = r0 in
7921 let ty =
7922 let ty = ty0 in
7923
7924 # 619 "parser_cocci_menhir.mly"
7925 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7926 # 7927 "parser_cocci_menhir.ml"
7927
7928 in
7929
7930 # 682 "parser_cocci_menhir.mly"
7931 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7932 # 7933 "parser_cocci_menhir.ml"
7933
7934 in
7935 let cv =
7936
7937 # 39 "standard.mly"
7938 ( None )
7939 # 7940 "parser_cocci_menhir.ml"
7940
7941 in
7942
7943 # 688 "parser_cocci_menhir.mly"
7944 ( P.pointerify (P.make_cv cv ty) m )
7945 # 7946 "parser_cocci_menhir.ml"
7946 in
7947 _menhir_env.MenhirLib.EngineTypes.stack <- {
7948 MenhirLib.EngineTypes.state = _menhir_s;
7949 MenhirLib.EngineTypes.semv = Obj.repr _v;
7950 MenhirLib.EngineTypes.startp = _startpos;
7951 MenhirLib.EngineTypes.endp = _endpos;
7952 MenhirLib.EngineTypes.next = _menhir_stack;
7953 });
7954 (fun _menhir_env ->
7955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7956 let {
7957 MenhirLib.EngineTypes.semv = m;
7958 MenhirLib.EngineTypes.startp = _startpos_m_;
7959 MenhirLib.EngineTypes.endp = _endpos_m_;
7960 MenhirLib.EngineTypes.next = {
7961 MenhirLib.EngineTypes.semv = ty00;
7962 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7963 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7964 MenhirLib.EngineTypes.next = {
7965 MenhirLib.EngineTypes.state = _menhir_s;
7966 MenhirLib.EngineTypes.semv = r0;
7967 MenhirLib.EngineTypes.startp = _startpos_r0_;
7968 MenhirLib.EngineTypes.endp = _endpos_r0_;
7969 MenhirLib.EngineTypes.next = _menhir_stack;
7970 };
7971 };
7972 } = _menhir_stack in
7973 let m : 'tv_list_TMul_ = Obj.magic m in
7974 let ty00 : (
7975 # 114 "parser_cocci_menhir.mly"
7976 (Data.clt)
7977 # 7978 "parser_cocci_menhir.ml"
7978 ) = Obj.magic ty00 in
7979 let r0 : (
7980 # 117 "parser_cocci_menhir.mly"
7981 (Data.clt)
7982 # 7983 "parser_cocci_menhir.ml"
7983 ) = Obj.magic r0 in
7984 let _startpos = _startpos_r0_ in
7985 let _endpos = _endpos_m_ in
7986 let _v : 'tv_ctype = let ty =
7987 let ty0 = ty00 in
7988 let r = r0 in
7989 let ty =
7990 let ty = ty0 in
7991
7992 # 621 "parser_cocci_menhir.mly"
7993 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7994 # 7995 "parser_cocci_menhir.ml"
7995
7996 in
7997
7998 # 682 "parser_cocci_menhir.mly"
7999 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8000 # 8001 "parser_cocci_menhir.ml"
8001
8002 in
8003 let cv =
8004
8005 # 39 "standard.mly"
8006 ( None )
8007 # 8008 "parser_cocci_menhir.ml"
8008
8009 in
8010
8011 # 688 "parser_cocci_menhir.mly"
8012 ( P.pointerify (P.make_cv cv ty) m )
8013 # 8014 "parser_cocci_menhir.ml"
8014 in
8015 _menhir_env.MenhirLib.EngineTypes.stack <- {
8016 MenhirLib.EngineTypes.state = _menhir_s;
8017 MenhirLib.EngineTypes.semv = Obj.repr _v;
8018 MenhirLib.EngineTypes.startp = _startpos;
8019 MenhirLib.EngineTypes.endp = _endpos;
8020 MenhirLib.EngineTypes.next = _menhir_stack;
8021 });
8022 (fun _menhir_env ->
8023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8024 let {
8025 MenhirLib.EngineTypes.semv = m;
8026 MenhirLib.EngineTypes.startp = _startpos_m_;
8027 MenhirLib.EngineTypes.endp = _endpos_m_;
8028 MenhirLib.EngineTypes.next = {
8029 MenhirLib.EngineTypes.semv = p00;
8030 MenhirLib.EngineTypes.startp = _startpos_p00_;
8031 MenhirLib.EngineTypes.endp = _endpos_p00_;
8032 MenhirLib.EngineTypes.next = {
8033 MenhirLib.EngineTypes.state = _menhir_s;
8034 MenhirLib.EngineTypes.semv = r0;
8035 MenhirLib.EngineTypes.startp = _startpos_r0_;
8036 MenhirLib.EngineTypes.endp = _endpos_r0_;
8037 MenhirLib.EngineTypes.next = _menhir_stack;
8038 };
8039 };
8040 } = _menhir_stack in
8041 let m : 'tv_list_TMul_ = Obj.magic m in
8042 let p00 : (
8043 # 131 "parser_cocci_menhir.mly"
8044 (Parse_aux.info)
8045 # 8046 "parser_cocci_menhir.ml"
8046 ) = Obj.magic p00 in
8047 let r0 : (
8048 # 117 "parser_cocci_menhir.mly"
8049 (Data.clt)
8050 # 8051 "parser_cocci_menhir.ml"
8051 ) = Obj.magic r0 in
8052 let _startpos = _startpos_r0_ in
8053 let _endpos = _endpos_m_ in
8054 let _v : 'tv_ctype = let ty =
8055 let p0 = p00 in
8056 let r = r0 in
8057 let ty =
8058 let p = p0 in
8059
8060 # 623 "parser_cocci_menhir.mly"
8061 ( let (nm,pure,clt) = p in
8062 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8063 # 8064 "parser_cocci_menhir.ml"
8064
8065 in
8066
8067 # 682 "parser_cocci_menhir.mly"
8068 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8069 # 8070 "parser_cocci_menhir.ml"
8070
8071 in
8072 let cv =
8073
8074 # 39 "standard.mly"
8075 ( None )
8076 # 8077 "parser_cocci_menhir.ml"
8077
8078 in
8079
8080 # 688 "parser_cocci_menhir.mly"
8081 ( P.pointerify (P.make_cv cv ty) m )
8082 # 8083 "parser_cocci_menhir.ml"
8083 in
8084 _menhir_env.MenhirLib.EngineTypes.stack <- {
8085 MenhirLib.EngineTypes.state = _menhir_s;
8086 MenhirLib.EngineTypes.semv = Obj.repr _v;
8087 MenhirLib.EngineTypes.startp = _startpos;
8088 MenhirLib.EngineTypes.endp = _endpos;
8089 MenhirLib.EngineTypes.next = _menhir_stack;
8090 });
8091 (fun _menhir_env ->
8092 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8093 let {
8094 MenhirLib.EngineTypes.semv = m;
8095 MenhirLib.EngineTypes.startp = _startpos_m_;
8096 MenhirLib.EngineTypes.endp = _endpos_m_;
8097 MenhirLib.EngineTypes.next = {
8098 MenhirLib.EngineTypes.semv = p00;
8099 MenhirLib.EngineTypes.startp = _startpos_p00_;
8100 MenhirLib.EngineTypes.endp = _endpos_p00_;
8101 MenhirLib.EngineTypes.next = {
8102 MenhirLib.EngineTypes.startp = _startpos__3_;
8103 MenhirLib.EngineTypes.endp = _endpos__3_;
8104 MenhirLib.EngineTypes.next = {
8105 MenhirLib.EngineTypes.semv = r00;
8106 MenhirLib.EngineTypes.startp = _startpos_r00_;
8107 MenhirLib.EngineTypes.endp = _endpos_r00_;
8108 MenhirLib.EngineTypes.next = {
8109 MenhirLib.EngineTypes.state = _menhir_s;
8110 MenhirLib.EngineTypes.semv = r1;
8111 MenhirLib.EngineTypes.startp = _startpos_r1_;
8112 MenhirLib.EngineTypes.endp = _endpos_r1_;
8113 MenhirLib.EngineTypes.next = _menhir_stack;
8114 };
8115 };
8116 };
8117 };
8118 } = _menhir_stack in
8119 let m : 'tv_list_TMul_ = Obj.magic m in
8120 let p00 : (
8121 # 125 "parser_cocci_menhir.mly"
8122 (string * Data.clt)
8123 # 8124 "parser_cocci_menhir.ml"
8124 ) = Obj.magic p00 in
8125 let r00 : (
8126 # 112 "parser_cocci_menhir.mly"
8127 (string)
8128 # 8129 "parser_cocci_menhir.ml"
8129 ) = Obj.magic r00 in
8130 let r1 : (
8131 # 117 "parser_cocci_menhir.mly"
8132 (Data.clt)
8133 # 8134 "parser_cocci_menhir.ml"
8134 ) = Obj.magic r1 in
8135 let _startpos = _startpos_r1_ in
8136 let _endpos = _endpos_m_ in
8137 let _v : 'tv_ctype = let ty =
8138 let p0 = p00 in
8139 let r0 = r00 in
8140 let r = r1 in
8141 let ty =
8142 let p = p0 in
8143 let r = r0 in
8144
8145 # 626 "parser_cocci_menhir.mly"
8146 ( let nm = (r,P.id2name p) in
8147 (* this is only possible when we are in a metavar decl. Otherwise,
8148 it will be represented already as a MetaType *)
8149 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8150 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8151 Ast0.Impure (*will be ignored*))) )
8152 # 8153 "parser_cocci_menhir.ml"
8153
8154 in
8155
8156 # 682 "parser_cocci_menhir.mly"
8157 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8158 # 8159 "parser_cocci_menhir.ml"
8159
8160 in
8161 let cv =
8162
8163 # 39 "standard.mly"
8164 ( None )
8165 # 8166 "parser_cocci_menhir.ml"
8166
8167 in
8168
8169 # 688 "parser_cocci_menhir.mly"
8170 ( P.pointerify (P.make_cv cv ty) m )
8171 # 8172 "parser_cocci_menhir.ml"
8172 in
8173 _menhir_env.MenhirLib.EngineTypes.stack <- {
8174 MenhirLib.EngineTypes.state = _menhir_s;
8175 MenhirLib.EngineTypes.semv = Obj.repr _v;
8176 MenhirLib.EngineTypes.startp = _startpos;
8177 MenhirLib.EngineTypes.endp = _endpos;
8178 MenhirLib.EngineTypes.next = _menhir_stack;
8179 });
8180 (fun _menhir_env ->
8181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8182 let {
8183 MenhirLib.EngineTypes.semv = m;
8184 MenhirLib.EngineTypes.startp = _startpos_m_;
8185 MenhirLib.EngineTypes.endp = _endpos_m_;
8186 MenhirLib.EngineTypes.next = {
8187 MenhirLib.EngineTypes.semv = ty00;
8188 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8189 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8190 MenhirLib.EngineTypes.next = {
8191 MenhirLib.EngineTypes.state = _menhir_s;
8192 MenhirLib.EngineTypes.semv = r0;
8193 MenhirLib.EngineTypes.startp = _startpos_r0_;
8194 MenhirLib.EngineTypes.endp = _endpos_r0_;
8195 MenhirLib.EngineTypes.next = _menhir_stack;
8196 };
8197 };
8198 } = _menhir_stack in
8199 let m : 'tv_list_TMul_ = Obj.magic m in
8200 let ty00 : (
8201 # 114 "parser_cocci_menhir.mly"
8202 (Data.clt)
8203 # 8204 "parser_cocci_menhir.ml"
8204 ) = Obj.magic ty00 in
8205 let r0 : (
8206 # 117 "parser_cocci_menhir.mly"
8207 (Data.clt)
8208 # 8209 "parser_cocci_menhir.ml"
8209 ) = Obj.magic r0 in
8210 let _startpos = _startpos_r0_ in
8211 let _endpos = _endpos_m_ in
8212 let _v : 'tv_ctype = let ty =
8213 let ty0 = ty00 in
8214 let r = r0 in
8215 let ty =
8216 let ty = ty0 in
8217
8218 # 633 "parser_cocci_menhir.mly"
8219 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8220 # 8221 "parser_cocci_menhir.ml"
8221
8222 in
8223
8224 # 682 "parser_cocci_menhir.mly"
8225 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8226 # 8227 "parser_cocci_menhir.ml"
8227
8228 in
8229 let cv =
8230
8231 # 39 "standard.mly"
8232 ( None )
8233 # 8234 "parser_cocci_menhir.ml"
8234
8235 in
8236
8237 # 688 "parser_cocci_menhir.mly"
8238 ( P.pointerify (P.make_cv cv ty) m )
8239 # 8240 "parser_cocci_menhir.ml"
8240 in
8241 _menhir_env.MenhirLib.EngineTypes.stack <- {
8242 MenhirLib.EngineTypes.state = _menhir_s;
8243 MenhirLib.EngineTypes.semv = Obj.repr _v;
8244 MenhirLib.EngineTypes.startp = _startpos;
8245 MenhirLib.EngineTypes.endp = _endpos;
8246 MenhirLib.EngineTypes.next = _menhir_stack;
8247 });
8248 (fun _menhir_env ->
8249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8250 let {
8251 MenhirLib.EngineTypes.semv = m;
8252 MenhirLib.EngineTypes.startp = _startpos_m_;
8253 MenhirLib.EngineTypes.endp = _endpos_m_;
8254 MenhirLib.EngineTypes.next = {
8255 MenhirLib.EngineTypes.semv = ty200;
8256 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8257 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8258 MenhirLib.EngineTypes.next = {
8259 MenhirLib.EngineTypes.semv = ty100;
8260 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8261 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8262 MenhirLib.EngineTypes.next = {
8263 MenhirLib.EngineTypes.state = _menhir_s;
8264 MenhirLib.EngineTypes.semv = r0;
8265 MenhirLib.EngineTypes.startp = _startpos_r0_;
8266 MenhirLib.EngineTypes.endp = _endpos_r0_;
8267 MenhirLib.EngineTypes.next = _menhir_stack;
8268 };
8269 };
8270 };
8271 } = _menhir_stack in
8272 let m : 'tv_list_TMul_ = Obj.magic m in
8273 let ty200 : (
8274 # 114 "parser_cocci_menhir.mly"
8275 (Data.clt)
8276 # 8277 "parser_cocci_menhir.ml"
8277 ) = Obj.magic ty200 in
8278 let ty100 : (
8279 # 114 "parser_cocci_menhir.mly"
8280 (Data.clt)
8281 # 8282 "parser_cocci_menhir.ml"
8282 ) = Obj.magic ty100 in
8283 let r0 : (
8284 # 117 "parser_cocci_menhir.mly"
8285 (Data.clt)
8286 # 8287 "parser_cocci_menhir.ml"
8287 ) = Obj.magic r0 in
8288 let _startpos = _startpos_r0_ in
8289 let _endpos = _endpos_m_ in
8290 let _v : 'tv_ctype = let ty =
8291 let ty20 = ty200 in
8292 let ty10 = ty100 in
8293 let r = r0 in
8294 let ty =
8295 let ty2 = ty20 in
8296 let ty1 = ty10 in
8297
8298 # 635 "parser_cocci_menhir.mly"
8299 ( Ast0.wrap
8300 (Ast0.BaseType
8301 (Ast.LongLongType,
8302 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8303 # 8304 "parser_cocci_menhir.ml"
8304
8305 in
8306
8307 # 682 "parser_cocci_menhir.mly"
8308 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8309 # 8310 "parser_cocci_menhir.ml"
8310
8311 in
8312 let cv =
8313
8314 # 39 "standard.mly"
8315 ( None )
8316 # 8317 "parser_cocci_menhir.ml"
8317
8318 in
8319
8320 # 688 "parser_cocci_menhir.mly"
8321 ( P.pointerify (P.make_cv cv ty) m )
8322 # 8323 "parser_cocci_menhir.ml"
8323 in
8324 _menhir_env.MenhirLib.EngineTypes.stack <- {
8325 MenhirLib.EngineTypes.state = _menhir_s;
8326 MenhirLib.EngineTypes.semv = Obj.repr _v;
8327 MenhirLib.EngineTypes.startp = _startpos;
8328 MenhirLib.EngineTypes.endp = _endpos;
8329 MenhirLib.EngineTypes.next = _menhir_stack;
8330 });
8331 (fun _menhir_env ->
8332 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8333 let {
8334 MenhirLib.EngineTypes.semv = m;
8335 MenhirLib.EngineTypes.startp = _startpos_m_;
8336 MenhirLib.EngineTypes.endp = _endpos_m_;
8337 MenhirLib.EngineTypes.next = {
8338 MenhirLib.EngineTypes.state = _menhir_s;
8339 MenhirLib.EngineTypes.semv = ty00;
8340 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8341 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8342 MenhirLib.EngineTypes.next = _menhir_stack;
8343 };
8344 } = _menhir_stack in
8345 let m : 'tv_list_TMul_ = Obj.magic m in
8346 let ty00 : (
8347 # 114 "parser_cocci_menhir.mly"
8348 (Data.clt)
8349 # 8350 "parser_cocci_menhir.ml"
8350 ) = Obj.magic ty00 in
8351 let _startpos = _startpos_ty00_ in
8352 let _endpos = _endpos_m_ in
8353 let _v : 'tv_ctype = let ty =
8354 let ty0 = ty00 in
8355 let ty =
8356 let ty = ty0 in
8357
8358 # 617 "parser_cocci_menhir.mly"
8359 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8360 # 8361 "parser_cocci_menhir.ml"
8361
8362 in
8363
8364 # 683 "parser_cocci_menhir.mly"
8365 ( ty )
8366 # 8367 "parser_cocci_menhir.ml"
8367
8368 in
8369 let cv =
8370
8371 # 39 "standard.mly"
8372 ( None )
8373 # 8374 "parser_cocci_menhir.ml"
8374
8375 in
8376
8377 # 688 "parser_cocci_menhir.mly"
8378 ( P.pointerify (P.make_cv cv ty) m )
8379 # 8380 "parser_cocci_menhir.ml"
8380 in
8381 _menhir_env.MenhirLib.EngineTypes.stack <- {
8382 MenhirLib.EngineTypes.state = _menhir_s;
8383 MenhirLib.EngineTypes.semv = Obj.repr _v;
8384 MenhirLib.EngineTypes.startp = _startpos;
8385 MenhirLib.EngineTypes.endp = _endpos;
8386 MenhirLib.EngineTypes.next = _menhir_stack;
8387 });
8388 (fun _menhir_env ->
8389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8390 let {
8391 MenhirLib.EngineTypes.semv = m;
8392 MenhirLib.EngineTypes.startp = _startpos_m_;
8393 MenhirLib.EngineTypes.endp = _endpos_m_;
8394 MenhirLib.EngineTypes.next = {
8395 MenhirLib.EngineTypes.state = _menhir_s;
8396 MenhirLib.EngineTypes.semv = ty00;
8397 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8398 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8399 MenhirLib.EngineTypes.next = _menhir_stack;
8400 };
8401 } = _menhir_stack in
8402 let m : 'tv_list_TMul_ = Obj.magic m in
8403 let ty00 : (
8404 # 114 "parser_cocci_menhir.mly"
8405 (Data.clt)
8406 # 8407 "parser_cocci_menhir.ml"
8407 ) = Obj.magic ty00 in
8408 let _startpos = _startpos_ty00_ in
8409 let _endpos = _endpos_m_ in
8410 let _v : 'tv_ctype = let ty =
8411 let ty0 = ty00 in
8412 let ty =
8413 let ty = ty0 in
8414
8415 # 619 "parser_cocci_menhir.mly"
8416 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8417 # 8418 "parser_cocci_menhir.ml"
8418
8419 in
8420
8421 # 683 "parser_cocci_menhir.mly"
8422 ( ty )
8423 # 8424 "parser_cocci_menhir.ml"
8424
8425 in
8426 let cv =
8427
8428 # 39 "standard.mly"
8429 ( None )
8430 # 8431 "parser_cocci_menhir.ml"
8431
8432 in
8433
8434 # 688 "parser_cocci_menhir.mly"
8435 ( P.pointerify (P.make_cv cv ty) m )
8436 # 8437 "parser_cocci_menhir.ml"
8437 in
8438 _menhir_env.MenhirLib.EngineTypes.stack <- {
8439 MenhirLib.EngineTypes.state = _menhir_s;
8440 MenhirLib.EngineTypes.semv = Obj.repr _v;
8441 MenhirLib.EngineTypes.startp = _startpos;
8442 MenhirLib.EngineTypes.endp = _endpos;
8443 MenhirLib.EngineTypes.next = _menhir_stack;
8444 });
8445 (fun _menhir_env ->
8446 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8447 let {
8448 MenhirLib.EngineTypes.semv = m;
8449 MenhirLib.EngineTypes.startp = _startpos_m_;
8450 MenhirLib.EngineTypes.endp = _endpos_m_;
8451 MenhirLib.EngineTypes.next = {
8452 MenhirLib.EngineTypes.state = _menhir_s;
8453 MenhirLib.EngineTypes.semv = ty00;
8454 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8455 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8456 MenhirLib.EngineTypes.next = _menhir_stack;
8457 };
8458 } = _menhir_stack in
8459 let m : 'tv_list_TMul_ = Obj.magic m in
8460 let ty00 : (
8461 # 114 "parser_cocci_menhir.mly"
8462 (Data.clt)
8463 # 8464 "parser_cocci_menhir.ml"
8464 ) = Obj.magic ty00 in
8465 let _startpos = _startpos_ty00_ in
8466 let _endpos = _endpos_m_ in
8467 let _v : 'tv_ctype = let ty =
8468 let ty0 = ty00 in
8469 let ty =
8470 let ty = ty0 in
8471
8472 # 621 "parser_cocci_menhir.mly"
8473 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8474 # 8475 "parser_cocci_menhir.ml"
8475
8476 in
8477
8478 # 683 "parser_cocci_menhir.mly"
8479 ( ty )
8480 # 8481 "parser_cocci_menhir.ml"
8481
8482 in
8483 let cv =
8484
8485 # 39 "standard.mly"
8486 ( None )
8487 # 8488 "parser_cocci_menhir.ml"
8488
8489 in
8490
8491 # 688 "parser_cocci_menhir.mly"
8492 ( P.pointerify (P.make_cv cv ty) m )
8493 # 8494 "parser_cocci_menhir.ml"
8494 in
8495 _menhir_env.MenhirLib.EngineTypes.stack <- {
8496 MenhirLib.EngineTypes.state = _menhir_s;
8497 MenhirLib.EngineTypes.semv = Obj.repr _v;
8498 MenhirLib.EngineTypes.startp = _startpos;
8499 MenhirLib.EngineTypes.endp = _endpos;
8500 MenhirLib.EngineTypes.next = _menhir_stack;
8501 });
8502 (fun _menhir_env ->
8503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8504 let {
8505 MenhirLib.EngineTypes.semv = m;
8506 MenhirLib.EngineTypes.startp = _startpos_m_;
8507 MenhirLib.EngineTypes.endp = _endpos_m_;
8508 MenhirLib.EngineTypes.next = {
8509 MenhirLib.EngineTypes.state = _menhir_s;
8510 MenhirLib.EngineTypes.semv = p00;
8511 MenhirLib.EngineTypes.startp = _startpos_p00_;
8512 MenhirLib.EngineTypes.endp = _endpos_p00_;
8513 MenhirLib.EngineTypes.next = _menhir_stack;
8514 };
8515 } = _menhir_stack in
8516 let m : 'tv_list_TMul_ = Obj.magic m in
8517 let p00 : (
8518 # 131 "parser_cocci_menhir.mly"
8519 (Parse_aux.info)
8520 # 8521 "parser_cocci_menhir.ml"
8521 ) = Obj.magic p00 in
8522 let _startpos = _startpos_p00_ in
8523 let _endpos = _endpos_m_ in
8524 let _v : 'tv_ctype = let ty =
8525 let p0 = p00 in
8526 let ty =
8527 let p = p0 in
8528
8529 # 623 "parser_cocci_menhir.mly"
8530 ( let (nm,pure,clt) = p in
8531 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8532 # 8533 "parser_cocci_menhir.ml"
8533
8534 in
8535
8536 # 683 "parser_cocci_menhir.mly"
8537 ( ty )
8538 # 8539 "parser_cocci_menhir.ml"
8539
8540 in
8541 let cv =
8542
8543 # 39 "standard.mly"
8544 ( None )
8545 # 8546 "parser_cocci_menhir.ml"
8546
8547 in
8548
8549 # 688 "parser_cocci_menhir.mly"
8550 ( P.pointerify (P.make_cv cv ty) m )
8551 # 8552 "parser_cocci_menhir.ml"
8552 in
8553 _menhir_env.MenhirLib.EngineTypes.stack <- {
8554 MenhirLib.EngineTypes.state = _menhir_s;
8555 MenhirLib.EngineTypes.semv = Obj.repr _v;
8556 MenhirLib.EngineTypes.startp = _startpos;
8557 MenhirLib.EngineTypes.endp = _endpos;
8558 MenhirLib.EngineTypes.next = _menhir_stack;
8559 });
8560 (fun _menhir_env ->
8561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8562 let {
8563 MenhirLib.EngineTypes.semv = m;
8564 MenhirLib.EngineTypes.startp = _startpos_m_;
8565 MenhirLib.EngineTypes.endp = _endpos_m_;
8566 MenhirLib.EngineTypes.next = {
8567 MenhirLib.EngineTypes.semv = p00;
8568 MenhirLib.EngineTypes.startp = _startpos_p00_;
8569 MenhirLib.EngineTypes.endp = _endpos_p00_;
8570 MenhirLib.EngineTypes.next = {
8571 MenhirLib.EngineTypes.startp = _startpos__2_;
8572 MenhirLib.EngineTypes.endp = _endpos__2_;
8573 MenhirLib.EngineTypes.next = {
8574 MenhirLib.EngineTypes.state = _menhir_s;
8575 MenhirLib.EngineTypes.semv = r00;
8576 MenhirLib.EngineTypes.startp = _startpos_r00_;
8577 MenhirLib.EngineTypes.endp = _endpos_r00_;
8578 MenhirLib.EngineTypes.next = _menhir_stack;
8579 };
8580 };
8581 };
8582 } = _menhir_stack in
8583 let m : 'tv_list_TMul_ = Obj.magic m in
8584 let p00 : (
8585 # 125 "parser_cocci_menhir.mly"
8586 (string * Data.clt)
8587 # 8588 "parser_cocci_menhir.ml"
8588 ) = Obj.magic p00 in
8589 let r00 : (
8590 # 112 "parser_cocci_menhir.mly"
8591 (string)
8592 # 8593 "parser_cocci_menhir.ml"
8593 ) = Obj.magic r00 in
8594 let _startpos = _startpos_r00_ in
8595 let _endpos = _endpos_m_ in
8596 let _v : 'tv_ctype = let ty =
8597 let p0 = p00 in
8598 let r0 = r00 in
8599 let ty =
8600 let p = p0 in
8601 let r = r0 in
8602
8603 # 626 "parser_cocci_menhir.mly"
8604 ( let nm = (r,P.id2name p) in
8605 (* this is only possible when we are in a metavar decl. Otherwise,
8606 it will be represented already as a MetaType *)
8607 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8608 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8609 Ast0.Impure (*will be ignored*))) )
8610 # 8611 "parser_cocci_menhir.ml"
8611
8612 in
8613
8614 # 683 "parser_cocci_menhir.mly"
8615 ( ty )
8616 # 8617 "parser_cocci_menhir.ml"
8617
8618 in
8619 let cv =
8620
8621 # 39 "standard.mly"
8622 ( None )
8623 # 8624 "parser_cocci_menhir.ml"
8624
8625 in
8626
8627 # 688 "parser_cocci_menhir.mly"
8628 ( P.pointerify (P.make_cv cv ty) m )
8629 # 8630 "parser_cocci_menhir.ml"
8630 in
8631 _menhir_env.MenhirLib.EngineTypes.stack <- {
8632 MenhirLib.EngineTypes.state = _menhir_s;
8633 MenhirLib.EngineTypes.semv = Obj.repr _v;
8634 MenhirLib.EngineTypes.startp = _startpos;
8635 MenhirLib.EngineTypes.endp = _endpos;
8636 MenhirLib.EngineTypes.next = _menhir_stack;
8637 });
8638 (fun _menhir_env ->
8639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8640 let {
8641 MenhirLib.EngineTypes.semv = m;
8642 MenhirLib.EngineTypes.startp = _startpos_m_;
8643 MenhirLib.EngineTypes.endp = _endpos_m_;
8644 MenhirLib.EngineTypes.next = {
8645 MenhirLib.EngineTypes.state = _menhir_s;
8646 MenhirLib.EngineTypes.semv = ty00;
8647 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8648 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8649 MenhirLib.EngineTypes.next = _menhir_stack;
8650 };
8651 } = _menhir_stack in
8652 let m : 'tv_list_TMul_ = Obj.magic m in
8653 let ty00 : (
8654 # 114 "parser_cocci_menhir.mly"
8655 (Data.clt)
8656 # 8657 "parser_cocci_menhir.ml"
8657 ) = Obj.magic ty00 in
8658 let _startpos = _startpos_ty00_ in
8659 let _endpos = _endpos_m_ in
8660 let _v : 'tv_ctype = let ty =
8661 let ty0 = ty00 in
8662 let ty =
8663 let ty = ty0 in
8664
8665 # 633 "parser_cocci_menhir.mly"
8666 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8667 # 8668 "parser_cocci_menhir.ml"
8668
8669 in
8670
8671 # 683 "parser_cocci_menhir.mly"
8672 ( ty )
8673 # 8674 "parser_cocci_menhir.ml"
8674
8675 in
8676 let cv =
8677
8678 # 39 "standard.mly"
8679 ( None )
8680 # 8681 "parser_cocci_menhir.ml"
8681
8682 in
8683
8684 # 688 "parser_cocci_menhir.mly"
8685 ( P.pointerify (P.make_cv cv ty) m )
8686 # 8687 "parser_cocci_menhir.ml"
8687 in
8688 _menhir_env.MenhirLib.EngineTypes.stack <- {
8689 MenhirLib.EngineTypes.state = _menhir_s;
8690 MenhirLib.EngineTypes.semv = Obj.repr _v;
8691 MenhirLib.EngineTypes.startp = _startpos;
8692 MenhirLib.EngineTypes.endp = _endpos;
8693 MenhirLib.EngineTypes.next = _menhir_stack;
8694 });
8695 (fun _menhir_env ->
8696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8697 let {
8698 MenhirLib.EngineTypes.semv = m;
8699 MenhirLib.EngineTypes.startp = _startpos_m_;
8700 MenhirLib.EngineTypes.endp = _endpos_m_;
8701 MenhirLib.EngineTypes.next = {
8702 MenhirLib.EngineTypes.semv = ty200;
8703 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8704 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8705 MenhirLib.EngineTypes.next = {
8706 MenhirLib.EngineTypes.state = _menhir_s;
8707 MenhirLib.EngineTypes.semv = ty100;
8708 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8709 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8710 MenhirLib.EngineTypes.next = _menhir_stack;
8711 };
8712 };
8713 } = _menhir_stack in
8714 let m : 'tv_list_TMul_ = Obj.magic m in
8715 let ty200 : (
8716 # 114 "parser_cocci_menhir.mly"
8717 (Data.clt)
8718 # 8719 "parser_cocci_menhir.ml"
8719 ) = Obj.magic ty200 in
8720 let ty100 : (
8721 # 114 "parser_cocci_menhir.mly"
8722 (Data.clt)
8723 # 8724 "parser_cocci_menhir.ml"
8724 ) = Obj.magic ty100 in
8725 let _startpos = _startpos_ty100_ in
8726 let _endpos = _endpos_m_ in
8727 let _v : 'tv_ctype = let ty =
8728 let ty20 = ty200 in
8729 let ty10 = ty100 in
8730 let ty =
8731 let ty2 = ty20 in
8732 let ty1 = ty10 in
8733
8734 # 635 "parser_cocci_menhir.mly"
8735 ( Ast0.wrap
8736 (Ast0.BaseType
8737 (Ast.LongLongType,
8738 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8739 # 8740 "parser_cocci_menhir.ml"
8740
8741 in
8742
8743 # 683 "parser_cocci_menhir.mly"
8744 ( ty )
8745 # 8746 "parser_cocci_menhir.ml"
8746
8747 in
8748 let cv =
8749
8750 # 39 "standard.mly"
8751 ( None )
8752 # 8753 "parser_cocci_menhir.ml"
8753
8754 in
8755
8756 # 688 "parser_cocci_menhir.mly"
8757 ( P.pointerify (P.make_cv cv ty) m )
8758 # 8759 "parser_cocci_menhir.ml"
8759 in
8760 _menhir_env.MenhirLib.EngineTypes.stack <- {
8761 MenhirLib.EngineTypes.state = _menhir_s;
8762 MenhirLib.EngineTypes.semv = Obj.repr _v;
8763 MenhirLib.EngineTypes.startp = _startpos;
8764 MenhirLib.EngineTypes.endp = _endpos;
8765 MenhirLib.EngineTypes.next = _menhir_stack;
8766 });
8767 (fun _menhir_env ->
8768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8769 let {
8770 MenhirLib.EngineTypes.semv = m;
8771 MenhirLib.EngineTypes.startp = _startpos_m_;
8772 MenhirLib.EngineTypes.endp = _endpos_m_;
8773 MenhirLib.EngineTypes.next = {
8774 MenhirLib.EngineTypes.state = _menhir_s;
8775 MenhirLib.EngineTypes.semv = ty00;
8776 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8777 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8778 MenhirLib.EngineTypes.next = _menhir_stack;
8779 };
8780 } = _menhir_stack in
8781 let m : 'tv_list_TMul_ = Obj.magic m in
8782 let ty00 : (
8783 # 116 "parser_cocci_menhir.mly"
8784 (Data.clt)
8785 # 8786 "parser_cocci_menhir.ml"
8786 ) = Obj.magic ty00 in
8787 let _startpos = _startpos_ty00_ in
8788 let _endpos = _endpos_m_ in
8789 let _v : 'tv_ctype = let ty =
8790 let ty0 = ty00 in
8791 let ty =
8792 let ty = ty0 in
8793
8794 # 643 "parser_cocci_menhir.mly"
8795 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
8796 # 8797 "parser_cocci_menhir.ml"
8797
8798 in
8799
8800 # 684 "parser_cocci_menhir.mly"
8801 ( ty )
8802 # 8803 "parser_cocci_menhir.ml"
8803
8804 in
8805 let cv =
8806
8807 # 39 "standard.mly"
8808 ( None )
8809 # 8810 "parser_cocci_menhir.ml"
8810
8811 in
8812
8813 # 688 "parser_cocci_menhir.mly"
8814 ( P.pointerify (P.make_cv cv ty) m )
8815 # 8816 "parser_cocci_menhir.ml"
8816 in
8817 _menhir_env.MenhirLib.EngineTypes.stack <- {
8818 MenhirLib.EngineTypes.state = _menhir_s;
8819 MenhirLib.EngineTypes.semv = Obj.repr _v;
8820 MenhirLib.EngineTypes.startp = _startpos;
8821 MenhirLib.EngineTypes.endp = _endpos;
8822 MenhirLib.EngineTypes.next = _menhir_stack;
8823 });
8824 (fun _menhir_env ->
8825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8826 let {
8827 MenhirLib.EngineTypes.semv = m;
8828 MenhirLib.EngineTypes.startp = _startpos_m_;
8829 MenhirLib.EngineTypes.endp = _endpos_m_;
8830 MenhirLib.EngineTypes.next = {
8831 MenhirLib.EngineTypes.state = _menhir_s;
8832 MenhirLib.EngineTypes.semv = ty00;
8833 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8834 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8835 MenhirLib.EngineTypes.next = _menhir_stack;
8836 };
8837 } = _menhir_stack in
8838 let m : 'tv_list_TMul_ = Obj.magic m in
8839 let ty00 : (
8840 # 114 "parser_cocci_menhir.mly"
8841 (Data.clt)
8842 # 8843 "parser_cocci_menhir.ml"
8843 ) = Obj.magic ty00 in
8844 let _startpos = _startpos_ty00_ in
8845 let _endpos = _endpos_m_ in
8846 let _v : 'tv_ctype = let ty =
8847 let ty0 = ty00 in
8848 let ty =
8849 let ty = ty0 in
8850
8851 # 645 "parser_cocci_menhir.mly"
8852 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
8853 # 8854 "parser_cocci_menhir.ml"
8854
8855 in
8856
8857 # 684 "parser_cocci_menhir.mly"
8858 ( ty )
8859 # 8860 "parser_cocci_menhir.ml"
8860
8861 in
8862 let cv =
8863
8864 # 39 "standard.mly"
8865 ( None )
8866 # 8867 "parser_cocci_menhir.ml"
8867
8868 in
8869
8870 # 688 "parser_cocci_menhir.mly"
8871 ( P.pointerify (P.make_cv cv ty) m )
8872 # 8873 "parser_cocci_menhir.ml"
8873 in
8874 _menhir_env.MenhirLib.EngineTypes.stack <- {
8875 MenhirLib.EngineTypes.state = _menhir_s;
8876 MenhirLib.EngineTypes.semv = Obj.repr _v;
8877 MenhirLib.EngineTypes.startp = _startpos;
8878 MenhirLib.EngineTypes.endp = _endpos;
8879 MenhirLib.EngineTypes.next = _menhir_stack;
8880 });
8881 (fun _menhir_env ->
8882 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8883 let {
8884 MenhirLib.EngineTypes.semv = m;
8885 MenhirLib.EngineTypes.startp = _startpos_m_;
8886 MenhirLib.EngineTypes.endp = _endpos_m_;
8887 MenhirLib.EngineTypes.next = {
8888 MenhirLib.EngineTypes.state = _menhir_s;
8889 MenhirLib.EngineTypes.semv = ty00;
8890 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8891 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8892 MenhirLib.EngineTypes.next = _menhir_stack;
8893 };
8894 } = _menhir_stack in
8895 let m : 'tv_list_TMul_ = Obj.magic m in
8896 let ty00 : (
8897 # 114 "parser_cocci_menhir.mly"
8898 (Data.clt)
8899 # 8900 "parser_cocci_menhir.ml"
8900 ) = Obj.magic ty00 in
8901 let _startpos = _startpos_ty00_ in
8902 let _endpos = _endpos_m_ in
8903 let _v : 'tv_ctype = let ty =
8904 let ty0 = ty00 in
8905 let ty =
8906 let ty = ty0 in
8907
8908 # 647 "parser_cocci_menhir.mly"
8909 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
8910 # 8911 "parser_cocci_menhir.ml"
8911
8912 in
8913
8914 # 684 "parser_cocci_menhir.mly"
8915 ( ty )
8916 # 8917 "parser_cocci_menhir.ml"
8917
8918 in
8919 let cv =
8920
8921 # 39 "standard.mly"
8922 ( None )
8923 # 8924 "parser_cocci_menhir.ml"
8924
8925 in
8926
8927 # 688 "parser_cocci_menhir.mly"
8928 ( P.pointerify (P.make_cv cv ty) m )
8929 # 8930 "parser_cocci_menhir.ml"
8930 in
8931 _menhir_env.MenhirLib.EngineTypes.stack <- {
8932 MenhirLib.EngineTypes.state = _menhir_s;
8933 MenhirLib.EngineTypes.semv = Obj.repr _v;
8934 MenhirLib.EngineTypes.startp = _startpos;
8935 MenhirLib.EngineTypes.endp = _endpos;
8936 MenhirLib.EngineTypes.next = _menhir_stack;
8937 });
8938 (fun _menhir_env ->
8939 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8940 let {
8941 MenhirLib.EngineTypes.semv = m;
8942 MenhirLib.EngineTypes.startp = _startpos_m_;
8943 MenhirLib.EngineTypes.endp = _endpos_m_;
8944 MenhirLib.EngineTypes.next = {
8945 MenhirLib.EngineTypes.state = _menhir_s;
8946 MenhirLib.EngineTypes.semv = ty00;
8947 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8948 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8949 MenhirLib.EngineTypes.next = _menhir_stack;
8950 };
8951 } = _menhir_stack in
8952 let m : 'tv_list_TMul_ = Obj.magic m in
8953 let ty00 : (
8954 # 115 "parser_cocci_menhir.mly"
8955 (Data.clt)
8956 # 8957 "parser_cocci_menhir.ml"
8957 ) = Obj.magic ty00 in
8958 let _startpos = _startpos_ty00_ in
8959 let _endpos = _endpos_m_ in
8960 let _v : 'tv_ctype = let ty =
8961 let ty0 = ty00 in
8962 let ty =
8963 let ty = ty0 in
8964
8965 # 649 "parser_cocci_menhir.mly"
8966 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
8967 # 8968 "parser_cocci_menhir.ml"
8968
8969 in
8970
8971 # 684 "parser_cocci_menhir.mly"
8972 ( ty )
8973 # 8974 "parser_cocci_menhir.ml"
8974
8975 in
8976 let cv =
8977
8978 # 39 "standard.mly"
8979 ( None )
8980 # 8981 "parser_cocci_menhir.ml"
8981
8982 in
8983
8984 # 688 "parser_cocci_menhir.mly"
8985 ( P.pointerify (P.make_cv cv ty) m )
8986 # 8987 "parser_cocci_menhir.ml"
8987 in
8988 _menhir_env.MenhirLib.EngineTypes.stack <- {
8989 MenhirLib.EngineTypes.state = _menhir_s;
8990 MenhirLib.EngineTypes.semv = Obj.repr _v;
8991 MenhirLib.EngineTypes.startp = _startpos;
8992 MenhirLib.EngineTypes.endp = _endpos;
8993 MenhirLib.EngineTypes.next = _menhir_stack;
8994 });
8995 (fun _menhir_env ->
8996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8997 let {
8998 MenhirLib.EngineTypes.semv = m;
8999 MenhirLib.EngineTypes.startp = _startpos_m_;
9000 MenhirLib.EngineTypes.endp = _endpos_m_;
9001 MenhirLib.EngineTypes.next = {
9002 MenhirLib.EngineTypes.state = _menhir_s;
9003 MenhirLib.EngineTypes.semv = ty00;
9004 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9005 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9006 MenhirLib.EngineTypes.next = _menhir_stack;
9007 };
9008 } = _menhir_stack in
9009 let m : 'tv_list_TMul_ = Obj.magic m in
9010 let ty00 : (
9011 # 115 "parser_cocci_menhir.mly"
9012 (Data.clt)
9013 # 9014 "parser_cocci_menhir.ml"
9014 ) = Obj.magic ty00 in
9015 let _startpos = _startpos_ty00_ in
9016 let _endpos = _endpos_m_ in
9017 let _v : 'tv_ctype = let ty =
9018 let ty0 = ty00 in
9019 let ty =
9020 let ty = ty0 in
9021
9022 # 651 "parser_cocci_menhir.mly"
9023 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
9024 # 9025 "parser_cocci_menhir.ml"
9025
9026 in
9027
9028 # 684 "parser_cocci_menhir.mly"
9029 ( ty )
9030 # 9031 "parser_cocci_menhir.ml"
9031
9032 in
9033 let cv =
9034
9035 # 39 "standard.mly"
9036 ( None )
9037 # 9038 "parser_cocci_menhir.ml"
9038
9039 in
9040
9041 # 688 "parser_cocci_menhir.mly"
9042 ( P.pointerify (P.make_cv cv ty) m )
9043 # 9044 "parser_cocci_menhir.ml"
9044 in
9045 _menhir_env.MenhirLib.EngineTypes.stack <- {
9046 MenhirLib.EngineTypes.state = _menhir_s;
9047 MenhirLib.EngineTypes.semv = Obj.repr _v;
9048 MenhirLib.EngineTypes.startp = _startpos;
9049 MenhirLib.EngineTypes.endp = _endpos;
9050 MenhirLib.EngineTypes.next = _menhir_stack;
9051 });
9052 (fun _menhir_env ->
9053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9054 let {
9055 MenhirLib.EngineTypes.semv = m;
9056 MenhirLib.EngineTypes.startp = _startpos_m_;
9057 MenhirLib.EngineTypes.endp = _endpos_m_;
9058 MenhirLib.EngineTypes.next = {
9059 MenhirLib.EngineTypes.state = _menhir_s;
9060 MenhirLib.EngineTypes.semv = ty00;
9061 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9062 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9063 MenhirLib.EngineTypes.next = _menhir_stack;
9064 };
9065 } = _menhir_stack in
9066 let m : 'tv_list_TMul_ = Obj.magic m in
9067 let ty00 : (
9068 # 115 "parser_cocci_menhir.mly"
9069 (Data.clt)
9070 # 9071 "parser_cocci_menhir.ml"
9071 ) = Obj.magic ty00 in
9072 let _startpos = _startpos_ty00_ in
9073 let _endpos = _endpos_m_ in
9074 let _v : 'tv_ctype = let ty =
9075 let ty0 = ty00 in
9076 let ty =
9077 let ty = ty0 in
9078
9079 # 653 "parser_cocci_menhir.mly"
9080 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
9081 # 9082 "parser_cocci_menhir.ml"
9082
9083 in
9084
9085 # 684 "parser_cocci_menhir.mly"
9086 ( ty )
9087 # 9088 "parser_cocci_menhir.ml"
9088
9089 in
9090 let cv =
9091
9092 # 39 "standard.mly"
9093 ( None )
9094 # 9095 "parser_cocci_menhir.ml"
9095
9096 in
9097
9098 # 688 "parser_cocci_menhir.mly"
9099 ( P.pointerify (P.make_cv cv ty) m )
9100 # 9101 "parser_cocci_menhir.ml"
9101 in
9102 _menhir_env.MenhirLib.EngineTypes.stack <- {
9103 MenhirLib.EngineTypes.state = _menhir_s;
9104 MenhirLib.EngineTypes.semv = Obj.repr _v;
9105 MenhirLib.EngineTypes.startp = _startpos;
9106 MenhirLib.EngineTypes.endp = _endpos;
9107 MenhirLib.EngineTypes.next = _menhir_stack;
9108 });
9109 (fun _menhir_env ->
9110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9111 let {
9112 MenhirLib.EngineTypes.semv = m;
9113 MenhirLib.EngineTypes.startp = _startpos_m_;
9114 MenhirLib.EngineTypes.endp = _endpos_m_;
9115 MenhirLib.EngineTypes.next = {
9116 MenhirLib.EngineTypes.semv = i00;
9117 MenhirLib.EngineTypes.startp = _startpos_i00_;
9118 MenhirLib.EngineTypes.endp = _endpos_i00_;
9119 MenhirLib.EngineTypes.next = {
9120 MenhirLib.EngineTypes.state = _menhir_s;
9121 MenhirLib.EngineTypes.semv = s00;
9122 MenhirLib.EngineTypes.startp = _startpos_s00_;
9123 MenhirLib.EngineTypes.endp = _endpos_s00_;
9124 MenhirLib.EngineTypes.next = _menhir_stack;
9125 };
9126 };
9127 } = _menhir_stack in
9128 let m : 'tv_list_TMul_ = Obj.magic m in
9129 let i00 : 'tv_ident = Obj.magic i00 in
9130 let s00 : (
9131 # 116 "parser_cocci_menhir.mly"
9132 (Data.clt)
9133 # 9134 "parser_cocci_menhir.ml"
9134 ) = Obj.magic s00 in
9135 let _startpos = _startpos_s00_ in
9136 let _endpos = _endpos_m_ in
9137 let _v : 'tv_ctype = let ty =
9138 let i0 = i00 in
9139 let s0 = s00 in
9140 let ty =
9141 let i = i0 in
9142 let s = s0 in
9143
9144 # 655 "parser_cocci_menhir.mly"
9145 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
9146 # 9147 "parser_cocci_menhir.ml"
9147
9148 in
9149
9150 # 684 "parser_cocci_menhir.mly"
9151 ( ty )
9152 # 9153 "parser_cocci_menhir.ml"
9153
9154 in
9155 let cv =
9156
9157 # 39 "standard.mly"
9158 ( None )
9159 # 9160 "parser_cocci_menhir.ml"
9160
9161 in
9162
9163 # 688 "parser_cocci_menhir.mly"
9164 ( P.pointerify (P.make_cv cv ty) m )
9165 # 9166 "parser_cocci_menhir.ml"
9166 in
9167 _menhir_env.MenhirLib.EngineTypes.stack <- {
9168 MenhirLib.EngineTypes.state = _menhir_s;
9169 MenhirLib.EngineTypes.semv = Obj.repr _v;
9170 MenhirLib.EngineTypes.startp = _startpos;
9171 MenhirLib.EngineTypes.endp = _endpos;
9172 MenhirLib.EngineTypes.next = _menhir_stack;
9173 });
9174 (fun _menhir_env ->
9175 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9176 let {
9177 MenhirLib.EngineTypes.semv = m;
9178 MenhirLib.EngineTypes.startp = _startpos_m_;
9179 MenhirLib.EngineTypes.endp = _endpos_m_;
9180 MenhirLib.EngineTypes.next = {
9181 MenhirLib.EngineTypes.semv = r00;
9182 MenhirLib.EngineTypes.startp = _startpos_r00_;
9183 MenhirLib.EngineTypes.endp = _endpos_r00_;
9184 MenhirLib.EngineTypes.next = {
9185 MenhirLib.EngineTypes.semv = ids00;
9186 MenhirLib.EngineTypes.startp = _startpos_ids00_;
9187 MenhirLib.EngineTypes.endp = _endpos_ids00_;
9188 MenhirLib.EngineTypes.next = {
9189 MenhirLib.EngineTypes.semv = l00;
9190 MenhirLib.EngineTypes.startp = _startpos_l00_;
9191 MenhirLib.EngineTypes.endp = _endpos_l00_;
9192 MenhirLib.EngineTypes.next = {
9193 MenhirLib.EngineTypes.state = _menhir_s;
9194 MenhirLib.EngineTypes.semv = s00;
9195 MenhirLib.EngineTypes.startp = _startpos_s00_;
9196 MenhirLib.EngineTypes.endp = _endpos_s00_;
9197 MenhirLib.EngineTypes.next = _menhir_stack;
9198 };
9199 };
9200 };
9201 };
9202 } = _menhir_stack in
9203 let m : 'tv_list_TMul_ = Obj.magic m in
9204 let r00 : (
9205 # 169 "parser_cocci_menhir.mly"
9206 (Data.clt)
9207 # 9208 "parser_cocci_menhir.ml"
9208 ) = Obj.magic r00 in
9209 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
9210 let l00 : (
9211 # 169 "parser_cocci_menhir.mly"
9212 (Data.clt)
9213 # 9214 "parser_cocci_menhir.ml"
9214 ) = Obj.magic l00 in
9215 let s00 : (
9216 # 116 "parser_cocci_menhir.mly"
9217 (Data.clt)
9218 # 9219 "parser_cocci_menhir.ml"
9219 ) = Obj.magic s00 in
9220 let _startpos = _startpos_s00_ in
9221 let _endpos = _endpos_m_ in
9222 let _v : 'tv_ctype = let ty =
9223 let r0 = r00 in
9224 let ids0 = ids00 in
9225 let l0 = l00 in
9226 let s0 = s00 in
9227 let ty =
9228 let r = r0 in
9229 let ids = ids0 in
9230 let l = l0 in
9231 let s = s0 in
9232 let i =
9233
9234 # 39 "standard.mly"
9235 ( None )
9236 # 9237 "parser_cocci_menhir.ml"
9237
9238 in
9239
9240 # 657 "parser_cocci_menhir.mly"
9241 ( (if i = None && !Data.in_iso
9242 then failwith "enums must be named in the iso file");
9243 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
9244 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
9245 # 9246 "parser_cocci_menhir.ml"
9246
9247 in
9248
9249 # 684 "parser_cocci_menhir.mly"
9250 ( ty )
9251 # 9252 "parser_cocci_menhir.ml"
9252
9253 in
9254 let cv =
9255
9256 # 39 "standard.mly"
9257 ( None )
9258 # 9259 "parser_cocci_menhir.ml"
9259
9260 in
9261
9262 # 688 "parser_cocci_menhir.mly"
9263 ( P.pointerify (P.make_cv cv ty) m )
9264 # 9265 "parser_cocci_menhir.ml"
9265 in
9266 _menhir_env.MenhirLib.EngineTypes.stack <- {
9267 MenhirLib.EngineTypes.state = _menhir_s;
9268 MenhirLib.EngineTypes.semv = Obj.repr _v;
9269 MenhirLib.EngineTypes.startp = _startpos;
9270 MenhirLib.EngineTypes.endp = _endpos;
9271 MenhirLib.EngineTypes.next = _menhir_stack;
9272 });
9273 (fun _menhir_env ->
9274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9275 let {
9276 MenhirLib.EngineTypes.semv = m;
9277 MenhirLib.EngineTypes.startp = _startpos_m_;
9278 MenhirLib.EngineTypes.endp = _endpos_m_;
9279 MenhirLib.EngineTypes.next = {
9280 MenhirLib.EngineTypes.semv = r00;
9281 MenhirLib.EngineTypes.startp = _startpos_r00_;
9282 MenhirLib.EngineTypes.endp = _endpos_r00_;
9283 MenhirLib.EngineTypes.next = {
9284 MenhirLib.EngineTypes.semv = ids00;
9285 MenhirLib.EngineTypes.startp = _startpos_ids00_;
9286 MenhirLib.EngineTypes.endp = _endpos_ids00_;
9287 MenhirLib.EngineTypes.next = {
9288 MenhirLib.EngineTypes.semv = l00;
9289 MenhirLib.EngineTypes.startp = _startpos_l00_;
9290 MenhirLib.EngineTypes.endp = _endpos_l00_;
9291 MenhirLib.EngineTypes.next = {
9292 MenhirLib.EngineTypes.semv = x000;
9293 MenhirLib.EngineTypes.startp = _startpos_x000_;
9294 MenhirLib.EngineTypes.endp = _endpos_x000_;
9295 MenhirLib.EngineTypes.next = {
9296 MenhirLib.EngineTypes.state = _menhir_s;
9297 MenhirLib.EngineTypes.semv = s00;
9298 MenhirLib.EngineTypes.startp = _startpos_s00_;
9299 MenhirLib.EngineTypes.endp = _endpos_s00_;
9300 MenhirLib.EngineTypes.next = _menhir_stack;
9301 };
9302 };
9303 };
9304 };
9305 };
9306 } = _menhir_stack in
9307 let m : 'tv_list_TMul_ = Obj.magic m in
9308 let r00 : (
9309 # 169 "parser_cocci_menhir.mly"
9310 (Data.clt)
9311 # 9312 "parser_cocci_menhir.ml"
9312 ) = Obj.magic r00 in
9313 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
9314 let l00 : (
9315 # 169 "parser_cocci_menhir.mly"
9316 (Data.clt)
9317 # 9318 "parser_cocci_menhir.ml"
9318 ) = Obj.magic l00 in
9319 let x000 : 'tv_ident = Obj.magic x000 in
9320 let s00 : (
9321 # 116 "parser_cocci_menhir.mly"
9322 (Data.clt)
9323 # 9324 "parser_cocci_menhir.ml"
9324 ) = Obj.magic s00 in
9325 let _startpos = _startpos_s00_ in
9326 let _endpos = _endpos_m_ in
9327 let _v : 'tv_ctype = let ty =
9328 let r0 = r00 in
9329 let ids0 = ids00 in
9330 let l0 = l00 in
9331 let x00 = x000 in
9332 let s0 = s00 in
9333 let ty =
9334 let r = r0 in
9335 let ids = ids0 in
9336 let l = l0 in
9337 let x0 = x00 in
9338 let s = s0 in
9339 let i =
9340 let x = x0 in
9341
9342 # 41 "standard.mly"
9343 ( Some x )
9344 # 9345 "parser_cocci_menhir.ml"
9345
9346 in
9347
9348 # 657 "parser_cocci_menhir.mly"
9349 ( (if i = None && !Data.in_iso
9350 then failwith "enums must be named in the iso file");
9351 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
9352 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
9353 # 9354 "parser_cocci_menhir.ml"
9354
9355 in
9356
9357 # 684 "parser_cocci_menhir.mly"
9358 ( ty )
9359 # 9360 "parser_cocci_menhir.ml"
9360
9361 in
9362 let cv =
9363
9364 # 39 "standard.mly"
9365 ( None )
9366 # 9367 "parser_cocci_menhir.ml"
9367
9368 in
9369
9370 # 688 "parser_cocci_menhir.mly"
9371 ( P.pointerify (P.make_cv cv ty) m )
9372 # 9373 "parser_cocci_menhir.ml"
9373 in
9374 _menhir_env.MenhirLib.EngineTypes.stack <- {
9375 MenhirLib.EngineTypes.state = _menhir_s;
9376 MenhirLib.EngineTypes.semv = Obj.repr _v;
9377 MenhirLib.EngineTypes.startp = _startpos;
9378 MenhirLib.EngineTypes.endp = _endpos;
9379 MenhirLib.EngineTypes.next = _menhir_stack;
9380 });
9381 (fun _menhir_env ->
9382 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9383 let {
9384 MenhirLib.EngineTypes.semv = m;
9385 MenhirLib.EngineTypes.startp = _startpos_m_;
9386 MenhirLib.EngineTypes.endp = _endpos_m_;
9387 MenhirLib.EngineTypes.next = {
9388 MenhirLib.EngineTypes.semv = i00;
9389 MenhirLib.EngineTypes.startp = _startpos_i00_;
9390 MenhirLib.EngineTypes.endp = _endpos_i00_;
9391 MenhirLib.EngineTypes.next = {
9392 MenhirLib.EngineTypes.state = _menhir_s;
9393 MenhirLib.EngineTypes.semv = s00;
9394 MenhirLib.EngineTypes.startp = _startpos_s00_;
9395 MenhirLib.EngineTypes.endp = _endpos_s00_;
9396 MenhirLib.EngineTypes.next = _menhir_stack;
9397 };
9398 };
9399 } = _menhir_stack in
9400 let m : 'tv_list_TMul_ = Obj.magic m in
9401 let i00 : 'tv_type_ident = Obj.magic i00 in
9402 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9403 let _startpos = _startpos_s00_ in
9404 let _endpos = _endpos_m_ in
9405 let _v : 'tv_ctype = let ty =
9406 let i0 = i00 in
9407 let s0 = s00 in
9408 let ty =
9409 let i = i0 in
9410 let s = s0 in
9411
9412 # 662 "parser_cocci_menhir.mly"
9413 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
9414 # 9415 "parser_cocci_menhir.ml"
9415
9416 in
9417
9418 # 684 "parser_cocci_menhir.mly"
9419 ( ty )
9420 # 9421 "parser_cocci_menhir.ml"
9421
9422 in
9423 let cv =
9424
9425 # 39 "standard.mly"
9426 ( None )
9427 # 9428 "parser_cocci_menhir.ml"
9428
9429 in
9430
9431 # 688 "parser_cocci_menhir.mly"
9432 ( P.pointerify (P.make_cv cv ty) m )
9433 # 9434 "parser_cocci_menhir.ml"
9434 in
9435 _menhir_env.MenhirLib.EngineTypes.stack <- {
9436 MenhirLib.EngineTypes.state = _menhir_s;
9437 MenhirLib.EngineTypes.semv = Obj.repr _v;
9438 MenhirLib.EngineTypes.startp = _startpos;
9439 MenhirLib.EngineTypes.endp = _endpos;
9440 MenhirLib.EngineTypes.next = _menhir_stack;
9441 });
9442 (fun _menhir_env ->
9443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9444 let {
9445 MenhirLib.EngineTypes.semv = m;
9446 MenhirLib.EngineTypes.startp = _startpos_m_;
9447 MenhirLib.EngineTypes.endp = _endpos_m_;
9448 MenhirLib.EngineTypes.next = {
9449 MenhirLib.EngineTypes.semv = r00;
9450 MenhirLib.EngineTypes.startp = _startpos_r00_;
9451 MenhirLib.EngineTypes.endp = _endpos_r00_;
9452 MenhirLib.EngineTypes.next = {
9453 MenhirLib.EngineTypes.semv = d00;
9454 MenhirLib.EngineTypes.startp = _startpos_d00_;
9455 MenhirLib.EngineTypes.endp = _endpos_d00_;
9456 MenhirLib.EngineTypes.next = {
9457 MenhirLib.EngineTypes.semv = l00;
9458 MenhirLib.EngineTypes.startp = _startpos_l00_;
9459 MenhirLib.EngineTypes.endp = _endpos_l00_;
9460 MenhirLib.EngineTypes.next = {
9461 MenhirLib.EngineTypes.state = _menhir_s;
9462 MenhirLib.EngineTypes.semv = s00;
9463 MenhirLib.EngineTypes.startp = _startpos_s00_;
9464 MenhirLib.EngineTypes.endp = _endpos_s00_;
9465 MenhirLib.EngineTypes.next = _menhir_stack;
9466 };
9467 };
9468 };
9469 };
9470 } = _menhir_stack in
9471 let m : 'tv_list_TMul_ = Obj.magic m in
9472 let r00 : (
9473 # 169 "parser_cocci_menhir.mly"
9474 (Data.clt)
9475 # 9476 "parser_cocci_menhir.ml"
9476 ) = Obj.magic r00 in
9477 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
9478 let l00 : (
9479 # 169 "parser_cocci_menhir.mly"
9480 (Data.clt)
9481 # 9482 "parser_cocci_menhir.ml"
9482 ) = Obj.magic l00 in
9483 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9484 let _startpos = _startpos_s00_ in
9485 let _endpos = _endpos_m_ in
9486 let _v : 'tv_ctype = let ty =
9487 let r0 = r00 in
9488 let d0 = d00 in
9489 let l0 = l00 in
9490 let s0 = s00 in
9491 let ty =
9492 let r = r0 in
9493 let d = d0 in
9494 let l = l0 in
9495 let s = s0 in
9496 let i =
9497
9498 # 39 "standard.mly"
9499 ( None )
9500 # 9501 "parser_cocci_menhir.ml"
9501
9502 in
9503
9504 # 665 "parser_cocci_menhir.mly"
9505 ( (if i = None && !Data.in_iso
9506 then failwith "structures must be named in the iso file");
9507 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
9508 P.clt2mcode "{" l,
9509 d, P.clt2mcode "}" r)) )
9510 # 9511 "parser_cocci_menhir.ml"
9511
9512 in
9513
9514 # 684 "parser_cocci_menhir.mly"
9515 ( ty )
9516 # 9517 "parser_cocci_menhir.ml"
9517
9518 in
9519 let cv =
9520
9521 # 39 "standard.mly"
9522 ( None )
9523 # 9524 "parser_cocci_menhir.ml"
9524
9525 in
9526
9527 # 688 "parser_cocci_menhir.mly"
9528 ( P.pointerify (P.make_cv cv ty) m )
9529 # 9530 "parser_cocci_menhir.ml"
9530 in
9531 _menhir_env.MenhirLib.EngineTypes.stack <- {
9532 MenhirLib.EngineTypes.state = _menhir_s;
9533 MenhirLib.EngineTypes.semv = Obj.repr _v;
9534 MenhirLib.EngineTypes.startp = _startpos;
9535 MenhirLib.EngineTypes.endp = _endpos;
9536 MenhirLib.EngineTypes.next = _menhir_stack;
9537 });
9538 (fun _menhir_env ->
9539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9540 let {
9541 MenhirLib.EngineTypes.semv = m;
9542 MenhirLib.EngineTypes.startp = _startpos_m_;
9543 MenhirLib.EngineTypes.endp = _endpos_m_;
9544 MenhirLib.EngineTypes.next = {
9545 MenhirLib.EngineTypes.semv = r00;
9546 MenhirLib.EngineTypes.startp = _startpos_r00_;
9547 MenhirLib.EngineTypes.endp = _endpos_r00_;
9548 MenhirLib.EngineTypes.next = {
9549 MenhirLib.EngineTypes.semv = d00;
9550 MenhirLib.EngineTypes.startp = _startpos_d00_;
9551 MenhirLib.EngineTypes.endp = _endpos_d00_;
9552 MenhirLib.EngineTypes.next = {
9553 MenhirLib.EngineTypes.semv = l00;
9554 MenhirLib.EngineTypes.startp = _startpos_l00_;
9555 MenhirLib.EngineTypes.endp = _endpos_l00_;
9556 MenhirLib.EngineTypes.next = {
9557 MenhirLib.EngineTypes.semv = x000;
9558 MenhirLib.EngineTypes.startp = _startpos_x000_;
9559 MenhirLib.EngineTypes.endp = _endpos_x000_;
9560 MenhirLib.EngineTypes.next = {
9561 MenhirLib.EngineTypes.state = _menhir_s;
9562 MenhirLib.EngineTypes.semv = s00;
9563 MenhirLib.EngineTypes.startp = _startpos_s00_;
9564 MenhirLib.EngineTypes.endp = _endpos_s00_;
9565 MenhirLib.EngineTypes.next = _menhir_stack;
9566 };
9567 };
9568 };
9569 };
9570 };
9571 } = _menhir_stack in
9572 let m : 'tv_list_TMul_ = Obj.magic m in
9573 let r00 : (
9574 # 169 "parser_cocci_menhir.mly"
9575 (Data.clt)
9576 # 9577 "parser_cocci_menhir.ml"
9577 ) = Obj.magic r00 in
9578 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
9579 let l00 : (
9580 # 169 "parser_cocci_menhir.mly"
9581 (Data.clt)
9582 # 9583 "parser_cocci_menhir.ml"
9583 ) = Obj.magic l00 in
9584 let x000 : 'tv_type_ident = Obj.magic x000 in
9585 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9586 let _startpos = _startpos_s00_ in
9587 let _endpos = _endpos_m_ in
9588 let _v : 'tv_ctype = let ty =
9589 let r0 = r00 in
9590 let d0 = d00 in
9591 let l0 = l00 in
9592 let x00 = x000 in
9593 let s0 = s00 in
9594 let ty =
9595 let r = r0 in
9596 let d = d0 in
9597 let l = l0 in
9598 let x0 = x00 in
9599 let s = s0 in
9600 let i =
9601 let x = x0 in
9602
9603 # 41 "standard.mly"
9604 ( Some x )
9605 # 9606 "parser_cocci_menhir.ml"
9606
9607 in
9608
9609 # 665 "parser_cocci_menhir.mly"
9610 ( (if i = None && !Data.in_iso
9611 then failwith "structures must be named in the iso file");
9612 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
9613 P.clt2mcode "{" l,
9614 d, P.clt2mcode "}" r)) )
9615 # 9616 "parser_cocci_menhir.ml"
9616
9617 in
9618
9619 # 684 "parser_cocci_menhir.mly"
9620 ( ty )
9621 # 9622 "parser_cocci_menhir.ml"
9622
9623 in
9624 let cv =
9625
9626 # 39 "standard.mly"
9627 ( None )
9628 # 9629 "parser_cocci_menhir.ml"
9629
9630 in
9631
9632 # 688 "parser_cocci_menhir.mly"
9633 ( P.pointerify (P.make_cv cv ty) m )
9634 # 9635 "parser_cocci_menhir.ml"
9635 in
9636 _menhir_env.MenhirLib.EngineTypes.stack <- {
9637 MenhirLib.EngineTypes.state = _menhir_s;
9638 MenhirLib.EngineTypes.semv = Obj.repr _v;
9639 MenhirLib.EngineTypes.startp = _startpos;
9640 MenhirLib.EngineTypes.endp = _endpos;
9641 MenhirLib.EngineTypes.next = _menhir_stack;
9642 });
9643 (fun _menhir_env ->
9644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9645 let {
9646 MenhirLib.EngineTypes.semv = m;
9647 MenhirLib.EngineTypes.startp = _startpos_m_;
9648 MenhirLib.EngineTypes.endp = _endpos_m_;
9649 MenhirLib.EngineTypes.next = {
9650 MenhirLib.EngineTypes.semv = r00;
9651 MenhirLib.EngineTypes.startp = _startpos_r00_;
9652 MenhirLib.EngineTypes.endp = _endpos_r00_;
9653 MenhirLib.EngineTypes.next = {
9654 MenhirLib.EngineTypes.semv = d00;
9655 MenhirLib.EngineTypes.startp = _startpos_d00_;
9656 MenhirLib.EngineTypes.endp = _endpos_d00_;
9657 MenhirLib.EngineTypes.next = {
9658 MenhirLib.EngineTypes.semv = l00;
9659 MenhirLib.EngineTypes.startp = _startpos_l00_;
9660 MenhirLib.EngineTypes.endp = _endpos_l00_;
9661 MenhirLib.EngineTypes.next = {
9662 MenhirLib.EngineTypes.state = _menhir_s;
9663 MenhirLib.EngineTypes.semv = s00;
9664 MenhirLib.EngineTypes.startp = _startpos_s00_;
9665 MenhirLib.EngineTypes.endp = _endpos_s00_;
9666 MenhirLib.EngineTypes.next = _menhir_stack;
9667 };
9668 };
9669 };
9670 };
9671 } = _menhir_stack in
9672 let m : 'tv_list_TMul_ = Obj.magic m in
9673 let r00 : (
9674 # 169 "parser_cocci_menhir.mly"
9675 (Data.clt)
9676 # 9677 "parser_cocci_menhir.ml"
9677 ) = Obj.magic r00 in
9678 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
9679 let l00 : (
9680 # 169 "parser_cocci_menhir.mly"
9681 (Data.clt)
9682 # 9683 "parser_cocci_menhir.ml"
9683 ) = Obj.magic l00 in
9684 let s00 : (
9685 # 131 "parser_cocci_menhir.mly"
9686 (Parse_aux.info)
9687 # 9688 "parser_cocci_menhir.ml"
9688 ) = Obj.magic s00 in
9689 let _startpos = _startpos_s00_ in
9690 let _endpos = _endpos_m_ in
9691 let _v : 'tv_ctype = let ty =
9692 let r0 = r00 in
9693 let d0 = d00 in
9694 let l0 = l00 in
9695 let s0 = s00 in
9696 let ty =
9697 let r = r0 in
9698 let d = d0 in
9699 let l = l0 in
9700 let s = s0 in
9701
9702 # 671 "parser_cocci_menhir.mly"
9703 ( let (nm,pure,clt) = s in
9704 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
9705 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
9706 # 9707 "parser_cocci_menhir.ml"
9707
9708 in
9709
9710 # 684 "parser_cocci_menhir.mly"
9711 ( ty )
9712 # 9713 "parser_cocci_menhir.ml"
9713
9714 in
9715 let cv =
9716
9717 # 39 "standard.mly"
9718 ( None )
9719 # 9720 "parser_cocci_menhir.ml"
9720
9721 in
9722
9723 # 688 "parser_cocci_menhir.mly"
9724 ( P.pointerify (P.make_cv cv ty) m )
9725 # 9726 "parser_cocci_menhir.ml"
9726 in
9727 _menhir_env.MenhirLib.EngineTypes.stack <- {
9728 MenhirLib.EngineTypes.state = _menhir_s;
9729 MenhirLib.EngineTypes.semv = Obj.repr _v;
9730 MenhirLib.EngineTypes.startp = _startpos;
9731 MenhirLib.EngineTypes.endp = _endpos;
9732 MenhirLib.EngineTypes.next = _menhir_stack;
9733 });
9734 (fun _menhir_env ->
9735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9736 let {
9737 MenhirLib.EngineTypes.semv = m;
9738 MenhirLib.EngineTypes.startp = _startpos_m_;
9739 MenhirLib.EngineTypes.endp = _endpos_m_;
9740 MenhirLib.EngineTypes.next = {
9741 MenhirLib.EngineTypes.state = _menhir_s;
9742 MenhirLib.EngineTypes.semv = p00;
9743 MenhirLib.EngineTypes.startp = _startpos_p00_;
9744 MenhirLib.EngineTypes.endp = _endpos_p00_;
9745 MenhirLib.EngineTypes.next = _menhir_stack;
9746 };
9747 } = _menhir_stack in
9748 let m : 'tv_list_TMul_ = Obj.magic m in
9749 let p00 : (
9750 # 125 "parser_cocci_menhir.mly"
9751 (string * Data.clt)
9752 # 9753 "parser_cocci_menhir.ml"
9753 ) = Obj.magic p00 in
9754 let _startpos = _startpos_p00_ in
9755 let _endpos = _endpos_m_ in
9756 let _v : 'tv_ctype = let ty =
9757 let p0 = p00 in
9758 let ty =
9759 let p = p0 in
9760
9761 # 675 "parser_cocci_menhir.mly"
9762 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
9763 # 9764 "parser_cocci_menhir.ml"
9764
9765 in
9766
9767 # 684 "parser_cocci_menhir.mly"
9768 ( ty )
9769 # 9770 "parser_cocci_menhir.ml"
9770
9771 in
9772 let cv =
9773
9774 # 39 "standard.mly"
9775 ( None )
9776 # 9777 "parser_cocci_menhir.ml"
9777
9778 in
9779
9780 # 688 "parser_cocci_menhir.mly"
9781 ( P.pointerify (P.make_cv cv ty) m )
9782 # 9783 "parser_cocci_menhir.ml"
9783 in
9784 _menhir_env.MenhirLib.EngineTypes.stack <- {
9785 MenhirLib.EngineTypes.state = _menhir_s;
9786 MenhirLib.EngineTypes.semv = Obj.repr _v;
9787 MenhirLib.EngineTypes.startp = _startpos;
9788 MenhirLib.EngineTypes.endp = _endpos;
9789 MenhirLib.EngineTypes.next = _menhir_stack;
9790 });
9791 (fun _menhir_env ->
9792 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9793 let {
9794 MenhirLib.EngineTypes.semv = m;
9795 MenhirLib.EngineTypes.startp = _startpos_m_;
9796 MenhirLib.EngineTypes.endp = _endpos_m_;
9797 MenhirLib.EngineTypes.next = {
9798 MenhirLib.EngineTypes.semv = ty00;
9799 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9800 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9801 MenhirLib.EngineTypes.next = {
9802 MenhirLib.EngineTypes.semv = r0;
9803 MenhirLib.EngineTypes.startp = _startpos_r0_;
9804 MenhirLib.EngineTypes.endp = _endpos_r0_;
9805 MenhirLib.EngineTypes.next = {
9806 MenhirLib.EngineTypes.state = _menhir_s;
9807 MenhirLib.EngineTypes.semv = x0;
9808 MenhirLib.EngineTypes.startp = _startpos_x0_;
9809 MenhirLib.EngineTypes.endp = _endpos_x0_;
9810 MenhirLib.EngineTypes.next = _menhir_stack;
9811 };
9812 };
9813 };
9814 } = _menhir_stack in
9815 let m : 'tv_list_TMul_ = Obj.magic m in
9816 let ty00 : (
9817 # 114 "parser_cocci_menhir.mly"
9818 (Data.clt)
9819 # 9820 "parser_cocci_menhir.ml"
9820 ) = Obj.magic ty00 in
9821 let r0 : (
9822 # 117 "parser_cocci_menhir.mly"
9823 (Data.clt)
9824 # 9825 "parser_cocci_menhir.ml"
9825 ) = Obj.magic r0 in
9826 let x0 : 'tv_const_vol = Obj.magic x0 in
9827 let _startpos = _startpos_x0_ in
9828 let _endpos = _endpos_m_ in
9829 let _v : 'tv_ctype = let ty =
9830 let ty0 = ty00 in
9831 let r = r0 in
9832 let ty =
9833 let ty = ty0 in
9834
9835 # 617 "parser_cocci_menhir.mly"
9836 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9837 # 9838 "parser_cocci_menhir.ml"
9838
9839 in
9840
9841 # 680 "parser_cocci_menhir.mly"
9842 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9843 # 9844 "parser_cocci_menhir.ml"
9844
9845 in
9846 let cv =
9847 let x = x0 in
9848
9849 # 41 "standard.mly"
9850 ( Some x )
9851 # 9852 "parser_cocci_menhir.ml"
9852
9853 in
9854
9855 # 688 "parser_cocci_menhir.mly"
9856 ( P.pointerify (P.make_cv cv ty) m )
9857 # 9858 "parser_cocci_menhir.ml"
9858 in
9859 _menhir_env.MenhirLib.EngineTypes.stack <- {
9860 MenhirLib.EngineTypes.state = _menhir_s;
9861 MenhirLib.EngineTypes.semv = Obj.repr _v;
9862 MenhirLib.EngineTypes.startp = _startpos;
9863 MenhirLib.EngineTypes.endp = _endpos;
9864 MenhirLib.EngineTypes.next = _menhir_stack;
9865 });
9866 (fun _menhir_env ->
9867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9868 let {
9869 MenhirLib.EngineTypes.semv = m;
9870 MenhirLib.EngineTypes.startp = _startpos_m_;
9871 MenhirLib.EngineTypes.endp = _endpos_m_;
9872 MenhirLib.EngineTypes.next = {
9873 MenhirLib.EngineTypes.semv = ty00;
9874 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9875 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9876 MenhirLib.EngineTypes.next = {
9877 MenhirLib.EngineTypes.semv = r0;
9878 MenhirLib.EngineTypes.startp = _startpos_r0_;
9879 MenhirLib.EngineTypes.endp = _endpos_r0_;
9880 MenhirLib.EngineTypes.next = {
9881 MenhirLib.EngineTypes.state = _menhir_s;
9882 MenhirLib.EngineTypes.semv = x0;
9883 MenhirLib.EngineTypes.startp = _startpos_x0_;
9884 MenhirLib.EngineTypes.endp = _endpos_x0_;
9885 MenhirLib.EngineTypes.next = _menhir_stack;
9886 };
9887 };
9888 };
9889 } = _menhir_stack in
9890 let m : 'tv_list_TMul_ = Obj.magic m in
9891 let ty00 : (
9892 # 114 "parser_cocci_menhir.mly"
9893 (Data.clt)
9894 # 9895 "parser_cocci_menhir.ml"
9895 ) = Obj.magic ty00 in
9896 let r0 : (
9897 # 117 "parser_cocci_menhir.mly"
9898 (Data.clt)
9899 # 9900 "parser_cocci_menhir.ml"
9900 ) = Obj.magic r0 in
9901 let x0 : 'tv_const_vol = Obj.magic x0 in
9902 let _startpos = _startpos_x0_ in
9903 let _endpos = _endpos_m_ in
9904 let _v : 'tv_ctype = let ty =
9905 let ty0 = ty00 in
9906 let r = r0 in
9907 let ty =
9908 let ty = ty0 in
9909
9910 # 619 "parser_cocci_menhir.mly"
9911 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9912 # 9913 "parser_cocci_menhir.ml"
9913
9914 in
9915
9916 # 680 "parser_cocci_menhir.mly"
9917 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9918 # 9919 "parser_cocci_menhir.ml"
9919
9920 in
9921 let cv =
9922 let x = x0 in
9923
9924 # 41 "standard.mly"
9925 ( Some x )
9926 # 9927 "parser_cocci_menhir.ml"
9927
9928 in
9929
9930 # 688 "parser_cocci_menhir.mly"
9931 ( P.pointerify (P.make_cv cv ty) m )
9932 # 9933 "parser_cocci_menhir.ml"
9933 in
9934 _menhir_env.MenhirLib.EngineTypes.stack <- {
9935 MenhirLib.EngineTypes.state = _menhir_s;
9936 MenhirLib.EngineTypes.semv = Obj.repr _v;
9937 MenhirLib.EngineTypes.startp = _startpos;
9938 MenhirLib.EngineTypes.endp = _endpos;
9939 MenhirLib.EngineTypes.next = _menhir_stack;
9940 });
9941 (fun _menhir_env ->
9942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9943 let {
9944 MenhirLib.EngineTypes.semv = m;
9945 MenhirLib.EngineTypes.startp = _startpos_m_;
9946 MenhirLib.EngineTypes.endp = _endpos_m_;
9947 MenhirLib.EngineTypes.next = {
9948 MenhirLib.EngineTypes.semv = ty00;
9949 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9950 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9951 MenhirLib.EngineTypes.next = {
9952 MenhirLib.EngineTypes.semv = r0;
9953 MenhirLib.EngineTypes.startp = _startpos_r0_;
9954 MenhirLib.EngineTypes.endp = _endpos_r0_;
9955 MenhirLib.EngineTypes.next = {
9956 MenhirLib.EngineTypes.state = _menhir_s;
9957 MenhirLib.EngineTypes.semv = x0;
9958 MenhirLib.EngineTypes.startp = _startpos_x0_;
9959 MenhirLib.EngineTypes.endp = _endpos_x0_;
9960 MenhirLib.EngineTypes.next = _menhir_stack;
9961 };
9962 };
9963 };
9964 } = _menhir_stack in
9965 let m : 'tv_list_TMul_ = Obj.magic m in
9966 let ty00 : (
9967 # 114 "parser_cocci_menhir.mly"
9968 (Data.clt)
9969 # 9970 "parser_cocci_menhir.ml"
9970 ) = Obj.magic ty00 in
9971 let r0 : (
9972 # 117 "parser_cocci_menhir.mly"
9973 (Data.clt)
9974 # 9975 "parser_cocci_menhir.ml"
9975 ) = Obj.magic r0 in
9976 let x0 : 'tv_const_vol = Obj.magic x0 in
9977 let _startpos = _startpos_x0_ in
9978 let _endpos = _endpos_m_ in
9979 let _v : 'tv_ctype = let ty =
9980 let ty0 = ty00 in
9981 let r = r0 in
9982 let ty =
9983 let ty = ty0 in
9984
9985 # 621 "parser_cocci_menhir.mly"
9986 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9987 # 9988 "parser_cocci_menhir.ml"
9988
9989 in
9990
9991 # 680 "parser_cocci_menhir.mly"
9992 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9993 # 9994 "parser_cocci_menhir.ml"
9994
9995 in
9996 let cv =
9997 let x = x0 in
9998
9999 # 41 "standard.mly"
10000 ( Some x )
10001 # 10002 "parser_cocci_menhir.ml"
10002
10003 in
10004
10005 # 688 "parser_cocci_menhir.mly"
10006 ( P.pointerify (P.make_cv cv ty) m )
10007 # 10008 "parser_cocci_menhir.ml"
10008 in
10009 _menhir_env.MenhirLib.EngineTypes.stack <- {
10010 MenhirLib.EngineTypes.state = _menhir_s;
10011 MenhirLib.EngineTypes.semv = Obj.repr _v;
10012 MenhirLib.EngineTypes.startp = _startpos;
10013 MenhirLib.EngineTypes.endp = _endpos;
10014 MenhirLib.EngineTypes.next = _menhir_stack;
10015 });
10016 (fun _menhir_env ->
10017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10018 let {
10019 MenhirLib.EngineTypes.semv = m;
10020 MenhirLib.EngineTypes.startp = _startpos_m_;
10021 MenhirLib.EngineTypes.endp = _endpos_m_;
10022 MenhirLib.EngineTypes.next = {
10023 MenhirLib.EngineTypes.semv = p00;
10024 MenhirLib.EngineTypes.startp = _startpos_p00_;
10025 MenhirLib.EngineTypes.endp = _endpos_p00_;
10026 MenhirLib.EngineTypes.next = {
10027 MenhirLib.EngineTypes.semv = r0;
10028 MenhirLib.EngineTypes.startp = _startpos_r0_;
10029 MenhirLib.EngineTypes.endp = _endpos_r0_;
10030 MenhirLib.EngineTypes.next = {
10031 MenhirLib.EngineTypes.state = _menhir_s;
10032 MenhirLib.EngineTypes.semv = x0;
10033 MenhirLib.EngineTypes.startp = _startpos_x0_;
10034 MenhirLib.EngineTypes.endp = _endpos_x0_;
10035 MenhirLib.EngineTypes.next = _menhir_stack;
10036 };
10037 };
10038 };
10039 } = _menhir_stack in
10040 let m : 'tv_list_TMul_ = Obj.magic m in
10041 let p00 : (
10042 # 131 "parser_cocci_menhir.mly"
10043 (Parse_aux.info)
10044 # 10045 "parser_cocci_menhir.ml"
10045 ) = Obj.magic p00 in
10046 let r0 : (
10047 # 117 "parser_cocci_menhir.mly"
10048 (Data.clt)
10049 # 10050 "parser_cocci_menhir.ml"
10050 ) = Obj.magic r0 in
10051 let x0 : 'tv_const_vol = Obj.magic x0 in
10052 let _startpos = _startpos_x0_ in
10053 let _endpos = _endpos_m_ in
10054 let _v : 'tv_ctype = let ty =
10055 let p0 = p00 in
10056 let r = r0 in
10057 let ty =
10058 let p = p0 in
10059
10060 # 623 "parser_cocci_menhir.mly"
10061 ( let (nm,pure,clt) = p in
10062 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
10063 # 10064 "parser_cocci_menhir.ml"
10064
10065 in
10066
10067 # 680 "parser_cocci_menhir.mly"
10068 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10069 # 10070 "parser_cocci_menhir.ml"
10070
10071 in
10072 let cv =
10073 let x = x0 in
10074
10075 # 41 "standard.mly"
10076 ( Some x )
10077 # 10078 "parser_cocci_menhir.ml"
10078
10079 in
10080
10081 # 688 "parser_cocci_menhir.mly"
10082 ( P.pointerify (P.make_cv cv ty) m )
10083 # 10084 "parser_cocci_menhir.ml"
10084 in
10085 _menhir_env.MenhirLib.EngineTypes.stack <- {
10086 MenhirLib.EngineTypes.state = _menhir_s;
10087 MenhirLib.EngineTypes.semv = Obj.repr _v;
10088 MenhirLib.EngineTypes.startp = _startpos;
10089 MenhirLib.EngineTypes.endp = _endpos;
10090 MenhirLib.EngineTypes.next = _menhir_stack;
10091 });
10092 (fun _menhir_env ->
10093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10094 let {
10095 MenhirLib.EngineTypes.semv = m;
10096 MenhirLib.EngineTypes.startp = _startpos_m_;
10097 MenhirLib.EngineTypes.endp = _endpos_m_;
10098 MenhirLib.EngineTypes.next = {
10099 MenhirLib.EngineTypes.semv = p00;
10100 MenhirLib.EngineTypes.startp = _startpos_p00_;
10101 MenhirLib.EngineTypes.endp = _endpos_p00_;
10102 MenhirLib.EngineTypes.next = {
10103 MenhirLib.EngineTypes.startp = _startpos__4_;
10104 MenhirLib.EngineTypes.endp = _endpos__4_;
10105 MenhirLib.EngineTypes.next = {
10106 MenhirLib.EngineTypes.semv = r00;
10107 MenhirLib.EngineTypes.startp = _startpos_r00_;
10108 MenhirLib.EngineTypes.endp = _endpos_r00_;
10109 MenhirLib.EngineTypes.next = {
10110 MenhirLib.EngineTypes.semv = r1;
10111 MenhirLib.EngineTypes.startp = _startpos_r1_;
10112 MenhirLib.EngineTypes.endp = _endpos_r1_;
10113 MenhirLib.EngineTypes.next = {
10114 MenhirLib.EngineTypes.state = _menhir_s;
10115 MenhirLib.EngineTypes.semv = x0;
10116 MenhirLib.EngineTypes.startp = _startpos_x0_;
10117 MenhirLib.EngineTypes.endp = _endpos_x0_;
10118 MenhirLib.EngineTypes.next = _menhir_stack;
10119 };
10120 };
10121 };
10122 };
10123 };
10124 } = _menhir_stack in
10125 let m : 'tv_list_TMul_ = Obj.magic m in
10126 let p00 : (
10127 # 125 "parser_cocci_menhir.mly"
10128 (string * Data.clt)
10129 # 10130 "parser_cocci_menhir.ml"
10130 ) = Obj.magic p00 in
10131 let r00 : (
10132 # 112 "parser_cocci_menhir.mly"
10133 (string)
10134 # 10135 "parser_cocci_menhir.ml"
10135 ) = Obj.magic r00 in
10136 let r1 : (
10137 # 117 "parser_cocci_menhir.mly"
10138 (Data.clt)
10139 # 10140 "parser_cocci_menhir.ml"
10140 ) = Obj.magic r1 in
10141 let x0 : 'tv_const_vol = Obj.magic x0 in
10142 let _startpos = _startpos_x0_ in
10143 let _endpos = _endpos_m_ in
10144 let _v : 'tv_ctype = let ty =
10145 let p0 = p00 in
10146 let r0 = r00 in
10147 let r = r1 in
10148 let ty =
10149 let p = p0 in
10150 let r = r0 in
10151
10152 # 626 "parser_cocci_menhir.mly"
10153 ( let nm = (r,P.id2name p) in
10154 (* this is only possible when we are in a metavar decl. Otherwise,
10155 it will be represented already as a MetaType *)
10156 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
10157 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
10158 Ast0.Impure (*will be ignored*))) )
10159 # 10160 "parser_cocci_menhir.ml"
10160
10161 in
10162
10163 # 680 "parser_cocci_menhir.mly"
10164 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10165 # 10166 "parser_cocci_menhir.ml"
10166
10167 in
10168 let cv =
10169 let x = x0 in
10170
10171 # 41 "standard.mly"
10172 ( Some x )
10173 # 10174 "parser_cocci_menhir.ml"
10174
10175 in
10176
10177 # 688 "parser_cocci_menhir.mly"
10178 ( P.pointerify (P.make_cv cv ty) m )
10179 # 10180 "parser_cocci_menhir.ml"
10180 in
10181 _menhir_env.MenhirLib.EngineTypes.stack <- {
10182 MenhirLib.EngineTypes.state = _menhir_s;
10183 MenhirLib.EngineTypes.semv = Obj.repr _v;
10184 MenhirLib.EngineTypes.startp = _startpos;
10185 MenhirLib.EngineTypes.endp = _endpos;
10186 MenhirLib.EngineTypes.next = _menhir_stack;
10187 });
10188 (fun _menhir_env ->
10189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10190 let {
10191 MenhirLib.EngineTypes.semv = m;
10192 MenhirLib.EngineTypes.startp = _startpos_m_;
10193 MenhirLib.EngineTypes.endp = _endpos_m_;
10194 MenhirLib.EngineTypes.next = {
10195 MenhirLib.EngineTypes.semv = ty00;
10196 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10197 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10198 MenhirLib.EngineTypes.next = {
10199 MenhirLib.EngineTypes.semv = r0;
10200 MenhirLib.EngineTypes.startp = _startpos_r0_;
10201 MenhirLib.EngineTypes.endp = _endpos_r0_;
10202 MenhirLib.EngineTypes.next = {
10203 MenhirLib.EngineTypes.state = _menhir_s;
10204 MenhirLib.EngineTypes.semv = x0;
10205 MenhirLib.EngineTypes.startp = _startpos_x0_;
10206 MenhirLib.EngineTypes.endp = _endpos_x0_;
10207 MenhirLib.EngineTypes.next = _menhir_stack;
10208 };
10209 };
10210 };
10211 } = _menhir_stack in
10212 let m : 'tv_list_TMul_ = Obj.magic m in
10213 let ty00 : (
10214 # 114 "parser_cocci_menhir.mly"
10215 (Data.clt)
10216 # 10217 "parser_cocci_menhir.ml"
10217 ) = Obj.magic ty00 in
10218 let r0 : (
10219 # 117 "parser_cocci_menhir.mly"
10220 (Data.clt)
10221 # 10222 "parser_cocci_menhir.ml"
10222 ) = Obj.magic r0 in
10223 let x0 : 'tv_const_vol = Obj.magic x0 in
10224 let _startpos = _startpos_x0_ in
10225 let _endpos = _endpos_m_ in
10226 let _v : 'tv_ctype = let ty =
10227 let ty0 = ty00 in
10228 let r = r0 in
10229 let ty =
10230 let ty = ty0 in
10231
10232 # 633 "parser_cocci_menhir.mly"
10233 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
10234 # 10235 "parser_cocci_menhir.ml"
10235
10236 in
10237
10238 # 680 "parser_cocci_menhir.mly"
10239 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10240 # 10241 "parser_cocci_menhir.ml"
10241
10242 in
10243 let cv =
10244 let x = x0 in
10245
10246 # 41 "standard.mly"
10247 ( Some x )
10248 # 10249 "parser_cocci_menhir.ml"
10249
10250 in
10251
10252 # 688 "parser_cocci_menhir.mly"
10253 ( P.pointerify (P.make_cv cv ty) m )
10254 # 10255 "parser_cocci_menhir.ml"
10255 in
10256 _menhir_env.MenhirLib.EngineTypes.stack <- {
10257 MenhirLib.EngineTypes.state = _menhir_s;
10258 MenhirLib.EngineTypes.semv = Obj.repr _v;
10259 MenhirLib.EngineTypes.startp = _startpos;
10260 MenhirLib.EngineTypes.endp = _endpos;
10261 MenhirLib.EngineTypes.next = _menhir_stack;
10262 });
10263 (fun _menhir_env ->
10264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10265 let {
10266 MenhirLib.EngineTypes.semv = m;
10267 MenhirLib.EngineTypes.startp = _startpos_m_;
10268 MenhirLib.EngineTypes.endp = _endpos_m_;
10269 MenhirLib.EngineTypes.next = {
10270 MenhirLib.EngineTypes.semv = ty200;
10271 MenhirLib.EngineTypes.startp = _startpos_ty200_;
10272 MenhirLib.EngineTypes.endp = _endpos_ty200_;
10273 MenhirLib.EngineTypes.next = {
10274 MenhirLib.EngineTypes.semv = ty100;
10275 MenhirLib.EngineTypes.startp = _startpos_ty100_;
10276 MenhirLib.EngineTypes.endp = _endpos_ty100_;
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 };
10291 } = _menhir_stack in
10292 let m : 'tv_list_TMul_ = Obj.magic m in
10293 let ty200 : (
10294 # 114 "parser_cocci_menhir.mly"
10295 (Data.clt)
10296 # 10297 "parser_cocci_menhir.ml"
10297 ) = Obj.magic ty200 in
10298 let ty100 : (
10299 # 114 "parser_cocci_menhir.mly"
10300 (Data.clt)
10301 # 10302 "parser_cocci_menhir.ml"
10302 ) = Obj.magic ty100 in
10303 let r0 : (
10304 # 117 "parser_cocci_menhir.mly"
10305 (Data.clt)
10306 # 10307 "parser_cocci_menhir.ml"
10307 ) = Obj.magic r0 in
10308 let x0 : 'tv_const_vol = Obj.magic x0 in
10309 let _startpos = _startpos_x0_ in
10310 let _endpos = _endpos_m_ in
10311 let _v : 'tv_ctype = let ty =
10312 let ty20 = ty200 in
10313 let ty10 = ty100 in
10314 let r = r0 in
10315 let ty =
10316 let ty2 = ty20 in
10317 let ty1 = ty10 in
10318
10319 # 635 "parser_cocci_menhir.mly"
10320 ( Ast0.wrap
10321 (Ast0.BaseType
10322 (Ast.LongLongType,
10323 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
10324 # 10325 "parser_cocci_menhir.ml"
10325
10326 in
10327
10328 # 680 "parser_cocci_menhir.mly"
10329 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10330 # 10331 "parser_cocci_menhir.ml"
10331
10332 in
10333 let cv =
10334 let x = x0 in
10335
10336 # 41 "standard.mly"
10337 ( Some x )
10338 # 10339 "parser_cocci_menhir.ml"
10339
10340 in
10341
10342 # 688 "parser_cocci_menhir.mly"
10343 ( P.pointerify (P.make_cv cv ty) m )
10344 # 10345 "parser_cocci_menhir.ml"
10345 in
10346 _menhir_env.MenhirLib.EngineTypes.stack <- {
10347 MenhirLib.EngineTypes.state = _menhir_s;
10348 MenhirLib.EngineTypes.semv = Obj.repr _v;
10349 MenhirLib.EngineTypes.startp = _startpos;
10350 MenhirLib.EngineTypes.endp = _endpos;
10351 MenhirLib.EngineTypes.next = _menhir_stack;
10352 });
10353 (fun _menhir_env ->
10354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10355 let {
10356 MenhirLib.EngineTypes.semv = m;
10357 MenhirLib.EngineTypes.startp = _startpos_m_;
10358 MenhirLib.EngineTypes.endp = _endpos_m_;
10359 MenhirLib.EngineTypes.next = {
10360 MenhirLib.EngineTypes.semv = ty00;
10361 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10362 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10363 MenhirLib.EngineTypes.next = {
10364 MenhirLib.EngineTypes.semv = r0;
10365 MenhirLib.EngineTypes.startp = _startpos_r0_;
10366 MenhirLib.EngineTypes.endp = _endpos_r0_;
10367 MenhirLib.EngineTypes.next = {
10368 MenhirLib.EngineTypes.state = _menhir_s;
10369 MenhirLib.EngineTypes.semv = x0;
10370 MenhirLib.EngineTypes.startp = _startpos_x0_;
10371 MenhirLib.EngineTypes.endp = _endpos_x0_;
10372 MenhirLib.EngineTypes.next = _menhir_stack;
10373 };
10374 };
10375 };
10376 } = _menhir_stack in
10377 let m : 'tv_list_TMul_ = Obj.magic m in
10378 let ty00 : (
10379 # 114 "parser_cocci_menhir.mly"
10380 (Data.clt)
10381 # 10382 "parser_cocci_menhir.ml"
10382 ) = Obj.magic ty00 in
10383 let r0 : (
10384 # 117 "parser_cocci_menhir.mly"
10385 (Data.clt)
10386 # 10387 "parser_cocci_menhir.ml"
10387 ) = Obj.magic r0 in
10388 let x0 : 'tv_const_vol = Obj.magic x0 in
10389 let _startpos = _startpos_x0_ in
10390 let _endpos = _endpos_m_ in
10391 let _v : 'tv_ctype = let ty =
10392 let ty0 = ty00 in
10393 let r = r0 in
10394 let ty =
10395 let ty = ty0 in
10396
10397 # 617 "parser_cocci_menhir.mly"
10398 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
10399 # 10400 "parser_cocci_menhir.ml"
10400
10401 in
10402
10403 # 682 "parser_cocci_menhir.mly"
10404 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10405 # 10406 "parser_cocci_menhir.ml"
10406
10407 in
10408 let cv =
10409 let x = x0 in
10410
10411 # 41 "standard.mly"
10412 ( Some x )
10413 # 10414 "parser_cocci_menhir.ml"
10414
10415 in
10416
10417 # 688 "parser_cocci_menhir.mly"
10418 ( P.pointerify (P.make_cv cv ty) m )
10419 # 10420 "parser_cocci_menhir.ml"
10420 in
10421 _menhir_env.MenhirLib.EngineTypes.stack <- {
10422 MenhirLib.EngineTypes.state = _menhir_s;
10423 MenhirLib.EngineTypes.semv = Obj.repr _v;
10424 MenhirLib.EngineTypes.startp = _startpos;
10425 MenhirLib.EngineTypes.endp = _endpos;
10426 MenhirLib.EngineTypes.next = _menhir_stack;
10427 });
10428 (fun _menhir_env ->
10429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10430 let {
10431 MenhirLib.EngineTypes.semv = m;
10432 MenhirLib.EngineTypes.startp = _startpos_m_;
10433 MenhirLib.EngineTypes.endp = _endpos_m_;
10434 MenhirLib.EngineTypes.next = {
10435 MenhirLib.EngineTypes.semv = ty00;
10436 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10437 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10438 MenhirLib.EngineTypes.next = {
10439 MenhirLib.EngineTypes.semv = r0;
10440 MenhirLib.EngineTypes.startp = _startpos_r0_;
10441 MenhirLib.EngineTypes.endp = _endpos_r0_;
10442 MenhirLib.EngineTypes.next = {
10443 MenhirLib.EngineTypes.state = _menhir_s;
10444 MenhirLib.EngineTypes.semv = x0;
10445 MenhirLib.EngineTypes.startp = _startpos_x0_;
10446 MenhirLib.EngineTypes.endp = _endpos_x0_;
10447 MenhirLib.EngineTypes.next = _menhir_stack;
10448 };
10449 };
10450 };
10451 } = _menhir_stack in
10452 let m : 'tv_list_TMul_ = Obj.magic m in
10453 let ty00 : (
10454 # 114 "parser_cocci_menhir.mly"
10455 (Data.clt)
10456 # 10457 "parser_cocci_menhir.ml"
10457 ) = Obj.magic ty00 in
10458 let r0 : (
10459 # 117 "parser_cocci_menhir.mly"
10460 (Data.clt)
10461 # 10462 "parser_cocci_menhir.ml"
10462 ) = Obj.magic r0 in
10463 let x0 : 'tv_const_vol = Obj.magic x0 in
10464 let _startpos = _startpos_x0_ in
10465 let _endpos = _endpos_m_ in
10466 let _v : 'tv_ctype = let ty =
10467 let ty0 = ty00 in
10468 let r = r0 in
10469 let ty =
10470 let ty = ty0 in
10471
10472 # 619 "parser_cocci_menhir.mly"
10473 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
10474 # 10475 "parser_cocci_menhir.ml"
10475
10476 in
10477
10478 # 682 "parser_cocci_menhir.mly"
10479 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10480 # 10481 "parser_cocci_menhir.ml"
10481
10482 in
10483 let cv =
10484 let x = x0 in
10485
10486 # 41 "standard.mly"
10487 ( Some x )
10488 # 10489 "parser_cocci_menhir.ml"
10489
10490 in
10491
10492 # 688 "parser_cocci_menhir.mly"
10493 ( P.pointerify (P.make_cv cv ty) m )
10494 # 10495 "parser_cocci_menhir.ml"
10495 in
10496 _menhir_env.MenhirLib.EngineTypes.stack <- {
10497 MenhirLib.EngineTypes.state = _menhir_s;
10498 MenhirLib.EngineTypes.semv = Obj.repr _v;
10499 MenhirLib.EngineTypes.startp = _startpos;
10500 MenhirLib.EngineTypes.endp = _endpos;
10501 MenhirLib.EngineTypes.next = _menhir_stack;
10502 });
10503 (fun _menhir_env ->
10504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10505 let {
10506 MenhirLib.EngineTypes.semv = m;
10507 MenhirLib.EngineTypes.startp = _startpos_m_;
10508 MenhirLib.EngineTypes.endp = _endpos_m_;
10509 MenhirLib.EngineTypes.next = {
10510 MenhirLib.EngineTypes.semv = ty00;
10511 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10512 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10513 MenhirLib.EngineTypes.next = {
10514 MenhirLib.EngineTypes.semv = r0;
10515 MenhirLib.EngineTypes.startp = _startpos_r0_;
10516 MenhirLib.EngineTypes.endp = _endpos_r0_;
10517 MenhirLib.EngineTypes.next = {
10518 MenhirLib.EngineTypes.state = _menhir_s;
10519 MenhirLib.EngineTypes.semv = x0;
10520 MenhirLib.EngineTypes.startp = _startpos_x0_;
10521 MenhirLib.EngineTypes.endp = _endpos_x0_;
10522 MenhirLib.EngineTypes.next = _menhir_stack;
10523 };
10524 };
10525 };
10526 } = _menhir_stack in
10527 let m : 'tv_list_TMul_ = Obj.magic m in
10528 let ty00 : (
10529 # 114 "parser_cocci_menhir.mly"
10530 (Data.clt)
10531 # 10532 "parser_cocci_menhir.ml"
10532 ) = Obj.magic ty00 in
10533 let r0 : (
10534 # 117 "parser_cocci_menhir.mly"
10535 (Data.clt)
10536 # 10537 "parser_cocci_menhir.ml"
10537 ) = Obj.magic r0 in
10538 let x0 : 'tv_const_vol = Obj.magic x0 in
10539 let _startpos = _startpos_x0_ in
10540 let _endpos = _endpos_m_ in
10541 let _v : 'tv_ctype = let ty =
10542 let ty0 = ty00 in
10543 let r = r0 in
10544 let ty =
10545 let ty = ty0 in
10546
10547 # 621 "parser_cocci_menhir.mly"
10548 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
10549 # 10550 "parser_cocci_menhir.ml"
10550
10551 in
10552
10553 # 682 "parser_cocci_menhir.mly"
10554 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10555 # 10556 "parser_cocci_menhir.ml"
10556
10557 in
10558 let cv =
10559 let x = x0 in
10560
10561 # 41 "standard.mly"
10562 ( Some x )
10563 # 10564 "parser_cocci_menhir.ml"
10564
10565 in
10566
10567 # 688 "parser_cocci_menhir.mly"
10568 ( P.pointerify (P.make_cv cv ty) m )
10569 # 10570 "parser_cocci_menhir.ml"
10570 in
10571 _menhir_env.MenhirLib.EngineTypes.stack <- {
10572 MenhirLib.EngineTypes.state = _menhir_s;
10573 MenhirLib.EngineTypes.semv = Obj.repr _v;
10574 MenhirLib.EngineTypes.startp = _startpos;
10575 MenhirLib.EngineTypes.endp = _endpos;
10576 MenhirLib.EngineTypes.next = _menhir_stack;
10577 });
10578 (fun _menhir_env ->
10579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10580 let {
10581 MenhirLib.EngineTypes.semv = m;
10582 MenhirLib.EngineTypes.startp = _startpos_m_;
10583 MenhirLib.EngineTypes.endp = _endpos_m_;
10584 MenhirLib.EngineTypes.next = {
10585 MenhirLib.EngineTypes.semv = p00;
10586 MenhirLib.EngineTypes.startp = _startpos_p00_;
10587 MenhirLib.EngineTypes.endp = _endpos_p00_;
10588 MenhirLib.EngineTypes.next = {
10589 MenhirLib.EngineTypes.semv = r0;
10590 MenhirLib.EngineTypes.startp = _startpos_r0_;
10591 MenhirLib.EngineTypes.endp = _endpos_r0_;
10592 MenhirLib.EngineTypes.next = {
10593 MenhirLib.EngineTypes.state = _menhir_s;
10594 MenhirLib.EngineTypes.semv = x0;
10595 MenhirLib.EngineTypes.startp = _startpos_x0_;
10596 MenhirLib.EngineTypes.endp = _endpos_x0_;
10597 MenhirLib.EngineTypes.next = _menhir_stack;
10598 };
10599 };
10600 };
10601 } = _menhir_stack in
10602 let m : 'tv_list_TMul_ = Obj.magic m in
10603 let p00 : (
10604 # 131 "parser_cocci_menhir.mly"
10605 (Parse_aux.info)
10606 # 10607 "parser_cocci_menhir.ml"
10607 ) = Obj.magic p00 in
10608 let r0 : (
10609 # 117 "parser_cocci_menhir.mly"
10610 (Data.clt)
10611 # 10612 "parser_cocci_menhir.ml"
10612 ) = Obj.magic r0 in
10613 let x0 : 'tv_const_vol = Obj.magic x0 in
10614 let _startpos = _startpos_x0_ in
10615 let _endpos = _endpos_m_ in
10616 let _v : 'tv_ctype = let ty =
10617 let p0 = p00 in
10618 let r = r0 in
10619 let ty =
10620 let p = p0 in
10621
10622 # 623 "parser_cocci_menhir.mly"
10623 ( let (nm,pure,clt) = p in
10624 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
10625 # 10626 "parser_cocci_menhir.ml"
10626
10627 in
10628
10629 # 682 "parser_cocci_menhir.mly"
10630 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10631 # 10632 "parser_cocci_menhir.ml"
10632
10633 in
10634 let cv =
10635 let x = x0 in
10636
10637 # 41 "standard.mly"
10638 ( Some x )
10639 # 10640 "parser_cocci_menhir.ml"
10640
10641 in
10642
10643 # 688 "parser_cocci_menhir.mly"
10644 ( P.pointerify (P.make_cv cv ty) m )
10645 # 10646 "parser_cocci_menhir.ml"
10646 in
10647 _menhir_env.MenhirLib.EngineTypes.stack <- {
10648 MenhirLib.EngineTypes.state = _menhir_s;
10649 MenhirLib.EngineTypes.semv = Obj.repr _v;
10650 MenhirLib.EngineTypes.startp = _startpos;
10651 MenhirLib.EngineTypes.endp = _endpos;
10652 MenhirLib.EngineTypes.next = _menhir_stack;
10653 });
10654 (fun _menhir_env ->
10655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10656 let {
10657 MenhirLib.EngineTypes.semv = m;
10658 MenhirLib.EngineTypes.startp = _startpos_m_;
10659 MenhirLib.EngineTypes.endp = _endpos_m_;
10660 MenhirLib.EngineTypes.next = {
10661 MenhirLib.EngineTypes.semv = p00;
10662 MenhirLib.EngineTypes.startp = _startpos_p00_;
10663 MenhirLib.EngineTypes.endp = _endpos_p00_;
10664 MenhirLib.EngineTypes.next = {
10665 MenhirLib.EngineTypes.startp = _startpos__4_;
10666 MenhirLib.EngineTypes.endp = _endpos__4_;
10667 MenhirLib.EngineTypes.next = {
10668 MenhirLib.EngineTypes.semv = r00;
10669 MenhirLib.EngineTypes.startp = _startpos_r00_;
10670 MenhirLib.EngineTypes.endp = _endpos_r00_;
10671 MenhirLib.EngineTypes.next = {
10672 MenhirLib.EngineTypes.semv = r1;
10673 MenhirLib.EngineTypes.startp = _startpos_r1_;
10674 MenhirLib.EngineTypes.endp = _endpos_r1_;
10675 MenhirLib.EngineTypes.next = {
10676 MenhirLib.EngineTypes.state = _menhir_s;
10677 MenhirLib.EngineTypes.semv = x0;
10678 MenhirLib.EngineTypes.startp = _startpos_x0_;
10679 MenhirLib.EngineTypes.endp = _endpos_x0_;
10680 MenhirLib.EngineTypes.next = _menhir_stack;
10681 };
10682 };
10683 };
10684 };
10685 };
10686 } = _menhir_stack in
10687 let m : 'tv_list_TMul_ = Obj.magic m in
10688 let p00 : (
10689 # 125 "parser_cocci_menhir.mly"
10690 (string * Data.clt)
10691 # 10692 "parser_cocci_menhir.ml"
10692 ) = Obj.magic p00 in
10693 let r00 : (
10694 # 112 "parser_cocci_menhir.mly"
10695 (string)
10696 # 10697 "parser_cocci_menhir.ml"
10697 ) = Obj.magic r00 in
10698 let r1 : (
10699 # 117 "parser_cocci_menhir.mly"
10700 (Data.clt)
10701 # 10702 "parser_cocci_menhir.ml"
10702 ) = Obj.magic r1 in
10703 let x0 : 'tv_const_vol = Obj.magic x0 in
10704 let _startpos = _startpos_x0_ in
10705 let _endpos = _endpos_m_ in
10706 let _v : 'tv_ctype = let ty =
10707 let p0 = p00 in
10708 let r0 = r00 in
10709 let r = r1 in
10710 let ty =
10711 let p = p0 in
10712 let r = r0 in
10713
10714 # 626 "parser_cocci_menhir.mly"
10715 ( let nm = (r,P.id2name p) in
10716 (* this is only possible when we are in a metavar decl. Otherwise,
10717 it will be represented already as a MetaType *)
10718 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
10719 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
10720 Ast0.Impure (*will be ignored*))) )
10721 # 10722 "parser_cocci_menhir.ml"
10722
10723 in
10724
10725 # 682 "parser_cocci_menhir.mly"
10726 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10727 # 10728 "parser_cocci_menhir.ml"
10728
10729 in
10730 let cv =
10731 let x = x0 in
10732
10733 # 41 "standard.mly"
10734 ( Some x )
10735 # 10736 "parser_cocci_menhir.ml"
10736
10737 in
10738
10739 # 688 "parser_cocci_menhir.mly"
10740 ( P.pointerify (P.make_cv cv ty) m )
10741 # 10742 "parser_cocci_menhir.ml"
10742 in
10743 _menhir_env.MenhirLib.EngineTypes.stack <- {
10744 MenhirLib.EngineTypes.state = _menhir_s;
10745 MenhirLib.EngineTypes.semv = Obj.repr _v;
10746 MenhirLib.EngineTypes.startp = _startpos;
10747 MenhirLib.EngineTypes.endp = _endpos;
10748 MenhirLib.EngineTypes.next = _menhir_stack;
10749 });
10750 (fun _menhir_env ->
10751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10752 let {
10753 MenhirLib.EngineTypes.semv = m;
10754 MenhirLib.EngineTypes.startp = _startpos_m_;
10755 MenhirLib.EngineTypes.endp = _endpos_m_;
10756 MenhirLib.EngineTypes.next = {
10757 MenhirLib.EngineTypes.semv = ty00;
10758 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10759 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10760 MenhirLib.EngineTypes.next = {
10761 MenhirLib.EngineTypes.semv = r0;
10762 MenhirLib.EngineTypes.startp = _startpos_r0_;
10763 MenhirLib.EngineTypes.endp = _endpos_r0_;
10764 MenhirLib.EngineTypes.next = {
10765 MenhirLib.EngineTypes.state = _menhir_s;
10766 MenhirLib.EngineTypes.semv = x0;
10767 MenhirLib.EngineTypes.startp = _startpos_x0_;
10768 MenhirLib.EngineTypes.endp = _endpos_x0_;
10769 MenhirLib.EngineTypes.next = _menhir_stack;
10770 };
10771 };
10772 };
10773 } = _menhir_stack in
10774 let m : 'tv_list_TMul_ = Obj.magic m in
10775 let ty00 : (
10776 # 114 "parser_cocci_menhir.mly"
10777 (Data.clt)
10778 # 10779 "parser_cocci_menhir.ml"
10779 ) = Obj.magic ty00 in
10780 let r0 : (
10781 # 117 "parser_cocci_menhir.mly"
10782 (Data.clt)
10783 # 10784 "parser_cocci_menhir.ml"
10784 ) = Obj.magic r0 in
10785 let x0 : 'tv_const_vol = Obj.magic x0 in
10786 let _startpos = _startpos_x0_ in
10787 let _endpos = _endpos_m_ in
10788 let _v : 'tv_ctype = let ty =
10789 let ty0 = ty00 in
10790 let r = r0 in
10791 let ty =
10792 let ty = ty0 in
10793
10794 # 633 "parser_cocci_menhir.mly"
10795 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
10796 # 10797 "parser_cocci_menhir.ml"
10797
10798 in
10799
10800 # 682 "parser_cocci_menhir.mly"
10801 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10802 # 10803 "parser_cocci_menhir.ml"
10803
10804 in
10805 let cv =
10806 let x = x0 in
10807
10808 # 41 "standard.mly"
10809 ( Some x )
10810 # 10811 "parser_cocci_menhir.ml"
10811
10812 in
10813
10814 # 688 "parser_cocci_menhir.mly"
10815 ( P.pointerify (P.make_cv cv ty) m )
10816 # 10817 "parser_cocci_menhir.ml"
10817 in
10818 _menhir_env.MenhirLib.EngineTypes.stack <- {
10819 MenhirLib.EngineTypes.state = _menhir_s;
10820 MenhirLib.EngineTypes.semv = Obj.repr _v;
10821 MenhirLib.EngineTypes.startp = _startpos;
10822 MenhirLib.EngineTypes.endp = _endpos;
10823 MenhirLib.EngineTypes.next = _menhir_stack;
10824 });
10825 (fun _menhir_env ->
10826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10827 let {
10828 MenhirLib.EngineTypes.semv = m;
10829 MenhirLib.EngineTypes.startp = _startpos_m_;
10830 MenhirLib.EngineTypes.endp = _endpos_m_;
10831 MenhirLib.EngineTypes.next = {
10832 MenhirLib.EngineTypes.semv = ty200;
10833 MenhirLib.EngineTypes.startp = _startpos_ty200_;
10834 MenhirLib.EngineTypes.endp = _endpos_ty200_;
10835 MenhirLib.EngineTypes.next = {
10836 MenhirLib.EngineTypes.semv = ty100;
10837 MenhirLib.EngineTypes.startp = _startpos_ty100_;
10838 MenhirLib.EngineTypes.endp = _endpos_ty100_;
10839 MenhirLib.EngineTypes.next = {
10840 MenhirLib.EngineTypes.semv = r0;
10841 MenhirLib.EngineTypes.startp = _startpos_r0_;
10842 MenhirLib.EngineTypes.endp = _endpos_r0_;
10843 MenhirLib.EngineTypes.next = {
10844 MenhirLib.EngineTypes.state = _menhir_s;
10845 MenhirLib.EngineTypes.semv = x0;
10846 MenhirLib.EngineTypes.startp = _startpos_x0_;
10847 MenhirLib.EngineTypes.endp = _endpos_x0_;
10848 MenhirLib.EngineTypes.next = _menhir_stack;
10849 };
10850 };
10851 };
10852 };
10853 } = _menhir_stack in
10854 let m : 'tv_list_TMul_ = Obj.magic m in
10855 let ty200 : (
10856 # 114 "parser_cocci_menhir.mly"
10857 (Data.clt)
10858 # 10859 "parser_cocci_menhir.ml"
10859 ) = Obj.magic ty200 in
10860 let ty100 : (
10861 # 114 "parser_cocci_menhir.mly"
10862 (Data.clt)
10863 # 10864 "parser_cocci_menhir.ml"
10864 ) = Obj.magic ty100 in
10865 let r0 : (
10866 # 117 "parser_cocci_menhir.mly"
10867 (Data.clt)
10868 # 10869 "parser_cocci_menhir.ml"
10869 ) = Obj.magic r0 in
10870 let x0 : 'tv_const_vol = Obj.magic x0 in
10871 let _startpos = _startpos_x0_ in
10872 let _endpos = _endpos_m_ in
10873 let _v : 'tv_ctype = let ty =
10874 let ty20 = ty200 in
10875 let ty10 = ty100 in
10876 let r = r0 in
10877 let ty =
10878 let ty2 = ty20 in
10879 let ty1 = ty10 in
10880
10881 # 635 "parser_cocci_menhir.mly"
10882 ( Ast0.wrap
10883 (Ast0.BaseType
10884 (Ast.LongLongType,
10885 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
10886 # 10887 "parser_cocci_menhir.ml"
10887
10888 in
10889
10890 # 682 "parser_cocci_menhir.mly"
10891 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10892 # 10893 "parser_cocci_menhir.ml"
10893
10894 in
10895 let cv =
10896 let x = x0 in
10897
10898 # 41 "standard.mly"
10899 ( Some x )
10900 # 10901 "parser_cocci_menhir.ml"
10901
10902 in
10903
10904 # 688 "parser_cocci_menhir.mly"
10905 ( P.pointerify (P.make_cv cv ty) m )
10906 # 10907 "parser_cocci_menhir.ml"
10907 in
10908 _menhir_env.MenhirLib.EngineTypes.stack <- {
10909 MenhirLib.EngineTypes.state = _menhir_s;
10910 MenhirLib.EngineTypes.semv = Obj.repr _v;
10911 MenhirLib.EngineTypes.startp = _startpos;
10912 MenhirLib.EngineTypes.endp = _endpos;
10913 MenhirLib.EngineTypes.next = _menhir_stack;
10914 });
10915 (fun _menhir_env ->
10916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10917 let {
10918 MenhirLib.EngineTypes.semv = m;
10919 MenhirLib.EngineTypes.startp = _startpos_m_;
10920 MenhirLib.EngineTypes.endp = _endpos_m_;
10921 MenhirLib.EngineTypes.next = {
10922 MenhirLib.EngineTypes.semv = ty00;
10923 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10924 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10925 MenhirLib.EngineTypes.next = {
10926 MenhirLib.EngineTypes.state = _menhir_s;
10927 MenhirLib.EngineTypes.semv = x0;
10928 MenhirLib.EngineTypes.startp = _startpos_x0_;
10929 MenhirLib.EngineTypes.endp = _endpos_x0_;
10930 MenhirLib.EngineTypes.next = _menhir_stack;
10931 };
10932 };
10933 } = _menhir_stack in
10934 let m : 'tv_list_TMul_ = Obj.magic m in
10935 let ty00 : (
10936 # 114 "parser_cocci_menhir.mly"
10937 (Data.clt)
10938 # 10939 "parser_cocci_menhir.ml"
10939 ) = Obj.magic ty00 in
10940 let x0 : 'tv_const_vol = Obj.magic x0 in
10941 let _startpos = _startpos_x0_ in
10942 let _endpos = _endpos_m_ in
10943 let _v : 'tv_ctype = let ty =
10944 let ty0 = ty00 in
10945 let ty =
10946 let ty = ty0 in
10947
10948 # 617 "parser_cocci_menhir.mly"
10949 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
10950 # 10951 "parser_cocci_menhir.ml"
10951
10952 in
10953
10954 # 683 "parser_cocci_menhir.mly"
10955 ( ty )
10956 # 10957 "parser_cocci_menhir.ml"
10957
10958 in
10959 let cv =
10960 let x = x0 in
10961
10962 # 41 "standard.mly"
10963 ( Some x )
10964 # 10965 "parser_cocci_menhir.ml"
10965
10966 in
10967
10968 # 688 "parser_cocci_menhir.mly"
10969 ( P.pointerify (P.make_cv cv ty) m )
10970 # 10971 "parser_cocci_menhir.ml"
10971 in
10972 _menhir_env.MenhirLib.EngineTypes.stack <- {
10973 MenhirLib.EngineTypes.state = _menhir_s;
10974 MenhirLib.EngineTypes.semv = Obj.repr _v;
10975 MenhirLib.EngineTypes.startp = _startpos;
10976 MenhirLib.EngineTypes.endp = _endpos;
10977 MenhirLib.EngineTypes.next = _menhir_stack;
10978 });
10979 (fun _menhir_env ->
10980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10981 let {
10982 MenhirLib.EngineTypes.semv = m;
10983 MenhirLib.EngineTypes.startp = _startpos_m_;
10984 MenhirLib.EngineTypes.endp = _endpos_m_;
10985 MenhirLib.EngineTypes.next = {
10986 MenhirLib.EngineTypes.semv = ty00;
10987 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10988 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10989 MenhirLib.EngineTypes.next = {
10990 MenhirLib.EngineTypes.state = _menhir_s;
10991 MenhirLib.EngineTypes.semv = x0;
10992 MenhirLib.EngineTypes.startp = _startpos_x0_;
10993 MenhirLib.EngineTypes.endp = _endpos_x0_;
10994 MenhirLib.EngineTypes.next = _menhir_stack;
10995 };
10996 };
10997 } = _menhir_stack in
10998 let m : 'tv_list_TMul_ = Obj.magic m in
10999 let ty00 : (
11000 # 114 "parser_cocci_menhir.mly"
11001 (Data.clt)
11002 # 11003 "parser_cocci_menhir.ml"
11003 ) = Obj.magic ty00 in
11004 let x0 : 'tv_const_vol = Obj.magic x0 in
11005 let _startpos = _startpos_x0_ in
11006 let _endpos = _endpos_m_ in
11007 let _v : 'tv_ctype = let ty =
11008 let ty0 = ty00 in
11009 let ty =
11010 let ty = ty0 in
11011
11012 # 619 "parser_cocci_menhir.mly"
11013 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
11014 # 11015 "parser_cocci_menhir.ml"
11015
11016 in
11017
11018 # 683 "parser_cocci_menhir.mly"
11019 ( ty )
11020 # 11021 "parser_cocci_menhir.ml"
11021
11022 in
11023 let cv =
11024 let x = x0 in
11025
11026 # 41 "standard.mly"
11027 ( Some x )
11028 # 11029 "parser_cocci_menhir.ml"
11029
11030 in
11031
11032 # 688 "parser_cocci_menhir.mly"
11033 ( P.pointerify (P.make_cv cv ty) m )
11034 # 11035 "parser_cocci_menhir.ml"
11035 in
11036 _menhir_env.MenhirLib.EngineTypes.stack <- {
11037 MenhirLib.EngineTypes.state = _menhir_s;
11038 MenhirLib.EngineTypes.semv = Obj.repr _v;
11039 MenhirLib.EngineTypes.startp = _startpos;
11040 MenhirLib.EngineTypes.endp = _endpos;
11041 MenhirLib.EngineTypes.next = _menhir_stack;
11042 });
11043 (fun _menhir_env ->
11044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11045 let {
11046 MenhirLib.EngineTypes.semv = m;
11047 MenhirLib.EngineTypes.startp = _startpos_m_;
11048 MenhirLib.EngineTypes.endp = _endpos_m_;
11049 MenhirLib.EngineTypes.next = {
11050 MenhirLib.EngineTypes.semv = ty00;
11051 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11052 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11053 MenhirLib.EngineTypes.next = {
11054 MenhirLib.EngineTypes.state = _menhir_s;
11055 MenhirLib.EngineTypes.semv = x0;
11056 MenhirLib.EngineTypes.startp = _startpos_x0_;
11057 MenhirLib.EngineTypes.endp = _endpos_x0_;
11058 MenhirLib.EngineTypes.next = _menhir_stack;
11059 };
11060 };
11061 } = _menhir_stack in
11062 let m : 'tv_list_TMul_ = Obj.magic m in
11063 let ty00 : (
11064 # 114 "parser_cocci_menhir.mly"
11065 (Data.clt)
11066 # 11067 "parser_cocci_menhir.ml"
11067 ) = Obj.magic ty00 in
11068 let x0 : 'tv_const_vol = Obj.magic x0 in
11069 let _startpos = _startpos_x0_ in
11070 let _endpos = _endpos_m_ in
11071 let _v : 'tv_ctype = let ty =
11072 let ty0 = ty00 in
11073 let ty =
11074 let ty = ty0 in
11075
11076 # 621 "parser_cocci_menhir.mly"
11077 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
11078 # 11079 "parser_cocci_menhir.ml"
11079
11080 in
11081
11082 # 683 "parser_cocci_menhir.mly"
11083 ( ty )
11084 # 11085 "parser_cocci_menhir.ml"
11085
11086 in
11087 let cv =
11088 let x = x0 in
11089
11090 # 41 "standard.mly"
11091 ( Some x )
11092 # 11093 "parser_cocci_menhir.ml"
11093
11094 in
11095
11096 # 688 "parser_cocci_menhir.mly"
11097 ( P.pointerify (P.make_cv cv ty) m )
11098 # 11099 "parser_cocci_menhir.ml"
11099 in
11100 _menhir_env.MenhirLib.EngineTypes.stack <- {
11101 MenhirLib.EngineTypes.state = _menhir_s;
11102 MenhirLib.EngineTypes.semv = Obj.repr _v;
11103 MenhirLib.EngineTypes.startp = _startpos;
11104 MenhirLib.EngineTypes.endp = _endpos;
11105 MenhirLib.EngineTypes.next = _menhir_stack;
11106 });
11107 (fun _menhir_env ->
11108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11109 let {
11110 MenhirLib.EngineTypes.semv = m;
11111 MenhirLib.EngineTypes.startp = _startpos_m_;
11112 MenhirLib.EngineTypes.endp = _endpos_m_;
11113 MenhirLib.EngineTypes.next = {
11114 MenhirLib.EngineTypes.semv = p00;
11115 MenhirLib.EngineTypes.startp = _startpos_p00_;
11116 MenhirLib.EngineTypes.endp = _endpos_p00_;
11117 MenhirLib.EngineTypes.next = {
11118 MenhirLib.EngineTypes.state = _menhir_s;
11119 MenhirLib.EngineTypes.semv = x0;
11120 MenhirLib.EngineTypes.startp = _startpos_x0_;
11121 MenhirLib.EngineTypes.endp = _endpos_x0_;
11122 MenhirLib.EngineTypes.next = _menhir_stack;
11123 };
11124 };
11125 } = _menhir_stack in
11126 let m : 'tv_list_TMul_ = Obj.magic m in
11127 let p00 : (
11128 # 131 "parser_cocci_menhir.mly"
11129 (Parse_aux.info)
11130 # 11131 "parser_cocci_menhir.ml"
11131 ) = Obj.magic p00 in
11132 let x0 : 'tv_const_vol = Obj.magic x0 in
11133 let _startpos = _startpos_x0_ in
11134 let _endpos = _endpos_m_ in
11135 let _v : 'tv_ctype = let ty =
11136 let p0 = p00 in
11137 let ty =
11138 let p = p0 in
11139
11140 # 623 "parser_cocci_menhir.mly"
11141 ( let (nm,pure,clt) = p in
11142 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
11143 # 11144 "parser_cocci_menhir.ml"
11144
11145 in
11146
11147 # 683 "parser_cocci_menhir.mly"
11148 ( ty )
11149 # 11150 "parser_cocci_menhir.ml"
11150
11151 in
11152 let cv =
11153 let x = x0 in
11154
11155 # 41 "standard.mly"
11156 ( Some x )
11157 # 11158 "parser_cocci_menhir.ml"
11158
11159 in
11160
11161 # 688 "parser_cocci_menhir.mly"
11162 ( P.pointerify (P.make_cv cv ty) m )
11163 # 11164 "parser_cocci_menhir.ml"
11164 in
11165 _menhir_env.MenhirLib.EngineTypes.stack <- {
11166 MenhirLib.EngineTypes.state = _menhir_s;
11167 MenhirLib.EngineTypes.semv = Obj.repr _v;
11168 MenhirLib.EngineTypes.startp = _startpos;
11169 MenhirLib.EngineTypes.endp = _endpos;
11170 MenhirLib.EngineTypes.next = _menhir_stack;
11171 });
11172 (fun _menhir_env ->
11173 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11174 let {
11175 MenhirLib.EngineTypes.semv = m;
11176 MenhirLib.EngineTypes.startp = _startpos_m_;
11177 MenhirLib.EngineTypes.endp = _endpos_m_;
11178 MenhirLib.EngineTypes.next = {
11179 MenhirLib.EngineTypes.semv = p00;
11180 MenhirLib.EngineTypes.startp = _startpos_p00_;
11181 MenhirLib.EngineTypes.endp = _endpos_p00_;
11182 MenhirLib.EngineTypes.next = {
11183 MenhirLib.EngineTypes.startp = _startpos__3_;
11184 MenhirLib.EngineTypes.endp = _endpos__3_;
11185 MenhirLib.EngineTypes.next = {
11186 MenhirLib.EngineTypes.semv = r00;
11187 MenhirLib.EngineTypes.startp = _startpos_r00_;
11188 MenhirLib.EngineTypes.endp = _endpos_r00_;
11189 MenhirLib.EngineTypes.next = {
11190 MenhirLib.EngineTypes.state = _menhir_s;
11191 MenhirLib.EngineTypes.semv = x0;
11192 MenhirLib.EngineTypes.startp = _startpos_x0_;
11193 MenhirLib.EngineTypes.endp = _endpos_x0_;
11194 MenhirLib.EngineTypes.next = _menhir_stack;
11195 };
11196 };
11197 };
11198 };
11199 } = _menhir_stack in
11200 let m : 'tv_list_TMul_ = Obj.magic m in
11201 let p00 : (
11202 # 125 "parser_cocci_menhir.mly"
11203 (string * Data.clt)
11204 # 11205 "parser_cocci_menhir.ml"
11205 ) = Obj.magic p00 in
11206 let r00 : (
11207 # 112 "parser_cocci_menhir.mly"
11208 (string)
11209 # 11210 "parser_cocci_menhir.ml"
11210 ) = Obj.magic r00 in
11211 let x0 : 'tv_const_vol = Obj.magic x0 in
11212 let _startpos = _startpos_x0_ in
11213 let _endpos = _endpos_m_ in
11214 let _v : 'tv_ctype = let ty =
11215 let p0 = p00 in
11216 let r0 = r00 in
11217 let ty =
11218 let p = p0 in
11219 let r = r0 in
11220
11221 # 626 "parser_cocci_menhir.mly"
11222 ( let nm = (r,P.id2name p) in
11223 (* this is only possible when we are in a metavar decl. Otherwise,
11224 it will be represented already as a MetaType *)
11225 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
11226 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
11227 Ast0.Impure (*will be ignored*))) )
11228 # 11229 "parser_cocci_menhir.ml"
11229
11230 in
11231
11232 # 683 "parser_cocci_menhir.mly"
11233 ( ty )
11234 # 11235 "parser_cocci_menhir.ml"
11235
11236 in
11237 let cv =
11238 let x = x0 in
11239
11240 # 41 "standard.mly"
11241 ( Some x )
11242 # 11243 "parser_cocci_menhir.ml"
11243
11244 in
11245
11246 # 688 "parser_cocci_menhir.mly"
11247 ( P.pointerify (P.make_cv cv ty) m )
11248 # 11249 "parser_cocci_menhir.ml"
11249 in
11250 _menhir_env.MenhirLib.EngineTypes.stack <- {
11251 MenhirLib.EngineTypes.state = _menhir_s;
11252 MenhirLib.EngineTypes.semv = Obj.repr _v;
11253 MenhirLib.EngineTypes.startp = _startpos;
11254 MenhirLib.EngineTypes.endp = _endpos;
11255 MenhirLib.EngineTypes.next = _menhir_stack;
11256 });
11257 (fun _menhir_env ->
11258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11259 let {
11260 MenhirLib.EngineTypes.semv = m;
11261 MenhirLib.EngineTypes.startp = _startpos_m_;
11262 MenhirLib.EngineTypes.endp = _endpos_m_;
11263 MenhirLib.EngineTypes.next = {
11264 MenhirLib.EngineTypes.semv = ty00;
11265 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11266 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11267 MenhirLib.EngineTypes.next = {
11268 MenhirLib.EngineTypes.state = _menhir_s;
11269 MenhirLib.EngineTypes.semv = x0;
11270 MenhirLib.EngineTypes.startp = _startpos_x0_;
11271 MenhirLib.EngineTypes.endp = _endpos_x0_;
11272 MenhirLib.EngineTypes.next = _menhir_stack;
11273 };
11274 };
11275 } = _menhir_stack in
11276 let m : 'tv_list_TMul_ = Obj.magic m in
11277 let ty00 : (
11278 # 114 "parser_cocci_menhir.mly"
11279 (Data.clt)
11280 # 11281 "parser_cocci_menhir.ml"
11281 ) = Obj.magic ty00 in
11282 let x0 : 'tv_const_vol = Obj.magic x0 in
11283 let _startpos = _startpos_x0_ in
11284 let _endpos = _endpos_m_ in
11285 let _v : 'tv_ctype = let ty =
11286 let ty0 = ty00 in
11287 let ty =
11288 let ty = ty0 in
11289
11290 # 633 "parser_cocci_menhir.mly"
11291 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
11292 # 11293 "parser_cocci_menhir.ml"
11293
11294 in
11295
11296 # 683 "parser_cocci_menhir.mly"
11297 ( ty )
11298 # 11299 "parser_cocci_menhir.ml"
11299
11300 in
11301 let cv =
11302 let x = x0 in
11303
11304 # 41 "standard.mly"
11305 ( Some x )
11306 # 11307 "parser_cocci_menhir.ml"
11307
11308 in
11309
11310 # 688 "parser_cocci_menhir.mly"
11311 ( P.pointerify (P.make_cv cv ty) m )
11312 # 11313 "parser_cocci_menhir.ml"
11313 in
11314 _menhir_env.MenhirLib.EngineTypes.stack <- {
11315 MenhirLib.EngineTypes.state = _menhir_s;
11316 MenhirLib.EngineTypes.semv = Obj.repr _v;
11317 MenhirLib.EngineTypes.startp = _startpos;
11318 MenhirLib.EngineTypes.endp = _endpos;
11319 MenhirLib.EngineTypes.next = _menhir_stack;
11320 });
11321 (fun _menhir_env ->
11322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11323 let {
11324 MenhirLib.EngineTypes.semv = m;
11325 MenhirLib.EngineTypes.startp = _startpos_m_;
11326 MenhirLib.EngineTypes.endp = _endpos_m_;
11327 MenhirLib.EngineTypes.next = {
11328 MenhirLib.EngineTypes.semv = ty200;
11329 MenhirLib.EngineTypes.startp = _startpos_ty200_;
11330 MenhirLib.EngineTypes.endp = _endpos_ty200_;
11331 MenhirLib.EngineTypes.next = {
11332 MenhirLib.EngineTypes.semv = ty100;
11333 MenhirLib.EngineTypes.startp = _startpos_ty100_;
11334 MenhirLib.EngineTypes.endp = _endpos_ty100_;
11335 MenhirLib.EngineTypes.next = {
11336 MenhirLib.EngineTypes.state = _menhir_s;
11337 MenhirLib.EngineTypes.semv = x0;
11338 MenhirLib.EngineTypes.startp = _startpos_x0_;
11339 MenhirLib.EngineTypes.endp = _endpos_x0_;
11340 MenhirLib.EngineTypes.next = _menhir_stack;
11341 };
11342 };
11343 };
11344 } = _menhir_stack in
11345 let m : 'tv_list_TMul_ = Obj.magic m in
11346 let ty200 : (
11347 # 114 "parser_cocci_menhir.mly"
11348 (Data.clt)
11349 # 11350 "parser_cocci_menhir.ml"
11350 ) = Obj.magic ty200 in
11351 let ty100 : (
11352 # 114 "parser_cocci_menhir.mly"
11353 (Data.clt)
11354 # 11355 "parser_cocci_menhir.ml"
11355 ) = Obj.magic ty100 in
11356 let x0 : 'tv_const_vol = Obj.magic x0 in
11357 let _startpos = _startpos_x0_ in
11358 let _endpos = _endpos_m_ in
11359 let _v : 'tv_ctype = let ty =
11360 let ty20 = ty200 in
11361 let ty10 = ty100 in
11362 let ty =
11363 let ty2 = ty20 in
11364 let ty1 = ty10 in
11365
11366 # 635 "parser_cocci_menhir.mly"
11367 ( Ast0.wrap
11368 (Ast0.BaseType
11369 (Ast.LongLongType,
11370 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
11371 # 11372 "parser_cocci_menhir.ml"
11372
11373 in
11374
11375 # 683 "parser_cocci_menhir.mly"
11376 ( ty )
11377 # 11378 "parser_cocci_menhir.ml"
11378
11379 in
11380 let cv =
11381 let x = x0 in
11382
11383 # 41 "standard.mly"
11384 ( Some x )
11385 # 11386 "parser_cocci_menhir.ml"
11386
11387 in
11388
11389 # 688 "parser_cocci_menhir.mly"
11390 ( P.pointerify (P.make_cv cv ty) m )
11391 # 11392 "parser_cocci_menhir.ml"
11392 in
11393 _menhir_env.MenhirLib.EngineTypes.stack <- {
11394 MenhirLib.EngineTypes.state = _menhir_s;
11395 MenhirLib.EngineTypes.semv = Obj.repr _v;
11396 MenhirLib.EngineTypes.startp = _startpos;
11397 MenhirLib.EngineTypes.endp = _endpos;
11398 MenhirLib.EngineTypes.next = _menhir_stack;
11399 });
11400 (fun _menhir_env ->
11401 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11402 let {
11403 MenhirLib.EngineTypes.semv = m;
11404 MenhirLib.EngineTypes.startp = _startpos_m_;
11405 MenhirLib.EngineTypes.endp = _endpos_m_;
11406 MenhirLib.EngineTypes.next = {
11407 MenhirLib.EngineTypes.semv = ty00;
11408 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11409 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11410 MenhirLib.EngineTypes.next = {
11411 MenhirLib.EngineTypes.state = _menhir_s;
11412 MenhirLib.EngineTypes.semv = x0;
11413 MenhirLib.EngineTypes.startp = _startpos_x0_;
11414 MenhirLib.EngineTypes.endp = _endpos_x0_;
11415 MenhirLib.EngineTypes.next = _menhir_stack;
11416 };
11417 };
11418 } = _menhir_stack in
11419 let m : 'tv_list_TMul_ = Obj.magic m in
11420 let ty00 : (
11421 # 116 "parser_cocci_menhir.mly"
11422 (Data.clt)
11423 # 11424 "parser_cocci_menhir.ml"
11424 ) = Obj.magic ty00 in
11425 let x0 : 'tv_const_vol = Obj.magic x0 in
11426 let _startpos = _startpos_x0_ in
11427 let _endpos = _endpos_m_ in
11428 let _v : 'tv_ctype = let ty =
11429 let ty0 = ty00 in
11430 let ty =
11431 let ty = ty0 in
11432
11433 # 643 "parser_cocci_menhir.mly"
11434 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
11435 # 11436 "parser_cocci_menhir.ml"
11436
11437 in
11438
11439 # 684 "parser_cocci_menhir.mly"
11440 ( ty )
11441 # 11442 "parser_cocci_menhir.ml"
11442
11443 in
11444 let cv =
11445 let x = x0 in
11446
11447 # 41 "standard.mly"
11448 ( Some x )
11449 # 11450 "parser_cocci_menhir.ml"
11450
11451 in
11452
11453 # 688 "parser_cocci_menhir.mly"
11454 ( P.pointerify (P.make_cv cv ty) m )
11455 # 11456 "parser_cocci_menhir.ml"
11456 in
11457 _menhir_env.MenhirLib.EngineTypes.stack <- {
11458 MenhirLib.EngineTypes.state = _menhir_s;
11459 MenhirLib.EngineTypes.semv = Obj.repr _v;
11460 MenhirLib.EngineTypes.startp = _startpos;
11461 MenhirLib.EngineTypes.endp = _endpos;
11462 MenhirLib.EngineTypes.next = _menhir_stack;
11463 });
11464 (fun _menhir_env ->
11465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11466 let {
11467 MenhirLib.EngineTypes.semv = m;
11468 MenhirLib.EngineTypes.startp = _startpos_m_;
11469 MenhirLib.EngineTypes.endp = _endpos_m_;
11470 MenhirLib.EngineTypes.next = {
11471 MenhirLib.EngineTypes.semv = ty00;
11472 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11473 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11474 MenhirLib.EngineTypes.next = {
11475 MenhirLib.EngineTypes.state = _menhir_s;
11476 MenhirLib.EngineTypes.semv = x0;
11477 MenhirLib.EngineTypes.startp = _startpos_x0_;
11478 MenhirLib.EngineTypes.endp = _endpos_x0_;
11479 MenhirLib.EngineTypes.next = _menhir_stack;
11480 };
11481 };
11482 } = _menhir_stack in
11483 let m : 'tv_list_TMul_ = Obj.magic m in
11484 let ty00 : (
11485 # 114 "parser_cocci_menhir.mly"
11486 (Data.clt)
11487 # 11488 "parser_cocci_menhir.ml"
11488 ) = Obj.magic ty00 in
11489 let x0 : 'tv_const_vol = Obj.magic x0 in
11490 let _startpos = _startpos_x0_ in
11491 let _endpos = _endpos_m_ in
11492 let _v : 'tv_ctype = let ty =
11493 let ty0 = ty00 in
11494 let ty =
11495 let ty = ty0 in
11496
11497 # 645 "parser_cocci_menhir.mly"
11498 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
11499 # 11500 "parser_cocci_menhir.ml"
11500
11501 in
11502
11503 # 684 "parser_cocci_menhir.mly"
11504 ( ty )
11505 # 11506 "parser_cocci_menhir.ml"
11506
11507 in
11508 let cv =
11509 let x = x0 in
11510
11511 # 41 "standard.mly"
11512 ( Some x )
11513 # 11514 "parser_cocci_menhir.ml"
11514
11515 in
11516
11517 # 688 "parser_cocci_menhir.mly"
11518 ( P.pointerify (P.make_cv cv ty) m )
11519 # 11520 "parser_cocci_menhir.ml"
11520 in
11521 _menhir_env.MenhirLib.EngineTypes.stack <- {
11522 MenhirLib.EngineTypes.state = _menhir_s;
11523 MenhirLib.EngineTypes.semv = Obj.repr _v;
11524 MenhirLib.EngineTypes.startp = _startpos;
11525 MenhirLib.EngineTypes.endp = _endpos;
11526 MenhirLib.EngineTypes.next = _menhir_stack;
11527 });
11528 (fun _menhir_env ->
11529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11530 let {
11531 MenhirLib.EngineTypes.semv = m;
11532 MenhirLib.EngineTypes.startp = _startpos_m_;
11533 MenhirLib.EngineTypes.endp = _endpos_m_;
11534 MenhirLib.EngineTypes.next = {
11535 MenhirLib.EngineTypes.semv = ty00;
11536 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11537 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11538 MenhirLib.EngineTypes.next = {
11539 MenhirLib.EngineTypes.state = _menhir_s;
11540 MenhirLib.EngineTypes.semv = x0;
11541 MenhirLib.EngineTypes.startp = _startpos_x0_;
11542 MenhirLib.EngineTypes.endp = _endpos_x0_;
11543 MenhirLib.EngineTypes.next = _menhir_stack;
11544 };
11545 };
11546 } = _menhir_stack in
11547 let m : 'tv_list_TMul_ = Obj.magic m in
11548 let ty00 : (
11549 # 114 "parser_cocci_menhir.mly"
11550 (Data.clt)
11551 # 11552 "parser_cocci_menhir.ml"
11552 ) = Obj.magic ty00 in
11553 let x0 : 'tv_const_vol = Obj.magic x0 in
11554 let _startpos = _startpos_x0_ in
11555 let _endpos = _endpos_m_ in
11556 let _v : 'tv_ctype = let ty =
11557 let ty0 = ty00 in
11558 let ty =
11559 let ty = ty0 in
11560
11561 # 647 "parser_cocci_menhir.mly"
11562 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
11563 # 11564 "parser_cocci_menhir.ml"
11564
11565 in
11566
11567 # 684 "parser_cocci_menhir.mly"
11568 ( ty )
11569 # 11570 "parser_cocci_menhir.ml"
11570
11571 in
11572 let cv =
11573 let x = x0 in
11574
11575 # 41 "standard.mly"
11576 ( Some x )
11577 # 11578 "parser_cocci_menhir.ml"
11578
11579 in
11580
11581 # 688 "parser_cocci_menhir.mly"
11582 ( P.pointerify (P.make_cv cv ty) m )
11583 # 11584 "parser_cocci_menhir.ml"
11584 in
11585 _menhir_env.MenhirLib.EngineTypes.stack <- {
11586 MenhirLib.EngineTypes.state = _menhir_s;
11587 MenhirLib.EngineTypes.semv = Obj.repr _v;
11588 MenhirLib.EngineTypes.startp = _startpos;
11589 MenhirLib.EngineTypes.endp = _endpos;
11590 MenhirLib.EngineTypes.next = _menhir_stack;
11591 });
11592 (fun _menhir_env ->
11593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11594 let {
11595 MenhirLib.EngineTypes.semv = m;
11596 MenhirLib.EngineTypes.startp = _startpos_m_;
11597 MenhirLib.EngineTypes.endp = _endpos_m_;
11598 MenhirLib.EngineTypes.next = {
11599 MenhirLib.EngineTypes.semv = ty00;
11600 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11601 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11602 MenhirLib.EngineTypes.next = {
11603 MenhirLib.EngineTypes.state = _menhir_s;
11604 MenhirLib.EngineTypes.semv = x0;
11605 MenhirLib.EngineTypes.startp = _startpos_x0_;
11606 MenhirLib.EngineTypes.endp = _endpos_x0_;
11607 MenhirLib.EngineTypes.next = _menhir_stack;
11608 };
11609 };
11610 } = _menhir_stack in
11611 let m : 'tv_list_TMul_ = Obj.magic m in
11612 let ty00 : (
11613 # 115 "parser_cocci_menhir.mly"
11614 (Data.clt)
11615 # 11616 "parser_cocci_menhir.ml"
11616 ) = Obj.magic ty00 in
11617 let x0 : 'tv_const_vol = Obj.magic x0 in
11618 let _startpos = _startpos_x0_ in
11619 let _endpos = _endpos_m_ in
11620 let _v : 'tv_ctype = let ty =
11621 let ty0 = ty00 in
11622 let ty =
11623 let ty = ty0 in
11624
11625 # 649 "parser_cocci_menhir.mly"
11626 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
11627 # 11628 "parser_cocci_menhir.ml"
11628
11629 in
11630
11631 # 684 "parser_cocci_menhir.mly"
11632 ( ty )
11633 # 11634 "parser_cocci_menhir.ml"
11634
11635 in
11636 let cv =
11637 let x = x0 in
11638
11639 # 41 "standard.mly"
11640 ( Some x )
11641 # 11642 "parser_cocci_menhir.ml"
11642
11643 in
11644
11645 # 688 "parser_cocci_menhir.mly"
11646 ( P.pointerify (P.make_cv cv ty) m )
11647 # 11648 "parser_cocci_menhir.ml"
11648 in
11649 _menhir_env.MenhirLib.EngineTypes.stack <- {
11650 MenhirLib.EngineTypes.state = _menhir_s;
11651 MenhirLib.EngineTypes.semv = Obj.repr _v;
11652 MenhirLib.EngineTypes.startp = _startpos;
11653 MenhirLib.EngineTypes.endp = _endpos;
11654 MenhirLib.EngineTypes.next = _menhir_stack;
11655 });
11656 (fun _menhir_env ->
11657 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11658 let {
11659 MenhirLib.EngineTypes.semv = m;
11660 MenhirLib.EngineTypes.startp = _startpos_m_;
11661 MenhirLib.EngineTypes.endp = _endpos_m_;
11662 MenhirLib.EngineTypes.next = {
11663 MenhirLib.EngineTypes.semv = ty00;
11664 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11665 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11666 MenhirLib.EngineTypes.next = {
11667 MenhirLib.EngineTypes.state = _menhir_s;
11668 MenhirLib.EngineTypes.semv = x0;
11669 MenhirLib.EngineTypes.startp = _startpos_x0_;
11670 MenhirLib.EngineTypes.endp = _endpos_x0_;
11671 MenhirLib.EngineTypes.next = _menhir_stack;
11672 };
11673 };
11674 } = _menhir_stack in
11675 let m : 'tv_list_TMul_ = Obj.magic m in
11676 let ty00 : (
11677 # 115 "parser_cocci_menhir.mly"
11678 (Data.clt)
11679 # 11680 "parser_cocci_menhir.ml"
11680 ) = Obj.magic ty00 in
11681 let x0 : 'tv_const_vol = Obj.magic x0 in
11682 let _startpos = _startpos_x0_ in
11683 let _endpos = _endpos_m_ in
11684 let _v : 'tv_ctype = let ty =
11685 let ty0 = ty00 in
11686 let ty =
11687 let ty = ty0 in
11688
11689 # 651 "parser_cocci_menhir.mly"
11690 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
11691 # 11692 "parser_cocci_menhir.ml"
11692
11693 in
11694
11695 # 684 "parser_cocci_menhir.mly"
11696 ( ty )
11697 # 11698 "parser_cocci_menhir.ml"
11698
11699 in
11700 let cv =
11701 let x = x0 in
11702
11703 # 41 "standard.mly"
11704 ( Some x )
11705 # 11706 "parser_cocci_menhir.ml"
11706
11707 in
11708
11709 # 688 "parser_cocci_menhir.mly"
11710 ( P.pointerify (P.make_cv cv ty) m )
11711 # 11712 "parser_cocci_menhir.ml"
11712 in
11713 _menhir_env.MenhirLib.EngineTypes.stack <- {
11714 MenhirLib.EngineTypes.state = _menhir_s;
11715 MenhirLib.EngineTypes.semv = Obj.repr _v;
11716 MenhirLib.EngineTypes.startp = _startpos;
11717 MenhirLib.EngineTypes.endp = _endpos;
11718 MenhirLib.EngineTypes.next = _menhir_stack;
11719 });
11720 (fun _menhir_env ->
11721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11722 let {
11723 MenhirLib.EngineTypes.semv = m;
11724 MenhirLib.EngineTypes.startp = _startpos_m_;
11725 MenhirLib.EngineTypes.endp = _endpos_m_;
11726 MenhirLib.EngineTypes.next = {
11727 MenhirLib.EngineTypes.semv = ty00;
11728 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11729 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11730 MenhirLib.EngineTypes.next = {
11731 MenhirLib.EngineTypes.state = _menhir_s;
11732 MenhirLib.EngineTypes.semv = x0;
11733 MenhirLib.EngineTypes.startp = _startpos_x0_;
11734 MenhirLib.EngineTypes.endp = _endpos_x0_;
11735 MenhirLib.EngineTypes.next = _menhir_stack;
11736 };
11737 };
11738 } = _menhir_stack in
11739 let m : 'tv_list_TMul_ = Obj.magic m in
11740 let ty00 : (
11741 # 115 "parser_cocci_menhir.mly"
11742 (Data.clt)
11743 # 11744 "parser_cocci_menhir.ml"
11744 ) = Obj.magic ty00 in
11745 let x0 : 'tv_const_vol = Obj.magic x0 in
11746 let _startpos = _startpos_x0_ in
11747 let _endpos = _endpos_m_ in
11748 let _v : 'tv_ctype = let ty =
11749 let ty0 = ty00 in
11750 let ty =
11751 let ty = ty0 in
11752
11753 # 653 "parser_cocci_menhir.mly"
11754 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
11755 # 11756 "parser_cocci_menhir.ml"
11756
11757 in
11758
11759 # 684 "parser_cocci_menhir.mly"
11760 ( ty )
11761 # 11762 "parser_cocci_menhir.ml"
11762
11763 in
11764 let cv =
11765 let x = x0 in
11766
11767 # 41 "standard.mly"
11768 ( Some x )
11769 # 11770 "parser_cocci_menhir.ml"
11770
11771 in
11772
11773 # 688 "parser_cocci_menhir.mly"
11774 ( P.pointerify (P.make_cv cv ty) m )
11775 # 11776 "parser_cocci_menhir.ml"
11776 in
11777 _menhir_env.MenhirLib.EngineTypes.stack <- {
11778 MenhirLib.EngineTypes.state = _menhir_s;
11779 MenhirLib.EngineTypes.semv = Obj.repr _v;
11780 MenhirLib.EngineTypes.startp = _startpos;
11781 MenhirLib.EngineTypes.endp = _endpos;
11782 MenhirLib.EngineTypes.next = _menhir_stack;
11783 });
11784 (fun _menhir_env ->
11785 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11786 let {
11787 MenhirLib.EngineTypes.semv = m;
11788 MenhirLib.EngineTypes.startp = _startpos_m_;
11789 MenhirLib.EngineTypes.endp = _endpos_m_;
11790 MenhirLib.EngineTypes.next = {
11791 MenhirLib.EngineTypes.semv = i00;
11792 MenhirLib.EngineTypes.startp = _startpos_i00_;
11793 MenhirLib.EngineTypes.endp = _endpos_i00_;
11794 MenhirLib.EngineTypes.next = {
11795 MenhirLib.EngineTypes.semv = s00;
11796 MenhirLib.EngineTypes.startp = _startpos_s00_;
11797 MenhirLib.EngineTypes.endp = _endpos_s00_;
11798 MenhirLib.EngineTypes.next = {
11799 MenhirLib.EngineTypes.state = _menhir_s;
11800 MenhirLib.EngineTypes.semv = x0;
11801 MenhirLib.EngineTypes.startp = _startpos_x0_;
11802 MenhirLib.EngineTypes.endp = _endpos_x0_;
11803 MenhirLib.EngineTypes.next = _menhir_stack;
11804 };
11805 };
11806 };
11807 } = _menhir_stack in
11808 let m : 'tv_list_TMul_ = Obj.magic m in
11809 let i00 : 'tv_ident = Obj.magic i00 in
11810 let s00 : (
11811 # 116 "parser_cocci_menhir.mly"
11812 (Data.clt)
11813 # 11814 "parser_cocci_menhir.ml"
11814 ) = Obj.magic s00 in
11815 let x0 : 'tv_const_vol = Obj.magic x0 in
11816 let _startpos = _startpos_x0_ in
11817 let _endpos = _endpos_m_ in
11818 let _v : 'tv_ctype = let ty =
11819 let i0 = i00 in
11820 let s0 = s00 in
11821 let ty =
11822 let i = i0 in
11823 let s = s0 in
11824
11825 # 655 "parser_cocci_menhir.mly"
11826 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
11827 # 11828 "parser_cocci_menhir.ml"
11828
11829 in
11830
11831 # 684 "parser_cocci_menhir.mly"
11832 ( ty )
11833 # 11834 "parser_cocci_menhir.ml"
11834
11835 in
11836 let cv =
11837 let x = x0 in
11838
11839 # 41 "standard.mly"
11840 ( Some x )
11841 # 11842 "parser_cocci_menhir.ml"
11842
11843 in
11844
11845 # 688 "parser_cocci_menhir.mly"
11846 ( P.pointerify (P.make_cv cv ty) m )
11847 # 11848 "parser_cocci_menhir.ml"
11848 in
11849 _menhir_env.MenhirLib.EngineTypes.stack <- {
11850 MenhirLib.EngineTypes.state = _menhir_s;
11851 MenhirLib.EngineTypes.semv = Obj.repr _v;
11852 MenhirLib.EngineTypes.startp = _startpos;
11853 MenhirLib.EngineTypes.endp = _endpos;
11854 MenhirLib.EngineTypes.next = _menhir_stack;
11855 });
11856 (fun _menhir_env ->
11857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11858 let {
11859 MenhirLib.EngineTypes.semv = m;
11860 MenhirLib.EngineTypes.startp = _startpos_m_;
11861 MenhirLib.EngineTypes.endp = _endpos_m_;
11862 MenhirLib.EngineTypes.next = {
11863 MenhirLib.EngineTypes.semv = r00;
11864 MenhirLib.EngineTypes.startp = _startpos_r00_;
11865 MenhirLib.EngineTypes.endp = _endpos_r00_;
11866 MenhirLib.EngineTypes.next = {
11867 MenhirLib.EngineTypes.semv = ids00;
11868 MenhirLib.EngineTypes.startp = _startpos_ids00_;
11869 MenhirLib.EngineTypes.endp = _endpos_ids00_;
11870 MenhirLib.EngineTypes.next = {
11871 MenhirLib.EngineTypes.semv = l00;
11872 MenhirLib.EngineTypes.startp = _startpos_l00_;
11873 MenhirLib.EngineTypes.endp = _endpos_l00_;
11874 MenhirLib.EngineTypes.next = {
11875 MenhirLib.EngineTypes.semv = s00;
11876 MenhirLib.EngineTypes.startp = _startpos_s00_;
11877 MenhirLib.EngineTypes.endp = _endpos_s00_;
11878 MenhirLib.EngineTypes.next = {
11879 MenhirLib.EngineTypes.state = _menhir_s;
11880 MenhirLib.EngineTypes.semv = x0;
11881 MenhirLib.EngineTypes.startp = _startpos_x0_;
11882 MenhirLib.EngineTypes.endp = _endpos_x0_;
11883 MenhirLib.EngineTypes.next = _menhir_stack;
11884 };
11885 };
11886 };
11887 };
11888 };
11889 } = _menhir_stack in
11890 let m : 'tv_list_TMul_ = Obj.magic m in
11891 let r00 : (
11892 # 169 "parser_cocci_menhir.mly"
11893 (Data.clt)
11894 # 11895 "parser_cocci_menhir.ml"
11895 ) = Obj.magic r00 in
11896 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
11897 let l00 : (
11898 # 169 "parser_cocci_menhir.mly"
11899 (Data.clt)
11900 # 11901 "parser_cocci_menhir.ml"
11901 ) = Obj.magic l00 in
11902 let s00 : (
11903 # 116 "parser_cocci_menhir.mly"
11904 (Data.clt)
11905 # 11906 "parser_cocci_menhir.ml"
11906 ) = Obj.magic s00 in
11907 let x0 : 'tv_const_vol = Obj.magic x0 in
11908 let _startpos = _startpos_x0_ in
11909 let _endpos = _endpos_m_ in
11910 let _v : 'tv_ctype = let ty =
11911 let r0 = r00 in
11912 let ids0 = ids00 in
11913 let l0 = l00 in
11914 let s0 = s00 in
11915 let ty =
11916 let r = r0 in
11917 let ids = ids0 in
11918 let l = l0 in
11919 let s = s0 in
11920 let i =
11921
11922 # 39 "standard.mly"
11923 ( None )
11924 # 11925 "parser_cocci_menhir.ml"
11925
11926 in
11927
11928 # 657 "parser_cocci_menhir.mly"
11929 ( (if i = None && !Data.in_iso
11930 then failwith "enums must be named in the iso file");
11931 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
11932 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
11933 # 11934 "parser_cocci_menhir.ml"
11934
11935 in
11936
11937 # 684 "parser_cocci_menhir.mly"
11938 ( ty )
11939 # 11940 "parser_cocci_menhir.ml"
11940
11941 in
11942 let cv =
11943 let x = x0 in
11944
11945 # 41 "standard.mly"
11946 ( Some x )
11947 # 11948 "parser_cocci_menhir.ml"
11948
11949 in
11950
11951 # 688 "parser_cocci_menhir.mly"
11952 ( P.pointerify (P.make_cv cv ty) m )
11953 # 11954 "parser_cocci_menhir.ml"
11954 in
11955 _menhir_env.MenhirLib.EngineTypes.stack <- {
11956 MenhirLib.EngineTypes.state = _menhir_s;
11957 MenhirLib.EngineTypes.semv = Obj.repr _v;
11958 MenhirLib.EngineTypes.startp = _startpos;
11959 MenhirLib.EngineTypes.endp = _endpos;
11960 MenhirLib.EngineTypes.next = _menhir_stack;
11961 });
11962 (fun _menhir_env ->
11963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11964 let {
11965 MenhirLib.EngineTypes.semv = m;
11966 MenhirLib.EngineTypes.startp = _startpos_m_;
11967 MenhirLib.EngineTypes.endp = _endpos_m_;
11968 MenhirLib.EngineTypes.next = {
11969 MenhirLib.EngineTypes.semv = r00;
11970 MenhirLib.EngineTypes.startp = _startpos_r00_;
11971 MenhirLib.EngineTypes.endp = _endpos_r00_;
11972 MenhirLib.EngineTypes.next = {
11973 MenhirLib.EngineTypes.semv = ids00;
11974 MenhirLib.EngineTypes.startp = _startpos_ids00_;
11975 MenhirLib.EngineTypes.endp = _endpos_ids00_;
11976 MenhirLib.EngineTypes.next = {
11977 MenhirLib.EngineTypes.semv = l00;
11978 MenhirLib.EngineTypes.startp = _startpos_l00_;
11979 MenhirLib.EngineTypes.endp = _endpos_l00_;
11980 MenhirLib.EngineTypes.next = {
11981 MenhirLib.EngineTypes.semv = x000;
11982 MenhirLib.EngineTypes.startp = _startpos_x000_;
11983 MenhirLib.EngineTypes.endp = _endpos_x000_;
11984 MenhirLib.EngineTypes.next = {
11985 MenhirLib.EngineTypes.semv = s00;
11986 MenhirLib.EngineTypes.startp = _startpos_s00_;
11987 MenhirLib.EngineTypes.endp = _endpos_s00_;
11988 MenhirLib.EngineTypes.next = {
11989 MenhirLib.EngineTypes.state = _menhir_s;
11990 MenhirLib.EngineTypes.semv = x0;
11991 MenhirLib.EngineTypes.startp = _startpos_x0_;
11992 MenhirLib.EngineTypes.endp = _endpos_x0_;
11993 MenhirLib.EngineTypes.next = _menhir_stack;
11994 };
11995 };
11996 };
11997 };
11998 };
11999 };
12000 } = _menhir_stack in
12001 let m : 'tv_list_TMul_ = Obj.magic m in
12002 let r00 : (
12003 # 169 "parser_cocci_menhir.mly"
12004 (Data.clt)
12005 # 12006 "parser_cocci_menhir.ml"
12006 ) = Obj.magic r00 in
12007 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
12008 let l00 : (
12009 # 169 "parser_cocci_menhir.mly"
12010 (Data.clt)
12011 # 12012 "parser_cocci_menhir.ml"
12012 ) = Obj.magic l00 in
12013 let x000 : 'tv_ident = Obj.magic x000 in
12014 let s00 : (
12015 # 116 "parser_cocci_menhir.mly"
12016 (Data.clt)
12017 # 12018 "parser_cocci_menhir.ml"
12018 ) = Obj.magic s00 in
12019 let x0 : 'tv_const_vol = Obj.magic x0 in
12020 let _startpos = _startpos_x0_ in
12021 let _endpos = _endpos_m_ in
12022 let _v : 'tv_ctype = let ty =
12023 let r0 = r00 in
12024 let ids0 = ids00 in
12025 let l0 = l00 in
12026 let x00 = x000 in
12027 let s0 = s00 in
12028 let ty =
12029 let r = r0 in
12030 let ids = ids0 in
12031 let l = l0 in
12032 let x0 = x00 in
12033 let s = s0 in
12034 let i =
12035 let x = x0 in
12036
12037 # 41 "standard.mly"
12038 ( Some x )
12039 # 12040 "parser_cocci_menhir.ml"
12040
12041 in
12042
12043 # 657 "parser_cocci_menhir.mly"
12044 ( (if i = None && !Data.in_iso
12045 then failwith "enums must be named in the iso file");
12046 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
12047 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
12048 # 12049 "parser_cocci_menhir.ml"
12049
12050 in
12051
12052 # 684 "parser_cocci_menhir.mly"
12053 ( ty )
12054 # 12055 "parser_cocci_menhir.ml"
12055
12056 in
12057 let cv =
12058 let x = x0 in
12059
12060 # 41 "standard.mly"
12061 ( Some x )
12062 # 12063 "parser_cocci_menhir.ml"
12063
12064 in
12065
12066 # 688 "parser_cocci_menhir.mly"
12067 ( P.pointerify (P.make_cv cv ty) m )
12068 # 12069 "parser_cocci_menhir.ml"
12069 in
12070 _menhir_env.MenhirLib.EngineTypes.stack <- {
12071 MenhirLib.EngineTypes.state = _menhir_s;
12072 MenhirLib.EngineTypes.semv = Obj.repr _v;
12073 MenhirLib.EngineTypes.startp = _startpos;
12074 MenhirLib.EngineTypes.endp = _endpos;
12075 MenhirLib.EngineTypes.next = _menhir_stack;
12076 });
12077 (fun _menhir_env ->
12078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12079 let {
12080 MenhirLib.EngineTypes.semv = m;
12081 MenhirLib.EngineTypes.startp = _startpos_m_;
12082 MenhirLib.EngineTypes.endp = _endpos_m_;
12083 MenhirLib.EngineTypes.next = {
12084 MenhirLib.EngineTypes.semv = i00;
12085 MenhirLib.EngineTypes.startp = _startpos_i00_;
12086 MenhirLib.EngineTypes.endp = _endpos_i00_;
12087 MenhirLib.EngineTypes.next = {
12088 MenhirLib.EngineTypes.semv = s00;
12089 MenhirLib.EngineTypes.startp = _startpos_s00_;
12090 MenhirLib.EngineTypes.endp = _endpos_s00_;
12091 MenhirLib.EngineTypes.next = {
12092 MenhirLib.EngineTypes.state = _menhir_s;
12093 MenhirLib.EngineTypes.semv = x0;
12094 MenhirLib.EngineTypes.startp = _startpos_x0_;
12095 MenhirLib.EngineTypes.endp = _endpos_x0_;
12096 MenhirLib.EngineTypes.next = _menhir_stack;
12097 };
12098 };
12099 };
12100 } = _menhir_stack in
12101 let m : 'tv_list_TMul_ = Obj.magic m in
12102 let i00 : 'tv_type_ident = Obj.magic i00 in
12103 let s00 : 'tv_struct_or_union = Obj.magic s00 in
12104 let x0 : 'tv_const_vol = Obj.magic x0 in
12105 let _startpos = _startpos_x0_ in
12106 let _endpos = _endpos_m_ in
12107 let _v : 'tv_ctype = let ty =
12108 let i0 = i00 in
12109 let s0 = s00 in
12110 let ty =
12111 let i = i0 in
12112 let s = s0 in
12113
12114 # 662 "parser_cocci_menhir.mly"
12115 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
12116 # 12117 "parser_cocci_menhir.ml"
12117
12118 in
12119
12120 # 684 "parser_cocci_menhir.mly"
12121 ( ty )
12122 # 12123 "parser_cocci_menhir.ml"
12123
12124 in
12125 let cv =
12126 let x = x0 in
12127
12128 # 41 "standard.mly"
12129 ( Some x )
12130 # 12131 "parser_cocci_menhir.ml"
12131
12132 in
12133
12134 # 688 "parser_cocci_menhir.mly"
12135 ( P.pointerify (P.make_cv cv ty) m )
12136 # 12137 "parser_cocci_menhir.ml"
12137 in
12138 _menhir_env.MenhirLib.EngineTypes.stack <- {
12139 MenhirLib.EngineTypes.state = _menhir_s;
12140 MenhirLib.EngineTypes.semv = Obj.repr _v;
12141 MenhirLib.EngineTypes.startp = _startpos;
12142 MenhirLib.EngineTypes.endp = _endpos;
12143 MenhirLib.EngineTypes.next = _menhir_stack;
12144 });
12145 (fun _menhir_env ->
12146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12147 let {
12148 MenhirLib.EngineTypes.semv = m;
12149 MenhirLib.EngineTypes.startp = _startpos_m_;
12150 MenhirLib.EngineTypes.endp = _endpos_m_;
12151 MenhirLib.EngineTypes.next = {
12152 MenhirLib.EngineTypes.semv = r00;
12153 MenhirLib.EngineTypes.startp = _startpos_r00_;
12154 MenhirLib.EngineTypes.endp = _endpos_r00_;
12155 MenhirLib.EngineTypes.next = {
12156 MenhirLib.EngineTypes.semv = d00;
12157 MenhirLib.EngineTypes.startp = _startpos_d00_;
12158 MenhirLib.EngineTypes.endp = _endpos_d00_;
12159 MenhirLib.EngineTypes.next = {
12160 MenhirLib.EngineTypes.semv = l00;
12161 MenhirLib.EngineTypes.startp = _startpos_l00_;
12162 MenhirLib.EngineTypes.endp = _endpos_l00_;
12163 MenhirLib.EngineTypes.next = {
12164 MenhirLib.EngineTypes.semv = s00;
12165 MenhirLib.EngineTypes.startp = _startpos_s00_;
12166 MenhirLib.EngineTypes.endp = _endpos_s00_;
12167 MenhirLib.EngineTypes.next = {
12168 MenhirLib.EngineTypes.state = _menhir_s;
12169 MenhirLib.EngineTypes.semv = x0;
12170 MenhirLib.EngineTypes.startp = _startpos_x0_;
12171 MenhirLib.EngineTypes.endp = _endpos_x0_;
12172 MenhirLib.EngineTypes.next = _menhir_stack;
12173 };
12174 };
12175 };
12176 };
12177 };
12178 } = _menhir_stack in
12179 let m : 'tv_list_TMul_ = Obj.magic m in
12180 let r00 : (
12181 # 169 "parser_cocci_menhir.mly"
12182 (Data.clt)
12183 # 12184 "parser_cocci_menhir.ml"
12184 ) = Obj.magic r00 in
12185 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
12186 let l00 : (
12187 # 169 "parser_cocci_menhir.mly"
12188 (Data.clt)
12189 # 12190 "parser_cocci_menhir.ml"
12190 ) = Obj.magic l00 in
12191 let s00 : 'tv_struct_or_union = Obj.magic s00 in
12192 let x0 : 'tv_const_vol = Obj.magic x0 in
12193 let _startpos = _startpos_x0_ in
12194 let _endpos = _endpos_m_ in
12195 let _v : 'tv_ctype = let ty =
12196 let r0 = r00 in
12197 let d0 = d00 in
12198 let l0 = l00 in
12199 let s0 = s00 in
12200 let ty =
12201 let r = r0 in
12202 let d = d0 in
12203 let l = l0 in
12204 let s = s0 in
12205 let i =
12206
12207 # 39 "standard.mly"
12208 ( None )
12209 # 12210 "parser_cocci_menhir.ml"
12210
12211 in
12212
12213 # 665 "parser_cocci_menhir.mly"
12214 ( (if i = None && !Data.in_iso
12215 then failwith "structures must be named in the iso file");
12216 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
12217 P.clt2mcode "{" l,
12218 d, P.clt2mcode "}" r)) )
12219 # 12220 "parser_cocci_menhir.ml"
12220
12221 in
12222
12223 # 684 "parser_cocci_menhir.mly"
12224 ( ty )
12225 # 12226 "parser_cocci_menhir.ml"
12226
12227 in
12228 let cv =
12229 let x = x0 in
12230
12231 # 41 "standard.mly"
12232 ( Some x )
12233 # 12234 "parser_cocci_menhir.ml"
12234
12235 in
12236
12237 # 688 "parser_cocci_menhir.mly"
12238 ( P.pointerify (P.make_cv cv ty) m )
12239 # 12240 "parser_cocci_menhir.ml"
12240 in
12241 _menhir_env.MenhirLib.EngineTypes.stack <- {
12242 MenhirLib.EngineTypes.state = _menhir_s;
12243 MenhirLib.EngineTypes.semv = Obj.repr _v;
12244 MenhirLib.EngineTypes.startp = _startpos;
12245 MenhirLib.EngineTypes.endp = _endpos;
12246 MenhirLib.EngineTypes.next = _menhir_stack;
12247 });
12248 (fun _menhir_env ->
12249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12250 let {
12251 MenhirLib.EngineTypes.semv = m;
12252 MenhirLib.EngineTypes.startp = _startpos_m_;
12253 MenhirLib.EngineTypes.endp = _endpos_m_;
12254 MenhirLib.EngineTypes.next = {
12255 MenhirLib.EngineTypes.semv = r00;
12256 MenhirLib.EngineTypes.startp = _startpos_r00_;
12257 MenhirLib.EngineTypes.endp = _endpos_r00_;
12258 MenhirLib.EngineTypes.next = {
12259 MenhirLib.EngineTypes.semv = d00;
12260 MenhirLib.EngineTypes.startp = _startpos_d00_;
12261 MenhirLib.EngineTypes.endp = _endpos_d00_;
12262 MenhirLib.EngineTypes.next = {
12263 MenhirLib.EngineTypes.semv = l00;
12264 MenhirLib.EngineTypes.startp = _startpos_l00_;
12265 MenhirLib.EngineTypes.endp = _endpos_l00_;
12266 MenhirLib.EngineTypes.next = {
12267 MenhirLib.EngineTypes.semv = x000;
12268 MenhirLib.EngineTypes.startp = _startpos_x000_;
12269 MenhirLib.EngineTypes.endp = _endpos_x000_;
12270 MenhirLib.EngineTypes.next = {
12271 MenhirLib.EngineTypes.semv = s00;
12272 MenhirLib.EngineTypes.startp = _startpos_s00_;
12273 MenhirLib.EngineTypes.endp = _endpos_s00_;
12274 MenhirLib.EngineTypes.next = {
12275 MenhirLib.EngineTypes.state = _menhir_s;
12276 MenhirLib.EngineTypes.semv = x0;
12277 MenhirLib.EngineTypes.startp = _startpos_x0_;
12278 MenhirLib.EngineTypes.endp = _endpos_x0_;
12279 MenhirLib.EngineTypes.next = _menhir_stack;
12280 };
12281 };
12282 };
12283 };
12284 };
12285 };
12286 } = _menhir_stack in
12287 let m : 'tv_list_TMul_ = Obj.magic m in
12288 let r00 : (
12289 # 169 "parser_cocci_menhir.mly"
12290 (Data.clt)
12291 # 12292 "parser_cocci_menhir.ml"
12292 ) = Obj.magic r00 in
12293 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
12294 let l00 : (
12295 # 169 "parser_cocci_menhir.mly"
12296 (Data.clt)
12297 # 12298 "parser_cocci_menhir.ml"
12298 ) = Obj.magic l00 in
12299 let x000 : 'tv_type_ident = Obj.magic x000 in
12300 let s00 : 'tv_struct_or_union = Obj.magic s00 in
12301 let x0 : 'tv_const_vol = Obj.magic x0 in
12302 let _startpos = _startpos_x0_ in
12303 let _endpos = _endpos_m_ in
12304 let _v : 'tv_ctype = let ty =
12305 let r0 = r00 in
12306 let d0 = d00 in
12307 let l0 = l00 in
12308 let x00 = x000 in
12309 let s0 = s00 in
12310 let ty =
12311 let r = r0 in
12312 let d = d0 in
12313 let l = l0 in
12314 let x0 = x00 in
12315 let s = s0 in
12316 let i =
12317 let x = x0 in
12318
12319 # 41 "standard.mly"
12320 ( Some x )
12321 # 12322 "parser_cocci_menhir.ml"
12322
12323 in
12324
12325 # 665 "parser_cocci_menhir.mly"
12326 ( (if i = None && !Data.in_iso
12327 then failwith "structures must be named in the iso file");
12328 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
12329 P.clt2mcode "{" l,
12330 d, P.clt2mcode "}" r)) )
12331 # 12332 "parser_cocci_menhir.ml"
12332
12333 in
12334
12335 # 684 "parser_cocci_menhir.mly"
12336 ( ty )
12337 # 12338 "parser_cocci_menhir.ml"
12338
12339 in
12340 let cv =
12341 let x = x0 in
12342
12343 # 41 "standard.mly"
12344 ( Some x )
12345 # 12346 "parser_cocci_menhir.ml"
12346
12347 in
12348
12349 # 688 "parser_cocci_menhir.mly"
12350 ( P.pointerify (P.make_cv cv ty) m )
12351 # 12352 "parser_cocci_menhir.ml"
12352 in
12353 _menhir_env.MenhirLib.EngineTypes.stack <- {
12354 MenhirLib.EngineTypes.state = _menhir_s;
12355 MenhirLib.EngineTypes.semv = Obj.repr _v;
12356 MenhirLib.EngineTypes.startp = _startpos;
12357 MenhirLib.EngineTypes.endp = _endpos;
12358 MenhirLib.EngineTypes.next = _menhir_stack;
12359 });
12360 (fun _menhir_env ->
12361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12362 let {
12363 MenhirLib.EngineTypes.semv = m;
12364 MenhirLib.EngineTypes.startp = _startpos_m_;
12365 MenhirLib.EngineTypes.endp = _endpos_m_;
12366 MenhirLib.EngineTypes.next = {
12367 MenhirLib.EngineTypes.semv = r00;
12368 MenhirLib.EngineTypes.startp = _startpos_r00_;
12369 MenhirLib.EngineTypes.endp = _endpos_r00_;
12370 MenhirLib.EngineTypes.next = {
12371 MenhirLib.EngineTypes.semv = d00;
12372 MenhirLib.EngineTypes.startp = _startpos_d00_;
12373 MenhirLib.EngineTypes.endp = _endpos_d00_;
12374 MenhirLib.EngineTypes.next = {
12375 MenhirLib.EngineTypes.semv = l00;
12376 MenhirLib.EngineTypes.startp = _startpos_l00_;
12377 MenhirLib.EngineTypes.endp = _endpos_l00_;
12378 MenhirLib.EngineTypes.next = {
12379 MenhirLib.EngineTypes.semv = s00;
12380 MenhirLib.EngineTypes.startp = _startpos_s00_;
12381 MenhirLib.EngineTypes.endp = _endpos_s00_;
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 };
12391 };
12392 };
12393 } = _menhir_stack in
12394 let m : 'tv_list_TMul_ = Obj.magic m in
12395 let r00 : (
12396 # 169 "parser_cocci_menhir.mly"
12397 (Data.clt)
12398 # 12399 "parser_cocci_menhir.ml"
12399 ) = Obj.magic r00 in
12400 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
12401 let l00 : (
12402 # 169 "parser_cocci_menhir.mly"
12403 (Data.clt)
12404 # 12405 "parser_cocci_menhir.ml"
12405 ) = Obj.magic l00 in
12406 let s00 : (
12407 # 131 "parser_cocci_menhir.mly"
12408 (Parse_aux.info)
12409 # 12410 "parser_cocci_menhir.ml"
12410 ) = Obj.magic s00 in
12411 let x0 : 'tv_const_vol = Obj.magic x0 in
12412 let _startpos = _startpos_x0_ in
12413 let _endpos = _endpos_m_ in
12414 let _v : 'tv_ctype = let ty =
12415 let r0 = r00 in
12416 let d0 = d00 in
12417 let l0 = l00 in
12418 let s0 = s00 in
12419 let ty =
12420 let r = r0 in
12421 let d = d0 in
12422 let l = l0 in
12423 let s = s0 in
12424
12425 # 671 "parser_cocci_menhir.mly"
12426 ( let (nm,pure,clt) = s in
12427 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
12428 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
12429 # 12430 "parser_cocci_menhir.ml"
12430
12431 in
12432
12433 # 684 "parser_cocci_menhir.mly"
12434 ( ty )
12435 # 12436 "parser_cocci_menhir.ml"
12436
12437 in
12438 let cv =
12439 let x = x0 in
12440
12441 # 41 "standard.mly"
12442 ( Some x )
12443 # 12444 "parser_cocci_menhir.ml"
12444
12445 in
12446
12447 # 688 "parser_cocci_menhir.mly"
12448 ( P.pointerify (P.make_cv cv ty) m )
12449 # 12450 "parser_cocci_menhir.ml"
12450 in
12451 _menhir_env.MenhirLib.EngineTypes.stack <- {
12452 MenhirLib.EngineTypes.state = _menhir_s;
12453 MenhirLib.EngineTypes.semv = Obj.repr _v;
12454 MenhirLib.EngineTypes.startp = _startpos;
12455 MenhirLib.EngineTypes.endp = _endpos;
12456 MenhirLib.EngineTypes.next = _menhir_stack;
12457 });
12458 (fun _menhir_env ->
12459 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12460 let {
12461 MenhirLib.EngineTypes.semv = m;
12462 MenhirLib.EngineTypes.startp = _startpos_m_;
12463 MenhirLib.EngineTypes.endp = _endpos_m_;
12464 MenhirLib.EngineTypes.next = {
12465 MenhirLib.EngineTypes.semv = p00;
12466 MenhirLib.EngineTypes.startp = _startpos_p00_;
12467 MenhirLib.EngineTypes.endp = _endpos_p00_;
12468 MenhirLib.EngineTypes.next = {
12469 MenhirLib.EngineTypes.state = _menhir_s;
12470 MenhirLib.EngineTypes.semv = x0;
12471 MenhirLib.EngineTypes.startp = _startpos_x0_;
12472 MenhirLib.EngineTypes.endp = _endpos_x0_;
12473 MenhirLib.EngineTypes.next = _menhir_stack;
12474 };
12475 };
12476 } = _menhir_stack in
12477 let m : 'tv_list_TMul_ = Obj.magic m in
12478 let p00 : (
12479 # 125 "parser_cocci_menhir.mly"
12480 (string * Data.clt)
12481 # 12482 "parser_cocci_menhir.ml"
12482 ) = Obj.magic p00 in
12483 let x0 : 'tv_const_vol = Obj.magic x0 in
12484 let _startpos = _startpos_x0_ in
12485 let _endpos = _endpos_m_ in
12486 let _v : 'tv_ctype = let ty =
12487 let p0 = p00 in
12488 let ty =
12489 let p = p0 in
12490
12491 # 675 "parser_cocci_menhir.mly"
12492 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
12493 # 12494 "parser_cocci_menhir.ml"
12494
12495 in
12496
12497 # 684 "parser_cocci_menhir.mly"
12498 ( ty )
12499 # 12500 "parser_cocci_menhir.ml"
12500
12501 in
12502 let cv =
12503 let x = x0 in
12504
12505 # 41 "standard.mly"
12506 ( Some x )
12507 # 12508 "parser_cocci_menhir.ml"
12508
12509 in
12510
12511 # 688 "parser_cocci_menhir.mly"
12512 ( P.pointerify (P.make_cv cv ty) m )
12513 # 12514 "parser_cocci_menhir.ml"
12514 in
12515 _menhir_env.MenhirLib.EngineTypes.stack <- {
12516 MenhirLib.EngineTypes.state = _menhir_s;
12517 MenhirLib.EngineTypes.semv = Obj.repr _v;
12518 MenhirLib.EngineTypes.startp = _startpos;
12519 MenhirLib.EngineTypes.endp = _endpos;
12520 MenhirLib.EngineTypes.next = _menhir_stack;
12521 });
12522 (fun _menhir_env ->
12523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12524 let {
12525 MenhirLib.EngineTypes.state = _menhir_s;
12526 MenhirLib.EngineTypes.semv = r;
12527 MenhirLib.EngineTypes.startp = _startpos_r_;
12528 MenhirLib.EngineTypes.endp = _endpos_r_;
12529 MenhirLib.EngineTypes.next = _menhir_stack;
12530 } = _menhir_stack in
12531 let r : (
12532 # 117 "parser_cocci_menhir.mly"
12533 (Data.clt)
12534 # 12535 "parser_cocci_menhir.ml"
12535 ) = Obj.magic r in
12536 let _startpos = _startpos_r_ in
12537 let _endpos = _endpos_r_ in
12538 let _v : 'tv_ctype =
12539 # 690 "parser_cocci_menhir.mly"
12540 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
12541 # 12542 "parser_cocci_menhir.ml"
12542 in
12543 _menhir_env.MenhirLib.EngineTypes.stack <- {
12544 MenhirLib.EngineTypes.state = _menhir_s;
12545 MenhirLib.EngineTypes.semv = Obj.repr _v;
12546 MenhirLib.EngineTypes.startp = _startpos;
12547 MenhirLib.EngineTypes.endp = _endpos;
12548 MenhirLib.EngineTypes.next = _menhir_stack;
12549 });
12550 (fun _menhir_env ->
12551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12552 let {
12553 MenhirLib.EngineTypes.state = _menhir_s;
12554 MenhirLib.EngineTypes.semv = r;
12555 MenhirLib.EngineTypes.startp = _startpos_r_;
12556 MenhirLib.EngineTypes.endp = _endpos_r_;
12557 MenhirLib.EngineTypes.next = _menhir_stack;
12558 } = _menhir_stack in
12559 let r : (
12560 # 117 "parser_cocci_menhir.mly"
12561 (Data.clt)
12562 # 12563 "parser_cocci_menhir.ml"
12563 ) = Obj.magic r in
12564 let _startpos = _startpos_r_ in
12565 let _endpos = _endpos_r_ in
12566 let _v : 'tv_ctype =
12567 # 692 "parser_cocci_menhir.mly"
12568 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
12569 # 12570 "parser_cocci_menhir.ml"
12570 in
12571 _menhir_env.MenhirLib.EngineTypes.stack <- {
12572 MenhirLib.EngineTypes.state = _menhir_s;
12573 MenhirLib.EngineTypes.semv = Obj.repr _v;
12574 MenhirLib.EngineTypes.startp = _startpos;
12575 MenhirLib.EngineTypes.endp = _endpos;
12576 MenhirLib.EngineTypes.next = _menhir_stack;
12577 });
12578 (fun _menhir_env ->
12579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12580 let {
12581 MenhirLib.EngineTypes.semv = rp;
12582 MenhirLib.EngineTypes.startp = _startpos_rp_;
12583 MenhirLib.EngineTypes.endp = _endpos_rp_;
12584 MenhirLib.EngineTypes.next = {
12585 MenhirLib.EngineTypes.semv = t;
12586 MenhirLib.EngineTypes.startp = _startpos_t_;
12587 MenhirLib.EngineTypes.endp = _endpos_t_;
12588 MenhirLib.EngineTypes.next = {
12589 MenhirLib.EngineTypes.state = _menhir_s;
12590 MenhirLib.EngineTypes.semv = lp;
12591 MenhirLib.EngineTypes.startp = _startpos_lp_;
12592 MenhirLib.EngineTypes.endp = _endpos_lp_;
12593 MenhirLib.EngineTypes.next = _menhir_stack;
12594 };
12595 };
12596 } = _menhir_stack in
12597 let rp : (
12598 # 145 "parser_cocci_menhir.mly"
12599 (Data.clt)
12600 # 12601 "parser_cocci_menhir.ml"
12601 ) = Obj.magic rp in
12602 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
12603 let lp : (
12604 # 144 "parser_cocci_menhir.mly"
12605 (Data.clt)
12606 # 12607 "parser_cocci_menhir.ml"
12607 ) = Obj.magic lp in
12608 let _startpos = _startpos_lp_ in
12609 let _endpos = _endpos_rp_ in
12610 let _v : 'tv_ctype =
12611 # 694 "parser_cocci_menhir.mly"
12612 ( let (mids,code) = t in
12613 Ast0.wrap
12614 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
12615 # 12616 "parser_cocci_menhir.ml"
12616 in
12617 _menhir_env.MenhirLib.EngineTypes.stack <- {
12618 MenhirLib.EngineTypes.state = _menhir_s;
12619 MenhirLib.EngineTypes.semv = Obj.repr _v;
12620 MenhirLib.EngineTypes.startp = _startpos;
12621 MenhirLib.EngineTypes.endp = _endpos;
12622 MenhirLib.EngineTypes.next = _menhir_stack;
12623 });
12624 (fun _menhir_env ->
12625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12626 let {
12627 MenhirLib.EngineTypes.semv = _2;
12628 MenhirLib.EngineTypes.startp = _startpos__2_;
12629 MenhirLib.EngineTypes.endp = _endpos__2_;
12630 MenhirLib.EngineTypes.next = {
12631 MenhirLib.EngineTypes.state = _menhir_s;
12632 MenhirLib.EngineTypes.semv = _1;
12633 MenhirLib.EngineTypes.startp = _startpos__1_;
12634 MenhirLib.EngineTypes.endp = _endpos__1_;
12635 MenhirLib.EngineTypes.next = _menhir_stack;
12636 };
12637 } = _menhir_stack in
12638 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
12639 let _1 : 'tv_disj_ident = Obj.magic _1 in
12640 let _startpos = _startpos__1_ in
12641 let _endpos = _endpos__2_ in
12642 let _v : 'tv_d_ident =
12643 # 1256 "parser_cocci_menhir.mly"
12644 ( (_1, function t -> P.arrayify t _2) )
12645 # 12646 "parser_cocci_menhir.ml"
12646 in
12647 _menhir_env.MenhirLib.EngineTypes.stack <- {
12648 MenhirLib.EngineTypes.state = _menhir_s;
12649 MenhirLib.EngineTypes.semv = Obj.repr _v;
12650 MenhirLib.EngineTypes.startp = _startpos;
12651 MenhirLib.EngineTypes.endp = _endpos;
12652 MenhirLib.EngineTypes.next = _menhir_stack;
12653 });
12654 (fun _menhir_env ->
12655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12656 let {
12657 MenhirLib.EngineTypes.semv = a;
12658 MenhirLib.EngineTypes.startp = _startpos_a_;
12659 MenhirLib.EngineTypes.endp = _endpos_a_;
12660 MenhirLib.EngineTypes.next = {
12661 MenhirLib.EngineTypes.semv = i;
12662 MenhirLib.EngineTypes.startp = _startpos_i_;
12663 MenhirLib.EngineTypes.endp = _endpos_i_;
12664 MenhirLib.EngineTypes.next = {
12665 MenhirLib.EngineTypes.state = _menhir_s;
12666 MenhirLib.EngineTypes.semv = t;
12667 MenhirLib.EngineTypes.startp = _startpos_t_;
12668 MenhirLib.EngineTypes.endp = _endpos_t_;
12669 MenhirLib.EngineTypes.next = _menhir_stack;
12670 };
12671 };
12672 } = _menhir_stack in
12673 let a : 'tv_list_array_dec_ = Obj.magic a in
12674 let i : 'tv_disj_ident = Obj.magic i in
12675 let t : 'tv_ctype = Obj.magic t in
12676 let _startpos = _startpos_t_ in
12677 let _endpos = _endpos_a_ in
12678 let _v : 'tv_decl =
12679 # 1008 "parser_cocci_menhir.mly"
12680 ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
12681 # 12682 "parser_cocci_menhir.ml"
12682 in
12683 _menhir_env.MenhirLib.EngineTypes.stack <- {
12684 MenhirLib.EngineTypes.state = _menhir_s;
12685 MenhirLib.EngineTypes.semv = Obj.repr _v;
12686 MenhirLib.EngineTypes.startp = _startpos;
12687 MenhirLib.EngineTypes.endp = _endpos;
12688 MenhirLib.EngineTypes.next = _menhir_stack;
12689 });
12690 (fun _menhir_env ->
12691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12692 let {
12693 MenhirLib.EngineTypes.state = _menhir_s;
12694 MenhirLib.EngineTypes.semv = t;
12695 MenhirLib.EngineTypes.startp = _startpos_t_;
12696 MenhirLib.EngineTypes.endp = _endpos_t_;
12697 MenhirLib.EngineTypes.next = _menhir_stack;
12698 } = _menhir_stack in
12699 let t : 'tv_ctype = Obj.magic t in
12700 let _startpos = _startpos_t_ in
12701 let _endpos = _endpos_t_ in
12702 let _v : 'tv_decl =
12703 # 1009 "parser_cocci_menhir.mly"
12704 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
12705 # 12706 "parser_cocci_menhir.ml"
12706 in
12707 _menhir_env.MenhirLib.EngineTypes.stack <- {
12708 MenhirLib.EngineTypes.state = _menhir_s;
12709 MenhirLib.EngineTypes.semv = Obj.repr _v;
12710 MenhirLib.EngineTypes.startp = _startpos;
12711 MenhirLib.EngineTypes.endp = _endpos;
12712 MenhirLib.EngineTypes.next = _menhir_stack;
12713 });
12714 (fun _menhir_env ->
12715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12716 let {
12717 MenhirLib.EngineTypes.semv = rp1;
12718 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12719 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12720 MenhirLib.EngineTypes.next = {
12721 MenhirLib.EngineTypes.semv = d;
12722 MenhirLib.EngineTypes.startp = _startpos_d_;
12723 MenhirLib.EngineTypes.endp = _endpos_d_;
12724 MenhirLib.EngineTypes.next = {
12725 MenhirLib.EngineTypes.semv = lp1;
12726 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12727 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12728 MenhirLib.EngineTypes.next = {
12729 MenhirLib.EngineTypes.semv = rp;
12730 MenhirLib.EngineTypes.startp = _startpos_rp_;
12731 MenhirLib.EngineTypes.endp = _endpos_rp_;
12732 MenhirLib.EngineTypes.next = {
12733 MenhirLib.EngineTypes.semv = i;
12734 MenhirLib.EngineTypes.startp = _startpos_i_;
12735 MenhirLib.EngineTypes.endp = _endpos_i_;
12736 MenhirLib.EngineTypes.next = {
12737 MenhirLib.EngineTypes.semv = s;
12738 MenhirLib.EngineTypes.startp = _startpos_s_;
12739 MenhirLib.EngineTypes.endp = _endpos_s_;
12740 MenhirLib.EngineTypes.next = {
12741 MenhirLib.EngineTypes.semv = lp;
12742 MenhirLib.EngineTypes.startp = _startpos_lp_;
12743 MenhirLib.EngineTypes.endp = _endpos_lp_;
12744 MenhirLib.EngineTypes.next = {
12745 MenhirLib.EngineTypes.state = _menhir_s;
12746 MenhirLib.EngineTypes.semv = t;
12747 MenhirLib.EngineTypes.startp = _startpos_t_;
12748 MenhirLib.EngineTypes.endp = _endpos_t_;
12749 MenhirLib.EngineTypes.next = _menhir_stack;
12750 };
12751 };
12752 };
12753 };
12754 };
12755 };
12756 };
12757 } = _menhir_stack in
12758 let rp1 : (
12759 # 145 "parser_cocci_menhir.mly"
12760 (Data.clt)
12761 # 12762 "parser_cocci_menhir.ml"
12762 ) = Obj.magic rp1 in
12763 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
12764 let lp1 : (
12765 # 144 "parser_cocci_menhir.mly"
12766 (Data.clt)
12767 # 12768 "parser_cocci_menhir.ml"
12768 ) = Obj.magic lp1 in
12769 let rp : (
12770 # 145 "parser_cocci_menhir.mly"
12771 (Data.clt)
12772 # 12773 "parser_cocci_menhir.ml"
12773 ) = Obj.magic rp in
12774 let i : 'tv_disj_ident = Obj.magic i in
12775 let s : (
12776 # 167 "parser_cocci_menhir.mly"
12777 (Data.clt)
12778 # 12779 "parser_cocci_menhir.ml"
12779 ) = Obj.magic s in
12780 let lp : (
12781 # 144 "parser_cocci_menhir.mly"
12782 (Data.clt)
12783 # 12784 "parser_cocci_menhir.ml"
12784 ) = Obj.magic lp in
12785 let t : 'tv_ctype = Obj.magic t in
12786 let _startpos = _startpos_t_ in
12787 let _endpos = _endpos_rp1_ in
12788 let _v : 'tv_decl =
12789 # 1012 "parser_cocci_menhir.mly"
12790 ( let fnptr =
12791 Ast0.wrap
12792 (Ast0.FunctionPointer
12793 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
12794 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
12795 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
12796 # 12797 "parser_cocci_menhir.ml"
12797 in
12798 _menhir_env.MenhirLib.EngineTypes.stack <- {
12799 MenhirLib.EngineTypes.state = _menhir_s;
12800 MenhirLib.EngineTypes.semv = Obj.repr _v;
12801 MenhirLib.EngineTypes.startp = _startpos;
12802 MenhirLib.EngineTypes.endp = _endpos;
12803 MenhirLib.EngineTypes.next = _menhir_stack;
12804 });
12805 (fun _menhir_env ->
12806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12807 let {
12808 MenhirLib.EngineTypes.state = _menhir_s;
12809 MenhirLib.EngineTypes.semv = _1;
12810 MenhirLib.EngineTypes.startp = _startpos__1_;
12811 MenhirLib.EngineTypes.endp = _endpos__1_;
12812 MenhirLib.EngineTypes.next = _menhir_stack;
12813 } = _menhir_stack in
12814 let _1 : (
12815 # 131 "parser_cocci_menhir.mly"
12816 (Parse_aux.info)
12817 # 12818 "parser_cocci_menhir.ml"
12818 ) = Obj.magic _1 in
12819 let _startpos = _startpos__1_ in
12820 let _endpos = _endpos__1_ in
12821 let _v : 'tv_decl =
12822 # 1019 "parser_cocci_menhir.mly"
12823 ( let (nm,pure,clt) = _1 in
12824 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
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 : (
12844 # 132 "parser_cocci_menhir.mly"
12845 (Parse_aux.info)
12846 # 12847 "parser_cocci_menhir.ml"
12847 ) = Obj.magic _1 in
12848 let _startpos = _startpos__1_ in
12849 let _endpos = _endpos__1_ in
12850 let _v : 'tv_decl =
12851 # 1021 "parser_cocci_menhir.mly"
12852 ( tmeta_to_param _1 )
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 # 125 "parser_cocci_menhir.mly"
12873 (string * Data.clt)
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_ident =
12879 # 1902 "parser_cocci_menhir.mly"
12880 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
12881 # 12882 "parser_cocci_menhir.ml"
12882 in
12883 _menhir_env.MenhirLib.EngineTypes.stack <- {
12884 MenhirLib.EngineTypes.state = _menhir_s;
12885 MenhirLib.EngineTypes.semv = Obj.repr _v;
12886 MenhirLib.EngineTypes.startp = _startpos;
12887 MenhirLib.EngineTypes.endp = _endpos;
12888 MenhirLib.EngineTypes.next = _menhir_stack;
12889 });
12890 (fun _menhir_env ->
12891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12892 let {
12893 MenhirLib.EngineTypes.state = _menhir_s;
12894 MenhirLib.EngineTypes.semv = _1;
12895 MenhirLib.EngineTypes.startp = _startpos__1_;
12896 MenhirLib.EngineTypes.endp = _endpos__1_;
12897 MenhirLib.EngineTypes.next = _menhir_stack;
12898 } = _menhir_stack in
12899 let _1 : (
12900 # 129 "parser_cocci_menhir.mly"
12901 (Parse_aux.idinfo)
12902 # 12903 "parser_cocci_menhir.ml"
12903 ) = Obj.magic _1 in
12904 let _startpos = _startpos__1_ in
12905 let _endpos = _endpos__1_ in
12906 let _v : 'tv_decl_ident =
12907 # 1904 "parser_cocci_menhir.mly"
12908 ( let (nm,constraints,pure,clt) = _1 in
12909 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
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_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
12929 let _startpos = _startpos__1_ in
12930 let _endpos = _endpos__1_ in
12931 let _v : 'tv_decl_list_decl_ =
12932 # 1926 "parser_cocci_menhir.mly"
12933 ( Ast0.wrap
12934 (Ast0.DOTS
12935 (_1
12936 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
12937 (fun c -> Ast0.PComma c))) )
12938 # 12939 "parser_cocci_menhir.ml"
12939 in
12940 _menhir_env.MenhirLib.EngineTypes.stack <- {
12941 MenhirLib.EngineTypes.state = _menhir_s;
12942 MenhirLib.EngineTypes.semv = Obj.repr _v;
12943 MenhirLib.EngineTypes.startp = _startpos;
12944 MenhirLib.EngineTypes.endp = _endpos;
12945 MenhirLib.EngineTypes.next = _menhir_stack;
12946 });
12947 (fun _menhir_env ->
12948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12949 let {
12950 MenhirLib.EngineTypes.state = _menhir_s;
12951 MenhirLib.EngineTypes.semv = _1;
12952 MenhirLib.EngineTypes.startp = _startpos__1_;
12953 MenhirLib.EngineTypes.endp = _endpos__1_;
12954 MenhirLib.EngineTypes.next = _menhir_stack;
12955 } = _menhir_stack in
12956 let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
12957 let _startpos = _startpos__1_ in
12958 let _endpos = _endpos__1_ in
12959 let _v : 'tv_decl_list_name_opt_decl_ =
12960 # 1926 "parser_cocci_menhir.mly"
12961 ( Ast0.wrap
12962 (Ast0.DOTS
12963 (_1
12964 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
12965 (fun c -> Ast0.PComma c))) )
12966 # 12967 "parser_cocci_menhir.ml"
12967 in
12968 _menhir_env.MenhirLib.EngineTypes.stack <- {
12969 MenhirLib.EngineTypes.state = _menhir_s;
12970 MenhirLib.EngineTypes.semv = Obj.repr _v;
12971 MenhirLib.EngineTypes.startp = _startpos;
12972 MenhirLib.EngineTypes.endp = _endpos;
12973 MenhirLib.EngineTypes.next = _menhir_stack;
12974 });
12975 (fun _menhir_env ->
12976 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12977 let {
12978 MenhirLib.EngineTypes.state = _menhir_s;
12979 MenhirLib.EngineTypes.semv = _1;
12980 MenhirLib.EngineTypes.startp = _startpos__1_;
12981 MenhirLib.EngineTypes.endp = _endpos__1_;
12982 MenhirLib.EngineTypes.next = _menhir_stack;
12983 } = _menhir_stack in
12984 let _1 : (
12985 # 131 "parser_cocci_menhir.mly"
12986 (Parse_aux.info)
12987 # 12988 "parser_cocci_menhir.ml"
12988 ) = Obj.magic _1 in
12989 let _startpos = _startpos__1_ in
12990 let _endpos = _endpos__1_ in
12991 let _v : 'tv_decl_statement =
12992 # 1307 "parser_cocci_menhir.mly"
12993 ( let (nm,pure,clt) = _1 in
12994 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
12995 # 12996 "parser_cocci_menhir.ml"
12996 in
12997 _menhir_env.MenhirLib.EngineTypes.stack <- {
12998 MenhirLib.EngineTypes.state = _menhir_s;
12999 MenhirLib.EngineTypes.semv = Obj.repr _v;
13000 MenhirLib.EngineTypes.startp = _startpos;
13001 MenhirLib.EngineTypes.endp = _endpos;
13002 MenhirLib.EngineTypes.next = _menhir_stack;
13003 });
13004 (fun _menhir_env ->
13005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13006 let {
13007 MenhirLib.EngineTypes.state = _menhir_s;
13008 MenhirLib.EngineTypes.semv = _1;
13009 MenhirLib.EngineTypes.startp = _startpos__1_;
13010 MenhirLib.EngineTypes.endp = _endpos__1_;
13011 MenhirLib.EngineTypes.next = _menhir_stack;
13012 } = _menhir_stack in
13013 let _1 : 'tv_decl_var = Obj.magic _1 in
13014 let _startpos = _startpos__1_ in
13015 let _endpos = _endpos__1_ in
13016 let _v : 'tv_decl_statement =
13017 # 1310 "parser_cocci_menhir.mly"
13018 ( List.map
13019 (function x ->
13020 Ast0.wrap
13021 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
13022 _1 )
13023 # 13024 "parser_cocci_menhir.ml"
13024 in
13025 _menhir_env.MenhirLib.EngineTypes.stack <- {
13026 MenhirLib.EngineTypes.state = _menhir_s;
13027 MenhirLib.EngineTypes.semv = Obj.repr _v;
13028 MenhirLib.EngineTypes.startp = _startpos;
13029 MenhirLib.EngineTypes.endp = _endpos;
13030 MenhirLib.EngineTypes.next = _menhir_stack;
13031 });
13032 (fun _menhir_env ->
13033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13034 let {
13035 MenhirLib.EngineTypes.state = _menhir_s;
13036 MenhirLib.EngineTypes.semv = _1;
13037 MenhirLib.EngineTypes.startp = _startpos__1_;
13038 MenhirLib.EngineTypes.endp = _endpos__1_;
13039 MenhirLib.EngineTypes.next = _menhir_stack;
13040 } = _menhir_stack in
13041 let _1 : 'tv_statement = Obj.magic _1 in
13042 let _startpos = _startpos__1_ in
13043 let _endpos = _endpos__1_ in
13044 let _v : 'tv_decl_statement =
13045 # 1315 "parser_cocci_menhir.mly"
13046 ( [_1] )
13047 # 13048 "parser_cocci_menhir.ml"
13048 in
13049 _menhir_env.MenhirLib.EngineTypes.stack <- {
13050 MenhirLib.EngineTypes.state = _menhir_s;
13051 MenhirLib.EngineTypes.semv = Obj.repr _v;
13052 MenhirLib.EngineTypes.startp = _startpos;
13053 MenhirLib.EngineTypes.endp = _endpos;
13054 MenhirLib.EngineTypes.next = _menhir_stack;
13055 });
13056 (fun _menhir_env ->
13057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13058 let {
13059 MenhirLib.EngineTypes.semv = _3;
13060 MenhirLib.EngineTypes.startp = _startpos__3_;
13061 MenhirLib.EngineTypes.endp = _endpos__3_;
13062 MenhirLib.EngineTypes.next = {
13063 MenhirLib.EngineTypes.semv = t;
13064 MenhirLib.EngineTypes.startp = _startpos_t_;
13065 MenhirLib.EngineTypes.endp = _endpos_t_;
13066 MenhirLib.EngineTypes.next = {
13067 MenhirLib.EngineTypes.state = _menhir_s;
13068 MenhirLib.EngineTypes.semv = _1;
13069 MenhirLib.EngineTypes.startp = _startpos__1_;
13070 MenhirLib.EngineTypes.endp = _endpos__1_;
13071 MenhirLib.EngineTypes.next = _menhir_stack;
13072 };
13073 };
13074 } = _menhir_stack in
13075 let _3 : (
13076 # 145 "parser_cocci_menhir.mly"
13077 (Data.clt)
13078 # 13079 "parser_cocci_menhir.ml"
13079 ) = Obj.magic _3 in
13080 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
13081 let _1 : (
13082 # 144 "parser_cocci_menhir.mly"
13083 (Data.clt)
13084 # 13085 "parser_cocci_menhir.ml"
13085 ) = Obj.magic _1 in
13086 let _startpos = _startpos__1_ in
13087 let _endpos = _endpos__3_ in
13088 let _v : 'tv_decl_statement =
13089 # 1324 "parser_cocci_menhir.mly"
13090 ( let (mids,code) = t in
13091 if List.for_all
13092 (function x ->
13093 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
13094 code
13095 then []
13096 else
13097 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
13098 P.clt2mcode ")" _3))] )
13099 # 13100 "parser_cocci_menhir.ml"
13100 in
13101 _menhir_env.MenhirLib.EngineTypes.stack <- {
13102 MenhirLib.EngineTypes.state = _menhir_s;
13103 MenhirLib.EngineTypes.semv = Obj.repr _v;
13104 MenhirLib.EngineTypes.startp = _startpos;
13105 MenhirLib.EngineTypes.endp = _endpos;
13106 MenhirLib.EngineTypes.next = _menhir_stack;
13107 });
13108 (fun _menhir_env ->
13109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13110 let {
13111 MenhirLib.EngineTypes.state = _menhir_s;
13112 MenhirLib.EngineTypes.semv = _1;
13113 MenhirLib.EngineTypes.startp = _startpos__1_;
13114 MenhirLib.EngineTypes.endp = _endpos__1_;
13115 MenhirLib.EngineTypes.next = _menhir_stack;
13116 } = _menhir_stack in
13117 let _1 : (
13118 # 131 "parser_cocci_menhir.mly"
13119 (Parse_aux.info)
13120 # 13121 "parser_cocci_menhir.ml"
13121 ) = Obj.magic _1 in
13122 let _startpos = _startpos__1_ in
13123 let _endpos = _endpos__1_ in
13124 let _v : 'tv_decl_statement_expr =
13125 # 1337 "parser_cocci_menhir.mly"
13126 ( let (nm,pure,clt) = _1 in
13127 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
13128 # 13129 "parser_cocci_menhir.ml"
13129 in
13130 _menhir_env.MenhirLib.EngineTypes.stack <- {
13131 MenhirLib.EngineTypes.state = _menhir_s;
13132 MenhirLib.EngineTypes.semv = Obj.repr _v;
13133 MenhirLib.EngineTypes.startp = _startpos;
13134 MenhirLib.EngineTypes.endp = _endpos;
13135 MenhirLib.EngineTypes.next = _menhir_stack;
13136 });
13137 (fun _menhir_env ->
13138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13139 let {
13140 MenhirLib.EngineTypes.state = _menhir_s;
13141 MenhirLib.EngineTypes.semv = _1;
13142 MenhirLib.EngineTypes.startp = _startpos__1_;
13143 MenhirLib.EngineTypes.endp = _endpos__1_;
13144 MenhirLib.EngineTypes.next = _menhir_stack;
13145 } = _menhir_stack in
13146 let _1 : 'tv_decl_var = Obj.magic _1 in
13147 let _startpos = _startpos__1_ in
13148 let _endpos = _endpos__1_ in
13149 let _v : 'tv_decl_statement_expr =
13150 # 1340 "parser_cocci_menhir.mly"
13151 ( List.map
13152 (function x ->
13153 Ast0.wrap
13154 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
13155 _1 )
13156 # 13157 "parser_cocci_menhir.ml"
13157 in
13158 _menhir_env.MenhirLib.EngineTypes.stack <- {
13159 MenhirLib.EngineTypes.state = _menhir_s;
13160 MenhirLib.EngineTypes.semv = Obj.repr _v;
13161 MenhirLib.EngineTypes.startp = _startpos;
13162 MenhirLib.EngineTypes.endp = _endpos;
13163 MenhirLib.EngineTypes.next = _menhir_stack;
13164 });
13165 (fun _menhir_env ->
13166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13167 let {
13168 MenhirLib.EngineTypes.state = _menhir_s;
13169 MenhirLib.EngineTypes.semv = _1;
13170 MenhirLib.EngineTypes.startp = _startpos__1_;
13171 MenhirLib.EngineTypes.endp = _endpos__1_;
13172 MenhirLib.EngineTypes.next = _menhir_stack;
13173 } = _menhir_stack in
13174 let _1 : 'tv_statement = Obj.magic _1 in
13175 let _startpos = _startpos__1_ in
13176 let _endpos = _endpos__1_ in
13177 let _v : 'tv_decl_statement_expr =
13178 # 1345 "parser_cocci_menhir.mly"
13179 ( [_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 = _3;
13193 MenhirLib.EngineTypes.startp = _startpos__3_;
13194 MenhirLib.EngineTypes.endp = _endpos__3_;
13195 MenhirLib.EngineTypes.next = {
13196 MenhirLib.EngineTypes.semv = t;
13197 MenhirLib.EngineTypes.startp = _startpos_t_;
13198 MenhirLib.EngineTypes.endp = _endpos_t_;
13199 MenhirLib.EngineTypes.next = {
13200 MenhirLib.EngineTypes.state = _menhir_s;
13201 MenhirLib.EngineTypes.semv = _1;
13202 MenhirLib.EngineTypes.startp = _startpos__1_;
13203 MenhirLib.EngineTypes.endp = _endpos__1_;
13204 MenhirLib.EngineTypes.next = _menhir_stack;
13205 };
13206 };
13207 } = _menhir_stack in
13208 let _3 : (
13209 # 145 "parser_cocci_menhir.mly"
13210 (Data.clt)
13211 # 13212 "parser_cocci_menhir.ml"
13212 ) = Obj.magic _3 in
13213 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
13214 let _1 : (
13215 # 144 "parser_cocci_menhir.mly"
13216 (Data.clt)
13217 # 13218 "parser_cocci_menhir.ml"
13218 ) = Obj.magic _1 in
13219 let _startpos = _startpos__1_ in
13220 let _endpos = _endpos__3_ in
13221 let _v : 'tv_decl_statement_expr =
13222 # 1354 "parser_cocci_menhir.mly"
13223 ( let (mids,code) = t in
13224 if List.for_all (function [] -> true | _ -> false) code
13225 then []
13226 else
13227 let dot_code =
13228 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
13229 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
13230 P.clt2mcode ")" _3))] )
13231 # 13232 "parser_cocci_menhir.ml"
13232 in
13233 _menhir_env.MenhirLib.EngineTypes.stack <- {
13234 MenhirLib.EngineTypes.state = _menhir_s;
13235 MenhirLib.EngineTypes.semv = Obj.repr _v;
13236 MenhirLib.EngineTypes.startp = _startpos;
13237 MenhirLib.EngineTypes.endp = _endpos;
13238 MenhirLib.EngineTypes.next = _menhir_stack;
13239 });
13240 (fun _menhir_env ->
13241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13242 let {
13243 MenhirLib.EngineTypes.semv = pv;
13244 MenhirLib.EngineTypes.startp = _startpos_pv_;
13245 MenhirLib.EngineTypes.endp = _endpos_pv_;
13246 MenhirLib.EngineTypes.next = {
13247 MenhirLib.EngineTypes.state = _menhir_s;
13248 MenhirLib.EngineTypes.semv = t;
13249 MenhirLib.EngineTypes.startp = _startpos_t_;
13250 MenhirLib.EngineTypes.endp = _endpos_t_;
13251 MenhirLib.EngineTypes.next = _menhir_stack;
13252 };
13253 } = _menhir_stack in
13254 let pv : (
13255 # 175 "parser_cocci_menhir.mly"
13256 (Data.clt)
13257 # 13258 "parser_cocci_menhir.ml"
13258 ) = Obj.magic pv in
13259 let t : 'tv_ctype = Obj.magic t in
13260 let _startpos = _startpos_t_ in
13261 let _endpos = _endpos_pv_ in
13262 let _v : 'tv_decl_var =
13263 # 1142 "parser_cocci_menhir.mly"
13264 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
13265 # 13266 "parser_cocci_menhir.ml"
13266 in
13267 _menhir_env.MenhirLib.EngineTypes.stack <- {
13268 MenhirLib.EngineTypes.state = _menhir_s;
13269 MenhirLib.EngineTypes.semv = Obj.repr _v;
13270 MenhirLib.EngineTypes.startp = _startpos;
13271 MenhirLib.EngineTypes.endp = _endpos;
13272 MenhirLib.EngineTypes.next = _menhir_stack;
13273 });
13274 (fun _menhir_env ->
13275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13276 let {
13277 MenhirLib.EngineTypes.state = _menhir_s;
13278 MenhirLib.EngineTypes.semv = _1;
13279 MenhirLib.EngineTypes.startp = _startpos__1_;
13280 MenhirLib.EngineTypes.endp = _endpos__1_;
13281 MenhirLib.EngineTypes.next = _menhir_stack;
13282 } = _menhir_stack in
13283 let _1 : (
13284 # 132 "parser_cocci_menhir.mly"
13285 (Parse_aux.info)
13286 # 13287 "parser_cocci_menhir.ml"
13287 ) = Obj.magic _1 in
13288 let _startpos = _startpos__1_ in
13289 let _endpos = _endpos__1_ in
13290 let _v : 'tv_decl_var =
13291 # 1143 "parser_cocci_menhir.mly"
13292 ( [P.meta_decl _1] )
13293 # 13294 "parser_cocci_menhir.ml"
13294 in
13295 _menhir_env.MenhirLib.EngineTypes.stack <- {
13296 MenhirLib.EngineTypes.state = _menhir_s;
13297 MenhirLib.EngineTypes.semv = Obj.repr _v;
13298 MenhirLib.EngineTypes.startp = _startpos;
13299 MenhirLib.EngineTypes.endp = _endpos;
13300 MenhirLib.EngineTypes.next = _menhir_stack;
13301 });
13302 (fun _menhir_env ->
13303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13304 let {
13305 MenhirLib.EngineTypes.semv = pv;
13306 MenhirLib.EngineTypes.startp = _startpos_pv_;
13307 MenhirLib.EngineTypes.endp = _endpos_pv_;
13308 MenhirLib.EngineTypes.next = {
13309 MenhirLib.EngineTypes.semv = d;
13310 MenhirLib.EngineTypes.startp = _startpos_d_;
13311 MenhirLib.EngineTypes.endp = _endpos_d_;
13312 MenhirLib.EngineTypes.next = {
13313 MenhirLib.EngineTypes.state = _menhir_s;
13314 MenhirLib.EngineTypes.semv = t;
13315 MenhirLib.EngineTypes.startp = _startpos_t_;
13316 MenhirLib.EngineTypes.endp = _endpos_t_;
13317 MenhirLib.EngineTypes.next = _menhir_stack;
13318 };
13319 };
13320 } = _menhir_stack in
13321 let pv : (
13322 # 175 "parser_cocci_menhir.mly"
13323 (Data.clt)
13324 # 13325 "parser_cocci_menhir.ml"
13325 ) = Obj.magic pv in
13326 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13327 let t : 'tv_ctype = Obj.magic t in
13328 let _startpos = _startpos_t_ in
13329 let _endpos = _endpos_pv_ in
13330 let _v : 'tv_decl_var = let s =
13331
13332 # 39 "standard.mly"
13333 ( None )
13334 # 13335 "parser_cocci_menhir.ml"
13335
13336 in
13337
13338 # 1145 "parser_cocci_menhir.mly"
13339 ( List.map
13340 (function (id,fn) ->
13341 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
13342 d )
13343 # 13344 "parser_cocci_menhir.ml"
13344 in
13345 _menhir_env.MenhirLib.EngineTypes.stack <- {
13346 MenhirLib.EngineTypes.state = _menhir_s;
13347 MenhirLib.EngineTypes.semv = Obj.repr _v;
13348 MenhirLib.EngineTypes.startp = _startpos;
13349 MenhirLib.EngineTypes.endp = _endpos;
13350 MenhirLib.EngineTypes.next = _menhir_stack;
13351 });
13352 (fun _menhir_env ->
13353 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13354 let {
13355 MenhirLib.EngineTypes.semv = pv;
13356 MenhirLib.EngineTypes.startp = _startpos_pv_;
13357 MenhirLib.EngineTypes.endp = _endpos_pv_;
13358 MenhirLib.EngineTypes.next = {
13359 MenhirLib.EngineTypes.semv = d;
13360 MenhirLib.EngineTypes.startp = _startpos_d_;
13361 MenhirLib.EngineTypes.endp = _endpos_d_;
13362 MenhirLib.EngineTypes.next = {
13363 MenhirLib.EngineTypes.semv = t;
13364 MenhirLib.EngineTypes.startp = _startpos_t_;
13365 MenhirLib.EngineTypes.endp = _endpos_t_;
13366 MenhirLib.EngineTypes.next = {
13367 MenhirLib.EngineTypes.state = _menhir_s;
13368 MenhirLib.EngineTypes.semv = x0;
13369 MenhirLib.EngineTypes.startp = _startpos_x0_;
13370 MenhirLib.EngineTypes.endp = _endpos_x0_;
13371 MenhirLib.EngineTypes.next = _menhir_stack;
13372 };
13373 };
13374 };
13375 } = _menhir_stack in
13376 let pv : (
13377 # 175 "parser_cocci_menhir.mly"
13378 (Data.clt)
13379 # 13380 "parser_cocci_menhir.ml"
13380 ) = Obj.magic pv in
13381 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13382 let t : 'tv_ctype = Obj.magic t in
13383 let x0 : 'tv_storage = Obj.magic x0 in
13384 let _startpos = _startpos_x0_ in
13385 let _endpos = _endpos_pv_ in
13386 let _v : 'tv_decl_var = let s =
13387 let x = x0 in
13388
13389 # 41 "standard.mly"
13390 ( Some x )
13391 # 13392 "parser_cocci_menhir.ml"
13392
13393 in
13394
13395 # 1145 "parser_cocci_menhir.mly"
13396 ( List.map
13397 (function (id,fn) ->
13398 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
13399 d )
13400 # 13401 "parser_cocci_menhir.ml"
13401 in
13402 _menhir_env.MenhirLib.EngineTypes.stack <- {
13403 MenhirLib.EngineTypes.state = _menhir_s;
13404 MenhirLib.EngineTypes.semv = Obj.repr _v;
13405 MenhirLib.EngineTypes.startp = _startpos;
13406 MenhirLib.EngineTypes.endp = _endpos;
13407 MenhirLib.EngineTypes.next = _menhir_stack;
13408 });
13409 (fun _menhir_env ->
13410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13411 let {
13412 MenhirLib.EngineTypes.state = _menhir_s;
13413 MenhirLib.EngineTypes.semv = f;
13414 MenhirLib.EngineTypes.startp = _startpos_f_;
13415 MenhirLib.EngineTypes.endp = _endpos_f_;
13416 MenhirLib.EngineTypes.next = _menhir_stack;
13417 } = _menhir_stack in
13418 let f : 'tv_funproto = Obj.magic f in
13419 let _startpos = _startpos_f_ in
13420 let _endpos = _endpos_f_ in
13421 let _v : 'tv_decl_var =
13422 # 1149 "parser_cocci_menhir.mly"
13423 ( [f] )
13424 # 13425 "parser_cocci_menhir.ml"
13425 in
13426 _menhir_env.MenhirLib.EngineTypes.stack <- {
13427 MenhirLib.EngineTypes.state = _menhir_s;
13428 MenhirLib.EngineTypes.semv = Obj.repr _v;
13429 MenhirLib.EngineTypes.startp = _startpos;
13430 MenhirLib.EngineTypes.endp = _endpos;
13431 MenhirLib.EngineTypes.next = _menhir_stack;
13432 });
13433 (fun _menhir_env ->
13434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13435 let {
13436 MenhirLib.EngineTypes.semv = pv;
13437 MenhirLib.EngineTypes.startp = _startpos_pv_;
13438 MenhirLib.EngineTypes.endp = _endpos_pv_;
13439 MenhirLib.EngineTypes.next = {
13440 MenhirLib.EngineTypes.semv = e;
13441 MenhirLib.EngineTypes.startp = _startpos_e_;
13442 MenhirLib.EngineTypes.endp = _endpos_e_;
13443 MenhirLib.EngineTypes.next = {
13444 MenhirLib.EngineTypes.semv = q;
13445 MenhirLib.EngineTypes.startp = _startpos_q_;
13446 MenhirLib.EngineTypes.endp = _endpos_q_;
13447 MenhirLib.EngineTypes.next = {
13448 MenhirLib.EngineTypes.semv = d;
13449 MenhirLib.EngineTypes.startp = _startpos_d_;
13450 MenhirLib.EngineTypes.endp = _endpos_d_;
13451 MenhirLib.EngineTypes.next = {
13452 MenhirLib.EngineTypes.state = _menhir_s;
13453 MenhirLib.EngineTypes.semv = t;
13454 MenhirLib.EngineTypes.startp = _startpos_t_;
13455 MenhirLib.EngineTypes.endp = _endpos_t_;
13456 MenhirLib.EngineTypes.next = _menhir_stack;
13457 };
13458 };
13459 };
13460 };
13461 } = _menhir_stack in
13462 let pv : (
13463 # 175 "parser_cocci_menhir.mly"
13464 (Data.clt)
13465 # 13466 "parser_cocci_menhir.ml"
13466 ) = Obj.magic pv in
13467 let e : 'tv_initialize = Obj.magic e in
13468 let q : (
13469 # 175 "parser_cocci_menhir.mly"
13470 (Data.clt)
13471 # 13472 "parser_cocci_menhir.ml"
13472 ) = Obj.magic q in
13473 let d : 'tv_d_ident = Obj.magic d in
13474 let t : 'tv_ctype = Obj.magic t in
13475 let _startpos = _startpos_t_ in
13476 let _endpos = _endpos_pv_ in
13477 let _v : 'tv_decl_var = let s =
13478
13479 # 39 "standard.mly"
13480 ( None )
13481 # 13482 "parser_cocci_menhir.ml"
13482
13483 in
13484
13485 # 1151 "parser_cocci_menhir.mly"
13486 (let (id,fn) = d in
13487 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
13488 # 13489 "parser_cocci_menhir.ml"
13489 in
13490 _menhir_env.MenhirLib.EngineTypes.stack <- {
13491 MenhirLib.EngineTypes.state = _menhir_s;
13492 MenhirLib.EngineTypes.semv = Obj.repr _v;
13493 MenhirLib.EngineTypes.startp = _startpos;
13494 MenhirLib.EngineTypes.endp = _endpos;
13495 MenhirLib.EngineTypes.next = _menhir_stack;
13496 });
13497 (fun _menhir_env ->
13498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13499 let {
13500 MenhirLib.EngineTypes.semv = pv;
13501 MenhirLib.EngineTypes.startp = _startpos_pv_;
13502 MenhirLib.EngineTypes.endp = _endpos_pv_;
13503 MenhirLib.EngineTypes.next = {
13504 MenhirLib.EngineTypes.semv = e;
13505 MenhirLib.EngineTypes.startp = _startpos_e_;
13506 MenhirLib.EngineTypes.endp = _endpos_e_;
13507 MenhirLib.EngineTypes.next = {
13508 MenhirLib.EngineTypes.semv = q;
13509 MenhirLib.EngineTypes.startp = _startpos_q_;
13510 MenhirLib.EngineTypes.endp = _endpos_q_;
13511 MenhirLib.EngineTypes.next = {
13512 MenhirLib.EngineTypes.semv = d;
13513 MenhirLib.EngineTypes.startp = _startpos_d_;
13514 MenhirLib.EngineTypes.endp = _endpos_d_;
13515 MenhirLib.EngineTypes.next = {
13516 MenhirLib.EngineTypes.semv = t;
13517 MenhirLib.EngineTypes.startp = _startpos_t_;
13518 MenhirLib.EngineTypes.endp = _endpos_t_;
13519 MenhirLib.EngineTypes.next = {
13520 MenhirLib.EngineTypes.state = _menhir_s;
13521 MenhirLib.EngineTypes.semv = x0;
13522 MenhirLib.EngineTypes.startp = _startpos_x0_;
13523 MenhirLib.EngineTypes.endp = _endpos_x0_;
13524 MenhirLib.EngineTypes.next = _menhir_stack;
13525 };
13526 };
13527 };
13528 };
13529 };
13530 } = _menhir_stack in
13531 let pv : (
13532 # 175 "parser_cocci_menhir.mly"
13533 (Data.clt)
13534 # 13535 "parser_cocci_menhir.ml"
13535 ) = Obj.magic pv in
13536 let e : 'tv_initialize = Obj.magic e in
13537 let q : (
13538 # 175 "parser_cocci_menhir.mly"
13539 (Data.clt)
13540 # 13541 "parser_cocci_menhir.ml"
13541 ) = Obj.magic q in
13542 let d : 'tv_d_ident = Obj.magic d in
13543 let t : 'tv_ctype = Obj.magic t in
13544 let x0 : 'tv_storage = Obj.magic x0 in
13545 let _startpos = _startpos_x0_ in
13546 let _endpos = _endpos_pv_ in
13547 let _v : 'tv_decl_var = let s =
13548 let x = x0 in
13549
13550 # 41 "standard.mly"
13551 ( Some x )
13552 # 13553 "parser_cocci_menhir.ml"
13553
13554 in
13555
13556 # 1151 "parser_cocci_menhir.mly"
13557 (let (id,fn) = d in
13558 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
13559 # 13560 "parser_cocci_menhir.ml"
13560 in
13561 _menhir_env.MenhirLib.EngineTypes.stack <- {
13562 MenhirLib.EngineTypes.state = _menhir_s;
13563 MenhirLib.EngineTypes.semv = Obj.repr _v;
13564 MenhirLib.EngineTypes.startp = _startpos;
13565 MenhirLib.EngineTypes.endp = _endpos;
13566 MenhirLib.EngineTypes.next = _menhir_stack;
13567 });
13568 (fun _menhir_env ->
13569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13570 let {
13571 MenhirLib.EngineTypes.semv = pv;
13572 MenhirLib.EngineTypes.startp = _startpos_pv_;
13573 MenhirLib.EngineTypes.endp = _endpos_pv_;
13574 MenhirLib.EngineTypes.next = {
13575 MenhirLib.EngineTypes.semv = d;
13576 MenhirLib.EngineTypes.startp = _startpos_d_;
13577 MenhirLib.EngineTypes.endp = _endpos_d_;
13578 MenhirLib.EngineTypes.next = {
13579 MenhirLib.EngineTypes.state = _menhir_s;
13580 MenhirLib.EngineTypes.semv = i;
13581 MenhirLib.EngineTypes.startp = _startpos_i_;
13582 MenhirLib.EngineTypes.endp = _endpos_i_;
13583 MenhirLib.EngineTypes.next = _menhir_stack;
13584 };
13585 };
13586 } = _menhir_stack in
13587 let pv : (
13588 # 175 "parser_cocci_menhir.mly"
13589 (Data.clt)
13590 # 13591 "parser_cocci_menhir.ml"
13591 ) = Obj.magic pv in
13592 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13593 let i : 'tv_pure_ident = Obj.magic i in
13594 let _startpos = _startpos_i_ in
13595 let _endpos = _endpos_pv_ in
13596 let _v : 'tv_decl_var = let cv =
13597
13598 # 39 "standard.mly"
13599 ( None )
13600 # 13601 "parser_cocci_menhir.ml"
13601
13602 in
13603 let s =
13604
13605 # 39 "standard.mly"
13606 ( None )
13607 # 13608 "parser_cocci_menhir.ml"
13608
13609 in
13610
13611 # 1156 "parser_cocci_menhir.mly"
13612 ( List.map
13613 (function (id,fn) ->
13614 let idtype =
13615 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13616 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13617 d )
13618 # 13619 "parser_cocci_menhir.ml"
13619 in
13620 _menhir_env.MenhirLib.EngineTypes.stack <- {
13621 MenhirLib.EngineTypes.state = _menhir_s;
13622 MenhirLib.EngineTypes.semv = Obj.repr _v;
13623 MenhirLib.EngineTypes.startp = _startpos;
13624 MenhirLib.EngineTypes.endp = _endpos;
13625 MenhirLib.EngineTypes.next = _menhir_stack;
13626 });
13627 (fun _menhir_env ->
13628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13629 let {
13630 MenhirLib.EngineTypes.semv = pv;
13631 MenhirLib.EngineTypes.startp = _startpos_pv_;
13632 MenhirLib.EngineTypes.endp = _endpos_pv_;
13633 MenhirLib.EngineTypes.next = {
13634 MenhirLib.EngineTypes.semv = d;
13635 MenhirLib.EngineTypes.startp = _startpos_d_;
13636 MenhirLib.EngineTypes.endp = _endpos_d_;
13637 MenhirLib.EngineTypes.next = {
13638 MenhirLib.EngineTypes.semv = i;
13639 MenhirLib.EngineTypes.startp = _startpos_i_;
13640 MenhirLib.EngineTypes.endp = _endpos_i_;
13641 MenhirLib.EngineTypes.next = {
13642 MenhirLib.EngineTypes.state = _menhir_s;
13643 MenhirLib.EngineTypes.semv = x0;
13644 MenhirLib.EngineTypes.startp = _startpos_x0_;
13645 MenhirLib.EngineTypes.endp = _endpos_x0_;
13646 MenhirLib.EngineTypes.next = _menhir_stack;
13647 };
13648 };
13649 };
13650 } = _menhir_stack in
13651 let pv : (
13652 # 175 "parser_cocci_menhir.mly"
13653 (Data.clt)
13654 # 13655 "parser_cocci_menhir.ml"
13655 ) = Obj.magic pv in
13656 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13657 let i : 'tv_pure_ident = Obj.magic i in
13658 let x0 : 'tv_const_vol = Obj.magic x0 in
13659 let _startpos = _startpos_x0_ in
13660 let _endpos = _endpos_pv_ in
13661 let _v : 'tv_decl_var = let cv =
13662 let x = x0 in
13663
13664 # 41 "standard.mly"
13665 ( Some x )
13666 # 13667 "parser_cocci_menhir.ml"
13667
13668 in
13669 let s =
13670
13671 # 39 "standard.mly"
13672 ( None )
13673 # 13674 "parser_cocci_menhir.ml"
13674
13675 in
13676
13677 # 1156 "parser_cocci_menhir.mly"
13678 ( List.map
13679 (function (id,fn) ->
13680 let idtype =
13681 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13682 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13683 d )
13684 # 13685 "parser_cocci_menhir.ml"
13685 in
13686 _menhir_env.MenhirLib.EngineTypes.stack <- {
13687 MenhirLib.EngineTypes.state = _menhir_s;
13688 MenhirLib.EngineTypes.semv = Obj.repr _v;
13689 MenhirLib.EngineTypes.startp = _startpos;
13690 MenhirLib.EngineTypes.endp = _endpos;
13691 MenhirLib.EngineTypes.next = _menhir_stack;
13692 });
13693 (fun _menhir_env ->
13694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13695 let {
13696 MenhirLib.EngineTypes.semv = pv;
13697 MenhirLib.EngineTypes.startp = _startpos_pv_;
13698 MenhirLib.EngineTypes.endp = _endpos_pv_;
13699 MenhirLib.EngineTypes.next = {
13700 MenhirLib.EngineTypes.semv = d;
13701 MenhirLib.EngineTypes.startp = _startpos_d_;
13702 MenhirLib.EngineTypes.endp = _endpos_d_;
13703 MenhirLib.EngineTypes.next = {
13704 MenhirLib.EngineTypes.semv = i;
13705 MenhirLib.EngineTypes.startp = _startpos_i_;
13706 MenhirLib.EngineTypes.endp = _endpos_i_;
13707 MenhirLib.EngineTypes.next = {
13708 MenhirLib.EngineTypes.state = _menhir_s;
13709 MenhirLib.EngineTypes.semv = x0;
13710 MenhirLib.EngineTypes.startp = _startpos_x0_;
13711 MenhirLib.EngineTypes.endp = _endpos_x0_;
13712 MenhirLib.EngineTypes.next = _menhir_stack;
13713 };
13714 };
13715 };
13716 } = _menhir_stack in
13717 let pv : (
13718 # 175 "parser_cocci_menhir.mly"
13719 (Data.clt)
13720 # 13721 "parser_cocci_menhir.ml"
13721 ) = Obj.magic pv in
13722 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13723 let i : 'tv_pure_ident = Obj.magic i in
13724 let x0 : 'tv_storage = Obj.magic x0 in
13725 let _startpos = _startpos_x0_ in
13726 let _endpos = _endpos_pv_ in
13727 let _v : 'tv_decl_var = let cv =
13728
13729 # 39 "standard.mly"
13730 ( None )
13731 # 13732 "parser_cocci_menhir.ml"
13732
13733 in
13734 let s =
13735 let x = x0 in
13736
13737 # 41 "standard.mly"
13738 ( Some x )
13739 # 13740 "parser_cocci_menhir.ml"
13740
13741 in
13742
13743 # 1156 "parser_cocci_menhir.mly"
13744 ( List.map
13745 (function (id,fn) ->
13746 let idtype =
13747 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13748 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13749 d )
13750 # 13751 "parser_cocci_menhir.ml"
13751 in
13752 _menhir_env.MenhirLib.EngineTypes.stack <- {
13753 MenhirLib.EngineTypes.state = _menhir_s;
13754 MenhirLib.EngineTypes.semv = Obj.repr _v;
13755 MenhirLib.EngineTypes.startp = _startpos;
13756 MenhirLib.EngineTypes.endp = _endpos;
13757 MenhirLib.EngineTypes.next = _menhir_stack;
13758 });
13759 (fun _menhir_env ->
13760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13761 let {
13762 MenhirLib.EngineTypes.semv = pv;
13763 MenhirLib.EngineTypes.startp = _startpos_pv_;
13764 MenhirLib.EngineTypes.endp = _endpos_pv_;
13765 MenhirLib.EngineTypes.next = {
13766 MenhirLib.EngineTypes.semv = d;
13767 MenhirLib.EngineTypes.startp = _startpos_d_;
13768 MenhirLib.EngineTypes.endp = _endpos_d_;
13769 MenhirLib.EngineTypes.next = {
13770 MenhirLib.EngineTypes.semv = i;
13771 MenhirLib.EngineTypes.startp = _startpos_i_;
13772 MenhirLib.EngineTypes.endp = _endpos_i_;
13773 MenhirLib.EngineTypes.next = {
13774 MenhirLib.EngineTypes.semv = x1;
13775 MenhirLib.EngineTypes.startp = _startpos_x1_;
13776 MenhirLib.EngineTypes.endp = _endpos_x1_;
13777 MenhirLib.EngineTypes.next = {
13778 MenhirLib.EngineTypes.state = _menhir_s;
13779 MenhirLib.EngineTypes.semv = x0;
13780 MenhirLib.EngineTypes.startp = _startpos_x0_;
13781 MenhirLib.EngineTypes.endp = _endpos_x0_;
13782 MenhirLib.EngineTypes.next = _menhir_stack;
13783 };
13784 };
13785 };
13786 };
13787 } = _menhir_stack in
13788 let pv : (
13789 # 175 "parser_cocci_menhir.mly"
13790 (Data.clt)
13791 # 13792 "parser_cocci_menhir.ml"
13792 ) = Obj.magic pv in
13793 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13794 let i : 'tv_pure_ident = Obj.magic i in
13795 let x1 : 'tv_const_vol = Obj.magic x1 in
13796 let x0 : 'tv_storage = Obj.magic x0 in
13797 let _startpos = _startpos_x0_ in
13798 let _endpos = _endpos_pv_ in
13799 let _v : 'tv_decl_var = let cv =
13800 let x = x1 in
13801
13802 # 41 "standard.mly"
13803 ( Some x )
13804 # 13805 "parser_cocci_menhir.ml"
13805
13806 in
13807 let s =
13808 let x = x0 in
13809
13810 # 41 "standard.mly"
13811 ( Some x )
13812 # 13813 "parser_cocci_menhir.ml"
13813
13814 in
13815
13816 # 1156 "parser_cocci_menhir.mly"
13817 ( List.map
13818 (function (id,fn) ->
13819 let idtype =
13820 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13821 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13822 d )
13823 # 13824 "parser_cocci_menhir.ml"
13824 in
13825 _menhir_env.MenhirLib.EngineTypes.stack <- {
13826 MenhirLib.EngineTypes.state = _menhir_s;
13827 MenhirLib.EngineTypes.semv = Obj.repr _v;
13828 MenhirLib.EngineTypes.startp = _startpos;
13829 MenhirLib.EngineTypes.endp = _endpos;
13830 MenhirLib.EngineTypes.next = _menhir_stack;
13831 });
13832 (fun _menhir_env ->
13833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13834 let {
13835 MenhirLib.EngineTypes.semv = pv;
13836 MenhirLib.EngineTypes.startp = _startpos_pv_;
13837 MenhirLib.EngineTypes.endp = _endpos_pv_;
13838 MenhirLib.EngineTypes.next = {
13839 MenhirLib.EngineTypes.semv = e;
13840 MenhirLib.EngineTypes.startp = _startpos_e_;
13841 MenhirLib.EngineTypes.endp = _endpos_e_;
13842 MenhirLib.EngineTypes.next = {
13843 MenhirLib.EngineTypes.semv = q;
13844 MenhirLib.EngineTypes.startp = _startpos_q_;
13845 MenhirLib.EngineTypes.endp = _endpos_q_;
13846 MenhirLib.EngineTypes.next = {
13847 MenhirLib.EngineTypes.semv = d;
13848 MenhirLib.EngineTypes.startp = _startpos_d_;
13849 MenhirLib.EngineTypes.endp = _endpos_d_;
13850 MenhirLib.EngineTypes.next = {
13851 MenhirLib.EngineTypes.state = _menhir_s;
13852 MenhirLib.EngineTypes.semv = i;
13853 MenhirLib.EngineTypes.startp = _startpos_i_;
13854 MenhirLib.EngineTypes.endp = _endpos_i_;
13855 MenhirLib.EngineTypes.next = _menhir_stack;
13856 };
13857 };
13858 };
13859 };
13860 } = _menhir_stack in
13861 let pv : (
13862 # 175 "parser_cocci_menhir.mly"
13863 (Data.clt)
13864 # 13865 "parser_cocci_menhir.ml"
13865 ) = Obj.magic pv in
13866 let e : 'tv_initialize = Obj.magic e in
13867 let q : (
13868 # 175 "parser_cocci_menhir.mly"
13869 (Data.clt)
13870 # 13871 "parser_cocci_menhir.ml"
13871 ) = Obj.magic q in
13872 let d : 'tv_d_ident = Obj.magic d in
13873 let i : 'tv_pure_ident = Obj.magic i in
13874 let _startpos = _startpos_i_ in
13875 let _endpos = _endpos_pv_ in
13876 let _v : 'tv_decl_var = let cv =
13877
13878 # 39 "standard.mly"
13879 ( None )
13880 # 13881 "parser_cocci_menhir.ml"
13881
13882 in
13883 let s =
13884
13885 # 39 "standard.mly"
13886 ( None )
13887 # 13888 "parser_cocci_menhir.ml"
13888
13889 in
13890
13891 # 1164 "parser_cocci_menhir.mly"
13892 ( let (id,fn) = d in
13893 !Data.add_type_name (P.id2name i);
13894 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13895 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13896 P.clt2mcode ";" pv))] )
13897 # 13898 "parser_cocci_menhir.ml"
13898 in
13899 _menhir_env.MenhirLib.EngineTypes.stack <- {
13900 MenhirLib.EngineTypes.state = _menhir_s;
13901 MenhirLib.EngineTypes.semv = Obj.repr _v;
13902 MenhirLib.EngineTypes.startp = _startpos;
13903 MenhirLib.EngineTypes.endp = _endpos;
13904 MenhirLib.EngineTypes.next = _menhir_stack;
13905 });
13906 (fun _menhir_env ->
13907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13908 let {
13909 MenhirLib.EngineTypes.semv = pv;
13910 MenhirLib.EngineTypes.startp = _startpos_pv_;
13911 MenhirLib.EngineTypes.endp = _endpos_pv_;
13912 MenhirLib.EngineTypes.next = {
13913 MenhirLib.EngineTypes.semv = e;
13914 MenhirLib.EngineTypes.startp = _startpos_e_;
13915 MenhirLib.EngineTypes.endp = _endpos_e_;
13916 MenhirLib.EngineTypes.next = {
13917 MenhirLib.EngineTypes.semv = q;
13918 MenhirLib.EngineTypes.startp = _startpos_q_;
13919 MenhirLib.EngineTypes.endp = _endpos_q_;
13920 MenhirLib.EngineTypes.next = {
13921 MenhirLib.EngineTypes.semv = d;
13922 MenhirLib.EngineTypes.startp = _startpos_d_;
13923 MenhirLib.EngineTypes.endp = _endpos_d_;
13924 MenhirLib.EngineTypes.next = {
13925 MenhirLib.EngineTypes.semv = i;
13926 MenhirLib.EngineTypes.startp = _startpos_i_;
13927 MenhirLib.EngineTypes.endp = _endpos_i_;
13928 MenhirLib.EngineTypes.next = {
13929 MenhirLib.EngineTypes.state = _menhir_s;
13930 MenhirLib.EngineTypes.semv = x0;
13931 MenhirLib.EngineTypes.startp = _startpos_x0_;
13932 MenhirLib.EngineTypes.endp = _endpos_x0_;
13933 MenhirLib.EngineTypes.next = _menhir_stack;
13934 };
13935 };
13936 };
13937 };
13938 };
13939 } = _menhir_stack in
13940 let pv : (
13941 # 175 "parser_cocci_menhir.mly"
13942 (Data.clt)
13943 # 13944 "parser_cocci_menhir.ml"
13944 ) = Obj.magic pv in
13945 let e : 'tv_initialize = Obj.magic e in
13946 let q : (
13947 # 175 "parser_cocci_menhir.mly"
13948 (Data.clt)
13949 # 13950 "parser_cocci_menhir.ml"
13950 ) = Obj.magic q in
13951 let d : 'tv_d_ident = Obj.magic d in
13952 let i : 'tv_pure_ident = Obj.magic i in
13953 let x0 : 'tv_const_vol = Obj.magic x0 in
13954 let _startpos = _startpos_x0_ in
13955 let _endpos = _endpos_pv_ in
13956 let _v : 'tv_decl_var = let cv =
13957 let x = x0 in
13958
13959 # 41 "standard.mly"
13960 ( Some x )
13961 # 13962 "parser_cocci_menhir.ml"
13962
13963 in
13964 let s =
13965
13966 # 39 "standard.mly"
13967 ( None )
13968 # 13969 "parser_cocci_menhir.ml"
13969
13970 in
13971
13972 # 1164 "parser_cocci_menhir.mly"
13973 ( let (id,fn) = d in
13974 !Data.add_type_name (P.id2name i);
13975 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13976 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13977 P.clt2mcode ";" pv))] )
13978 # 13979 "parser_cocci_menhir.ml"
13979 in
13980 _menhir_env.MenhirLib.EngineTypes.stack <- {
13981 MenhirLib.EngineTypes.state = _menhir_s;
13982 MenhirLib.EngineTypes.semv = Obj.repr _v;
13983 MenhirLib.EngineTypes.startp = _startpos;
13984 MenhirLib.EngineTypes.endp = _endpos;
13985 MenhirLib.EngineTypes.next = _menhir_stack;
13986 });
13987 (fun _menhir_env ->
13988 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13989 let {
13990 MenhirLib.EngineTypes.semv = pv;
13991 MenhirLib.EngineTypes.startp = _startpos_pv_;
13992 MenhirLib.EngineTypes.endp = _endpos_pv_;
13993 MenhirLib.EngineTypes.next = {
13994 MenhirLib.EngineTypes.semv = e;
13995 MenhirLib.EngineTypes.startp = _startpos_e_;
13996 MenhirLib.EngineTypes.endp = _endpos_e_;
13997 MenhirLib.EngineTypes.next = {
13998 MenhirLib.EngineTypes.semv = q;
13999 MenhirLib.EngineTypes.startp = _startpos_q_;
14000 MenhirLib.EngineTypes.endp = _endpos_q_;
14001 MenhirLib.EngineTypes.next = {
14002 MenhirLib.EngineTypes.semv = d;
14003 MenhirLib.EngineTypes.startp = _startpos_d_;
14004 MenhirLib.EngineTypes.endp = _endpos_d_;
14005 MenhirLib.EngineTypes.next = {
14006 MenhirLib.EngineTypes.semv = i;
14007 MenhirLib.EngineTypes.startp = _startpos_i_;
14008 MenhirLib.EngineTypes.endp = _endpos_i_;
14009 MenhirLib.EngineTypes.next = {
14010 MenhirLib.EngineTypes.state = _menhir_s;
14011 MenhirLib.EngineTypes.semv = x0;
14012 MenhirLib.EngineTypes.startp = _startpos_x0_;
14013 MenhirLib.EngineTypes.endp = _endpos_x0_;
14014 MenhirLib.EngineTypes.next = _menhir_stack;
14015 };
14016 };
14017 };
14018 };
14019 };
14020 } = _menhir_stack in
14021 let pv : (
14022 # 175 "parser_cocci_menhir.mly"
14023 (Data.clt)
14024 # 14025 "parser_cocci_menhir.ml"
14025 ) = Obj.magic pv in
14026 let e : 'tv_initialize = Obj.magic e in
14027 let q : (
14028 # 175 "parser_cocci_menhir.mly"
14029 (Data.clt)
14030 # 14031 "parser_cocci_menhir.ml"
14031 ) = Obj.magic q in
14032 let d : 'tv_d_ident = Obj.magic d in
14033 let i : 'tv_pure_ident = Obj.magic i in
14034 let x0 : 'tv_storage = Obj.magic x0 in
14035 let _startpos = _startpos_x0_ in
14036 let _endpos = _endpos_pv_ in
14037 let _v : 'tv_decl_var = let cv =
14038
14039 # 39 "standard.mly"
14040 ( None )
14041 # 14042 "parser_cocci_menhir.ml"
14042
14043 in
14044 let s =
14045 let x = x0 in
14046
14047 # 41 "standard.mly"
14048 ( Some x )
14049 # 14050 "parser_cocci_menhir.ml"
14050
14051 in
14052
14053 # 1164 "parser_cocci_menhir.mly"
14054 ( let (id,fn) = d in
14055 !Data.add_type_name (P.id2name i);
14056 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
14057 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
14058 P.clt2mcode ";" pv))] )
14059 # 14060 "parser_cocci_menhir.ml"
14060 in
14061 _menhir_env.MenhirLib.EngineTypes.stack <- {
14062 MenhirLib.EngineTypes.state = _menhir_s;
14063 MenhirLib.EngineTypes.semv = Obj.repr _v;
14064 MenhirLib.EngineTypes.startp = _startpos;
14065 MenhirLib.EngineTypes.endp = _endpos;
14066 MenhirLib.EngineTypes.next = _menhir_stack;
14067 });
14068 (fun _menhir_env ->
14069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14070 let {
14071 MenhirLib.EngineTypes.semv = pv;
14072 MenhirLib.EngineTypes.startp = _startpos_pv_;
14073 MenhirLib.EngineTypes.endp = _endpos_pv_;
14074 MenhirLib.EngineTypes.next = {
14075 MenhirLib.EngineTypes.semv = e;
14076 MenhirLib.EngineTypes.startp = _startpos_e_;
14077 MenhirLib.EngineTypes.endp = _endpos_e_;
14078 MenhirLib.EngineTypes.next = {
14079 MenhirLib.EngineTypes.semv = q;
14080 MenhirLib.EngineTypes.startp = _startpos_q_;
14081 MenhirLib.EngineTypes.endp = _endpos_q_;
14082 MenhirLib.EngineTypes.next = {
14083 MenhirLib.EngineTypes.semv = d;
14084 MenhirLib.EngineTypes.startp = _startpos_d_;
14085 MenhirLib.EngineTypes.endp = _endpos_d_;
14086 MenhirLib.EngineTypes.next = {
14087 MenhirLib.EngineTypes.semv = i;
14088 MenhirLib.EngineTypes.startp = _startpos_i_;
14089 MenhirLib.EngineTypes.endp = _endpos_i_;
14090 MenhirLib.EngineTypes.next = {
14091 MenhirLib.EngineTypes.semv = x1;
14092 MenhirLib.EngineTypes.startp = _startpos_x1_;
14093 MenhirLib.EngineTypes.endp = _endpos_x1_;
14094 MenhirLib.EngineTypes.next = {
14095 MenhirLib.EngineTypes.state = _menhir_s;
14096 MenhirLib.EngineTypes.semv = x0;
14097 MenhirLib.EngineTypes.startp = _startpos_x0_;
14098 MenhirLib.EngineTypes.endp = _endpos_x0_;
14099 MenhirLib.EngineTypes.next = _menhir_stack;
14100 };
14101 };
14102 };
14103 };
14104 };
14105 };
14106 } = _menhir_stack in
14107 let pv : (
14108 # 175 "parser_cocci_menhir.mly"
14109 (Data.clt)
14110 # 14111 "parser_cocci_menhir.ml"
14111 ) = Obj.magic pv in
14112 let e : 'tv_initialize = Obj.magic e in
14113 let q : (
14114 # 175 "parser_cocci_menhir.mly"
14115 (Data.clt)
14116 # 14117 "parser_cocci_menhir.ml"
14117 ) = Obj.magic q in
14118 let d : 'tv_d_ident = Obj.magic d in
14119 let i : 'tv_pure_ident = Obj.magic i in
14120 let x1 : 'tv_const_vol = Obj.magic x1 in
14121 let x0 : 'tv_storage = Obj.magic x0 in
14122 let _startpos = _startpos_x0_ in
14123 let _endpos = _endpos_pv_ in
14124 let _v : 'tv_decl_var = let cv =
14125 let x = x1 in
14126
14127 # 41 "standard.mly"
14128 ( Some x )
14129 # 14130 "parser_cocci_menhir.ml"
14130
14131 in
14132 let s =
14133 let x = x0 in
14134
14135 # 41 "standard.mly"
14136 ( Some x )
14137 # 14138 "parser_cocci_menhir.ml"
14138
14139 in
14140
14141 # 1164 "parser_cocci_menhir.mly"
14142 ( let (id,fn) = d in
14143 !Data.add_type_name (P.id2name i);
14144 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
14145 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
14146 P.clt2mcode ";" pv))] )
14147 # 14148 "parser_cocci_menhir.ml"
14148 in
14149 _menhir_env.MenhirLib.EngineTypes.stack <- {
14150 MenhirLib.EngineTypes.state = _menhir_s;
14151 MenhirLib.EngineTypes.semv = Obj.repr _v;
14152 MenhirLib.EngineTypes.startp = _startpos;
14153 MenhirLib.EngineTypes.endp = _endpos;
14154 MenhirLib.EngineTypes.next = _menhir_stack;
14155 });
14156 (fun _menhir_env ->
14157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14158 let {
14159 MenhirLib.EngineTypes.semv = pv;
14160 MenhirLib.EngineTypes.startp = _startpos_pv_;
14161 MenhirLib.EngineTypes.endp = _endpos_pv_;
14162 MenhirLib.EngineTypes.next = {
14163 MenhirLib.EngineTypes.semv = rp2;
14164 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14165 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14166 MenhirLib.EngineTypes.next = {
14167 MenhirLib.EngineTypes.semv = p;
14168 MenhirLib.EngineTypes.startp = _startpos_p_;
14169 MenhirLib.EngineTypes.endp = _endpos_p_;
14170 MenhirLib.EngineTypes.next = {
14171 MenhirLib.EngineTypes.semv = lp2;
14172 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14173 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14174 MenhirLib.EngineTypes.next = {
14175 MenhirLib.EngineTypes.semv = rp1;
14176 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14177 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14178 MenhirLib.EngineTypes.next = {
14179 MenhirLib.EngineTypes.semv = d;
14180 MenhirLib.EngineTypes.startp = _startpos_d_;
14181 MenhirLib.EngineTypes.endp = _endpos_d_;
14182 MenhirLib.EngineTypes.next = {
14183 MenhirLib.EngineTypes.semv = st;
14184 MenhirLib.EngineTypes.startp = _startpos_st_;
14185 MenhirLib.EngineTypes.endp = _endpos_st_;
14186 MenhirLib.EngineTypes.next = {
14187 MenhirLib.EngineTypes.semv = lp1;
14188 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14189 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14190 MenhirLib.EngineTypes.next = {
14191 MenhirLib.EngineTypes.state = _menhir_s;
14192 MenhirLib.EngineTypes.semv = t;
14193 MenhirLib.EngineTypes.startp = _startpos_t_;
14194 MenhirLib.EngineTypes.endp = _endpos_t_;
14195 MenhirLib.EngineTypes.next = _menhir_stack;
14196 };
14197 };
14198 };
14199 };
14200 };
14201 };
14202 };
14203 };
14204 } = _menhir_stack in
14205 let pv : (
14206 # 175 "parser_cocci_menhir.mly"
14207 (Data.clt)
14208 # 14209 "parser_cocci_menhir.ml"
14209 ) = Obj.magic pv in
14210 let rp2 : (
14211 # 145 "parser_cocci_menhir.mly"
14212 (Data.clt)
14213 # 14214 "parser_cocci_menhir.ml"
14214 ) = Obj.magic rp2 in
14215 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14216 let lp2 : (
14217 # 144 "parser_cocci_menhir.mly"
14218 (Data.clt)
14219 # 14220 "parser_cocci_menhir.ml"
14220 ) = Obj.magic lp2 in
14221 let rp1 : (
14222 # 145 "parser_cocci_menhir.mly"
14223 (Data.clt)
14224 # 14225 "parser_cocci_menhir.ml"
14225 ) = Obj.magic rp1 in
14226 let d : 'tv_d_ident = Obj.magic d in
14227 let st : (
14228 # 167 "parser_cocci_menhir.mly"
14229 (Data.clt)
14230 # 14231 "parser_cocci_menhir.ml"
14231 ) = Obj.magic st in
14232 let lp1 : (
14233 # 144 "parser_cocci_menhir.mly"
14234 (Data.clt)
14235 # 14236 "parser_cocci_menhir.ml"
14236 ) = Obj.magic lp1 in
14237 let t : 'tv_ctype = Obj.magic t in
14238 let _startpos = _startpos_t_ in
14239 let _endpos = _endpos_pv_ in
14240 let _v : 'tv_decl_var = let s =
14241
14242 # 39 "standard.mly"
14243 ( None )
14244 # 14245 "parser_cocci_menhir.ml"
14245
14246 in
14247
14248 # 1174 "parser_cocci_menhir.mly"
14249 ( let (id,fn) = d in
14250 let t =
14251 Ast0.wrap
14252 (Ast0.FunctionPointer
14253 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14254 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14255 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
14256 # 14257 "parser_cocci_menhir.ml"
14257 in
14258 _menhir_env.MenhirLib.EngineTypes.stack <- {
14259 MenhirLib.EngineTypes.state = _menhir_s;
14260 MenhirLib.EngineTypes.semv = Obj.repr _v;
14261 MenhirLib.EngineTypes.startp = _startpos;
14262 MenhirLib.EngineTypes.endp = _endpos;
14263 MenhirLib.EngineTypes.next = _menhir_stack;
14264 });
14265 (fun _menhir_env ->
14266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14267 let {
14268 MenhirLib.EngineTypes.semv = pv;
14269 MenhirLib.EngineTypes.startp = _startpos_pv_;
14270 MenhirLib.EngineTypes.endp = _endpos_pv_;
14271 MenhirLib.EngineTypes.next = {
14272 MenhirLib.EngineTypes.semv = rp2;
14273 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14274 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14275 MenhirLib.EngineTypes.next = {
14276 MenhirLib.EngineTypes.semv = p;
14277 MenhirLib.EngineTypes.startp = _startpos_p_;
14278 MenhirLib.EngineTypes.endp = _endpos_p_;
14279 MenhirLib.EngineTypes.next = {
14280 MenhirLib.EngineTypes.semv = lp2;
14281 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14282 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14283 MenhirLib.EngineTypes.next = {
14284 MenhirLib.EngineTypes.semv = rp1;
14285 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14286 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14287 MenhirLib.EngineTypes.next = {
14288 MenhirLib.EngineTypes.semv = d;
14289 MenhirLib.EngineTypes.startp = _startpos_d_;
14290 MenhirLib.EngineTypes.endp = _endpos_d_;
14291 MenhirLib.EngineTypes.next = {
14292 MenhirLib.EngineTypes.semv = st;
14293 MenhirLib.EngineTypes.startp = _startpos_st_;
14294 MenhirLib.EngineTypes.endp = _endpos_st_;
14295 MenhirLib.EngineTypes.next = {
14296 MenhirLib.EngineTypes.semv = lp1;
14297 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14298 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14299 MenhirLib.EngineTypes.next = {
14300 MenhirLib.EngineTypes.semv = t;
14301 MenhirLib.EngineTypes.startp = _startpos_t_;
14302 MenhirLib.EngineTypes.endp = _endpos_t_;
14303 MenhirLib.EngineTypes.next = {
14304 MenhirLib.EngineTypes.state = _menhir_s;
14305 MenhirLib.EngineTypes.semv = x0;
14306 MenhirLib.EngineTypes.startp = _startpos_x0_;
14307 MenhirLib.EngineTypes.endp = _endpos_x0_;
14308 MenhirLib.EngineTypes.next = _menhir_stack;
14309 };
14310 };
14311 };
14312 };
14313 };
14314 };
14315 };
14316 };
14317 };
14318 } = _menhir_stack in
14319 let pv : (
14320 # 175 "parser_cocci_menhir.mly"
14321 (Data.clt)
14322 # 14323 "parser_cocci_menhir.ml"
14323 ) = Obj.magic pv in
14324 let rp2 : (
14325 # 145 "parser_cocci_menhir.mly"
14326 (Data.clt)
14327 # 14328 "parser_cocci_menhir.ml"
14328 ) = Obj.magic rp2 in
14329 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14330 let lp2 : (
14331 # 144 "parser_cocci_menhir.mly"
14332 (Data.clt)
14333 # 14334 "parser_cocci_menhir.ml"
14334 ) = Obj.magic lp2 in
14335 let rp1 : (
14336 # 145 "parser_cocci_menhir.mly"
14337 (Data.clt)
14338 # 14339 "parser_cocci_menhir.ml"
14339 ) = Obj.magic rp1 in
14340 let d : 'tv_d_ident = Obj.magic d in
14341 let st : (
14342 # 167 "parser_cocci_menhir.mly"
14343 (Data.clt)
14344 # 14345 "parser_cocci_menhir.ml"
14345 ) = Obj.magic st in
14346 let lp1 : (
14347 # 144 "parser_cocci_menhir.mly"
14348 (Data.clt)
14349 # 14350 "parser_cocci_menhir.ml"
14350 ) = Obj.magic lp1 in
14351 let t : 'tv_ctype = Obj.magic t in
14352 let x0 : 'tv_storage = Obj.magic x0 in
14353 let _startpos = _startpos_x0_ in
14354 let _endpos = _endpos_pv_ in
14355 let _v : 'tv_decl_var = let s =
14356 let x = x0 in
14357
14358 # 41 "standard.mly"
14359 ( Some x )
14360 # 14361 "parser_cocci_menhir.ml"
14361
14362 in
14363
14364 # 1174 "parser_cocci_menhir.mly"
14365 ( let (id,fn) = d in
14366 let t =
14367 Ast0.wrap
14368 (Ast0.FunctionPointer
14369 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14370 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14371 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
14372 # 14373 "parser_cocci_menhir.ml"
14373 in
14374 _menhir_env.MenhirLib.EngineTypes.stack <- {
14375 MenhirLib.EngineTypes.state = _menhir_s;
14376 MenhirLib.EngineTypes.semv = Obj.repr _v;
14377 MenhirLib.EngineTypes.startp = _startpos;
14378 MenhirLib.EngineTypes.endp = _endpos;
14379 MenhirLib.EngineTypes.next = _menhir_stack;
14380 });
14381 (fun _menhir_env ->
14382 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14383 let {
14384 MenhirLib.EngineTypes.semv = _5;
14385 MenhirLib.EngineTypes.startp = _startpos__5_;
14386 MenhirLib.EngineTypes.endp = _endpos__5_;
14387 MenhirLib.EngineTypes.next = {
14388 MenhirLib.EngineTypes.semv = _4;
14389 MenhirLib.EngineTypes.startp = _startpos__4_;
14390 MenhirLib.EngineTypes.endp = _endpos__4_;
14391 MenhirLib.EngineTypes.next = {
14392 MenhirLib.EngineTypes.semv = _3;
14393 MenhirLib.EngineTypes.startp = _startpos__3_;
14394 MenhirLib.EngineTypes.endp = _endpos__3_;
14395 MenhirLib.EngineTypes.next = {
14396 MenhirLib.EngineTypes.semv = _2;
14397 MenhirLib.EngineTypes.startp = _startpos__2_;
14398 MenhirLib.EngineTypes.endp = _endpos__2_;
14399 MenhirLib.EngineTypes.next = {
14400 MenhirLib.EngineTypes.state = _menhir_s;
14401 MenhirLib.EngineTypes.semv = _1;
14402 MenhirLib.EngineTypes.startp = _startpos__1_;
14403 MenhirLib.EngineTypes.endp = _endpos__1_;
14404 MenhirLib.EngineTypes.next = _menhir_stack;
14405 };
14406 };
14407 };
14408 };
14409 } = _menhir_stack in
14410 let _5 : (
14411 # 175 "parser_cocci_menhir.mly"
14412 (Data.clt)
14413 # 14414 "parser_cocci_menhir.ml"
14414 ) = Obj.magic _5 in
14415 let _4 : (
14416 # 145 "parser_cocci_menhir.mly"
14417 (Data.clt)
14418 # 14419 "parser_cocci_menhir.ml"
14419 ) = Obj.magic _4 in
14420 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
14421 let _2 : (
14422 # 144 "parser_cocci_menhir.mly"
14423 (Data.clt)
14424 # 14425 "parser_cocci_menhir.ml"
14425 ) = Obj.magic _2 in
14426 let _1 : 'tv_decl_ident = Obj.magic _1 in
14427 let _startpos = _startpos__1_ in
14428 let _endpos = _endpos__5_ in
14429 let _v : 'tv_decl_var =
14430 # 1182 "parser_cocci_menhir.mly"
14431 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
14432 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
14433 # 14434 "parser_cocci_menhir.ml"
14434 in
14435 _menhir_env.MenhirLib.EngineTypes.stack <- {
14436 MenhirLib.EngineTypes.state = _menhir_s;
14437 MenhirLib.EngineTypes.semv = Obj.repr _v;
14438 MenhirLib.EngineTypes.startp = _startpos;
14439 MenhirLib.EngineTypes.endp = _endpos;
14440 MenhirLib.EngineTypes.next = _menhir_stack;
14441 });
14442 (fun _menhir_env ->
14443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14444 let {
14445 MenhirLib.EngineTypes.semv = pv;
14446 MenhirLib.EngineTypes.startp = _startpos_pv_;
14447 MenhirLib.EngineTypes.endp = _endpos_pv_;
14448 MenhirLib.EngineTypes.next = {
14449 MenhirLib.EngineTypes.semv = e;
14450 MenhirLib.EngineTypes.startp = _startpos_e_;
14451 MenhirLib.EngineTypes.endp = _endpos_e_;
14452 MenhirLib.EngineTypes.next = {
14453 MenhirLib.EngineTypes.semv = q;
14454 MenhirLib.EngineTypes.startp = _startpos_q_;
14455 MenhirLib.EngineTypes.endp = _endpos_q_;
14456 MenhirLib.EngineTypes.next = {
14457 MenhirLib.EngineTypes.semv = rp2;
14458 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14459 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14460 MenhirLib.EngineTypes.next = {
14461 MenhirLib.EngineTypes.semv = p;
14462 MenhirLib.EngineTypes.startp = _startpos_p_;
14463 MenhirLib.EngineTypes.endp = _endpos_p_;
14464 MenhirLib.EngineTypes.next = {
14465 MenhirLib.EngineTypes.semv = lp2;
14466 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14467 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14468 MenhirLib.EngineTypes.next = {
14469 MenhirLib.EngineTypes.semv = rp1;
14470 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14471 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14472 MenhirLib.EngineTypes.next = {
14473 MenhirLib.EngineTypes.semv = d;
14474 MenhirLib.EngineTypes.startp = _startpos_d_;
14475 MenhirLib.EngineTypes.endp = _endpos_d_;
14476 MenhirLib.EngineTypes.next = {
14477 MenhirLib.EngineTypes.semv = st;
14478 MenhirLib.EngineTypes.startp = _startpos_st_;
14479 MenhirLib.EngineTypes.endp = _endpos_st_;
14480 MenhirLib.EngineTypes.next = {
14481 MenhirLib.EngineTypes.semv = lp1;
14482 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14483 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14484 MenhirLib.EngineTypes.next = {
14485 MenhirLib.EngineTypes.state = _menhir_s;
14486 MenhirLib.EngineTypes.semv = t;
14487 MenhirLib.EngineTypes.startp = _startpos_t_;
14488 MenhirLib.EngineTypes.endp = _endpos_t_;
14489 MenhirLib.EngineTypes.next = _menhir_stack;
14490 };
14491 };
14492 };
14493 };
14494 };
14495 };
14496 };
14497 };
14498 };
14499 };
14500 } = _menhir_stack in
14501 let pv : (
14502 # 175 "parser_cocci_menhir.mly"
14503 (Data.clt)
14504 # 14505 "parser_cocci_menhir.ml"
14505 ) = Obj.magic pv in
14506 let e : 'tv_initialize = Obj.magic e in
14507 let q : (
14508 # 175 "parser_cocci_menhir.mly"
14509 (Data.clt)
14510 # 14511 "parser_cocci_menhir.ml"
14511 ) = Obj.magic q in
14512 let rp2 : (
14513 # 145 "parser_cocci_menhir.mly"
14514 (Data.clt)
14515 # 14516 "parser_cocci_menhir.ml"
14516 ) = Obj.magic rp2 in
14517 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14518 let lp2 : (
14519 # 144 "parser_cocci_menhir.mly"
14520 (Data.clt)
14521 # 14522 "parser_cocci_menhir.ml"
14522 ) = Obj.magic lp2 in
14523 let rp1 : (
14524 # 145 "parser_cocci_menhir.mly"
14525 (Data.clt)
14526 # 14527 "parser_cocci_menhir.ml"
14527 ) = Obj.magic rp1 in
14528 let d : 'tv_d_ident = Obj.magic d in
14529 let st : (
14530 # 167 "parser_cocci_menhir.mly"
14531 (Data.clt)
14532 # 14533 "parser_cocci_menhir.ml"
14533 ) = Obj.magic st in
14534 let lp1 : (
14535 # 144 "parser_cocci_menhir.mly"
14536 (Data.clt)
14537 # 14538 "parser_cocci_menhir.ml"
14538 ) = Obj.magic lp1 in
14539 let t : 'tv_ctype = Obj.magic t in
14540 let _startpos = _startpos_t_ in
14541 let _endpos = _endpos_pv_ in
14542 let _v : 'tv_decl_var = let s =
14543
14544 # 39 "standard.mly"
14545 ( None )
14546 # 14547 "parser_cocci_menhir.ml"
14547
14548 in
14549
14550 # 1188 "parser_cocci_menhir.mly"
14551 ( let (id,fn) = d in
14552 let t =
14553 Ast0.wrap
14554 (Ast0.FunctionPointer
14555 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14556 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14557 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
14558 # 14559 "parser_cocci_menhir.ml"
14559 in
14560 _menhir_env.MenhirLib.EngineTypes.stack <- {
14561 MenhirLib.EngineTypes.state = _menhir_s;
14562 MenhirLib.EngineTypes.semv = Obj.repr _v;
14563 MenhirLib.EngineTypes.startp = _startpos;
14564 MenhirLib.EngineTypes.endp = _endpos;
14565 MenhirLib.EngineTypes.next = _menhir_stack;
14566 });
14567 (fun _menhir_env ->
14568 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14569 let {
14570 MenhirLib.EngineTypes.semv = pv;
14571 MenhirLib.EngineTypes.startp = _startpos_pv_;
14572 MenhirLib.EngineTypes.endp = _endpos_pv_;
14573 MenhirLib.EngineTypes.next = {
14574 MenhirLib.EngineTypes.semv = e;
14575 MenhirLib.EngineTypes.startp = _startpos_e_;
14576 MenhirLib.EngineTypes.endp = _endpos_e_;
14577 MenhirLib.EngineTypes.next = {
14578 MenhirLib.EngineTypes.semv = q;
14579 MenhirLib.EngineTypes.startp = _startpos_q_;
14580 MenhirLib.EngineTypes.endp = _endpos_q_;
14581 MenhirLib.EngineTypes.next = {
14582 MenhirLib.EngineTypes.semv = rp2;
14583 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14584 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14585 MenhirLib.EngineTypes.next = {
14586 MenhirLib.EngineTypes.semv = p;
14587 MenhirLib.EngineTypes.startp = _startpos_p_;
14588 MenhirLib.EngineTypes.endp = _endpos_p_;
14589 MenhirLib.EngineTypes.next = {
14590 MenhirLib.EngineTypes.semv = lp2;
14591 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14592 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14593 MenhirLib.EngineTypes.next = {
14594 MenhirLib.EngineTypes.semv = rp1;
14595 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14596 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14597 MenhirLib.EngineTypes.next = {
14598 MenhirLib.EngineTypes.semv = d;
14599 MenhirLib.EngineTypes.startp = _startpos_d_;
14600 MenhirLib.EngineTypes.endp = _endpos_d_;
14601 MenhirLib.EngineTypes.next = {
14602 MenhirLib.EngineTypes.semv = st;
14603 MenhirLib.EngineTypes.startp = _startpos_st_;
14604 MenhirLib.EngineTypes.endp = _endpos_st_;
14605 MenhirLib.EngineTypes.next = {
14606 MenhirLib.EngineTypes.semv = lp1;
14607 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14608 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14609 MenhirLib.EngineTypes.next = {
14610 MenhirLib.EngineTypes.semv = t;
14611 MenhirLib.EngineTypes.startp = _startpos_t_;
14612 MenhirLib.EngineTypes.endp = _endpos_t_;
14613 MenhirLib.EngineTypes.next = {
14614 MenhirLib.EngineTypes.state = _menhir_s;
14615 MenhirLib.EngineTypes.semv = x0;
14616 MenhirLib.EngineTypes.startp = _startpos_x0_;
14617 MenhirLib.EngineTypes.endp = _endpos_x0_;
14618 MenhirLib.EngineTypes.next = _menhir_stack;
14619 };
14620 };
14621 };
14622 };
14623 };
14624 };
14625 };
14626 };
14627 };
14628 };
14629 };
14630 } = _menhir_stack in
14631 let pv : (
14632 # 175 "parser_cocci_menhir.mly"
14633 (Data.clt)
14634 # 14635 "parser_cocci_menhir.ml"
14635 ) = Obj.magic pv in
14636 let e : 'tv_initialize = Obj.magic e in
14637 let q : (
14638 # 175 "parser_cocci_menhir.mly"
14639 (Data.clt)
14640 # 14641 "parser_cocci_menhir.ml"
14641 ) = Obj.magic q in
14642 let rp2 : (
14643 # 145 "parser_cocci_menhir.mly"
14644 (Data.clt)
14645 # 14646 "parser_cocci_menhir.ml"
14646 ) = Obj.magic rp2 in
14647 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14648 let lp2 : (
14649 # 144 "parser_cocci_menhir.mly"
14650 (Data.clt)
14651 # 14652 "parser_cocci_menhir.ml"
14652 ) = Obj.magic lp2 in
14653 let rp1 : (
14654 # 145 "parser_cocci_menhir.mly"
14655 (Data.clt)
14656 # 14657 "parser_cocci_menhir.ml"
14657 ) = Obj.magic rp1 in
14658 let d : 'tv_d_ident = Obj.magic d in
14659 let st : (
14660 # 167 "parser_cocci_menhir.mly"
14661 (Data.clt)
14662 # 14663 "parser_cocci_menhir.ml"
14663 ) = Obj.magic st in
14664 let lp1 : (
14665 # 144 "parser_cocci_menhir.mly"
14666 (Data.clt)
14667 # 14668 "parser_cocci_menhir.ml"
14668 ) = Obj.magic lp1 in
14669 let t : 'tv_ctype = Obj.magic t in
14670 let x0 : 'tv_storage = Obj.magic x0 in
14671 let _startpos = _startpos_x0_ in
14672 let _endpos = _endpos_pv_ in
14673 let _v : 'tv_decl_var = let s =
14674 let x = x0 in
14675
14676 # 41 "standard.mly"
14677 ( Some x )
14678 # 14679 "parser_cocci_menhir.ml"
14679
14680 in
14681
14682 # 1188 "parser_cocci_menhir.mly"
14683 ( let (id,fn) = d in
14684 let t =
14685 Ast0.wrap
14686 (Ast0.FunctionPointer
14687 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14688 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14689 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
14690 # 14691 "parser_cocci_menhir.ml"
14691 in
14692 _menhir_env.MenhirLib.EngineTypes.stack <- {
14693 MenhirLib.EngineTypes.state = _menhir_s;
14694 MenhirLib.EngineTypes.semv = Obj.repr _v;
14695 MenhirLib.EngineTypes.startp = _startpos;
14696 MenhirLib.EngineTypes.endp = _endpos;
14697 MenhirLib.EngineTypes.next = _menhir_stack;
14698 });
14699 (fun _menhir_env ->
14700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14701 let {
14702 MenhirLib.EngineTypes.semv = pv;
14703 MenhirLib.EngineTypes.startp = _startpos_pv_;
14704 MenhirLib.EngineTypes.endp = _endpos_pv_;
14705 MenhirLib.EngineTypes.next = {
14706 MenhirLib.EngineTypes.semv = id;
14707 MenhirLib.EngineTypes.startp = _startpos_id_;
14708 MenhirLib.EngineTypes.endp = _endpos_id_;
14709 MenhirLib.EngineTypes.next = {
14710 MenhirLib.EngineTypes.semv = t;
14711 MenhirLib.EngineTypes.startp = _startpos_t_;
14712 MenhirLib.EngineTypes.endp = _endpos_t_;
14713 MenhirLib.EngineTypes.next = {
14714 MenhirLib.EngineTypes.state = _menhir_s;
14715 MenhirLib.EngineTypes.semv = s;
14716 MenhirLib.EngineTypes.startp = _startpos_s_;
14717 MenhirLib.EngineTypes.endp = _endpos_s_;
14718 MenhirLib.EngineTypes.next = _menhir_stack;
14719 };
14720 };
14721 };
14722 } = _menhir_stack in
14723 let pv : (
14724 # 175 "parser_cocci_menhir.mly"
14725 (Data.clt)
14726 # 14727 "parser_cocci_menhir.ml"
14727 ) = Obj.magic pv in
14728 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
14729 let t : 'tv_typedef_ctype = Obj.magic t in
14730 let s : (
14731 # 119 "parser_cocci_menhir.mly"
14732 (Data.clt)
14733 # 14734 "parser_cocci_menhir.ml"
14734 ) = Obj.magic s in
14735 let _startpos = _startpos_s_ in
14736 let _endpos = _endpos_pv_ in
14737 let _v : 'tv_decl_var =
14738 # 1196 "parser_cocci_menhir.mly"
14739 ( let s = P.clt2mcode "typedef" s in
14740 List.map
14741 (function id ->
14742 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
14743 id )
14744 # 14745 "parser_cocci_menhir.ml"
14745 in
14746 _menhir_env.MenhirLib.EngineTypes.stack <- {
14747 MenhirLib.EngineTypes.state = _menhir_s;
14748 MenhirLib.EngineTypes.semv = Obj.repr _v;
14749 MenhirLib.EngineTypes.startp = _startpos;
14750 MenhirLib.EngineTypes.endp = _endpos;
14751 MenhirLib.EngineTypes.next = _menhir_stack;
14752 });
14753 (fun _menhir_env ->
14754 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14755 let {
14756 MenhirLib.EngineTypes.state = _menhir_s;
14757 MenhirLib.EngineTypes.semv = _1;
14758 MenhirLib.EngineTypes.startp = _startpos__1_;
14759 MenhirLib.EngineTypes.endp = _endpos__1_;
14760 MenhirLib.EngineTypes.next = _menhir_stack;
14761 } = _menhir_stack in
14762 let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
14763 let _startpos = _startpos__1_ in
14764 let _endpos = _endpos__1_ in
14765 let _v : 'tv_define_param_list_option =
14766 # 931 "parser_cocci_menhir.mly"
14767 ( Ast0.wrap
14768 (Ast0.DOTS
14769 (_1
14770 (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
14771 (fun c -> Ast0.DPComma c))) )
14772 # 14773 "parser_cocci_menhir.ml"
14773 in
14774 _menhir_env.MenhirLib.EngineTypes.stack <- {
14775 MenhirLib.EngineTypes.state = _menhir_s;
14776 MenhirLib.EngineTypes.semv = Obj.repr _v;
14777 MenhirLib.EngineTypes.startp = _startpos;
14778 MenhirLib.EngineTypes.endp = _endpos;
14779 MenhirLib.EngineTypes.next = _menhir_stack;
14780 });
14781 (fun _menhir_env ->
14782 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14783 let {
14784 MenhirLib.EngineTypes.state = _menhir_s;
14785 MenhirLib.EngineTypes.semv = _1;
14786 MenhirLib.EngineTypes.startp = _startpos__1_;
14787 MenhirLib.EngineTypes.endp = _endpos__1_;
14788 MenhirLib.EngineTypes.next = _menhir_stack;
14789 } = _menhir_stack in
14790 let _1 : (
14791 # 149 "parser_cocci_menhir.mly"
14792 (Data.clt * token)
14793 # 14794 "parser_cocci_menhir.ml"
14794 ) = Obj.magic _1 in
14795 let _startpos = _startpos__1_ in
14796 let _endpos = _endpos__1_ in
14797 let _v : 'tv_defineop =
14798 # 887 "parser_cocci_menhir.mly"
14799 ( let (clt,ident) = _1 in
14800 function body ->
14801 Ast0.wrap
14802 (Ast0.Define
14803 (P.clt2mcode "#define" clt,
14804 (match ident with
14805 TMetaId((nm,constraints,pure,clt)) ->
14806 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
14807 | TIdent(nm_pure) ->
14808 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
14809 | _ ->
14810 raise
14811 (Semantic_cocci.Semantic
14812 "unexpected name for a #define")),
14813 Ast0.wrap Ast0.NoParams,
14814 body)) )
14815 # 14816 "parser_cocci_menhir.ml"
14816 in
14817 _menhir_env.MenhirLib.EngineTypes.stack <- {
14818 MenhirLib.EngineTypes.state = _menhir_s;
14819 MenhirLib.EngineTypes.semv = Obj.repr _v;
14820 MenhirLib.EngineTypes.startp = _startpos;
14821 MenhirLib.EngineTypes.endp = _endpos;
14822 MenhirLib.EngineTypes.next = _menhir_stack;
14823 });
14824 (fun _menhir_env ->
14825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14826 let {
14827 MenhirLib.EngineTypes.semv = _3;
14828 MenhirLib.EngineTypes.startp = _startpos__3_;
14829 MenhirLib.EngineTypes.endp = _endpos__3_;
14830 MenhirLib.EngineTypes.next = {
14831 MenhirLib.EngineTypes.semv = _2;
14832 MenhirLib.EngineTypes.startp = _startpos__2_;
14833 MenhirLib.EngineTypes.endp = _endpos__2_;
14834 MenhirLib.EngineTypes.next = {
14835 MenhirLib.EngineTypes.state = _menhir_s;
14836 MenhirLib.EngineTypes.semv = _1;
14837 MenhirLib.EngineTypes.startp = _startpos__1_;
14838 MenhirLib.EngineTypes.endp = _endpos__1_;
14839 MenhirLib.EngineTypes.next = _menhir_stack;
14840 };
14841 };
14842 } = _menhir_stack in
14843 let _3 : (
14844 # 145 "parser_cocci_menhir.mly"
14845 (Data.clt)
14846 # 14847 "parser_cocci_menhir.ml"
14847 ) = Obj.magic _3 in
14848 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
14849 let _1 : (
14850 # 150 "parser_cocci_menhir.mly"
14851 (Data.clt * token * int * int)
14852 # 14853 "parser_cocci_menhir.ml"
14853 ) = Obj.magic _1 in
14854 let _startpos = _startpos__1_ in
14855 let _endpos = _endpos__3_ in
14856 let _v : 'tv_defineop =
14857 # 904 "parser_cocci_menhir.mly"
14858 ( let (clt,ident,parenoff,parencol) = _1 in
14859 (* clt is the start of the #define itself *)
14860 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
14861 let lp =
14862 P.clt2mcode "("
14863 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
14864 function body ->
14865 Ast0.wrap
14866 (Ast0.Define
14867 (P.clt2mcode "#define" clt,
14868 (match ident with
14869 TMetaId((nm,constraints,pure,clt)) ->
14870 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
14871 | TIdent(nm_pure) ->
14872 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
14873 | _ ->
14874 raise
14875 (Semantic_cocci.Semantic
14876 "unexpected name for a #define")),
14877 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
14878 # 14879 "parser_cocci_menhir.ml"
14879 in
14880 _menhir_env.MenhirLib.EngineTypes.stack <- {
14881 MenhirLib.EngineTypes.state = _menhir_s;
14882 MenhirLib.EngineTypes.semv = Obj.repr _v;
14883 MenhirLib.EngineTypes.startp = _startpos;
14884 MenhirLib.EngineTypes.endp = _endpos;
14885 MenhirLib.EngineTypes.next = _menhir_stack;
14886 });
14887 (fun _menhir_env ->
14888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14889 let {
14890 MenhirLib.EngineTypes.state = _menhir_s;
14891 MenhirLib.EngineTypes.semv = _1;
14892 MenhirLib.EngineTypes.startp = _startpos__1_;
14893 MenhirLib.EngineTypes.endp = _endpos__1_;
14894 MenhirLib.EngineTypes.next = _menhir_stack;
14895 } = _menhir_stack in
14896 let _1 : 'tv_pnrule = Obj.magic _1 in
14897 let _startpos = _startpos__1_ in
14898 let _endpos = _endpos__1_ in
14899 let _v : 'tv_dep =
14900 # 295 "parser_cocci_menhir.mly"
14901 ( _1 )
14902 # 14903 "parser_cocci_menhir.ml"
14903 in
14904 _menhir_env.MenhirLib.EngineTypes.stack <- {
14905 MenhirLib.EngineTypes.state = _menhir_s;
14906 MenhirLib.EngineTypes.semv = Obj.repr _v;
14907 MenhirLib.EngineTypes.startp = _startpos;
14908 MenhirLib.EngineTypes.endp = _endpos;
14909 MenhirLib.EngineTypes.next = _menhir_stack;
14910 });
14911 (fun _menhir_env ->
14912 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14913 let {
14914 MenhirLib.EngineTypes.semv = _3;
14915 MenhirLib.EngineTypes.startp = _startpos__3_;
14916 MenhirLib.EngineTypes.endp = _endpos__3_;
14917 MenhirLib.EngineTypes.next = {
14918 MenhirLib.EngineTypes.startp = _startpos__2_;
14919 MenhirLib.EngineTypes.endp = _endpos__2_;
14920 MenhirLib.EngineTypes.next = {
14921 MenhirLib.EngineTypes.state = _menhir_s;
14922 MenhirLib.EngineTypes.semv = _1;
14923 MenhirLib.EngineTypes.startp = _startpos__1_;
14924 MenhirLib.EngineTypes.endp = _endpos__1_;
14925 MenhirLib.EngineTypes.next = _menhir_stack;
14926 };
14927 };
14928 } = _menhir_stack in
14929 let _3 : 'tv_dep = Obj.magic _3 in
14930 let _1 : 'tv_dep = Obj.magic _1 in
14931 let _startpos = _startpos__1_ in
14932 let _endpos = _endpos__3_ in
14933 let _v : 'tv_dep =
14934 # 296 "parser_cocci_menhir.mly"
14935 ( Ast.AndDep(_1, _3) )
14936 # 14937 "parser_cocci_menhir.ml"
14937 in
14938 _menhir_env.MenhirLib.EngineTypes.stack <- {
14939 MenhirLib.EngineTypes.state = _menhir_s;
14940 MenhirLib.EngineTypes.semv = Obj.repr _v;
14941 MenhirLib.EngineTypes.startp = _startpos;
14942 MenhirLib.EngineTypes.endp = _endpos;
14943 MenhirLib.EngineTypes.next = _menhir_stack;
14944 });
14945 (fun _menhir_env ->
14946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14947 let {
14948 MenhirLib.EngineTypes.semv = _3;
14949 MenhirLib.EngineTypes.startp = _startpos__3_;
14950 MenhirLib.EngineTypes.endp = _endpos__3_;
14951 MenhirLib.EngineTypes.next = {
14952 MenhirLib.EngineTypes.startp = _startpos__2_;
14953 MenhirLib.EngineTypes.endp = _endpos__2_;
14954 MenhirLib.EngineTypes.next = {
14955 MenhirLib.EngineTypes.state = _menhir_s;
14956 MenhirLib.EngineTypes.semv = _1;
14957 MenhirLib.EngineTypes.startp = _startpos__1_;
14958 MenhirLib.EngineTypes.endp = _endpos__1_;
14959 MenhirLib.EngineTypes.next = _menhir_stack;
14960 };
14961 };
14962 } = _menhir_stack in
14963 let _3 : 'tv_dep = Obj.magic _3 in
14964 let _1 : 'tv_dep = Obj.magic _1 in
14965 let _startpos = _startpos__1_ in
14966 let _endpos = _endpos__3_ in
14967 let _v : 'tv_dep =
14968 # 297 "parser_cocci_menhir.mly"
14969 ( Ast.OrDep (_1, _3) )
14970 # 14971 "parser_cocci_menhir.ml"
14971 in
14972 _menhir_env.MenhirLib.EngineTypes.stack <- {
14973 MenhirLib.EngineTypes.state = _menhir_s;
14974 MenhirLib.EngineTypes.semv = Obj.repr _v;
14975 MenhirLib.EngineTypes.startp = _startpos;
14976 MenhirLib.EngineTypes.endp = _endpos;
14977 MenhirLib.EngineTypes.next = _menhir_stack;
14978 });
14979 (fun _menhir_env ->
14980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14981 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14982 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14983 let _endpos = _startpos in
14984 let _v : 'tv_depends =
14985 # 291 "parser_cocci_menhir.mly"
14986 ( Ast.NoDep )
14987 # 14988 "parser_cocci_menhir.ml"
14988 in
14989 _menhir_env.MenhirLib.EngineTypes.stack <- {
14990 MenhirLib.EngineTypes.state = _menhir_s;
14991 MenhirLib.EngineTypes.semv = Obj.repr _v;
14992 MenhirLib.EngineTypes.startp = _startpos;
14993 MenhirLib.EngineTypes.endp = _endpos;
14994 MenhirLib.EngineTypes.next = _menhir_stack;
14995 });
14996 (fun _menhir_env ->
14997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14998 let {
14999 MenhirLib.EngineTypes.semv = parents;
15000 MenhirLib.EngineTypes.startp = _startpos_parents_;
15001 MenhirLib.EngineTypes.endp = _endpos_parents_;
15002 MenhirLib.EngineTypes.next = {
15003 MenhirLib.EngineTypes.startp = _startpos__2_;
15004 MenhirLib.EngineTypes.endp = _endpos__2_;
15005 MenhirLib.EngineTypes.next = {
15006 MenhirLib.EngineTypes.state = _menhir_s;
15007 MenhirLib.EngineTypes.startp = _startpos__1_;
15008 MenhirLib.EngineTypes.endp = _endpos__1_;
15009 MenhirLib.EngineTypes.next = _menhir_stack;
15010 };
15011 };
15012 } = _menhir_stack in
15013 let parents : 'tv_dep = Obj.magic parents in
15014 let _startpos = _startpos__1_ in
15015 let _endpos = _endpos_parents_ in
15016 let _v : 'tv_depends =
15017 # 292 "parser_cocci_menhir.mly"
15018 ( parents )
15019 # 15020 "parser_cocci_menhir.ml"
15020 in
15021 _menhir_env.MenhirLib.EngineTypes.stack <- {
15022 MenhirLib.EngineTypes.state = _menhir_s;
15023 MenhirLib.EngineTypes.semv = Obj.repr _v;
15024 MenhirLib.EngineTypes.startp = _startpos;
15025 MenhirLib.EngineTypes.endp = _endpos;
15026 MenhirLib.EngineTypes.next = _menhir_stack;
15027 });
15028 (fun _menhir_env ->
15029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15030 let {
15031 MenhirLib.EngineTypes.semv = _2;
15032 MenhirLib.EngineTypes.startp = _startpos__2_;
15033 MenhirLib.EngineTypes.endp = _endpos__2_;
15034 MenhirLib.EngineTypes.next = {
15035 MenhirLib.EngineTypes.state = _menhir_s;
15036 MenhirLib.EngineTypes.semv = _1;
15037 MenhirLib.EngineTypes.startp = _startpos__1_;
15038 MenhirLib.EngineTypes.endp = _endpos__1_;
15039 MenhirLib.EngineTypes.next = _menhir_stack;
15040 };
15041 } = _menhir_stack in
15042 let _2 : 'tv_disj_ident = Obj.magic _2 in
15043 let _1 : (
15044 # 175 "parser_cocci_menhir.mly"
15045 (Data.clt)
15046 # 15047 "parser_cocci_menhir.ml"
15047 ) = Obj.magic _1 in
15048 let _startpos = _startpos__1_ in
15049 let _endpos = _endpos__2_ in
15050 let _v : 'tv_designator =
15051 # 1293 "parser_cocci_menhir.mly"
15052 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
15053 # 15054 "parser_cocci_menhir.ml"
15054 in
15055 _menhir_env.MenhirLib.EngineTypes.stack <- {
15056 MenhirLib.EngineTypes.state = _menhir_s;
15057 MenhirLib.EngineTypes.semv = Obj.repr _v;
15058 MenhirLib.EngineTypes.startp = _startpos;
15059 MenhirLib.EngineTypes.endp = _endpos;
15060 MenhirLib.EngineTypes.next = _menhir_stack;
15061 });
15062 (fun _menhir_env ->
15063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15064 let {
15065 MenhirLib.EngineTypes.semv = _3;
15066 MenhirLib.EngineTypes.startp = _startpos__3_;
15067 MenhirLib.EngineTypes.endp = _endpos__3_;
15068 MenhirLib.EngineTypes.next = {
15069 MenhirLib.EngineTypes.semv = _2;
15070 MenhirLib.EngineTypes.startp = _startpos__2_;
15071 MenhirLib.EngineTypes.endp = _endpos__2_;
15072 MenhirLib.EngineTypes.next = {
15073 MenhirLib.EngineTypes.state = _menhir_s;
15074 MenhirLib.EngineTypes.semv = _1;
15075 MenhirLib.EngineTypes.startp = _startpos__1_;
15076 MenhirLib.EngineTypes.endp = _endpos__1_;
15077 MenhirLib.EngineTypes.next = _menhir_stack;
15078 };
15079 };
15080 } = _menhir_stack in
15081 let _3 : (
15082 # 170 "parser_cocci_menhir.mly"
15083 (Data.clt)
15084 # 15085 "parser_cocci_menhir.ml"
15085 ) = Obj.magic _3 in
15086 let _2 : 'tv_eexpr = Obj.magic _2 in
15087 let _1 : (
15088 # 170 "parser_cocci_menhir.mly"
15089 (Data.clt)
15090 # 15091 "parser_cocci_menhir.ml"
15091 ) = Obj.magic _1 in
15092 let _startpos = _startpos__1_ in
15093 let _endpos = _endpos__3_ in
15094 let _v : 'tv_designator =
15095 # 1295 "parser_cocci_menhir.mly"
15096 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
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.semv = _5;
15110 MenhirLib.EngineTypes.startp = _startpos__5_;
15111 MenhirLib.EngineTypes.endp = _endpos__5_;
15112 MenhirLib.EngineTypes.next = {
15113 MenhirLib.EngineTypes.semv = _4;
15114 MenhirLib.EngineTypes.startp = _startpos__4_;
15115 MenhirLib.EngineTypes.endp = _endpos__4_;
15116 MenhirLib.EngineTypes.next = {
15117 MenhirLib.EngineTypes.semv = _3;
15118 MenhirLib.EngineTypes.startp = _startpos__3_;
15119 MenhirLib.EngineTypes.endp = _endpos__3_;
15120 MenhirLib.EngineTypes.next = {
15121 MenhirLib.EngineTypes.semv = _2;
15122 MenhirLib.EngineTypes.startp = _startpos__2_;
15123 MenhirLib.EngineTypes.endp = _endpos__2_;
15124 MenhirLib.EngineTypes.next = {
15125 MenhirLib.EngineTypes.state = _menhir_s;
15126 MenhirLib.EngineTypes.semv = _1;
15127 MenhirLib.EngineTypes.startp = _startpos__1_;
15128 MenhirLib.EngineTypes.endp = _endpos__1_;
15129 MenhirLib.EngineTypes.next = _menhir_stack;
15130 };
15131 };
15132 };
15133 };
15134 } = _menhir_stack in
15135 let _5 : (
15136 # 170 "parser_cocci_menhir.mly"
15137 (Data.clt)
15138 # 15139 "parser_cocci_menhir.ml"
15139 ) = Obj.magic _5 in
15140 let _4 : 'tv_eexpr = Obj.magic _4 in
15141 let _3 : (
15142 # 141 "parser_cocci_menhir.mly"
15143 (Data.clt)
15144 # 15145 "parser_cocci_menhir.ml"
15145 ) = Obj.magic _3 in
15146 let _2 : 'tv_eexpr = Obj.magic _2 in
15147 let _1 : (
15148 # 170 "parser_cocci_menhir.mly"
15149 (Data.clt)
15150 # 15151 "parser_cocci_menhir.ml"
15151 ) = Obj.magic _1 in
15152 let _startpos = _startpos__1_ in
15153 let _endpos = _endpos__5_ in
15154 let _v : 'tv_designator =
15155 # 1297 "parser_cocci_menhir.mly"
15156 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
15157 _4,P.clt2mcode "]" _5) )
15158 # 15159 "parser_cocci_menhir.ml"
15159 in
15160 _menhir_env.MenhirLib.EngineTypes.stack <- {
15161 MenhirLib.EngineTypes.state = _menhir_s;
15162 MenhirLib.EngineTypes.semv = Obj.repr _v;
15163 MenhirLib.EngineTypes.startp = _startpos;
15164 MenhirLib.EngineTypes.endp = _endpos;
15165 MenhirLib.EngineTypes.next = _menhir_stack;
15166 });
15167 (fun _menhir_env ->
15168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15169 let {
15170 MenhirLib.EngineTypes.state = _menhir_s;
15171 MenhirLib.EngineTypes.semv = _1;
15172 MenhirLib.EngineTypes.startp = _startpos__1_;
15173 MenhirLib.EngineTypes.endp = _endpos__1_;
15174 MenhirLib.EngineTypes.next = _menhir_stack;
15175 } = _menhir_stack in
15176 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
15177 let _startpos = _startpos__1_ in
15178 let _endpos = _endpos__1_ in
15179 let _v : 'tv_dexpr =
15180 # 1376 "parser_cocci_menhir.mly"
15181 ( _1 )
15182 # 15183 "parser_cocci_menhir.ml"
15183 in
15184 _menhir_env.MenhirLib.EngineTypes.stack <- {
15185 MenhirLib.EngineTypes.state = _menhir_s;
15186 MenhirLib.EngineTypes.semv = Obj.repr _v;
15187 MenhirLib.EngineTypes.startp = _startpos;
15188 MenhirLib.EngineTypes.endp = _endpos;
15189 MenhirLib.EngineTypes.next = _menhir_stack;
15190 });
15191 (fun _menhir_env ->
15192 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15193 let {
15194 MenhirLib.EngineTypes.semv = _2;
15195 MenhirLib.EngineTypes.startp = _startpos__2_;
15196 MenhirLib.EngineTypes.endp = _endpos__2_;
15197 MenhirLib.EngineTypes.next = {
15198 MenhirLib.EngineTypes.state = _menhir_s;
15199 MenhirLib.EngineTypes.startp = _startpos__1_;
15200 MenhirLib.EngineTypes.endp = _endpos__1_;
15201 MenhirLib.EngineTypes.next = _menhir_stack;
15202 };
15203 } = _menhir_stack in
15204 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
15205 let _startpos = _startpos__1_ in
15206 let _endpos = _endpos__2_ in
15207 let _v : 'tv_disable =
15208 # 310 "parser_cocci_menhir.mly"
15209 ( List.map P.id2name _2 )
15210 # 15211 "parser_cocci_menhir.ml"
15211 in
15212 _menhir_env.MenhirLib.EngineTypes.stack <- {
15213 MenhirLib.EngineTypes.state = _menhir_s;
15214 MenhirLib.EngineTypes.semv = Obj.repr _v;
15215 MenhirLib.EngineTypes.startp = _startpos;
15216 MenhirLib.EngineTypes.endp = _endpos;
15217 MenhirLib.EngineTypes.next = _menhir_stack;
15218 });
15219 (fun _menhir_env ->
15220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15221 let {
15222 MenhirLib.EngineTypes.state = _menhir_s;
15223 MenhirLib.EngineTypes.semv = _1;
15224 MenhirLib.EngineTypes.startp = _startpos__1_;
15225 MenhirLib.EngineTypes.endp = _endpos__1_;
15226 MenhirLib.EngineTypes.next = _menhir_stack;
15227 } = _menhir_stack in
15228 let _1 : 'tv_mident = Obj.magic _1 in
15229 let _startpos = _startpos__1_ in
15230 let _endpos = _endpos__1_ in
15231 let _v : 'tv_disj_ident =
15232 # 1890 "parser_cocci_menhir.mly"
15233 ( _1 )
15234 # 15235 "parser_cocci_menhir.ml"
15235 in
15236 _menhir_env.MenhirLib.EngineTypes.stack <- {
15237 MenhirLib.EngineTypes.state = _menhir_s;
15238 MenhirLib.EngineTypes.semv = Obj.repr _v;
15239 MenhirLib.EngineTypes.startp = _startpos;
15240 MenhirLib.EngineTypes.endp = _endpos;
15241 MenhirLib.EngineTypes.next = _menhir_stack;
15242 });
15243 (fun _menhir_env ->
15244 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15245 let {
15246 MenhirLib.EngineTypes.semv = rp;
15247 MenhirLib.EngineTypes.startp = _startpos_rp_;
15248 MenhirLib.EngineTypes.endp = _endpos_rp_;
15249 MenhirLib.EngineTypes.next = {
15250 MenhirLib.EngineTypes.semv = t;
15251 MenhirLib.EngineTypes.startp = _startpos_t_;
15252 MenhirLib.EngineTypes.endp = _endpos_t_;
15253 MenhirLib.EngineTypes.next = {
15254 MenhirLib.EngineTypes.state = _menhir_s;
15255 MenhirLib.EngineTypes.semv = lp;
15256 MenhirLib.EngineTypes.startp = _startpos_lp_;
15257 MenhirLib.EngineTypes.endp = _endpos_lp_;
15258 MenhirLib.EngineTypes.next = _menhir_stack;
15259 };
15260 };
15261 } = _menhir_stack in
15262 let rp : (
15263 # 145 "parser_cocci_menhir.mly"
15264 (Data.clt)
15265 # 15266 "parser_cocci_menhir.ml"
15266 ) = Obj.magic rp in
15267 let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in
15268 let lp : (
15269 # 144 "parser_cocci_menhir.mly"
15270 (Data.clt)
15271 # 15272 "parser_cocci_menhir.ml"
15272 ) = Obj.magic lp in
15273 let _startpos = _startpos_lp_ in
15274 let _endpos = _endpos_rp_ in
15275 let _v : 'tv_disj_ident =
15276 # 1892 "parser_cocci_menhir.mly"
15277 ( let (mids,code) = t in
15278 Ast0.wrap
15279 (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
15280 # 15281 "parser_cocci_menhir.ml"
15281 in
15282 _menhir_env.MenhirLib.EngineTypes.stack <- {
15283 MenhirLib.EngineTypes.state = _menhir_s;
15284 MenhirLib.EngineTypes.semv = Obj.repr _v;
15285 MenhirLib.EngineTypes.startp = _startpos;
15286 MenhirLib.EngineTypes.endp = _endpos;
15287 MenhirLib.EngineTypes.next = _menhir_stack;
15288 });
15289 (fun _menhir_env ->
15290 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15291 let {
15292 MenhirLib.EngineTypes.state = _menhir_s;
15293 MenhirLib.EngineTypes.semv = _1;
15294 MenhirLib.EngineTypes.startp = _startpos__1_;
15295 MenhirLib.EngineTypes.endp = _endpos__1_;
15296 MenhirLib.EngineTypes.next = _menhir_stack;
15297 } = _menhir_stack in
15298 let _1 : (
15299 # 141 "parser_cocci_menhir.mly"
15300 (Data.clt)
15301 # 15302 "parser_cocci_menhir.ml"
15302 ) = Obj.magic _1 in
15303 let _startpos = _startpos__1_ in
15304 let _endpos = _endpos__1_ in
15305 let _v : 'tv_dot_expressions =
15306 # 1385 "parser_cocci_menhir.mly"
15307 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
15308 # 15309 "parser_cocci_menhir.ml"
15309 in
15310 _menhir_env.MenhirLib.EngineTypes.stack <- {
15311 MenhirLib.EngineTypes.state = _menhir_s;
15312 MenhirLib.EngineTypes.semv = Obj.repr _v;
15313 MenhirLib.EngineTypes.startp = _startpos;
15314 MenhirLib.EngineTypes.endp = _endpos;
15315 MenhirLib.EngineTypes.next = _menhir_stack;
15316 });
15317 (fun _menhir_env ->
15318 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15319 let {
15320 MenhirLib.EngineTypes.state = _menhir_s;
15321 MenhirLib.EngineTypes.semv = _1;
15322 MenhirLib.EngineTypes.startp = _startpos__1_;
15323 MenhirLib.EngineTypes.endp = _endpos__1_;
15324 MenhirLib.EngineTypes.next = _menhir_stack;
15325 } = _menhir_stack in
15326 let _1 : 'tv_nest_expressions = Obj.magic _1 in
15327 let _startpos = _startpos__1_ in
15328 let _endpos = _endpos__1_ in
15329 let _v : 'tv_dot_expressions =
15330 # 1386 "parser_cocci_menhir.mly"
15331 ( _1 )
15332 # 15333 "parser_cocci_menhir.ml"
15333 in
15334 _menhir_env.MenhirLib.EngineTypes.stack <- {
15335 MenhirLib.EngineTypes.state = _menhir_s;
15336 MenhirLib.EngineTypes.semv = Obj.repr _v;
15337 MenhirLib.EngineTypes.startp = _startpos;
15338 MenhirLib.EngineTypes.endp = _endpos;
15339 MenhirLib.EngineTypes.next = _menhir_stack;
15340 });
15341 (fun _menhir_env ->
15342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15343 let {
15344 MenhirLib.EngineTypes.state = _menhir_s;
15345 MenhirLib.EngineTypes.semv = _1;
15346 MenhirLib.EngineTypes.startp = _startpos__1_;
15347 MenhirLib.EngineTypes.endp = _endpos__1_;
15348 MenhirLib.EngineTypes.next = _menhir_stack;
15349 } = _menhir_stack in
15350 let _1 : 'tv_mident = Obj.magic _1 in
15351 let _startpos = _startpos__1_ in
15352 let _endpos = _endpos__1_ in
15353 let _v : 'tv_dparam =
15354 # 927 "parser_cocci_menhir.mly"
15355 ( Ast0.wrap(Ast0.DParam _1) )
15356 # 15357 "parser_cocci_menhir.ml"
15357 in
15358 _menhir_env.MenhirLib.EngineTypes.stack <- {
15359 MenhirLib.EngineTypes.state = _menhir_s;
15360 MenhirLib.EngineTypes.semv = Obj.repr _v;
15361 MenhirLib.EngineTypes.startp = _startpos;
15362 MenhirLib.EngineTypes.endp = _endpos;
15363 MenhirLib.EngineTypes.next = _menhir_stack;
15364 });
15365 (fun _menhir_env ->
15366 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15367 let {
15368 MenhirLib.EngineTypes.state = _menhir_s;
15369 MenhirLib.EngineTypes.semv = d;
15370 MenhirLib.EngineTypes.startp = _startpos_d_;
15371 MenhirLib.EngineTypes.endp = _endpos_d_;
15372 MenhirLib.EngineTypes.next = _menhir_stack;
15373 } = _menhir_stack in
15374 let d : (
15375 # 141 "parser_cocci_menhir.mly"
15376 (Data.clt)
15377 # 15378 "parser_cocci_menhir.ml"
15378 ) = Obj.magic d in
15379 let _startpos = _startpos_d_ in
15380 let _endpos = _endpos_d_ in
15381 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
15382 # 2212 "parser_cocci_menhir.mly"
15383 ( (d,None) )
15384 # 15385 "parser_cocci_menhir.ml"
15385 in
15386 _menhir_env.MenhirLib.EngineTypes.stack <- {
15387 MenhirLib.EngineTypes.state = _menhir_s;
15388 MenhirLib.EngineTypes.semv = Obj.repr _v;
15389 MenhirLib.EngineTypes.startp = _startpos;
15390 MenhirLib.EngineTypes.endp = _endpos;
15391 MenhirLib.EngineTypes.next = _menhir_stack;
15392 });
15393 (fun _menhir_env ->
15394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15395 let {
15396 MenhirLib.EngineTypes.startp = _startpos__5_;
15397 MenhirLib.EngineTypes.endp = _endpos__5_;
15398 MenhirLib.EngineTypes.next = {
15399 MenhirLib.EngineTypes.semv = w;
15400 MenhirLib.EngineTypes.startp = _startpos_w_;
15401 MenhirLib.EngineTypes.endp = _endpos_w_;
15402 MenhirLib.EngineTypes.next = {
15403 MenhirLib.EngineTypes.startp = _startpos__3_;
15404 MenhirLib.EngineTypes.endp = _endpos__3_;
15405 MenhirLib.EngineTypes.next = {
15406 MenhirLib.EngineTypes.startp = _startpos__2_;
15407 MenhirLib.EngineTypes.endp = _endpos__2_;
15408 MenhirLib.EngineTypes.next = {
15409 MenhirLib.EngineTypes.state = _menhir_s;
15410 MenhirLib.EngineTypes.semv = d;
15411 MenhirLib.EngineTypes.startp = _startpos_d_;
15412 MenhirLib.EngineTypes.endp = _endpos_d_;
15413 MenhirLib.EngineTypes.next = _menhir_stack;
15414 };
15415 };
15416 };
15417 };
15418 } = _menhir_stack in
15419 let w : 'tv_eexpr = Obj.magic w in
15420 let d : (
15421 # 141 "parser_cocci_menhir.mly"
15422 (Data.clt)
15423 # 15424 "parser_cocci_menhir.ml"
15424 ) = Obj.magic d in
15425 let _startpos = _startpos_d_ in
15426 let _endpos = _endpos__5_ in
15427 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
15428 # 2213 "parser_cocci_menhir.mly"
15429 ( (d,Some w) )
15430 # 15431 "parser_cocci_menhir.ml"
15431 in
15432 _menhir_env.MenhirLib.EngineTypes.stack <- {
15433 MenhirLib.EngineTypes.state = _menhir_s;
15434 MenhirLib.EngineTypes.semv = Obj.repr _v;
15435 MenhirLib.EngineTypes.startp = _startpos;
15436 MenhirLib.EngineTypes.endp = _endpos;
15437 MenhirLib.EngineTypes.next = _menhir_stack;
15438 });
15439 (fun _menhir_env ->
15440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15441 let {
15442 MenhirLib.EngineTypes.state = _menhir_s;
15443 MenhirLib.EngineTypes.semv = d;
15444 MenhirLib.EngineTypes.startp = _startpos_d_;
15445 MenhirLib.EngineTypes.endp = _endpos_d_;
15446 MenhirLib.EngineTypes.next = _menhir_stack;
15447 } = _menhir_stack in
15448 let d : (
15449 # 141 "parser_cocci_menhir.mly"
15450 (Data.clt)
15451 # 15452 "parser_cocci_menhir.ml"
15452 ) = Obj.magic d in
15453 let _startpos = _startpos_d_ in
15454 let _endpos = _endpos_d_ in
15455 let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
15456 # 2212 "parser_cocci_menhir.mly"
15457 ( (d,None) )
15458 # 15459 "parser_cocci_menhir.ml"
15459 in
15460 _menhir_env.MenhirLib.EngineTypes.stack <- {
15461 MenhirLib.EngineTypes.state = _menhir_s;
15462 MenhirLib.EngineTypes.semv = Obj.repr _v;
15463 MenhirLib.EngineTypes.startp = _startpos;
15464 MenhirLib.EngineTypes.endp = _endpos;
15465 MenhirLib.EngineTypes.next = _menhir_stack;
15466 });
15467 (fun _menhir_env ->
15468 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15469 let {
15470 MenhirLib.EngineTypes.startp = _startpos__5_;
15471 MenhirLib.EngineTypes.endp = _endpos__5_;
15472 MenhirLib.EngineTypes.next = {
15473 MenhirLib.EngineTypes.semv = w;
15474 MenhirLib.EngineTypes.startp = _startpos_w_;
15475 MenhirLib.EngineTypes.endp = _endpos_w_;
15476 MenhirLib.EngineTypes.next = {
15477 MenhirLib.EngineTypes.startp = _startpos__3_;
15478 MenhirLib.EngineTypes.endp = _endpos__3_;
15479 MenhirLib.EngineTypes.next = {
15480 MenhirLib.EngineTypes.startp = _startpos__2_;
15481 MenhirLib.EngineTypes.endp = _endpos__2_;
15482 MenhirLib.EngineTypes.next = {
15483 MenhirLib.EngineTypes.state = _menhir_s;
15484 MenhirLib.EngineTypes.semv = d;
15485 MenhirLib.EngineTypes.startp = _startpos_d_;
15486 MenhirLib.EngineTypes.endp = _endpos_d_;
15487 MenhirLib.EngineTypes.next = _menhir_stack;
15488 };
15489 };
15490 };
15491 };
15492 } = _menhir_stack in
15493 let w : 'tv_enum_decl_one = Obj.magic w in
15494 let d : (
15495 # 141 "parser_cocci_menhir.mly"
15496 (Data.clt)
15497 # 15498 "parser_cocci_menhir.ml"
15498 ) = Obj.magic d in
15499 let _startpos = _startpos_d_ in
15500 let _endpos = _endpos__5_ in
15501 let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
15502 # 2213 "parser_cocci_menhir.mly"
15503 ( (d,Some w) )
15504 # 15505 "parser_cocci_menhir.ml"
15505 in
15506 _menhir_env.MenhirLib.EngineTypes.stack <- {
15507 MenhirLib.EngineTypes.state = _menhir_s;
15508 MenhirLib.EngineTypes.semv = Obj.repr _v;
15509 MenhirLib.EngineTypes.startp = _startpos;
15510 MenhirLib.EngineTypes.endp = _endpos;
15511 MenhirLib.EngineTypes.next = _menhir_stack;
15512 });
15513 (fun _menhir_env ->
15514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15515 let {
15516 MenhirLib.EngineTypes.state = _menhir_s;
15517 MenhirLib.EngineTypes.semv = d;
15518 MenhirLib.EngineTypes.startp = _startpos_d_;
15519 MenhirLib.EngineTypes.endp = _endpos_d_;
15520 MenhirLib.EngineTypes.next = _menhir_stack;
15521 } = _menhir_stack in
15522 let d : (
15523 # 141 "parser_cocci_menhir.mly"
15524 (Data.clt)
15525 # 15526 "parser_cocci_menhir.ml"
15526 ) = Obj.magic d in
15527 let _startpos = _startpos_d_ in
15528 let _endpos = _endpos_d_ in
15529 let _v : 'tv_edots_when_TEllipsis_initialize_ =
15530 # 2212 "parser_cocci_menhir.mly"
15531 ( (d,None) )
15532 # 15533 "parser_cocci_menhir.ml"
15533 in
15534 _menhir_env.MenhirLib.EngineTypes.stack <- {
15535 MenhirLib.EngineTypes.state = _menhir_s;
15536 MenhirLib.EngineTypes.semv = Obj.repr _v;
15537 MenhirLib.EngineTypes.startp = _startpos;
15538 MenhirLib.EngineTypes.endp = _endpos;
15539 MenhirLib.EngineTypes.next = _menhir_stack;
15540 });
15541 (fun _menhir_env ->
15542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15543 let {
15544 MenhirLib.EngineTypes.startp = _startpos__5_;
15545 MenhirLib.EngineTypes.endp = _endpos__5_;
15546 MenhirLib.EngineTypes.next = {
15547 MenhirLib.EngineTypes.semv = w;
15548 MenhirLib.EngineTypes.startp = _startpos_w_;
15549 MenhirLib.EngineTypes.endp = _endpos_w_;
15550 MenhirLib.EngineTypes.next = {
15551 MenhirLib.EngineTypes.startp = _startpos__3_;
15552 MenhirLib.EngineTypes.endp = _endpos__3_;
15553 MenhirLib.EngineTypes.next = {
15554 MenhirLib.EngineTypes.startp = _startpos__2_;
15555 MenhirLib.EngineTypes.endp = _endpos__2_;
15556 MenhirLib.EngineTypes.next = {
15557 MenhirLib.EngineTypes.state = _menhir_s;
15558 MenhirLib.EngineTypes.semv = d;
15559 MenhirLib.EngineTypes.startp = _startpos_d_;
15560 MenhirLib.EngineTypes.endp = _endpos_d_;
15561 MenhirLib.EngineTypes.next = _menhir_stack;
15562 };
15563 };
15564 };
15565 };
15566 } = _menhir_stack in
15567 let w : 'tv_initialize = Obj.magic w in
15568 let d : (
15569 # 141 "parser_cocci_menhir.mly"
15570 (Data.clt)
15571 # 15572 "parser_cocci_menhir.ml"
15572 ) = Obj.magic d in
15573 let _startpos = _startpos_d_ in
15574 let _endpos = _endpos__5_ in
15575 let _v : 'tv_edots_when_TEllipsis_initialize_ =
15576 # 2213 "parser_cocci_menhir.mly"
15577 ( (d,Some w) )
15578 # 15579 "parser_cocci_menhir.ml"
15579 in
15580 _menhir_env.MenhirLib.EngineTypes.stack <- {
15581 MenhirLib.EngineTypes.state = _menhir_s;
15582 MenhirLib.EngineTypes.semv = Obj.repr _v;
15583 MenhirLib.EngineTypes.startp = _startpos;
15584 MenhirLib.EngineTypes.endp = _endpos;
15585 MenhirLib.EngineTypes.next = _menhir_stack;
15586 });
15587 (fun _menhir_env ->
15588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15589 let {
15590 MenhirLib.EngineTypes.state = _menhir_s;
15591 MenhirLib.EngineTypes.semv = d;
15592 MenhirLib.EngineTypes.startp = _startpos_d_;
15593 MenhirLib.EngineTypes.endp = _endpos_d_;
15594 MenhirLib.EngineTypes.next = _menhir_stack;
15595 } = _menhir_stack in
15596 let d : (
15597 # 141 "parser_cocci_menhir.mly"
15598 (Data.clt)
15599 # 15600 "parser_cocci_menhir.ml"
15600 ) = Obj.magic d in
15601 let _startpos = _startpos_d_ in
15602 let _endpos = _endpos_d_ in
15603 let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
15604 # 2212 "parser_cocci_menhir.mly"
15605 ( (d,None) )
15606 # 15607 "parser_cocci_menhir.ml"
15607 in
15608 _menhir_env.MenhirLib.EngineTypes.stack <- {
15609 MenhirLib.EngineTypes.state = _menhir_s;
15610 MenhirLib.EngineTypes.semv = Obj.repr _v;
15611 MenhirLib.EngineTypes.startp = _startpos;
15612 MenhirLib.EngineTypes.endp = _endpos;
15613 MenhirLib.EngineTypes.next = _menhir_stack;
15614 });
15615 (fun _menhir_env ->
15616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15617 let {
15618 MenhirLib.EngineTypes.startp = _startpos__5_;
15619 MenhirLib.EngineTypes.endp = _endpos__5_;
15620 MenhirLib.EngineTypes.next = {
15621 MenhirLib.EngineTypes.semv = w;
15622 MenhirLib.EngineTypes.startp = _startpos_w_;
15623 MenhirLib.EngineTypes.endp = _endpos_w_;
15624 MenhirLib.EngineTypes.next = {
15625 MenhirLib.EngineTypes.startp = _startpos__3_;
15626 MenhirLib.EngineTypes.endp = _endpos__3_;
15627 MenhirLib.EngineTypes.next = {
15628 MenhirLib.EngineTypes.startp = _startpos__2_;
15629 MenhirLib.EngineTypes.endp = _endpos__2_;
15630 MenhirLib.EngineTypes.next = {
15631 MenhirLib.EngineTypes.state = _menhir_s;
15632 MenhirLib.EngineTypes.semv = d;
15633 MenhirLib.EngineTypes.startp = _startpos_d_;
15634 MenhirLib.EngineTypes.endp = _endpos_d_;
15635 MenhirLib.EngineTypes.next = _menhir_stack;
15636 };
15637 };
15638 };
15639 };
15640 } = _menhir_stack in
15641 let w : 'tv_struct_decl_one = Obj.magic w in
15642 let d : (
15643 # 141 "parser_cocci_menhir.mly"
15644 (Data.clt)
15645 # 15646 "parser_cocci_menhir.ml"
15646 ) = Obj.magic d in
15647 let _startpos = _startpos_d_ in
15648 let _endpos = _endpos__5_ in
15649 let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
15650 # 2213 "parser_cocci_menhir.mly"
15651 ( (d,Some w) )
15652 # 15653 "parser_cocci_menhir.ml"
15653 in
15654 _menhir_env.MenhirLib.EngineTypes.stack <- {
15655 MenhirLib.EngineTypes.state = _menhir_s;
15656 MenhirLib.EngineTypes.semv = Obj.repr _v;
15657 MenhirLib.EngineTypes.startp = _startpos;
15658 MenhirLib.EngineTypes.endp = _endpos;
15659 MenhirLib.EngineTypes.next = _menhir_stack;
15660 });
15661 (fun _menhir_env ->
15662 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15663 let {
15664 MenhirLib.EngineTypes.state = _menhir_s;
15665 MenhirLib.EngineTypes.semv = _1;
15666 MenhirLib.EngineTypes.startp = _startpos__1_;
15667 MenhirLib.EngineTypes.endp = _endpos__1_;
15668 MenhirLib.EngineTypes.next = _menhir_stack;
15669 } = _menhir_stack in
15670 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
15671 let _startpos = _startpos__1_ in
15672 let _endpos = _endpos__1_ in
15673 let _v : 'tv_eexpr =
15674 # 1374 "parser_cocci_menhir.mly"
15675 ( _1 )
15676 # 15677 "parser_cocci_menhir.ml"
15677 in
15678 _menhir_env.MenhirLib.EngineTypes.stack <- {
15679 MenhirLib.EngineTypes.state = _menhir_s;
15680 MenhirLib.EngineTypes.semv = Obj.repr _v;
15681 MenhirLib.EngineTypes.startp = _startpos;
15682 MenhirLib.EngineTypes.endp = _endpos;
15683 MenhirLib.EngineTypes.next = _menhir_stack;
15684 });
15685 (fun _menhir_env ->
15686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15687 let {
15688 MenhirLib.EngineTypes.state = _menhir_s;
15689 MenhirLib.EngineTypes.semv = _1;
15690 MenhirLib.EngineTypes.startp = _startpos__1_;
15691 MenhirLib.EngineTypes.endp = _endpos__1_;
15692 MenhirLib.EngineTypes.next = _menhir_stack;
15693 } = _menhir_stack in
15694 let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
15695 let _startpos = _startpos__1_ in
15696 let _endpos = _endpos__1_ in
15697 let _v : 'tv_eexpr_list_option =
15698 # 2192 "parser_cocci_menhir.mly"
15699 ( Ast0.wrap
15700 (Ast0.DOTS
15701 (_1
15702 (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
15703 (fun c -> Ast0.EComma c))) )
15704 # 15705 "parser_cocci_menhir.ml"
15705 in
15706 _menhir_env.MenhirLib.EngineTypes.stack <- {
15707 MenhirLib.EngineTypes.state = _menhir_s;
15708 MenhirLib.EngineTypes.semv = Obj.repr _v;
15709 MenhirLib.EngineTypes.startp = _startpos;
15710 MenhirLib.EngineTypes.endp = _endpos;
15711 MenhirLib.EngineTypes.next = _menhir_stack;
15712 });
15713 (fun _menhir_env ->
15714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15715 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15716 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15717 let _endpos = _startpos in
15718 let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
15719 # 1954 "parser_cocci_menhir.mly"
15720 ( fun build_dots build_comma -> [] )
15721 # 15722 "parser_cocci_menhir.ml"
15722 in
15723 _menhir_env.MenhirLib.EngineTypes.stack <- {
15724 MenhirLib.EngineTypes.state = _menhir_s;
15725 MenhirLib.EngineTypes.semv = Obj.repr _v;
15726 MenhirLib.EngineTypes.startp = _startpos;
15727 MenhirLib.EngineTypes.endp = _endpos;
15728 MenhirLib.EngineTypes.next = _menhir_stack;
15729 });
15730 (fun _menhir_env ->
15731 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15732 let {
15733 MenhirLib.EngineTypes.state = _menhir_s;
15734 MenhirLib.EngineTypes.semv = _1;
15735 MenhirLib.EngineTypes.startp = _startpos__1_;
15736 MenhirLib.EngineTypes.endp = _endpos__1_;
15737 MenhirLib.EngineTypes.next = _menhir_stack;
15738 } = _menhir_stack in
15739 let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
15740 let _startpos = _startpos__1_ in
15741 let _endpos = _endpos__1_ in
15742 let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
15743 # 1955 "parser_cocci_menhir.mly"
15744 ( _1 )
15745 # 15746 "parser_cocci_menhir.ml"
15746 in
15747 _menhir_env.MenhirLib.EngineTypes.stack <- {
15748 MenhirLib.EngineTypes.state = _menhir_s;
15749 MenhirLib.EngineTypes.semv = Obj.repr _v;
15750 MenhirLib.EngineTypes.startp = _startpos;
15751 MenhirLib.EngineTypes.endp = _endpos;
15752 MenhirLib.EngineTypes.next = _menhir_stack;
15753 });
15754 (fun _menhir_env ->
15755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15756 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15757 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15758 let _endpos = _startpos in
15759 let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
15760 # 1954 "parser_cocci_menhir.mly"
15761 ( fun build_dots build_comma -> [] )
15762 # 15763 "parser_cocci_menhir.ml"
15763 in
15764 _menhir_env.MenhirLib.EngineTypes.stack <- {
15765 MenhirLib.EngineTypes.state = _menhir_s;
15766 MenhirLib.EngineTypes.semv = Obj.repr _v;
15767 MenhirLib.EngineTypes.startp = _startpos;
15768 MenhirLib.EngineTypes.endp = _endpos;
15769 MenhirLib.EngineTypes.next = _menhir_stack;
15770 });
15771 (fun _menhir_env ->
15772 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15773 let {
15774 MenhirLib.EngineTypes.state = _menhir_s;
15775 MenhirLib.EngineTypes.semv = _1;
15776 MenhirLib.EngineTypes.startp = _startpos__1_;
15777 MenhirLib.EngineTypes.endp = _endpos__1_;
15778 MenhirLib.EngineTypes.next = _menhir_stack;
15779 } = _menhir_stack in
15780 let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
15781 let _startpos = _startpos__1_ in
15782 let _endpos = _endpos__1_ in
15783 let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
15784 # 1955 "parser_cocci_menhir.mly"
15785 ( _1 )
15786 # 15787 "parser_cocci_menhir.ml"
15787 in
15788 _menhir_env.MenhirLib.EngineTypes.stack <- {
15789 MenhirLib.EngineTypes.state = _menhir_s;
15790 MenhirLib.EngineTypes.semv = Obj.repr _v;
15791 MenhirLib.EngineTypes.startp = _startpos;
15792 MenhirLib.EngineTypes.endp = _endpos;
15793 MenhirLib.EngineTypes.next = _menhir_stack;
15794 });
15795 (fun _menhir_env ->
15796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15797 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15798 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15799 let _endpos = _startpos in
15800 let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
15801 # 1954 "parser_cocci_menhir.mly"
15802 ( fun build_dots build_comma -> [] )
15803 # 15804 "parser_cocci_menhir.ml"
15804 in
15805 _menhir_env.MenhirLib.EngineTypes.stack <- {
15806 MenhirLib.EngineTypes.state = _menhir_s;
15807 MenhirLib.EngineTypes.semv = Obj.repr _v;
15808 MenhirLib.EngineTypes.startp = _startpos;
15809 MenhirLib.EngineTypes.endp = _endpos;
15810 MenhirLib.EngineTypes.next = _menhir_stack;
15811 });
15812 (fun _menhir_env ->
15813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15814 let {
15815 MenhirLib.EngineTypes.state = _menhir_s;
15816 MenhirLib.EngineTypes.semv = _1;
15817 MenhirLib.EngineTypes.startp = _startpos__1_;
15818 MenhirLib.EngineTypes.endp = _endpos__1_;
15819 MenhirLib.EngineTypes.next = _menhir_stack;
15820 } = _menhir_stack in
15821 let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
15822 let _startpos = _startpos__1_ in
15823 let _endpos = _endpos__1_ in
15824 let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
15825 # 1955 "parser_cocci_menhir.mly"
15826 ( _1 )
15827 # 15828 "parser_cocci_menhir.ml"
15828 in
15829 _menhir_env.MenhirLib.EngineTypes.stack <- {
15830 MenhirLib.EngineTypes.state = _menhir_s;
15831 MenhirLib.EngineTypes.semv = Obj.repr _v;
15832 MenhirLib.EngineTypes.startp = _startpos;
15833 MenhirLib.EngineTypes.endp = _endpos;
15834 MenhirLib.EngineTypes.next = _menhir_stack;
15835 });
15836 (fun _menhir_env ->
15837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15838 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15839 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15840 let _endpos = _startpos in
15841 let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
15842 # 1954 "parser_cocci_menhir.mly"
15843 ( fun build_dots build_comma -> [] )
15844 # 15845 "parser_cocci_menhir.ml"
15845 in
15846 _menhir_env.MenhirLib.EngineTypes.stack <- {
15847 MenhirLib.EngineTypes.state = _menhir_s;
15848 MenhirLib.EngineTypes.semv = Obj.repr _v;
15849 MenhirLib.EngineTypes.startp = _startpos;
15850 MenhirLib.EngineTypes.endp = _endpos;
15851 MenhirLib.EngineTypes.next = _menhir_stack;
15852 });
15853 (fun _menhir_env ->
15854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15855 let {
15856 MenhirLib.EngineTypes.state = _menhir_s;
15857 MenhirLib.EngineTypes.semv = _1;
15858 MenhirLib.EngineTypes.startp = _startpos__1_;
15859 MenhirLib.EngineTypes.endp = _endpos__1_;
15860 MenhirLib.EngineTypes.next = _menhir_stack;
15861 } = _menhir_stack in
15862 let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
15863 let _startpos = _startpos__1_ in
15864 let _endpos = _endpos__1_ in
15865 let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
15866 # 1955 "parser_cocci_menhir.mly"
15867 ( _1 )
15868 # 15869 "parser_cocci_menhir.ml"
15869 in
15870 _menhir_env.MenhirLib.EngineTypes.stack <- {
15871 MenhirLib.EngineTypes.state = _menhir_s;
15872 MenhirLib.EngineTypes.semv = Obj.repr _v;
15873 MenhirLib.EngineTypes.startp = _startpos;
15874 MenhirLib.EngineTypes.endp = _endpos;
15875 MenhirLib.EngineTypes.next = _menhir_stack;
15876 });
15877 (fun _menhir_env ->
15878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15879 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15880 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15881 let _endpos = _startpos in
15882 let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
15883 # 1954 "parser_cocci_menhir.mly"
15884 ( fun build_dots build_comma -> [] )
15885 # 15886 "parser_cocci_menhir.ml"
15886 in
15887 _menhir_env.MenhirLib.EngineTypes.stack <- {
15888 MenhirLib.EngineTypes.state = _menhir_s;
15889 MenhirLib.EngineTypes.semv = Obj.repr _v;
15890 MenhirLib.EngineTypes.startp = _startpos;
15891 MenhirLib.EngineTypes.endp = _endpos;
15892 MenhirLib.EngineTypes.next = _menhir_stack;
15893 });
15894 (fun _menhir_env ->
15895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15896 let {
15897 MenhirLib.EngineTypes.state = _menhir_s;
15898 MenhirLib.EngineTypes.semv = _1;
15899 MenhirLib.EngineTypes.startp = _startpos__1_;
15900 MenhirLib.EngineTypes.endp = _endpos__1_;
15901 MenhirLib.EngineTypes.next = _menhir_stack;
15902 } = _menhir_stack in
15903 let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
15904 let _startpos = _startpos__1_ in
15905 let _endpos = _endpos__1_ in
15906 let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
15907 # 1955 "parser_cocci_menhir.mly"
15908 ( _1 )
15909 # 15910 "parser_cocci_menhir.ml"
15910 in
15911 _menhir_env.MenhirLib.EngineTypes.stack <- {
15912 MenhirLib.EngineTypes.state = _menhir_s;
15913 MenhirLib.EngineTypes.semv = Obj.repr _v;
15914 MenhirLib.EngineTypes.startp = _startpos;
15915 MenhirLib.EngineTypes.endp = _endpos;
15916 MenhirLib.EngineTypes.next = _menhir_stack;
15917 });
15918 (fun _menhir_env ->
15919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15920 let {
15921 MenhirLib.EngineTypes.state = _menhir_s;
15922 MenhirLib.EngineTypes.semv = _1;
15923 MenhirLib.EngineTypes.startp = _startpos__1_;
15924 MenhirLib.EngineTypes.endp = _endpos__1_;
15925 MenhirLib.EngineTypes.next = _menhir_stack;
15926 } = _menhir_stack in
15927 let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
15928 let _startpos = _startpos__1_ in
15929 let _endpos = _endpos__1_ in
15930 let _v : 'tv_enum_decl_list =
15931 # 791 "parser_cocci_menhir.mly"
15932 ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
15933 # 15934 "parser_cocci_menhir.ml"
15934 in
15935 _menhir_env.MenhirLib.EngineTypes.stack <- {
15936 MenhirLib.EngineTypes.state = _menhir_s;
15937 MenhirLib.EngineTypes.semv = Obj.repr _v;
15938 MenhirLib.EngineTypes.startp = _startpos;
15939 MenhirLib.EngineTypes.endp = _endpos;
15940 MenhirLib.EngineTypes.next = _menhir_stack;
15941 });
15942 (fun _menhir_env ->
15943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15944 let {
15945 MenhirLib.EngineTypes.state = _menhir_s;
15946 MenhirLib.EngineTypes.semv = _1;
15947 MenhirLib.EngineTypes.startp = _startpos__1_;
15948 MenhirLib.EngineTypes.endp = _endpos__1_;
15949 MenhirLib.EngineTypes.next = _menhir_stack;
15950 } = _menhir_stack in
15951 let _1 : 'tv_disj_ident = Obj.magic _1 in
15952 let _startpos = _startpos__1_ in
15953 let _endpos = _endpos__1_ in
15954 let _v : 'tv_enum_decl_one =
15955 # 762 "parser_cocci_menhir.mly"
15956 ( Ast0.wrap(Ast0.Ident(_1)) )
15957 # 15958 "parser_cocci_menhir.ml"
15958 in
15959 _menhir_env.MenhirLib.EngineTypes.stack <- {
15960 MenhirLib.EngineTypes.state = _menhir_s;
15961 MenhirLib.EngineTypes.semv = Obj.repr _v;
15962 MenhirLib.EngineTypes.startp = _startpos;
15963 MenhirLib.EngineTypes.endp = _endpos;
15964 MenhirLib.EngineTypes.next = _menhir_stack;
15965 });
15966 (fun _menhir_env ->
15967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15968 let {
15969 MenhirLib.EngineTypes.semv = _3;
15970 MenhirLib.EngineTypes.startp = _startpos__3_;
15971 MenhirLib.EngineTypes.endp = _endpos__3_;
15972 MenhirLib.EngineTypes.next = {
15973 MenhirLib.EngineTypes.semv = _2;
15974 MenhirLib.EngineTypes.startp = _startpos__2_;
15975 MenhirLib.EngineTypes.endp = _endpos__2_;
15976 MenhirLib.EngineTypes.next = {
15977 MenhirLib.EngineTypes.state = _menhir_s;
15978 MenhirLib.EngineTypes.semv = _1;
15979 MenhirLib.EngineTypes.startp = _startpos__1_;
15980 MenhirLib.EngineTypes.endp = _endpos__1_;
15981 MenhirLib.EngineTypes.next = _menhir_stack;
15982 };
15983 };
15984 } = _menhir_stack in
15985 let _3 : 'tv_enum_val = Obj.magic _3 in
15986 let _2 : (
15987 # 175 "parser_cocci_menhir.mly"
15988 (Data.clt)
15989 # 15990 "parser_cocci_menhir.ml"
15990 ) = Obj.magic _2 in
15991 let _1 : 'tv_disj_ident = Obj.magic _1 in
15992 let _startpos = _startpos__1_ in
15993 let _endpos = _endpos__3_ in
15994 let _v : 'tv_enum_decl_one =
15995 # 764 "parser_cocci_menhir.mly"
15996 ( let id = Ast0.wrap(Ast0.Ident(_1)) in
15997 Ast0.wrap
15998 (Ast0.Assignment
15999 (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
16000 false)) )
16001 # 16002 "parser_cocci_menhir.ml"
16002 in
16003 _menhir_env.MenhirLib.EngineTypes.stack <- {
16004 MenhirLib.EngineTypes.state = _menhir_s;
16005 MenhirLib.EngineTypes.semv = Obj.repr _v;
16006 MenhirLib.EngineTypes.startp = _startpos;
16007 MenhirLib.EngineTypes.endp = _endpos;
16008 MenhirLib.EngineTypes.next = _menhir_stack;
16009 });
16010 (fun _menhir_env ->
16011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16012 let {
16013 MenhirLib.EngineTypes.state = _menhir_s;
16014 MenhirLib.EngineTypes.semv = _1;
16015 MenhirLib.EngineTypes.startp = _startpos__1_;
16016 MenhirLib.EngineTypes.endp = _endpos__1_;
16017 MenhirLib.EngineTypes.next = _menhir_stack;
16018 } = _menhir_stack in
16019 let _1 : 'tv_ident = Obj.magic _1 in
16020 let _startpos = _startpos__1_ in
16021 let _endpos = _endpos__1_ in
16022 let _v : 'tv_enum_val =
16023 # 771 "parser_cocci_menhir.mly"
16024 ( Ast0.wrap(Ast0.Ident(_1)) )
16025 # 16026 "parser_cocci_menhir.ml"
16026 in
16027 _menhir_env.MenhirLib.EngineTypes.stack <- {
16028 MenhirLib.EngineTypes.state = _menhir_s;
16029 MenhirLib.EngineTypes.semv = Obj.repr _v;
16030 MenhirLib.EngineTypes.startp = _startpos;
16031 MenhirLib.EngineTypes.endp = _endpos;
16032 MenhirLib.EngineTypes.next = _menhir_stack;
16033 });
16034 (fun _menhir_env ->
16035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16036 let {
16037 MenhirLib.EngineTypes.state = _menhir_s;
16038 MenhirLib.EngineTypes.semv = _1;
16039 MenhirLib.EngineTypes.startp = _startpos__1_;
16040 MenhirLib.EngineTypes.endp = _endpos__1_;
16041 MenhirLib.EngineTypes.next = _menhir_stack;
16042 } = _menhir_stack in
16043 let _1 : (
16044 # 155 "parser_cocci_menhir.mly"
16045 (string * Data.clt)
16046 # 16047 "parser_cocci_menhir.ml"
16047 ) = Obj.magic _1 in
16048 let _startpos = _startpos__1_ in
16049 let _endpos = _endpos__1_ in
16050 let _v : 'tv_enum_val =
16051 # 773 "parser_cocci_menhir.mly"
16052 ( let (x,clt) = _1 in
16053 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
16054 # 16055 "parser_cocci_menhir.ml"
16055 in
16056 _menhir_env.MenhirLib.EngineTypes.stack <- {
16057 MenhirLib.EngineTypes.state = _menhir_s;
16058 MenhirLib.EngineTypes.semv = Obj.repr _v;
16059 MenhirLib.EngineTypes.startp = _startpos;
16060 MenhirLib.EngineTypes.endp = _endpos;
16061 MenhirLib.EngineTypes.next = _menhir_stack;
16062 });
16063 (fun _menhir_env ->
16064 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16065 let {
16066 MenhirLib.EngineTypes.state = _menhir_s;
16067 MenhirLib.EngineTypes.semv = _1;
16068 MenhirLib.EngineTypes.startp = _startpos__1_;
16069 MenhirLib.EngineTypes.endp = _endpos__1_;
16070 MenhirLib.EngineTypes.next = _menhir_stack;
16071 } = _menhir_stack in
16072 let _1 : (
16073 # 132 "parser_cocci_menhir.mly"
16074 (Parse_aux.info)
16075 # 16076 "parser_cocci_menhir.ml"
16076 ) = Obj.magic _1 in
16077 let _startpos = _startpos__1_ in
16078 let _endpos = _endpos__1_ in
16079 let _v : 'tv_enum_val =
16080 # 775 "parser_cocci_menhir.mly"
16081 ( tmeta_to_exp _1 )
16082 # 16083 "parser_cocci_menhir.ml"
16083 in
16084 _menhir_env.MenhirLib.EngineTypes.stack <- {
16085 MenhirLib.EngineTypes.state = _menhir_s;
16086 MenhirLib.EngineTypes.semv = Obj.repr _v;
16087 MenhirLib.EngineTypes.startp = _startpos;
16088 MenhirLib.EngineTypes.endp = _endpos;
16089 MenhirLib.EngineTypes.next = _menhir_stack;
16090 });
16091 (fun _menhir_env ->
16092 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16093 let {
16094 MenhirLib.EngineTypes.state = _menhir_s;
16095 MenhirLib.EngineTypes.semv = _1;
16096 MenhirLib.EngineTypes.startp = _startpos__1_;
16097 MenhirLib.EngineTypes.endp = _endpos__1_;
16098 MenhirLib.EngineTypes.next = _menhir_stack;
16099 } = _menhir_stack in
16100 let _1 : (
16101 # 135 "parser_cocci_menhir.mly"
16102 (Parse_aux.typed_expinfo)
16103 # 16104 "parser_cocci_menhir.ml"
16104 ) = Obj.magic _1 in
16105 let _startpos = _startpos__1_ in
16106 let _endpos = _endpos__1_ in
16107 let _v : 'tv_enum_val =
16108 # 777 "parser_cocci_menhir.mly"
16109 ( let (nm,constraints,pure,ty,clt) = _1 in
16110 Ast0.wrap
16111 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
16112 # 16113 "parser_cocci_menhir.ml"
16113 in
16114 _menhir_env.MenhirLib.EngineTypes.stack <- {
16115 MenhirLib.EngineTypes.state = _menhir_s;
16116 MenhirLib.EngineTypes.semv = Obj.repr _v;
16117 MenhirLib.EngineTypes.startp = _startpos;
16118 MenhirLib.EngineTypes.endp = _endpos;
16119 MenhirLib.EngineTypes.next = _menhir_stack;
16120 });
16121 (fun _menhir_env ->
16122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16123 let {
16124 MenhirLib.EngineTypes.state = _menhir_s;
16125 MenhirLib.EngineTypes.semv = _1;
16126 MenhirLib.EngineTypes.startp = _startpos__1_;
16127 MenhirLib.EngineTypes.endp = _endpos__1_;
16128 MenhirLib.EngineTypes.next = _menhir_stack;
16129 } = _menhir_stack in
16130 let _1 : (
16131 # 135 "parser_cocci_menhir.mly"
16132 (Parse_aux.typed_expinfo)
16133 # 16134 "parser_cocci_menhir.ml"
16134 ) = Obj.magic _1 in
16135 let _startpos = _startpos__1_ in
16136 let _endpos = _endpos__1_ in
16137 let _v : 'tv_enum_val =
16138 # 781 "parser_cocci_menhir.mly"
16139 ( let (nm,constraints,pure,ty,clt) = _1 in
16140 Ast0.wrap
16141 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
16142 # 16143 "parser_cocci_menhir.ml"
16143 in
16144 _menhir_env.MenhirLib.EngineTypes.stack <- {
16145 MenhirLib.EngineTypes.state = _menhir_s;
16146 MenhirLib.EngineTypes.semv = Obj.repr _v;
16147 MenhirLib.EngineTypes.startp = _startpos;
16148 MenhirLib.EngineTypes.endp = _endpos;
16149 MenhirLib.EngineTypes.next = _menhir_stack;
16150 });
16151 (fun _menhir_env ->
16152 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16153 let {
16154 MenhirLib.EngineTypes.state = _menhir_s;
16155 MenhirLib.EngineTypes.semv = _1;
16156 MenhirLib.EngineTypes.startp = _startpos__1_;
16157 MenhirLib.EngineTypes.endp = _endpos__1_;
16158 MenhirLib.EngineTypes.next = _menhir_stack;
16159 } = _menhir_stack in
16160 let _1 : (
16161 # 135 "parser_cocci_menhir.mly"
16162 (Parse_aux.typed_expinfo)
16163 # 16164 "parser_cocci_menhir.ml"
16164 ) = Obj.magic _1 in
16165 let _startpos = _startpos__1_ in
16166 let _endpos = _endpos__1_ in
16167 let _v : 'tv_enum_val =
16168 # 785 "parser_cocci_menhir.mly"
16169 ( let (nm,constraints,pure,ty,clt) = _1 in
16170 Ast0.wrap
16171 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
16172 # 16173 "parser_cocci_menhir.ml"
16173 in
16174 _menhir_env.MenhirLib.EngineTypes.stack <- {
16175 MenhirLib.EngineTypes.state = _menhir_s;
16176 MenhirLib.EngineTypes.semv = Obj.repr _v;
16177 MenhirLib.EngineTypes.startp = _startpos;
16178 MenhirLib.EngineTypes.endp = _endpos;
16179 MenhirLib.EngineTypes.next = _menhir_stack;
16180 });
16181 (fun _menhir_env ->
16182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16183 let {
16184 MenhirLib.EngineTypes.state = _menhir_s;
16185 MenhirLib.EngineTypes.startp = _startpos__1_;
16186 MenhirLib.EngineTypes.endp = _endpos__1_;
16187 MenhirLib.EngineTypes.next = _menhir_stack;
16188 } = _menhir_stack in
16189 let _startpos = _startpos__1_ in
16190 let _endpos = _endpos__1_ in
16191 let _v : 'tv_exists =
16192 # 313 "parser_cocci_menhir.mly"
16193 ( Ast.Exists )
16194 # 16195 "parser_cocci_menhir.ml"
16195 in
16196 _menhir_env.MenhirLib.EngineTypes.stack <- {
16197 MenhirLib.EngineTypes.state = _menhir_s;
16198 MenhirLib.EngineTypes.semv = Obj.repr _v;
16199 MenhirLib.EngineTypes.startp = _startpos;
16200 MenhirLib.EngineTypes.endp = _endpos;
16201 MenhirLib.EngineTypes.next = _menhir_stack;
16202 });
16203 (fun _menhir_env ->
16204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16205 let {
16206 MenhirLib.EngineTypes.state = _menhir_s;
16207 MenhirLib.EngineTypes.startp = _startpos__1_;
16208 MenhirLib.EngineTypes.endp = _endpos__1_;
16209 MenhirLib.EngineTypes.next = _menhir_stack;
16210 } = _menhir_stack in
16211 let _startpos = _startpos__1_ in
16212 let _endpos = _endpos__1_ in
16213 let _v : 'tv_exists =
16214 # 314 "parser_cocci_menhir.mly"
16215 ( Ast.Forall )
16216 # 16217 "parser_cocci_menhir.ml"
16217 in
16218 _menhir_env.MenhirLib.EngineTypes.stack <- {
16219 MenhirLib.EngineTypes.state = _menhir_s;
16220 MenhirLib.EngineTypes.semv = Obj.repr _v;
16221 MenhirLib.EngineTypes.startp = _startpos;
16222 MenhirLib.EngineTypes.endp = _endpos;
16223 MenhirLib.EngineTypes.next = _menhir_stack;
16224 });
16225 (fun _menhir_env ->
16226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16227 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16228 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16229 let _endpos = _startpos in
16230 let _v : 'tv_exists =
16231 # 315 "parser_cocci_menhir.mly"
16232 ( Ast.Undetermined )
16233 # 16234 "parser_cocci_menhir.ml"
16234 in
16235 _menhir_env.MenhirLib.EngineTypes.stack <- {
16236 MenhirLib.EngineTypes.state = _menhir_s;
16237 MenhirLib.EngineTypes.semv = Obj.repr _v;
16238 MenhirLib.EngineTypes.startp = _startpos;
16239 MenhirLib.EngineTypes.endp = _endpos;
16240 MenhirLib.EngineTypes.next = _menhir_stack;
16241 });
16242 (fun _menhir_env ->
16243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16244 let {
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 } = _menhir_stack in
16251 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
16252 let _startpos = _startpos__1_ in
16253 let _endpos = _endpos__1_ in
16254 let _v : 'tv_expr =
16255 # 1372 "parser_cocci_menhir.mly"
16256 ( _1 )
16257 # 16258 "parser_cocci_menhir.ml"
16258 in
16259 _menhir_env.MenhirLib.EngineTypes.stack <- {
16260 MenhirLib.EngineTypes.state = _menhir_s;
16261 MenhirLib.EngineTypes.semv = Obj.repr _v;
16262 MenhirLib.EngineTypes.startp = _startpos;
16263 MenhirLib.EngineTypes.endp = _endpos;
16264 MenhirLib.EngineTypes.next = _menhir_stack;
16265 });
16266 (fun _menhir_env ->
16267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16268 let {
16269 MenhirLib.EngineTypes.state = _menhir_s;
16270 MenhirLib.EngineTypes.semv = r;
16271 MenhirLib.EngineTypes.startp = _startpos_r_;
16272 MenhirLib.EngineTypes.endp = _endpos_r_;
16273 MenhirLib.EngineTypes.next = _menhir_stack;
16274 } = _menhir_stack in
16275 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
16276 let _startpos = _startpos_r_ in
16277 let _endpos = _endpos_r_ in
16278 let _v : 'tv_expr_dots_TEllipsis_ =
16279 # 1609 "parser_cocci_menhir.mly"
16280 ( r )
16281 # 16282 "parser_cocci_menhir.ml"
16282 in
16283 _menhir_env.MenhirLib.EngineTypes.stack <- {
16284 MenhirLib.EngineTypes.state = _menhir_s;
16285 MenhirLib.EngineTypes.semv = Obj.repr _v;
16286 MenhirLib.EngineTypes.startp = _startpos;
16287 MenhirLib.EngineTypes.endp = _endpos;
16288 MenhirLib.EngineTypes.next = _menhir_stack;
16289 });
16290 (fun _menhir_env ->
16291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16292 let {
16293 MenhirLib.EngineTypes.state = _menhir_s;
16294 MenhirLib.EngineTypes.semv = m;
16295 MenhirLib.EngineTypes.startp = _startpos_m_;
16296 MenhirLib.EngineTypes.endp = _endpos_m_;
16297 MenhirLib.EngineTypes.next = _menhir_stack;
16298 } = _menhir_stack in
16299 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
16300 let _startpos = _startpos_m_ in
16301 let _endpos = _endpos_m_ in
16302 let _v : 'tv_expression_type =
16303 # 556 "parser_cocci_menhir.mly"
16304 ( P.ty_pointerify Type_cocci.Unknown m )
16305 # 16306 "parser_cocci_menhir.ml"
16306 in
16307 _menhir_env.MenhirLib.EngineTypes.stack <- {
16308 MenhirLib.EngineTypes.state = _menhir_s;
16309 MenhirLib.EngineTypes.semv = Obj.repr _v;
16310 MenhirLib.EngineTypes.startp = _startpos;
16311 MenhirLib.EngineTypes.endp = _endpos;
16312 MenhirLib.EngineTypes.next = _menhir_stack;
16313 });
16314 (fun _menhir_env ->
16315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16316 let {
16317 MenhirLib.EngineTypes.semv = m;
16318 MenhirLib.EngineTypes.startp = _startpos_m_;
16319 MenhirLib.EngineTypes.endp = _endpos_m_;
16320 MenhirLib.EngineTypes.next = {
16321 MenhirLib.EngineTypes.state = _menhir_s;
16322 MenhirLib.EngineTypes.startp = _startpos__1_;
16323 MenhirLib.EngineTypes.endp = _endpos__1_;
16324 MenhirLib.EngineTypes.next = _menhir_stack;
16325 };
16326 } = _menhir_stack in
16327 let m : 'tv_list_TMul_ = Obj.magic m in
16328 let _startpos = _startpos__1_ in
16329 let _endpos = _endpos_m_ in
16330 let _v : 'tv_expression_type =
16331 # 558 "parser_cocci_menhir.mly"
16332 ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
16333 # 16334 "parser_cocci_menhir.ml"
16334 in
16335 _menhir_env.MenhirLib.EngineTypes.stack <- {
16336 MenhirLib.EngineTypes.state = _menhir_s;
16337 MenhirLib.EngineTypes.semv = Obj.repr _v;
16338 MenhirLib.EngineTypes.startp = _startpos;
16339 MenhirLib.EngineTypes.endp = _endpos;
16340 MenhirLib.EngineTypes.next = _menhir_stack;
16341 });
16342 (fun _menhir_env ->
16343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16344 let {
16345 MenhirLib.EngineTypes.semv = m;
16346 MenhirLib.EngineTypes.startp = _startpos_m_;
16347 MenhirLib.EngineTypes.endp = _endpos_m_;
16348 MenhirLib.EngineTypes.next = {
16349 MenhirLib.EngineTypes.state = _menhir_s;
16350 MenhirLib.EngineTypes.startp = _startpos__1_;
16351 MenhirLib.EngineTypes.endp = _endpos__1_;
16352 MenhirLib.EngineTypes.next = _menhir_stack;
16353 };
16354 } = _menhir_stack in
16355 let m : 'tv_list_TMul_ = Obj.magic m in
16356 let _startpos = _startpos__1_ in
16357 let _endpos = _endpos_m_ in
16358 let _v : 'tv_expression_type =
16359 # 560 "parser_cocci_menhir.mly"
16360 ( P.ty_pointerify
16361 (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
16362 # 16363 "parser_cocci_menhir.ml"
16363 in
16364 _menhir_env.MenhirLib.EngineTypes.stack <- {
16365 MenhirLib.EngineTypes.state = _menhir_s;
16366 MenhirLib.EngineTypes.semv = Obj.repr _v;
16367 MenhirLib.EngineTypes.startp = _startpos;
16368 MenhirLib.EngineTypes.endp = _endpos;
16369 MenhirLib.EngineTypes.next = _menhir_stack;
16370 });
16371 (fun _menhir_env ->
16372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16373 let {
16374 MenhirLib.EngineTypes.semv = m;
16375 MenhirLib.EngineTypes.startp = _startpos_m_;
16376 MenhirLib.EngineTypes.endp = _endpos_m_;
16377 MenhirLib.EngineTypes.next = {
16378 MenhirLib.EngineTypes.state = _menhir_s;
16379 MenhirLib.EngineTypes.startp = _startpos__1_;
16380 MenhirLib.EngineTypes.endp = _endpos__1_;
16381 MenhirLib.EngineTypes.next = _menhir_stack;
16382 };
16383 } = _menhir_stack in
16384 let m : 'tv_list_TMul_ = Obj.magic m in
16385 let _startpos = _startpos__1_ in
16386 let _endpos = _endpos_m_ in
16387 let _v : 'tv_expression_type =
16388 # 563 "parser_cocci_menhir.mly"
16389 ( P.ty_pointerify
16390 (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
16391 # 16392 "parser_cocci_menhir.ml"
16392 in
16393 _menhir_env.MenhirLib.EngineTypes.stack <- {
16394 MenhirLib.EngineTypes.state = _menhir_s;
16395 MenhirLib.EngineTypes.semv = Obj.repr _v;
16396 MenhirLib.EngineTypes.startp = _startpos;
16397 MenhirLib.EngineTypes.endp = _endpos;
16398 MenhirLib.EngineTypes.next = _menhir_stack;
16399 });
16400 (fun _menhir_env ->
16401 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16402 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16403 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16404 let _endpos = _startpos in
16405 let _v : 'tv_extends =
16406 # 286 "parser_cocci_menhir.mly"
16407 ( () )
16408 # 16409 "parser_cocci_menhir.ml"
16409 in
16410 _menhir_env.MenhirLib.EngineTypes.stack <- {
16411 MenhirLib.EngineTypes.state = _menhir_s;
16412 MenhirLib.EngineTypes.semv = Obj.repr _v;
16413 MenhirLib.EngineTypes.startp = _startpos;
16414 MenhirLib.EngineTypes.endp = _endpos;
16415 MenhirLib.EngineTypes.next = _menhir_stack;
16416 });
16417 (fun _menhir_env ->
16418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16419 let {
16420 MenhirLib.EngineTypes.semv = parent;
16421 MenhirLib.EngineTypes.startp = _startpos_parent_;
16422 MenhirLib.EngineTypes.endp = _endpos_parent_;
16423 MenhirLib.EngineTypes.next = {
16424 MenhirLib.EngineTypes.state = _menhir_s;
16425 MenhirLib.EngineTypes.startp = _startpos__1_;
16426 MenhirLib.EngineTypes.endp = _endpos__1_;
16427 MenhirLib.EngineTypes.next = _menhir_stack;
16428 };
16429 } = _menhir_stack in
16430 let parent : (
16431 # 112 "parser_cocci_menhir.mly"
16432 (string)
16433 # 16434 "parser_cocci_menhir.ml"
16434 ) = Obj.magic parent in
16435 let _startpos = _startpos__1_ in
16436 let _endpos = _endpos_parent_ in
16437 let _v : 'tv_extends =
16438 # 288 "parser_cocci_menhir.mly"
16439 ( !Data.install_bindings (parent) )
16440 # 16441 "parser_cocci_menhir.ml"
16441 in
16442 _menhir_env.MenhirLib.EngineTypes.stack <- {
16443 MenhirLib.EngineTypes.state = _menhir_s;
16444 MenhirLib.EngineTypes.semv = Obj.repr _v;
16445 MenhirLib.EngineTypes.startp = _startpos;
16446 MenhirLib.EngineTypes.endp = _endpos;
16447 MenhirLib.EngineTypes.next = _menhir_stack;
16448 });
16449 (fun _menhir_env ->
16450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16451 let {
16452 MenhirLib.EngineTypes.semv = _2;
16453 MenhirLib.EngineTypes.startp = _startpos__2_;
16454 MenhirLib.EngineTypes.endp = _endpos__2_;
16455 MenhirLib.EngineTypes.next = {
16456 MenhirLib.EngineTypes.state = _menhir_s;
16457 MenhirLib.EngineTypes.semv = _1;
16458 MenhirLib.EngineTypes.startp = _startpos__1_;
16459 MenhirLib.EngineTypes.endp = _endpos__1_;
16460 MenhirLib.EngineTypes.next = _menhir_stack;
16461 };
16462 } = _menhir_stack in
16463 let _2 : (
16464 # 151 "parser_cocci_menhir.mly"
16465 (string * Data.clt)
16466 # 16467 "parser_cocci_menhir.ml"
16467 ) = Obj.magic _2 in
16468 let _1 : (
16469 # 151 "parser_cocci_menhir.mly"
16470 (string * Data.clt)
16471 # 16472 "parser_cocci_menhir.ml"
16472 ) = Obj.magic _1 in
16473 let _startpos = _startpos__1_ in
16474 let _endpos = _endpos__2_ in
16475 let _v : 'tv_filespec =
16476 # 828 "parser_cocci_menhir.mly"
16477 ( [Ast0.wrap
16478 (Ast0.FILEINFO(P.id2mcode _1,
16479 P.id2mcode _2))] )
16480 # 16481 "parser_cocci_menhir.ml"
16481 in
16482 _menhir_env.MenhirLib.EngineTypes.stack <- {
16483 MenhirLib.EngineTypes.state = _menhir_s;
16484 MenhirLib.EngineTypes.semv = Obj.repr _v;
16485 MenhirLib.EngineTypes.startp = _startpos;
16486 MenhirLib.EngineTypes.endp = _endpos;
16487 MenhirLib.EngineTypes.next = _menhir_stack;
16488 });
16489 (fun _menhir_env ->
16490 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16491 let {
16492 MenhirLib.EngineTypes.state = _menhir_s;
16493 MenhirLib.EngineTypes.semv = _1;
16494 MenhirLib.EngineTypes.startp = _startpos__1_;
16495 MenhirLib.EngineTypes.endp = _endpos__1_;
16496 MenhirLib.EngineTypes.next = _menhir_stack;
16497 } = _menhir_stack in
16498 let _1 : 'tv_disj_ident = Obj.magic _1 in
16499 let _startpos = _startpos__1_ in
16500 let _endpos = _endpos__1_ in
16501 let _v : 'tv_fn_ident =
16502 # 1867 "parser_cocci_menhir.mly"
16503 ( _1 )
16504 # 16505 "parser_cocci_menhir.ml"
16505 in
16506 _menhir_env.MenhirLib.EngineTypes.stack <- {
16507 MenhirLib.EngineTypes.state = _menhir_s;
16508 MenhirLib.EngineTypes.semv = Obj.repr _v;
16509 MenhirLib.EngineTypes.startp = _startpos;
16510 MenhirLib.EngineTypes.endp = _endpos;
16511 MenhirLib.EngineTypes.next = _menhir_stack;
16512 });
16513 (fun _menhir_env ->
16514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16515 let {
16516 MenhirLib.EngineTypes.state = _menhir_s;
16517 MenhirLib.EngineTypes.semv = _1;
16518 MenhirLib.EngineTypes.startp = _startpos__1_;
16519 MenhirLib.EngineTypes.endp = _endpos__1_;
16520 MenhirLib.EngineTypes.next = _menhir_stack;
16521 } = _menhir_stack in
16522 let _1 : (
16523 # 128 "parser_cocci_menhir.mly"
16524 (Parse_aux.idinfo)
16525 # 16526 "parser_cocci_menhir.ml"
16526 ) = Obj.magic _1 in
16527 let _startpos = _startpos__1_ in
16528 let _endpos = _endpos__1_ in
16529 let _v : 'tv_fn_ident =
16530 # 1869 "parser_cocci_menhir.mly"
16531 ( let (nm,constraints,pure,clt) = _1 in
16532 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
16533 # 16534 "parser_cocci_menhir.ml"
16534 in
16535 _menhir_env.MenhirLib.EngineTypes.stack <- {
16536 MenhirLib.EngineTypes.state = _menhir_s;
16537 MenhirLib.EngineTypes.semv = Obj.repr _v;
16538 MenhirLib.EngineTypes.startp = _startpos;
16539 MenhirLib.EngineTypes.endp = _endpos;
16540 MenhirLib.EngineTypes.next = _menhir_stack;
16541 });
16542 (fun _menhir_env ->
16543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16544 let {
16545 MenhirLib.EngineTypes.state = _menhir_s;
16546 MenhirLib.EngineTypes.semv = _1;
16547 MenhirLib.EngineTypes.startp = _startpos__1_;
16548 MenhirLib.EngineTypes.endp = _endpos__1_;
16549 MenhirLib.EngineTypes.next = _menhir_stack;
16550 } = _menhir_stack in
16551 let _1 : (
16552 # 128 "parser_cocci_menhir.mly"
16553 (Parse_aux.idinfo)
16554 # 16555 "parser_cocci_menhir.ml"
16555 ) = Obj.magic _1 in
16556 let _startpos = _startpos__1_ in
16557 let _endpos = _endpos__1_ in
16558 let _v : 'tv_fn_ident =
16559 # 1872 "parser_cocci_menhir.mly"
16560 ( let (nm,constraints,pure,clt) = _1 in
16561 Ast0.wrap
16562 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
16563 # 16564 "parser_cocci_menhir.ml"
16564 in
16565 _menhir_env.MenhirLib.EngineTypes.stack <- {
16566 MenhirLib.EngineTypes.state = _menhir_s;
16567 MenhirLib.EngineTypes.semv = Obj.repr _v;
16568 MenhirLib.EngineTypes.startp = _startpos;
16569 MenhirLib.EngineTypes.endp = _endpos;
16570 MenhirLib.EngineTypes.next = _menhir_stack;
16571 });
16572 (fun _menhir_env ->
16573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16574 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16575 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16576 let _endpos = _startpos in
16577 let _v : 'tv_fninfo =
16578 # 963 "parser_cocci_menhir.mly"
16579 ( [] )
16580 # 16581 "parser_cocci_menhir.ml"
16581 in
16582 _menhir_env.MenhirLib.EngineTypes.stack <- {
16583 MenhirLib.EngineTypes.state = _menhir_s;
16584 MenhirLib.EngineTypes.semv = Obj.repr _v;
16585 MenhirLib.EngineTypes.startp = _startpos;
16586 MenhirLib.EngineTypes.endp = _endpos;
16587 MenhirLib.EngineTypes.next = _menhir_stack;
16588 });
16589 (fun _menhir_env ->
16590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16591 let {
16592 MenhirLib.EngineTypes.semv = _2;
16593 MenhirLib.EngineTypes.startp = _startpos__2_;
16594 MenhirLib.EngineTypes.endp = _endpos__2_;
16595 MenhirLib.EngineTypes.next = {
16596 MenhirLib.EngineTypes.state = _menhir_s;
16597 MenhirLib.EngineTypes.semv = _1;
16598 MenhirLib.EngineTypes.startp = _startpos__1_;
16599 MenhirLib.EngineTypes.endp = _endpos__1_;
16600 MenhirLib.EngineTypes.next = _menhir_stack;
16601 };
16602 } = _menhir_stack in
16603 let _2 : 'tv_fninfo = Obj.magic _2 in
16604 let _1 : 'tv_storage = Obj.magic _1 in
16605 let _startpos = _startpos__1_ in
16606 let _endpos = _endpos__2_ in
16607 let _v : 'tv_fninfo =
16608 # 965 "parser_cocci_menhir.mly"
16609 ( try
16610 let _ =
16611 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
16612 raise (Semantic_cocci.Semantic "duplicate storage")
16613 with Not_found -> (Ast0.FStorage(_1))::_2 )
16614 # 16615 "parser_cocci_menhir.ml"
16615 in
16616 _menhir_env.MenhirLib.EngineTypes.stack <- {
16617 MenhirLib.EngineTypes.state = _menhir_s;
16618 MenhirLib.EngineTypes.semv = Obj.repr _v;
16619 MenhirLib.EngineTypes.startp = _startpos;
16620 MenhirLib.EngineTypes.endp = _endpos;
16621 MenhirLib.EngineTypes.next = _menhir_stack;
16622 });
16623 (fun _menhir_env ->
16624 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16625 let {
16626 MenhirLib.EngineTypes.semv = r;
16627 MenhirLib.EngineTypes.startp = _startpos_r_;
16628 MenhirLib.EngineTypes.endp = _endpos_r_;
16629 MenhirLib.EngineTypes.next = {
16630 MenhirLib.EngineTypes.state = _menhir_s;
16631 MenhirLib.EngineTypes.semv = t;
16632 MenhirLib.EngineTypes.startp = _startpos_t_;
16633 MenhirLib.EngineTypes.endp = _endpos_t_;
16634 MenhirLib.EngineTypes.next = _menhir_stack;
16635 };
16636 } = _menhir_stack in
16637 let r : 'tv_fninfo_nt = Obj.magic r in
16638 let t : 'tv_ctype = Obj.magic t in
16639 let _startpos = _startpos_t_ in
16640 let _endpos = _endpos_r_ in
16641 let _v : 'tv_fninfo =
16642 # 970 "parser_cocci_menhir.mly"
16643 ( (Ast0.FType(t))::r )
16644 # 16645 "parser_cocci_menhir.ml"
16645 in
16646 _menhir_env.MenhirLib.EngineTypes.stack <- {
16647 MenhirLib.EngineTypes.state = _menhir_s;
16648 MenhirLib.EngineTypes.semv = Obj.repr _v;
16649 MenhirLib.EngineTypes.startp = _startpos;
16650 MenhirLib.EngineTypes.endp = _endpos;
16651 MenhirLib.EngineTypes.next = _menhir_stack;
16652 });
16653 (fun _menhir_env ->
16654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16655 let {
16656 MenhirLib.EngineTypes.semv = _2;
16657 MenhirLib.EngineTypes.startp = _startpos__2_;
16658 MenhirLib.EngineTypes.endp = _endpos__2_;
16659 MenhirLib.EngineTypes.next = {
16660 MenhirLib.EngineTypes.state = _menhir_s;
16661 MenhirLib.EngineTypes.semv = _1;
16662 MenhirLib.EngineTypes.startp = _startpos__1_;
16663 MenhirLib.EngineTypes.endp = _endpos__1_;
16664 MenhirLib.EngineTypes.next = _menhir_stack;
16665 };
16666 } = _menhir_stack in
16667 let _2 : 'tv_fninfo = Obj.magic _2 in
16668 let _1 : (
16669 # 119 "parser_cocci_menhir.mly"
16670 (Data.clt)
16671 # 16672 "parser_cocci_menhir.ml"
16672 ) = Obj.magic _1 in
16673 let _startpos = _startpos__1_ in
16674 let _endpos = _endpos__2_ in
16675 let _v : 'tv_fninfo =
16676 # 972 "parser_cocci_menhir.mly"
16677 ( try
16678 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
16679 raise (Semantic_cocci.Semantic "duplicate inline")
16680 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
16681 # 16682 "parser_cocci_menhir.ml"
16682 in
16683 _menhir_env.MenhirLib.EngineTypes.stack <- {
16684 MenhirLib.EngineTypes.state = _menhir_s;
16685 MenhirLib.EngineTypes.semv = Obj.repr _v;
16686 MenhirLib.EngineTypes.startp = _startpos;
16687 MenhirLib.EngineTypes.endp = _endpos;
16688 MenhirLib.EngineTypes.next = _menhir_stack;
16689 });
16690 (fun _menhir_env ->
16691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16692 let {
16693 MenhirLib.EngineTypes.semv = _2;
16694 MenhirLib.EngineTypes.startp = _startpos__2_;
16695 MenhirLib.EngineTypes.endp = _endpos__2_;
16696 MenhirLib.EngineTypes.next = {
16697 MenhirLib.EngineTypes.state = _menhir_s;
16698 MenhirLib.EngineTypes.semv = _1;
16699 MenhirLib.EngineTypes.startp = _startpos__1_;
16700 MenhirLib.EngineTypes.endp = _endpos__1_;
16701 MenhirLib.EngineTypes.next = _menhir_stack;
16702 };
16703 } = _menhir_stack in
16704 let _2 : 'tv_fninfo = Obj.magic _2 in
16705 let _1 : (
16706 # 121 "parser_cocci_menhir.mly"
16707 (string * Data.clt)
16708 # 16709 "parser_cocci_menhir.ml"
16709 ) = Obj.magic _1 in
16710 let _startpos = _startpos__1_ in
16711 let _endpos = _endpos__2_ in
16712 let _v : 'tv_fninfo =
16713 # 977 "parser_cocci_menhir.mly"
16714 ( try
16715 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
16716 raise (Semantic_cocci.Semantic "multiple attributes")
16717 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
16718 # 16719 "parser_cocci_menhir.ml"
16719 in
16720 _menhir_env.MenhirLib.EngineTypes.stack <- {
16721 MenhirLib.EngineTypes.state = _menhir_s;
16722 MenhirLib.EngineTypes.semv = Obj.repr _v;
16723 MenhirLib.EngineTypes.startp = _startpos;
16724 MenhirLib.EngineTypes.endp = _endpos;
16725 MenhirLib.EngineTypes.next = _menhir_stack;
16726 });
16727 (fun _menhir_env ->
16728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16729 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16730 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16731 let _endpos = _startpos in
16732 let _v : 'tv_fninfo_nt =
16733 # 983 "parser_cocci_menhir.mly"
16734 ( [] )
16735 # 16736 "parser_cocci_menhir.ml"
16736 in
16737 _menhir_env.MenhirLib.EngineTypes.stack <- {
16738 MenhirLib.EngineTypes.state = _menhir_s;
16739 MenhirLib.EngineTypes.semv = Obj.repr _v;
16740 MenhirLib.EngineTypes.startp = _startpos;
16741 MenhirLib.EngineTypes.endp = _endpos;
16742 MenhirLib.EngineTypes.next = _menhir_stack;
16743 });
16744 (fun _menhir_env ->
16745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16746 let {
16747 MenhirLib.EngineTypes.semv = _2;
16748 MenhirLib.EngineTypes.startp = _startpos__2_;
16749 MenhirLib.EngineTypes.endp = _endpos__2_;
16750 MenhirLib.EngineTypes.next = {
16751 MenhirLib.EngineTypes.state = _menhir_s;
16752 MenhirLib.EngineTypes.semv = _1;
16753 MenhirLib.EngineTypes.startp = _startpos__1_;
16754 MenhirLib.EngineTypes.endp = _endpos__1_;
16755 MenhirLib.EngineTypes.next = _menhir_stack;
16756 };
16757 } = _menhir_stack in
16758 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
16759 let _1 : 'tv_storage = Obj.magic _1 in
16760 let _startpos = _startpos__1_ in
16761 let _endpos = _endpos__2_ in
16762 let _v : 'tv_fninfo_nt =
16763 # 985 "parser_cocci_menhir.mly"
16764 ( try
16765 let _ =
16766 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
16767 raise (Semantic_cocci.Semantic "duplicate storage")
16768 with Not_found -> (Ast0.FStorage(_1))::_2 )
16769 # 16770 "parser_cocci_menhir.ml"
16770 in
16771 _menhir_env.MenhirLib.EngineTypes.stack <- {
16772 MenhirLib.EngineTypes.state = _menhir_s;
16773 MenhirLib.EngineTypes.semv = Obj.repr _v;
16774 MenhirLib.EngineTypes.startp = _startpos;
16775 MenhirLib.EngineTypes.endp = _endpos;
16776 MenhirLib.EngineTypes.next = _menhir_stack;
16777 });
16778 (fun _menhir_env ->
16779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16780 let {
16781 MenhirLib.EngineTypes.semv = _2;
16782 MenhirLib.EngineTypes.startp = _startpos__2_;
16783 MenhirLib.EngineTypes.endp = _endpos__2_;
16784 MenhirLib.EngineTypes.next = {
16785 MenhirLib.EngineTypes.state = _menhir_s;
16786 MenhirLib.EngineTypes.semv = _1;
16787 MenhirLib.EngineTypes.startp = _startpos__1_;
16788 MenhirLib.EngineTypes.endp = _endpos__1_;
16789 MenhirLib.EngineTypes.next = _menhir_stack;
16790 };
16791 } = _menhir_stack in
16792 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
16793 let _1 : (
16794 # 119 "parser_cocci_menhir.mly"
16795 (Data.clt)
16796 # 16797 "parser_cocci_menhir.ml"
16797 ) = Obj.magic _1 in
16798 let _startpos = _startpos__1_ in
16799 let _endpos = _endpos__2_ in
16800 let _v : 'tv_fninfo_nt =
16801 # 991 "parser_cocci_menhir.mly"
16802 ( try
16803 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
16804 raise (Semantic_cocci.Semantic "duplicate inline")
16805 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
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_fninfo_nt = Obj.magic _2 in
16830 let _1 : (
16831 # 121 "parser_cocci_menhir.mly"
16832 (string * Data.clt)
16833 # 16834 "parser_cocci_menhir.ml"
16834 ) = Obj.magic _1 in
16835 let _startpos = _startpos__1_ in
16836 let _endpos = _endpos__2_ in
16837 let _v : 'tv_fninfo_nt =
16838 # 996 "parser_cocci_menhir.mly"
16839 ( try
16840 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
16841 raise (Semantic_cocci.Semantic "duplicate init")
16842 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
16843 # 16844 "parser_cocci_menhir.ml"
16844 in
16845 _menhir_env.MenhirLib.EngineTypes.stack <- {
16846 MenhirLib.EngineTypes.state = _menhir_s;
16847 MenhirLib.EngineTypes.semv = Obj.repr _v;
16848 MenhirLib.EngineTypes.startp = _startpos;
16849 MenhirLib.EngineTypes.endp = _endpos;
16850 MenhirLib.EngineTypes.next = _menhir_stack;
16851 });
16852 (fun _menhir_env ->
16853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16854 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16855 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16856 let _endpos = _startpos in
16857 let _v : 'tv_fun_after_dots =
16858 # 2125 "parser_cocci_menhir.mly"
16859 ([])
16860 # 16861 "parser_cocci_menhir.ml"
16861 in
16862 _menhir_env.MenhirLib.EngineTypes.stack <- {
16863 MenhirLib.EngineTypes.state = _menhir_s;
16864 MenhirLib.EngineTypes.semv = Obj.repr _v;
16865 MenhirLib.EngineTypes.startp = _startpos;
16866 MenhirLib.EngineTypes.endp = _endpos;
16867 MenhirLib.EngineTypes.next = _menhir_stack;
16868 });
16869 (fun _menhir_env ->
16870 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16871 let {
16872 MenhirLib.EngineTypes.semv = _2;
16873 MenhirLib.EngineTypes.startp = _startpos__2_;
16874 MenhirLib.EngineTypes.endp = _endpos__2_;
16875 MenhirLib.EngineTypes.next = {
16876 MenhirLib.EngineTypes.state = _menhir_s;
16877 MenhirLib.EngineTypes.startp = _startpos__1_;
16878 MenhirLib.EngineTypes.endp = _endpos__1_;
16879 MenhirLib.EngineTypes.next = _menhir_stack;
16880 };
16881 } = _menhir_stack in
16882 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
16883 let _startpos = _startpos__1_ in
16884 let _endpos = _endpos__2_ in
16885 let _v : 'tv_fun_after_dots =
16886 # 2126 "parser_cocci_menhir.mly"
16887 (_2)
16888 # 16889 "parser_cocci_menhir.ml"
16889 in
16890 _menhir_env.MenhirLib.EngineTypes.stack <- {
16891 MenhirLib.EngineTypes.state = _menhir_s;
16892 MenhirLib.EngineTypes.semv = Obj.repr _v;
16893 MenhirLib.EngineTypes.startp = _startpos;
16894 MenhirLib.EngineTypes.endp = _endpos;
16895 MenhirLib.EngineTypes.next = _menhir_stack;
16896 });
16897 (fun _menhir_env ->
16898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16899 let {
16900 MenhirLib.EngineTypes.semv = _2;
16901 MenhirLib.EngineTypes.startp = _startpos__2_;
16902 MenhirLib.EngineTypes.endp = _endpos__2_;
16903 MenhirLib.EngineTypes.next = {
16904 MenhirLib.EngineTypes.state = _menhir_s;
16905 MenhirLib.EngineTypes.semv = _1;
16906 MenhirLib.EngineTypes.startp = _startpos__1_;
16907 MenhirLib.EngineTypes.endp = _endpos__1_;
16908 MenhirLib.EngineTypes.next = _menhir_stack;
16909 };
16910 } = _menhir_stack in
16911 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
16912 let _1 : 'tv_expr = Obj.magic _1 in
16913 let _startpos = _startpos__1_ in
16914 let _endpos = _endpos__2_ in
16915 let _v : 'tv_fun_after_dots =
16916 # 2127 "parser_cocci_menhir.mly"
16917 (Ast0.wrap(Ast0.Exp(_1))::_2)
16918 # 16919 "parser_cocci_menhir.ml"
16919 in
16920 _menhir_env.MenhirLib.EngineTypes.stack <- {
16921 MenhirLib.EngineTypes.state = _menhir_s;
16922 MenhirLib.EngineTypes.semv = Obj.repr _v;
16923 MenhirLib.EngineTypes.startp = _startpos;
16924 MenhirLib.EngineTypes.endp = _endpos;
16925 MenhirLib.EngineTypes.next = _menhir_stack;
16926 });
16927 (fun _menhir_env ->
16928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16929 let {
16930 MenhirLib.EngineTypes.semv = _2;
16931 MenhirLib.EngineTypes.startp = _startpos__2_;
16932 MenhirLib.EngineTypes.endp = _endpos__2_;
16933 MenhirLib.EngineTypes.next = {
16934 MenhirLib.EngineTypes.state = _menhir_s;
16935 MenhirLib.EngineTypes.semv = _1;
16936 MenhirLib.EngineTypes.startp = _startpos__1_;
16937 MenhirLib.EngineTypes.endp = _endpos__1_;
16938 MenhirLib.EngineTypes.next = _menhir_stack;
16939 };
16940 } = _menhir_stack in
16941 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
16942 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
16943 let _startpos = _startpos__1_ in
16944 let _endpos = _endpos__2_ in
16945 let _v : 'tv_fun_after_dots =
16946 # 2128 "parser_cocci_menhir.mly"
16947 (_1@_2)
16948 # 16949 "parser_cocci_menhir.ml"
16949 in
16950 _menhir_env.MenhirLib.EngineTypes.stack <- {
16951 MenhirLib.EngineTypes.state = _menhir_s;
16952 MenhirLib.EngineTypes.semv = Obj.repr _v;
16953 MenhirLib.EngineTypes.startp = _startpos;
16954 MenhirLib.EngineTypes.endp = _endpos;
16955 MenhirLib.EngineTypes.next = _menhir_stack;
16956 });
16957 (fun _menhir_env ->
16958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16959 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16960 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16961 let _endpos = _startpos in
16962 let _v : 'tv_fun_after_dots_or =
16963 # 2135 "parser_cocci_menhir.mly"
16964 ([])
16965 # 16966 "parser_cocci_menhir.ml"
16966 in
16967 _menhir_env.MenhirLib.EngineTypes.stack <- {
16968 MenhirLib.EngineTypes.state = _menhir_s;
16969 MenhirLib.EngineTypes.semv = Obj.repr _v;
16970 MenhirLib.EngineTypes.startp = _startpos;
16971 MenhirLib.EngineTypes.endp = _endpos;
16972 MenhirLib.EngineTypes.next = _menhir_stack;
16973 });
16974 (fun _menhir_env ->
16975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16976 let {
16977 MenhirLib.EngineTypes.semv = _2;
16978 MenhirLib.EngineTypes.startp = _startpos__2_;
16979 MenhirLib.EngineTypes.endp = _endpos__2_;
16980 MenhirLib.EngineTypes.next = {
16981 MenhirLib.EngineTypes.state = _menhir_s;
16982 MenhirLib.EngineTypes.startp = _startpos__1_;
16983 MenhirLib.EngineTypes.endp = _endpos__1_;
16984 MenhirLib.EngineTypes.next = _menhir_stack;
16985 };
16986 } = _menhir_stack in
16987 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
16988 let _startpos = _startpos__1_ in
16989 let _endpos = _endpos__2_ in
16990 let _v : 'tv_fun_after_dots_or =
16991 # 2136 "parser_cocci_menhir.mly"
16992 (_2)
16993 # 16994 "parser_cocci_menhir.ml"
16994 in
16995 _menhir_env.MenhirLib.EngineTypes.stack <- {
16996 MenhirLib.EngineTypes.state = _menhir_s;
16997 MenhirLib.EngineTypes.semv = Obj.repr _v;
16998 MenhirLib.EngineTypes.startp = _startpos;
16999 MenhirLib.EngineTypes.endp = _endpos;
17000 MenhirLib.EngineTypes.next = _menhir_stack;
17001 });
17002 (fun _menhir_env ->
17003 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17004 let {
17005 MenhirLib.EngineTypes.semv = _2;
17006 MenhirLib.EngineTypes.startp = _startpos__2_;
17007 MenhirLib.EngineTypes.endp = _endpos__2_;
17008 MenhirLib.EngineTypes.next = {
17009 MenhirLib.EngineTypes.state = _menhir_s;
17010 MenhirLib.EngineTypes.semv = _1;
17011 MenhirLib.EngineTypes.startp = _startpos__1_;
17012 MenhirLib.EngineTypes.endp = _endpos__1_;
17013 MenhirLib.EngineTypes.next = _menhir_stack;
17014 };
17015 } = _menhir_stack in
17016 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
17017 let _1 : 'tv_expr = Obj.magic _1 in
17018 let _startpos = _startpos__1_ in
17019 let _endpos = _endpos__2_ in
17020 let _v : 'tv_fun_after_dots_or =
17021 # 2137 "parser_cocci_menhir.mly"
17022 (Ast0.wrap(Ast0.Exp(_1))::_2)
17023 # 17024 "parser_cocci_menhir.ml"
17024 in
17025 _menhir_env.MenhirLib.EngineTypes.stack <- {
17026 MenhirLib.EngineTypes.state = _menhir_s;
17027 MenhirLib.EngineTypes.semv = Obj.repr _v;
17028 MenhirLib.EngineTypes.startp = _startpos;
17029 MenhirLib.EngineTypes.endp = _endpos;
17030 MenhirLib.EngineTypes.next = _menhir_stack;
17031 });
17032 (fun _menhir_env ->
17033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17034 let {
17035 MenhirLib.EngineTypes.semv = _2;
17036 MenhirLib.EngineTypes.startp = _startpos__2_;
17037 MenhirLib.EngineTypes.endp = _endpos__2_;
17038 MenhirLib.EngineTypes.next = {
17039 MenhirLib.EngineTypes.state = _menhir_s;
17040 MenhirLib.EngineTypes.semv = _1;
17041 MenhirLib.EngineTypes.startp = _startpos__1_;
17042 MenhirLib.EngineTypes.endp = _endpos__1_;
17043 MenhirLib.EngineTypes.next = _menhir_stack;
17044 };
17045 } = _menhir_stack in
17046 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
17047 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
17048 let _startpos = _startpos__1_ in
17049 let _endpos = _endpos__2_ in
17050 let _v : 'tv_fun_after_dots_or =
17051 # 2138 "parser_cocci_menhir.mly"
17052 (_1@_2)
17053 # 17054 "parser_cocci_menhir.ml"
17054 in
17055 _menhir_env.MenhirLib.EngineTypes.stack <- {
17056 MenhirLib.EngineTypes.state = _menhir_s;
17057 MenhirLib.EngineTypes.semv = Obj.repr _v;
17058 MenhirLib.EngineTypes.startp = _startpos;
17059 MenhirLib.EngineTypes.endp = _endpos;
17060 MenhirLib.EngineTypes.next = _menhir_stack;
17061 });
17062 (fun _menhir_env ->
17063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17064 let {
17065 MenhirLib.EngineTypes.semv = _2;
17066 MenhirLib.EngineTypes.startp = _startpos__2_;
17067 MenhirLib.EngineTypes.endp = _endpos__2_;
17068 MenhirLib.EngineTypes.next = {
17069 MenhirLib.EngineTypes.state = _menhir_s;
17070 MenhirLib.EngineTypes.semv = _1;
17071 MenhirLib.EngineTypes.startp = _startpos__1_;
17072 MenhirLib.EngineTypes.endp = _endpos__1_;
17073 MenhirLib.EngineTypes.next = _menhir_stack;
17074 };
17075 } = _menhir_stack in
17076 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
17077 let _1 : 'tv_stm_dots = Obj.magic _1 in
17078 let _startpos = _startpos__1_ in
17079 let _endpos = _endpos__2_ in
17080 let _v : 'tv_fun_after_exp =
17081 # 2131 "parser_cocci_menhir.mly"
17082 (_1::_2)
17083 # 17084 "parser_cocci_menhir.ml"
17084 in
17085 _menhir_env.MenhirLib.EngineTypes.stack <- {
17086 MenhirLib.EngineTypes.state = _menhir_s;
17087 MenhirLib.EngineTypes.semv = Obj.repr _v;
17088 MenhirLib.EngineTypes.startp = _startpos;
17089 MenhirLib.EngineTypes.endp = _endpos;
17090 MenhirLib.EngineTypes.next = _menhir_stack;
17091 });
17092 (fun _menhir_env ->
17093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17094 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17095 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17096 let _endpos = _startpos in
17097 let _v : 'tv_fun_after_exp_or =
17098 # 2141 "parser_cocci_menhir.mly"
17099 ([])
17100 # 17101 "parser_cocci_menhir.ml"
17101 in
17102 _menhir_env.MenhirLib.EngineTypes.stack <- {
17103 MenhirLib.EngineTypes.state = _menhir_s;
17104 MenhirLib.EngineTypes.semv = Obj.repr _v;
17105 MenhirLib.EngineTypes.startp = _startpos;
17106 MenhirLib.EngineTypes.endp = _endpos;
17107 MenhirLib.EngineTypes.next = _menhir_stack;
17108 });
17109 (fun _menhir_env ->
17110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17111 let {
17112 MenhirLib.EngineTypes.semv = _2;
17113 MenhirLib.EngineTypes.startp = _startpos__2_;
17114 MenhirLib.EngineTypes.endp = _endpos__2_;
17115 MenhirLib.EngineTypes.next = {
17116 MenhirLib.EngineTypes.state = _menhir_s;
17117 MenhirLib.EngineTypes.semv = _1;
17118 MenhirLib.EngineTypes.startp = _startpos__1_;
17119 MenhirLib.EngineTypes.endp = _endpos__1_;
17120 MenhirLib.EngineTypes.next = _menhir_stack;
17121 };
17122 } = _menhir_stack in
17123 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
17124 let _1 : 'tv_stm_dots = Obj.magic _1 in
17125 let _startpos = _startpos__1_ in
17126 let _endpos = _endpos__2_ in
17127 let _v : 'tv_fun_after_exp_or =
17128 # 2142 "parser_cocci_menhir.mly"
17129 (_1::_2)
17130 # 17131 "parser_cocci_menhir.ml"
17131 in
17132 _menhir_env.MenhirLib.EngineTypes.stack <- {
17133 MenhirLib.EngineTypes.state = _menhir_s;
17134 MenhirLib.EngineTypes.semv = Obj.repr _v;
17135 MenhirLib.EngineTypes.startp = _startpos;
17136 MenhirLib.EngineTypes.endp = _endpos;
17137 MenhirLib.EngineTypes.next = _menhir_stack;
17138 });
17139 (fun _menhir_env ->
17140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17141 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17142 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17143 let _endpos = _startpos in
17144 let _v : 'tv_fun_after_stm =
17145 # 2120 "parser_cocci_menhir.mly"
17146 ([])
17147 # 17148 "parser_cocci_menhir.ml"
17148 in
17149 _menhir_env.MenhirLib.EngineTypes.stack <- {
17150 MenhirLib.EngineTypes.state = _menhir_s;
17151 MenhirLib.EngineTypes.semv = Obj.repr _v;
17152 MenhirLib.EngineTypes.startp = _startpos;
17153 MenhirLib.EngineTypes.endp = _endpos;
17154 MenhirLib.EngineTypes.next = _menhir_stack;
17155 });
17156 (fun _menhir_env ->
17157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17158 let {
17159 MenhirLib.EngineTypes.semv = _2;
17160 MenhirLib.EngineTypes.startp = _startpos__2_;
17161 MenhirLib.EngineTypes.endp = _endpos__2_;
17162 MenhirLib.EngineTypes.next = {
17163 MenhirLib.EngineTypes.state = _menhir_s;
17164 MenhirLib.EngineTypes.semv = _1;
17165 MenhirLib.EngineTypes.startp = _startpos__1_;
17166 MenhirLib.EngineTypes.endp = _endpos__1_;
17167 MenhirLib.EngineTypes.next = _menhir_stack;
17168 };
17169 } = _menhir_stack in
17170 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
17171 let _1 : 'tv_stm_dots = Obj.magic _1 in
17172 let _startpos = _startpos__1_ in
17173 let _endpos = _endpos__2_ in
17174 let _v : 'tv_fun_after_stm =
17175 # 2121 "parser_cocci_menhir.mly"
17176 (_1::_2)
17177 # 17178 "parser_cocci_menhir.ml"
17178 in
17179 _menhir_env.MenhirLib.EngineTypes.stack <- {
17180 MenhirLib.EngineTypes.state = _menhir_s;
17181 MenhirLib.EngineTypes.semv = Obj.repr _v;
17182 MenhirLib.EngineTypes.startp = _startpos;
17183 MenhirLib.EngineTypes.endp = _endpos;
17184 MenhirLib.EngineTypes.next = _menhir_stack;
17185 });
17186 (fun _menhir_env ->
17187 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17188 let {
17189 MenhirLib.EngineTypes.semv = _2;
17190 MenhirLib.EngineTypes.startp = _startpos__2_;
17191 MenhirLib.EngineTypes.endp = _endpos__2_;
17192 MenhirLib.EngineTypes.next = {
17193 MenhirLib.EngineTypes.state = _menhir_s;
17194 MenhirLib.EngineTypes.semv = _1;
17195 MenhirLib.EngineTypes.startp = _startpos__1_;
17196 MenhirLib.EngineTypes.endp = _endpos__1_;
17197 MenhirLib.EngineTypes.next = _menhir_stack;
17198 };
17199 } = _menhir_stack in
17200 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
17201 let _1 : 'tv_decl_statement = Obj.magic _1 in
17202 let _startpos = _startpos__1_ in
17203 let _endpos = _endpos__2_ in
17204 let _v : 'tv_fun_after_stm =
17205 # 2122 "parser_cocci_menhir.mly"
17206 (_1@_2)
17207 # 17208 "parser_cocci_menhir.ml"
17208 in
17209 _menhir_env.MenhirLib.EngineTypes.stack <- {
17210 MenhirLib.EngineTypes.state = _menhir_s;
17211 MenhirLib.EngineTypes.semv = Obj.repr _v;
17212 MenhirLib.EngineTypes.startp = _startpos;
17213 MenhirLib.EngineTypes.endp = _endpos;
17214 MenhirLib.EngineTypes.next = _menhir_stack;
17215 });
17216 (fun _menhir_env ->
17217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17218 let {
17219 MenhirLib.EngineTypes.state = _menhir_s;
17220 MenhirLib.EngineTypes.semv = _1;
17221 MenhirLib.EngineTypes.startp = _startpos__1_;
17222 MenhirLib.EngineTypes.endp = _endpos__1_;
17223 MenhirLib.EngineTypes.next = _menhir_stack;
17224 } = _menhir_stack in
17225 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
17226 let _startpos = _startpos__1_ in
17227 let _endpos = _endpos__1_ in
17228 let _v : 'tv_fun_start =
17229 # 2117 "parser_cocci_menhir.mly"
17230 ( Ast0.wrap(Ast0.DOTS(_1)) )
17231 # 17232 "parser_cocci_menhir.ml"
17232 in
17233 _menhir_env.MenhirLib.EngineTypes.stack <- {
17234 MenhirLib.EngineTypes.state = _menhir_s;
17235 MenhirLib.EngineTypes.semv = Obj.repr _v;
17236 MenhirLib.EngineTypes.startp = _startpos;
17237 MenhirLib.EngineTypes.endp = _endpos;
17238 MenhirLib.EngineTypes.next = _menhir_stack;
17239 });
17240 (fun _menhir_env ->
17241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17242 let {
17243 MenhirLib.EngineTypes.state = _menhir_s;
17244 MenhirLib.EngineTypes.semv = _1;
17245 MenhirLib.EngineTypes.startp = _startpos__1_;
17246 MenhirLib.EngineTypes.endp = _endpos__1_;
17247 MenhirLib.EngineTypes.next = _menhir_stack;
17248 } = _menhir_stack in
17249 let _1 : 'tv_ident = Obj.magic _1 in
17250 let _startpos = _startpos__1_ in
17251 let _endpos = _endpos__1_ in
17252 let _v : 'tv_func_ident =
17253 # 1858 "parser_cocci_menhir.mly"
17254 ( _1 )
17255 # 17256 "parser_cocci_menhir.ml"
17256 in
17257 _menhir_env.MenhirLib.EngineTypes.stack <- {
17258 MenhirLib.EngineTypes.state = _menhir_s;
17259 MenhirLib.EngineTypes.semv = Obj.repr _v;
17260 MenhirLib.EngineTypes.startp = _startpos;
17261 MenhirLib.EngineTypes.endp = _endpos;
17262 MenhirLib.EngineTypes.next = _menhir_stack;
17263 });
17264 (fun _menhir_env ->
17265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17266 let {
17267 MenhirLib.EngineTypes.state = _menhir_s;
17268 MenhirLib.EngineTypes.semv = _1;
17269 MenhirLib.EngineTypes.startp = _startpos__1_;
17270 MenhirLib.EngineTypes.endp = _endpos__1_;
17271 MenhirLib.EngineTypes.next = _menhir_stack;
17272 } = _menhir_stack in
17273 let _1 : (
17274 # 128 "parser_cocci_menhir.mly"
17275 (Parse_aux.idinfo)
17276 # 17277 "parser_cocci_menhir.ml"
17277 ) = Obj.magic _1 in
17278 let _startpos = _startpos__1_ in
17279 let _endpos = _endpos__1_ in
17280 let _v : 'tv_func_ident =
17281 # 1860 "parser_cocci_menhir.mly"
17282 ( let (nm,constraints,pure,clt) = _1 in
17283 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
17284 # 17285 "parser_cocci_menhir.ml"
17285 in
17286 _menhir_env.MenhirLib.EngineTypes.stack <- {
17287 MenhirLib.EngineTypes.state = _menhir_s;
17288 MenhirLib.EngineTypes.semv = Obj.repr _v;
17289 MenhirLib.EngineTypes.startp = _startpos;
17290 MenhirLib.EngineTypes.endp = _endpos;
17291 MenhirLib.EngineTypes.next = _menhir_stack;
17292 });
17293 (fun _menhir_env ->
17294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17295 let {
17296 MenhirLib.EngineTypes.state = _menhir_s;
17297 MenhirLib.EngineTypes.semv = _1;
17298 MenhirLib.EngineTypes.startp = _startpos__1_;
17299 MenhirLib.EngineTypes.endp = _endpos__1_;
17300 MenhirLib.EngineTypes.next = _menhir_stack;
17301 } = _menhir_stack in
17302 let _1 : (
17303 # 128 "parser_cocci_menhir.mly"
17304 (Parse_aux.idinfo)
17305 # 17306 "parser_cocci_menhir.ml"
17306 ) = Obj.magic _1 in
17307 let _startpos = _startpos__1_ in
17308 let _endpos = _endpos__1_ in
17309 let _v : 'tv_func_ident =
17310 # 1863 "parser_cocci_menhir.mly"
17311 ( let (nm,constraints,pure,clt) = _1 in
17312 Ast0.wrap
17313 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
17314 # 17315 "parser_cocci_menhir.ml"
17315 in
17316 _menhir_env.MenhirLib.EngineTypes.stack <- {
17317 MenhirLib.EngineTypes.state = _menhir_s;
17318 MenhirLib.EngineTypes.semv = Obj.repr _v;
17319 MenhirLib.EngineTypes.startp = _startpos;
17320 MenhirLib.EngineTypes.endp = _endpos;
17321 MenhirLib.EngineTypes.next = _menhir_stack;
17322 });
17323 (fun _menhir_env ->
17324 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17325 let {
17326 MenhirLib.EngineTypes.semv = rb;
17327 MenhirLib.EngineTypes.startp = _startpos_rb_;
17328 MenhirLib.EngineTypes.endp = _endpos_rb_;
17329 MenhirLib.EngineTypes.next = {
17330 MenhirLib.EngineTypes.semv = b;
17331 MenhirLib.EngineTypes.startp = _startpos_b_;
17332 MenhirLib.EngineTypes.endp = _endpos_b_;
17333 MenhirLib.EngineTypes.next = {
17334 MenhirLib.EngineTypes.semv = lb;
17335 MenhirLib.EngineTypes.startp = _startpos_lb_;
17336 MenhirLib.EngineTypes.endp = _endpos_lb_;
17337 MenhirLib.EngineTypes.next = {
17338 MenhirLib.EngineTypes.semv = rp;
17339 MenhirLib.EngineTypes.startp = _startpos_rp_;
17340 MenhirLib.EngineTypes.endp = _endpos_rp_;
17341 MenhirLib.EngineTypes.next = {
17342 MenhirLib.EngineTypes.semv = d;
17343 MenhirLib.EngineTypes.startp = _startpos_d_;
17344 MenhirLib.EngineTypes.endp = _endpos_d_;
17345 MenhirLib.EngineTypes.next = {
17346 MenhirLib.EngineTypes.semv = lp;
17347 MenhirLib.EngineTypes.startp = _startpos_lp_;
17348 MenhirLib.EngineTypes.endp = _endpos_lp_;
17349 MenhirLib.EngineTypes.next = {
17350 MenhirLib.EngineTypes.semv = i;
17351 MenhirLib.EngineTypes.startp = _startpos_i_;
17352 MenhirLib.EngineTypes.endp = _endpos_i_;
17353 MenhirLib.EngineTypes.next = {
17354 MenhirLib.EngineTypes.startp = _startpos__2_;
17355 MenhirLib.EngineTypes.endp = _endpos__2_;
17356 MenhirLib.EngineTypes.next = {
17357 MenhirLib.EngineTypes.state = _menhir_s;
17358 MenhirLib.EngineTypes.semv = f;
17359 MenhirLib.EngineTypes.startp = _startpos_f_;
17360 MenhirLib.EngineTypes.endp = _endpos_f_;
17361 MenhirLib.EngineTypes.next = _menhir_stack;
17362 };
17363 };
17364 };
17365 };
17366 };
17367 };
17368 };
17369 };
17370 } = _menhir_stack in
17371 let rb : (
17372 # 169 "parser_cocci_menhir.mly"
17373 (Data.clt)
17374 # 17375 "parser_cocci_menhir.ml"
17375 ) = Obj.magic rb in
17376 let b : 'tv_fun_start = Obj.magic b in
17377 let lb : (
17378 # 169 "parser_cocci_menhir.mly"
17379 (Data.clt)
17380 # 17381 "parser_cocci_menhir.ml"
17381 ) = Obj.magic lb in
17382 let rp : (
17383 # 145 "parser_cocci_menhir.mly"
17384 (Data.clt)
17385 # 17386 "parser_cocci_menhir.ml"
17386 ) = Obj.magic rp in
17387 let d : 'tv_decl_list_decl_ = Obj.magic d in
17388 let lp : (
17389 # 144 "parser_cocci_menhir.mly"
17390 (Data.clt)
17391 # 17392 "parser_cocci_menhir.ml"
17392 ) = Obj.magic lp in
17393 let i : 'tv_fn_ident = Obj.magic i in
17394 let f : 'tv_fninfo = Obj.magic f in
17395 let _startpos = _startpos_f_ in
17396 let _endpos = _endpos_rb_ in
17397 let _v : 'tv_fundecl =
17398 # 954 "parser_cocci_menhir.mly"
17399 ( P.verify_parameter_declarations (Ast0.undots d);
17400 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
17401 f, i,
17402 P.clt2mcode "(" lp, d,
17403 P.clt2mcode ")" rp,
17404 P.clt2mcode "{" lb, b,
17405 P.clt2mcode "}" rb)) )
17406 # 17407 "parser_cocci_menhir.ml"
17407 in
17408 _menhir_env.MenhirLib.EngineTypes.stack <- {
17409 MenhirLib.EngineTypes.state = _menhir_s;
17410 MenhirLib.EngineTypes.semv = Obj.repr _v;
17411 MenhirLib.EngineTypes.startp = _startpos;
17412 MenhirLib.EngineTypes.endp = _endpos;
17413 MenhirLib.EngineTypes.next = _menhir_stack;
17414 });
17415 (fun _menhir_env ->
17416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17417 let {
17418 MenhirLib.EngineTypes.semv = pt;
17419 MenhirLib.EngineTypes.startp = _startpos_pt_;
17420 MenhirLib.EngineTypes.endp = _endpos_pt_;
17421 MenhirLib.EngineTypes.next = {
17422 MenhirLib.EngineTypes.semv = rp;
17423 MenhirLib.EngineTypes.startp = _startpos_rp_;
17424 MenhirLib.EngineTypes.endp = _endpos_rp_;
17425 MenhirLib.EngineTypes.next = {
17426 MenhirLib.EngineTypes.semv = d;
17427 MenhirLib.EngineTypes.startp = _startpos_d_;
17428 MenhirLib.EngineTypes.endp = _endpos_d_;
17429 MenhirLib.EngineTypes.next = {
17430 MenhirLib.EngineTypes.semv = lp;
17431 MenhirLib.EngineTypes.startp = _startpos_lp_;
17432 MenhirLib.EngineTypes.endp = _endpos_lp_;
17433 MenhirLib.EngineTypes.next = {
17434 MenhirLib.EngineTypes.semv = id;
17435 MenhirLib.EngineTypes.startp = _startpos_id_;
17436 MenhirLib.EngineTypes.endp = _endpos_id_;
17437 MenhirLib.EngineTypes.next = {
17438 MenhirLib.EngineTypes.state = _menhir_s;
17439 MenhirLib.EngineTypes.semv = t;
17440 MenhirLib.EngineTypes.startp = _startpos_t_;
17441 MenhirLib.EngineTypes.endp = _endpos_t_;
17442 MenhirLib.EngineTypes.next = _menhir_stack;
17443 };
17444 };
17445 };
17446 };
17447 };
17448 } = _menhir_stack in
17449 let pt : (
17450 # 175 "parser_cocci_menhir.mly"
17451 (Data.clt)
17452 # 17453 "parser_cocci_menhir.ml"
17453 ) = Obj.magic pt in
17454 let rp : (
17455 # 145 "parser_cocci_menhir.mly"
17456 (Data.clt)
17457 # 17458 "parser_cocci_menhir.ml"
17458 ) = Obj.magic rp in
17459 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
17460 let lp : (
17461 # 144 "parser_cocci_menhir.mly"
17462 (Data.clt)
17463 # 17464 "parser_cocci_menhir.ml"
17464 ) = Obj.magic lp in
17465 let id : 'tv_fn_ident = Obj.magic id in
17466 let t : 'tv_ctype = Obj.magic t in
17467 let _startpos = _startpos_t_ in
17468 let _endpos = _endpos_pt_ in
17469 let _v : 'tv_funproto = let s =
17470
17471 # 39 "standard.mly"
17472 ( None )
17473 # 17474 "parser_cocci_menhir.ml"
17474
17475 in
17476
17477 # 942 "parser_cocci_menhir.mly"
17478 ( Ast0.wrap
17479 (Ast0.UnInit
17480 (s,
17481 Ast0.wrap
17482 (Ast0.FunctionType(Some t,
17483 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
17484 id, P.clt2mcode ";" pt)) )
17485 # 17486 "parser_cocci_menhir.ml"
17486 in
17487 _menhir_env.MenhirLib.EngineTypes.stack <- {
17488 MenhirLib.EngineTypes.state = _menhir_s;
17489 MenhirLib.EngineTypes.semv = Obj.repr _v;
17490 MenhirLib.EngineTypes.startp = _startpos;
17491 MenhirLib.EngineTypes.endp = _endpos;
17492 MenhirLib.EngineTypes.next = _menhir_stack;
17493 });
17494 (fun _menhir_env ->
17495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17496 let {
17497 MenhirLib.EngineTypes.semv = pt;
17498 MenhirLib.EngineTypes.startp = _startpos_pt_;
17499 MenhirLib.EngineTypes.endp = _endpos_pt_;
17500 MenhirLib.EngineTypes.next = {
17501 MenhirLib.EngineTypes.semv = rp;
17502 MenhirLib.EngineTypes.startp = _startpos_rp_;
17503 MenhirLib.EngineTypes.endp = _endpos_rp_;
17504 MenhirLib.EngineTypes.next = {
17505 MenhirLib.EngineTypes.semv = d;
17506 MenhirLib.EngineTypes.startp = _startpos_d_;
17507 MenhirLib.EngineTypes.endp = _endpos_d_;
17508 MenhirLib.EngineTypes.next = {
17509 MenhirLib.EngineTypes.semv = lp;
17510 MenhirLib.EngineTypes.startp = _startpos_lp_;
17511 MenhirLib.EngineTypes.endp = _endpos_lp_;
17512 MenhirLib.EngineTypes.next = {
17513 MenhirLib.EngineTypes.semv = id;
17514 MenhirLib.EngineTypes.startp = _startpos_id_;
17515 MenhirLib.EngineTypes.endp = _endpos_id_;
17516 MenhirLib.EngineTypes.next = {
17517 MenhirLib.EngineTypes.semv = t;
17518 MenhirLib.EngineTypes.startp = _startpos_t_;
17519 MenhirLib.EngineTypes.endp = _endpos_t_;
17520 MenhirLib.EngineTypes.next = {
17521 MenhirLib.EngineTypes.state = _menhir_s;
17522 MenhirLib.EngineTypes.semv = x0;
17523 MenhirLib.EngineTypes.startp = _startpos_x0_;
17524 MenhirLib.EngineTypes.endp = _endpos_x0_;
17525 MenhirLib.EngineTypes.next = _menhir_stack;
17526 };
17527 };
17528 };
17529 };
17530 };
17531 };
17532 } = _menhir_stack in
17533 let pt : (
17534 # 175 "parser_cocci_menhir.mly"
17535 (Data.clt)
17536 # 17537 "parser_cocci_menhir.ml"
17537 ) = Obj.magic pt in
17538 let rp : (
17539 # 145 "parser_cocci_menhir.mly"
17540 (Data.clt)
17541 # 17542 "parser_cocci_menhir.ml"
17542 ) = Obj.magic rp in
17543 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
17544 let lp : (
17545 # 144 "parser_cocci_menhir.mly"
17546 (Data.clt)
17547 # 17548 "parser_cocci_menhir.ml"
17548 ) = Obj.magic lp in
17549 let id : 'tv_fn_ident = Obj.magic id in
17550 let t : 'tv_ctype = Obj.magic t in
17551 let x0 : 'tv_storage = Obj.magic x0 in
17552 let _startpos = _startpos_x0_ in
17553 let _endpos = _endpos_pt_ in
17554 let _v : 'tv_funproto = let s =
17555 let x = x0 in
17556
17557 # 41 "standard.mly"
17558 ( Some x )
17559 # 17560 "parser_cocci_menhir.ml"
17560
17561 in
17562
17563 # 942 "parser_cocci_menhir.mly"
17564 ( Ast0.wrap
17565 (Ast0.UnInit
17566 (s,
17567 Ast0.wrap
17568 (Ast0.FunctionType(Some t,
17569 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
17570 id, P.clt2mcode ";" pt)) )
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.state = _menhir_s;
17584 MenhirLib.EngineTypes.semv = _1;
17585 MenhirLib.EngineTypes.startp = _startpos__1_;
17586 MenhirLib.EngineTypes.endp = _endpos__1_;
17587 MenhirLib.EngineTypes.next = _menhir_stack;
17588 } = _menhir_stack in
17589 let _1 : 'tv_pure_ident = Obj.magic _1 in
17590 let _startpos = _startpos__1_ in
17591 let _endpos = _endpos__1_ in
17592 let _v : 'tv_ident =
17593 # 1877 "parser_cocci_menhir.mly"
17594 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
17595 # 17596 "parser_cocci_menhir.ml"
17596 in
17597 _menhir_env.MenhirLib.EngineTypes.stack <- {
17598 MenhirLib.EngineTypes.state = _menhir_s;
17599 MenhirLib.EngineTypes.semv = Obj.repr _v;
17600 MenhirLib.EngineTypes.startp = _startpos;
17601 MenhirLib.EngineTypes.endp = _endpos;
17602 MenhirLib.EngineTypes.next = _menhir_stack;
17603 });
17604 (fun _menhir_env ->
17605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17606 let {
17607 MenhirLib.EngineTypes.state = _menhir_s;
17608 MenhirLib.EngineTypes.semv = _1;
17609 MenhirLib.EngineTypes.startp = _startpos__1_;
17610 MenhirLib.EngineTypes.endp = _endpos__1_;
17611 MenhirLib.EngineTypes.next = _menhir_stack;
17612 } = _menhir_stack in
17613 let _1 : (
17614 # 128 "parser_cocci_menhir.mly"
17615 (Parse_aux.idinfo)
17616 # 17617 "parser_cocci_menhir.ml"
17617 ) = Obj.magic _1 in
17618 let _startpos = _startpos__1_ in
17619 let _endpos = _endpos__1_ in
17620 let _v : 'tv_ident =
17621 # 1879 "parser_cocci_menhir.mly"
17622 ( let (nm,constraints,pure,clt) = _1 in
17623 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
17624 # 17625 "parser_cocci_menhir.ml"
17625 in
17626 _menhir_env.MenhirLib.EngineTypes.stack <- {
17627 MenhirLib.EngineTypes.state = _menhir_s;
17628 MenhirLib.EngineTypes.semv = Obj.repr _v;
17629 MenhirLib.EngineTypes.startp = _startpos;
17630 MenhirLib.EngineTypes.endp = _endpos;
17631 MenhirLib.EngineTypes.next = _menhir_stack;
17632 });
17633 (fun _menhir_env ->
17634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17635 let {
17636 MenhirLib.EngineTypes.state = _menhir_s;
17637 MenhirLib.EngineTypes.semv = i;
17638 MenhirLib.EngineTypes.startp = _startpos_i_;
17639 MenhirLib.EngineTypes.endp = _endpos_i_;
17640 MenhirLib.EngineTypes.next = _menhir_stack;
17641 } = _menhir_stack in
17642 let i : 'tv_pure_ident = Obj.magic i in
17643 let _startpos = _startpos_i_ in
17644 let _endpos = _endpos_i_ in
17645 let _v : 'tv_ident_or_const =
17646 # 1832 "parser_cocci_menhir.mly"
17647 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
17648 # 17649 "parser_cocci_menhir.ml"
17649 in
17650 _menhir_env.MenhirLib.EngineTypes.stack <- {
17651 MenhirLib.EngineTypes.state = _menhir_s;
17652 MenhirLib.EngineTypes.semv = Obj.repr _v;
17653 MenhirLib.EngineTypes.startp = _startpos;
17654 MenhirLib.EngineTypes.endp = _endpos;
17655 MenhirLib.EngineTypes.next = _menhir_stack;
17656 });
17657 (fun _menhir_env ->
17658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17659 let {
17660 MenhirLib.EngineTypes.state = _menhir_s;
17661 MenhirLib.EngineTypes.semv = _1;
17662 MenhirLib.EngineTypes.startp = _startpos__1_;
17663 MenhirLib.EngineTypes.endp = _endpos__1_;
17664 MenhirLib.EngineTypes.next = _menhir_stack;
17665 } = _menhir_stack in
17666 let _1 : (
17667 # 155 "parser_cocci_menhir.mly"
17668 (string * Data.clt)
17669 # 17670 "parser_cocci_menhir.ml"
17670 ) = Obj.magic _1 in
17671 let _startpos = _startpos__1_ in
17672 let _endpos = _endpos__1_ in
17673 let _v : 'tv_ident_or_const =
17674 # 1834 "parser_cocci_menhir.mly"
17675 ( let (x,clt) = _1 in
17676 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) 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.state = _menhir_s;
17690 MenhirLib.EngineTypes.semv = _1;
17691 MenhirLib.EngineTypes.startp = _startpos__1_;
17692 MenhirLib.EngineTypes.endp = _endpos__1_;
17693 MenhirLib.EngineTypes.next = _menhir_stack;
17694 } = _menhir_stack in
17695 let _1 : (
17696 # 148 "parser_cocci_menhir.mly"
17697 (string * Data.clt)
17698 # 17699 "parser_cocci_menhir.ml"
17699 ) = Obj.magic _1 in
17700 let _startpos = _startpos__1_ in
17701 let _endpos = _endpos__1_ in
17702 let _v : 'tv_incl =
17703 # 326 "parser_cocci_menhir.mly"
17704 ( let (x,_) = _1 in Data.Include(x) )
17705 # 17706 "parser_cocci_menhir.ml"
17706 in
17707 _menhir_env.MenhirLib.EngineTypes.stack <- {
17708 MenhirLib.EngineTypes.state = _menhir_s;
17709 MenhirLib.EngineTypes.semv = Obj.repr _v;
17710 MenhirLib.EngineTypes.startp = _startpos;
17711 MenhirLib.EngineTypes.endp = _endpos;
17712 MenhirLib.EngineTypes.next = _menhir_stack;
17713 });
17714 (fun _menhir_env ->
17715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17716 let {
17717 MenhirLib.EngineTypes.semv = _2;
17718 MenhirLib.EngineTypes.startp = _startpos__2_;
17719 MenhirLib.EngineTypes.endp = _endpos__2_;
17720 MenhirLib.EngineTypes.next = {
17721 MenhirLib.EngineTypes.state = _menhir_s;
17722 MenhirLib.EngineTypes.startp = _startpos__1_;
17723 MenhirLib.EngineTypes.endp = _endpos__1_;
17724 MenhirLib.EngineTypes.next = _menhir_stack;
17725 };
17726 } = _menhir_stack in
17727 let _2 : (
17728 # 155 "parser_cocci_menhir.mly"
17729 (string * Data.clt)
17730 # 17731 "parser_cocci_menhir.ml"
17731 ) = Obj.magic _2 in
17732 let _startpos = _startpos__1_ in
17733 let _endpos = _endpos__2_ in
17734 let _v : 'tv_incl =
17735 # 327 "parser_cocci_menhir.mly"
17736 ( Data.Iso(Common.Left(P.id2name _2)) )
17737 # 17738 "parser_cocci_menhir.ml"
17738 in
17739 _menhir_env.MenhirLib.EngineTypes.stack <- {
17740 MenhirLib.EngineTypes.state = _menhir_s;
17741 MenhirLib.EngineTypes.semv = Obj.repr _v;
17742 MenhirLib.EngineTypes.startp = _startpos;
17743 MenhirLib.EngineTypes.endp = _endpos;
17744 MenhirLib.EngineTypes.next = _menhir_stack;
17745 });
17746 (fun _menhir_env ->
17747 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17748 let {
17749 MenhirLib.EngineTypes.semv = _2;
17750 MenhirLib.EngineTypes.startp = _startpos__2_;
17751 MenhirLib.EngineTypes.endp = _endpos__2_;
17752 MenhirLib.EngineTypes.next = {
17753 MenhirLib.EngineTypes.state = _menhir_s;
17754 MenhirLib.EngineTypes.startp = _startpos__1_;
17755 MenhirLib.EngineTypes.endp = _endpos__1_;
17756 MenhirLib.EngineTypes.next = _menhir_stack;
17757 };
17758 } = _menhir_stack in
17759 let _2 : (
17760 # 147 "parser_cocci_menhir.mly"
17761 (string)
17762 # 17763 "parser_cocci_menhir.ml"
17763 ) = Obj.magic _2 in
17764 let _startpos = _startpos__1_ in
17765 let _endpos = _endpos__2_ in
17766 let _v : 'tv_incl =
17767 # 328 "parser_cocci_menhir.mly"
17768 ( Data.Iso(Common.Right _2) )
17769 # 17770 "parser_cocci_menhir.ml"
17770 in
17771 _menhir_env.MenhirLib.EngineTypes.stack <- {
17772 MenhirLib.EngineTypes.state = _menhir_s;
17773 MenhirLib.EngineTypes.semv = Obj.repr _v;
17774 MenhirLib.EngineTypes.startp = _startpos;
17775 MenhirLib.EngineTypes.endp = _endpos;
17776 MenhirLib.EngineTypes.next = _menhir_stack;
17777 });
17778 (fun _menhir_env ->
17779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17780 let {
17781 MenhirLib.EngineTypes.semv = _2;
17782 MenhirLib.EngineTypes.startp = _startpos__2_;
17783 MenhirLib.EngineTypes.endp = _endpos__2_;
17784 MenhirLib.EngineTypes.next = {
17785 MenhirLib.EngineTypes.state = _menhir_s;
17786 MenhirLib.EngineTypes.startp = _startpos__1_;
17787 MenhirLib.EngineTypes.endp = _endpos__1_;
17788 MenhirLib.EngineTypes.next = _menhir_stack;
17789 };
17790 } = _menhir_stack in
17791 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
17792 let _startpos = _startpos__1_ in
17793 let _endpos = _endpos__2_ in
17794 let _v : 'tv_incl =
17795 # 330 "parser_cocci_menhir.mly"
17796 ( let names = List.map P.id2name _2 in
17797 Iteration.parsed_virtual_rules :=
17798 Common.union_set names !Iteration.parsed_virtual_rules;
17799 (* ensure that the names of virtual and real rules don't overlap *)
17800 List.iter
17801 (function name -> Hashtbl.add Data.all_metadecls name [])
17802 names;
17803 Data.Virt(names) )
17804 # 17805 "parser_cocci_menhir.ml"
17805 in
17806 _menhir_env.MenhirLib.EngineTypes.stack <- {
17807 MenhirLib.EngineTypes.state = _menhir_s;
17808 MenhirLib.EngineTypes.semv = Obj.repr _v;
17809 MenhirLib.EngineTypes.startp = _startpos;
17810 MenhirLib.EngineTypes.endp = _endpos;
17811 MenhirLib.EngineTypes.next = _menhir_stack;
17812 });
17813 (fun _menhir_env ->
17814 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17815 let {
17816 MenhirLib.EngineTypes.startp = _startpos__2_;
17817 MenhirLib.EngineTypes.endp = _endpos__2_;
17818 MenhirLib.EngineTypes.next = {
17819 MenhirLib.EngineTypes.state = _menhir_s;
17820 MenhirLib.EngineTypes.semv = _1;
17821 MenhirLib.EngineTypes.startp = _startpos__1_;
17822 MenhirLib.EngineTypes.endp = _endpos__1_;
17823 MenhirLib.EngineTypes.next = _menhir_stack;
17824 };
17825 } = _menhir_stack in
17826 let _1 : 'tv_list_incl_ = Obj.magic _1 in
17827 let _startpos = _startpos__1_ in
17828 let _endpos = _endpos__2_ in
17829 let _v : (
17830 # 216 "parser_cocci_menhir.mly"
17831 (Data.incl_iso list)
17832 # 17833 "parser_cocci_menhir.ml"
17833 ) =
17834 # 322 "parser_cocci_menhir.mly"
17835 ( _1 )
17836 # 17837 "parser_cocci_menhir.ml"
17837 in
17838 _menhir_env.MenhirLib.EngineTypes.stack <- {
17839 MenhirLib.EngineTypes.state = _menhir_s;
17840 MenhirLib.EngineTypes.semv = Obj.repr _v;
17841 MenhirLib.EngineTypes.startp = _startpos;
17842 MenhirLib.EngineTypes.endp = _endpos;
17843 MenhirLib.EngineTypes.next = _menhir_stack;
17844 });
17845 (fun _menhir_env ->
17846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17847 let {
17848 MenhirLib.EngineTypes.startp = _startpos__2_;
17849 MenhirLib.EngineTypes.endp = _endpos__2_;
17850 MenhirLib.EngineTypes.next = {
17851 MenhirLib.EngineTypes.state = _menhir_s;
17852 MenhirLib.EngineTypes.semv = _1;
17853 MenhirLib.EngineTypes.startp = _startpos__1_;
17854 MenhirLib.EngineTypes.endp = _endpos__1_;
17855 MenhirLib.EngineTypes.next = _menhir_stack;
17856 };
17857 } = _menhir_stack in
17858 let _1 : 'tv_list_incl_ = Obj.magic _1 in
17859 let _startpos = _startpos__1_ in
17860 let _endpos = _endpos__2_ in
17861 let _v : (
17862 # 216 "parser_cocci_menhir.mly"
17863 (Data.incl_iso list)
17864 # 17865 "parser_cocci_menhir.ml"
17865 ) =
17866 # 323 "parser_cocci_menhir.mly"
17867 ( _1 )
17868 # 17869 "parser_cocci_menhir.ml"
17869 in
17870 _menhir_env.MenhirLib.EngineTypes.stack <- {
17871 MenhirLib.EngineTypes.state = _menhir_s;
17872 MenhirLib.EngineTypes.semv = Obj.repr _v;
17873 MenhirLib.EngineTypes.startp = _startpos;
17874 MenhirLib.EngineTypes.endp = _endpos;
17875 MenhirLib.EngineTypes.next = _menhir_stack;
17876 });
17877 (fun _menhir_env ->
17878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17879 let {
17880 MenhirLib.EngineTypes.state = _menhir_s;
17881 MenhirLib.EngineTypes.semv = _1;
17882 MenhirLib.EngineTypes.startp = _startpos__1_;
17883 MenhirLib.EngineTypes.endp = _endpos__1_;
17884 MenhirLib.EngineTypes.next = _menhir_stack;
17885 } = _menhir_stack in
17886 let _1 : (
17887 # 148 "parser_cocci_menhir.mly"
17888 (string * Data.clt)
17889 # 17890 "parser_cocci_menhir.ml"
17890 ) = Obj.magic _1 in
17891 let _startpos = _startpos__1_ in
17892 let _endpos = _endpos__1_ in
17893 let _v : 'tv_includes =
17894 # 834 "parser_cocci_menhir.mly"
17895 ( Ast0.wrap
17896 (Ast0.Include(P.clt2mcode "#include"
17897 (P.drop_pos (P.drop_aft (P.id2clt _1))),
17898 let (arity,ln,lln,offset,col,strbef,straft,pos) =
17899 P.id2clt _1 in
17900 let clt =
17901 (arity,ln,lln,offset,0,strbef,straft,pos) in
17902 P.clt2mcode
17903 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
17904 (P.drop_bef clt))) )
17905 # 17906 "parser_cocci_menhir.ml"
17906 in
17907 _menhir_env.MenhirLib.EngineTypes.stack <- {
17908 MenhirLib.EngineTypes.state = _menhir_s;
17909 MenhirLib.EngineTypes.semv = Obj.repr _v;
17910 MenhirLib.EngineTypes.startp = _startpos;
17911 MenhirLib.EngineTypes.endp = _endpos;
17912 MenhirLib.EngineTypes.next = _menhir_stack;
17913 });
17914 (fun _menhir_env ->
17915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17916 let {
17917 MenhirLib.EngineTypes.state = _menhir_s;
17918 MenhirLib.EngineTypes.semv = _1;
17919 MenhirLib.EngineTypes.startp = _startpos__1_;
17920 MenhirLib.EngineTypes.endp = _endpos__1_;
17921 MenhirLib.EngineTypes.next = _menhir_stack;
17922 } = _menhir_stack in
17923 let _1 : (
17924 # 148 "parser_cocci_menhir.mly"
17925 (string * Data.clt)
17926 # 17927 "parser_cocci_menhir.ml"
17927 ) = Obj.magic _1 in
17928 let _startpos = _startpos__1_ in
17929 let _endpos = _endpos__1_ in
17930 let _v : 'tv_includes =
17931 # 845 "parser_cocci_menhir.mly"
17932 ( Ast0.wrap
17933 (Ast0.Include(P.clt2mcode "#include"
17934 (P.drop_pos (P.drop_aft (P.id2clt _1))),
17935 let (arity,ln,lln,offset,col,strbef,straft,pos) =
17936 P.id2clt _1 in
17937 let clt =
17938 (arity,ln,lln,offset,0,strbef,straft,pos) in
17939 P.clt2mcode
17940 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
17941 (P.drop_bef clt))) )
17942 # 17943 "parser_cocci_menhir.ml"
17943 in
17944 _menhir_env.MenhirLib.EngineTypes.stack <- {
17945 MenhirLib.EngineTypes.state = _menhir_s;
17946 MenhirLib.EngineTypes.semv = Obj.repr _v;
17947 MenhirLib.EngineTypes.startp = _startpos;
17948 MenhirLib.EngineTypes.endp = _endpos;
17949 MenhirLib.EngineTypes.next = _menhir_stack;
17950 });
17951 (fun _menhir_env ->
17952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17953 let {
17954 MenhirLib.EngineTypes.startp = _startpos__2_;
17955 MenhirLib.EngineTypes.endp = _endpos__2_;
17956 MenhirLib.EngineTypes.next = {
17957 MenhirLib.EngineTypes.state = _menhir_s;
17958 MenhirLib.EngineTypes.semv = _1;
17959 MenhirLib.EngineTypes.startp = _startpos__1_;
17960 MenhirLib.EngineTypes.endp = _endpos__1_;
17961 MenhirLib.EngineTypes.next = _menhir_stack;
17962 };
17963 } = _menhir_stack in
17964 let _1 : (
17965 # 149 "parser_cocci_menhir.mly"
17966 (Data.clt * token)
17967 # 17968 "parser_cocci_menhir.ml"
17968 ) = Obj.magic _1 in
17969 let _startpos = _startpos__1_ in
17970 let _endpos = _endpos__2_ in
17971 let _v : 'tv_includes =
17972 # 856 "parser_cocci_menhir.mly"
17973 ( let (clt,ident) = _1 in
17974 Ast0.wrap
17975 (Ast0.Undef
17976 (P.clt2mcode "#undef" clt,
17977 (match ident with
17978 TMetaId((nm,constraints,pure,clt)) ->
17979 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
17980 | TIdent(nm_pure) ->
17981 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
17982 | _ ->
17983 raise
17984 (Semantic_cocci.Semantic
17985 "unexpected name for a #define")))) )
17986 # 17987 "parser_cocci_menhir.ml"
17987 in
17988 _menhir_env.MenhirLib.EngineTypes.stack <- {
17989 MenhirLib.EngineTypes.state = _menhir_s;
17990 MenhirLib.EngineTypes.semv = Obj.repr _v;
17991 MenhirLib.EngineTypes.startp = _startpos;
17992 MenhirLib.EngineTypes.endp = _endpos;
17993 MenhirLib.EngineTypes.next = _menhir_stack;
17994 });
17995 (fun _menhir_env ->
17996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17997 let {
17998 MenhirLib.EngineTypes.startp = _startpos__2_;
17999 MenhirLib.EngineTypes.endp = _endpos__2_;
18000 MenhirLib.EngineTypes.next = {
18001 MenhirLib.EngineTypes.state = _menhir_s;
18002 MenhirLib.EngineTypes.semv = d;
18003 MenhirLib.EngineTypes.startp = _startpos_d_;
18004 MenhirLib.EngineTypes.endp = _endpos_d_;
18005 MenhirLib.EngineTypes.next = _menhir_stack;
18006 };
18007 } = _menhir_stack in
18008 let d : 'tv_defineop = Obj.magic d in
18009 let _startpos = _startpos_d_ in
18010 let _endpos = _endpos__2_ in
18011 let _v : 'tv_includes =
18012 # 870 "parser_cocci_menhir.mly"
18013 ( d (Ast0.wrap(Ast0.DOTS([]))) )
18014 # 18015 "parser_cocci_menhir.ml"
18015 in
18016 _menhir_env.MenhirLib.EngineTypes.stack <- {
18017 MenhirLib.EngineTypes.state = _menhir_s;
18018 MenhirLib.EngineTypes.semv = Obj.repr _v;
18019 MenhirLib.EngineTypes.startp = _startpos;
18020 MenhirLib.EngineTypes.endp = _endpos;
18021 MenhirLib.EngineTypes.next = _menhir_stack;
18022 });
18023 (fun _menhir_env ->
18024 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18025 let {
18026 MenhirLib.EngineTypes.startp = _startpos__3_;
18027 MenhirLib.EngineTypes.endp = _endpos__3_;
18028 MenhirLib.EngineTypes.next = {
18029 MenhirLib.EngineTypes.semv = t;
18030 MenhirLib.EngineTypes.startp = _startpos_t_;
18031 MenhirLib.EngineTypes.endp = _endpos_t_;
18032 MenhirLib.EngineTypes.next = {
18033 MenhirLib.EngineTypes.state = _menhir_s;
18034 MenhirLib.EngineTypes.semv = d;
18035 MenhirLib.EngineTypes.startp = _startpos_d_;
18036 MenhirLib.EngineTypes.endp = _endpos_d_;
18037 MenhirLib.EngineTypes.next = _menhir_stack;
18038 };
18039 };
18040 } = _menhir_stack in
18041 let t : 'tv_ctype = Obj.magic t in
18042 let d : 'tv_defineop = Obj.magic d in
18043 let _startpos = _startpos_d_ in
18044 let _endpos = _endpos__3_ in
18045 let _v : 'tv_includes =
18046 # 872 "parser_cocci_menhir.mly"
18047 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
18048 d (Ast0.wrap(Ast0.DOTS([ty]))) )
18049 # 18050 "parser_cocci_menhir.ml"
18050 in
18051 _menhir_env.MenhirLib.EngineTypes.stack <- {
18052 MenhirLib.EngineTypes.state = _menhir_s;
18053 MenhirLib.EngineTypes.semv = Obj.repr _v;
18054 MenhirLib.EngineTypes.startp = _startpos;
18055 MenhirLib.EngineTypes.endp = _endpos;
18056 MenhirLib.EngineTypes.next = _menhir_stack;
18057 });
18058 (fun _menhir_env ->
18059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18060 let {
18061 MenhirLib.EngineTypes.startp = _startpos__3_;
18062 MenhirLib.EngineTypes.endp = _endpos__3_;
18063 MenhirLib.EngineTypes.next = {
18064 MenhirLib.EngineTypes.semv = b;
18065 MenhirLib.EngineTypes.startp = _startpos_b_;
18066 MenhirLib.EngineTypes.endp = _endpos_b_;
18067 MenhirLib.EngineTypes.next = {
18068 MenhirLib.EngineTypes.state = _menhir_s;
18069 MenhirLib.EngineTypes.semv = _1;
18070 MenhirLib.EngineTypes.startp = _startpos__1_;
18071 MenhirLib.EngineTypes.endp = _endpos__1_;
18072 MenhirLib.EngineTypes.next = _menhir_stack;
18073 };
18074 };
18075 } = _menhir_stack in
18076 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
18077 let _1 : 'tv_defineop = Obj.magic _1 in
18078 let _startpos = _startpos__1_ in
18079 let _endpos = _endpos__3_ in
18080 let _v : 'tv_includes =
18081 # 875 "parser_cocci_menhir.mly"
18082 ( let body =
18083 match b with
18084 [e] ->
18085 (match Ast0.unwrap e with
18086 Ast0.Exp(e1) ->
18087 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
18088 | _ -> b)
18089 | _ -> b in
18090 _1 (Ast0.wrap(Ast0.DOTS(body))) )
18091 # 18092 "parser_cocci_menhir.ml"
18092 in
18093 _menhir_env.MenhirLib.EngineTypes.stack <- {
18094 MenhirLib.EngineTypes.state = _menhir_s;
18095 MenhirLib.EngineTypes.semv = Obj.repr _v;
18096 MenhirLib.EngineTypes.startp = _startpos;
18097 MenhirLib.EngineTypes.endp = _endpos;
18098 MenhirLib.EngineTypes.next = _menhir_stack;
18099 });
18100 (fun _menhir_env ->
18101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18102 let {
18103 MenhirLib.EngineTypes.state = _menhir_s;
18104 MenhirLib.EngineTypes.semv = _1;
18105 MenhirLib.EngineTypes.startp = _startpos__1_;
18106 MenhirLib.EngineTypes.endp = _endpos__1_;
18107 MenhirLib.EngineTypes.next = _menhir_stack;
18108 } = _menhir_stack in
18109 let _1 : 'tv_eexpr = Obj.magic _1 in
18110 let _startpos = _startpos__1_ in
18111 let _endpos = _endpos__1_ in
18112 let _v : 'tv_initialize =
18113 # 1262 "parser_cocci_menhir.mly"
18114 ( Ast0.wrap(Ast0.InitExpr(_1)) )
18115 # 18116 "parser_cocci_menhir.ml"
18116 in
18117 _menhir_env.MenhirLib.EngineTypes.stack <- {
18118 MenhirLib.EngineTypes.state = _menhir_s;
18119 MenhirLib.EngineTypes.semv = Obj.repr _v;
18120 MenhirLib.EngineTypes.startp = _startpos;
18121 MenhirLib.EngineTypes.endp = _endpos;
18122 MenhirLib.EngineTypes.next = _menhir_stack;
18123 });
18124 (fun _menhir_env ->
18125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18126 let {
18127 MenhirLib.EngineTypes.semv = _3;
18128 MenhirLib.EngineTypes.startp = _startpos__3_;
18129 MenhirLib.EngineTypes.endp = _endpos__3_;
18130 MenhirLib.EngineTypes.next = {
18131 MenhirLib.EngineTypes.semv = _2;
18132 MenhirLib.EngineTypes.startp = _startpos__2_;
18133 MenhirLib.EngineTypes.endp = _endpos__2_;
18134 MenhirLib.EngineTypes.next = {
18135 MenhirLib.EngineTypes.state = _menhir_s;
18136 MenhirLib.EngineTypes.semv = _1;
18137 MenhirLib.EngineTypes.startp = _startpos__1_;
18138 MenhirLib.EngineTypes.endp = _endpos__1_;
18139 MenhirLib.EngineTypes.next = _menhir_stack;
18140 };
18141 };
18142 } = _menhir_stack in
18143 let _3 : (
18144 # 169 "parser_cocci_menhir.mly"
18145 (Data.clt)
18146 # 18147 "parser_cocci_menhir.ml"
18147 ) = Obj.magic _3 in
18148 let _2 : 'tv_initialize_list = Obj.magic _2 in
18149 let _1 : (
18150 # 169 "parser_cocci_menhir.mly"
18151 (Data.clt)
18152 # 18153 "parser_cocci_menhir.ml"
18153 ) = Obj.magic _1 in
18154 let _startpos = _startpos__1_ in
18155 let _endpos = _endpos__3_ in
18156 let _v : 'tv_initialize =
18157 # 1264 "parser_cocci_menhir.mly"
18158 ( if P.struct_initializer _2
18159 then
18160 let il = P.drop_dot_commas _2 in
18161 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
18162 else
18163 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
18164 # 18165 "parser_cocci_menhir.ml"
18165 in
18166 _menhir_env.MenhirLib.EngineTypes.stack <- {
18167 MenhirLib.EngineTypes.state = _menhir_s;
18168 MenhirLib.EngineTypes.semv = Obj.repr _v;
18169 MenhirLib.EngineTypes.startp = _startpos;
18170 MenhirLib.EngineTypes.endp = _endpos;
18171 MenhirLib.EngineTypes.next = _menhir_stack;
18172 });
18173 (fun _menhir_env ->
18174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18175 let {
18176 MenhirLib.EngineTypes.state = _menhir_s;
18177 MenhirLib.EngineTypes.semv = _1;
18178 MenhirLib.EngineTypes.startp = _startpos__1_;
18179 MenhirLib.EngineTypes.endp = _endpos__1_;
18180 MenhirLib.EngineTypes.next = _menhir_stack;
18181 } = _menhir_stack in
18182 let _1 : (
18183 # 132 "parser_cocci_menhir.mly"
18184 (Parse_aux.info)
18185 # 18186 "parser_cocci_menhir.ml"
18186 ) = Obj.magic _1 in
18187 let _startpos = _startpos__1_ in
18188 let _endpos = _endpos__1_ in
18189 let _v : 'tv_initialize =
18190 # 1271 "parser_cocci_menhir.mly"
18191 (let (nm,pure,clt) = _1 in
18192 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
18193 # 18194 "parser_cocci_menhir.ml"
18194 in
18195 _menhir_env.MenhirLib.EngineTypes.stack <- {
18196 MenhirLib.EngineTypes.state = _menhir_s;
18197 MenhirLib.EngineTypes.semv = Obj.repr _v;
18198 MenhirLib.EngineTypes.startp = _startpos;
18199 MenhirLib.EngineTypes.endp = _endpos;
18200 MenhirLib.EngineTypes.next = _menhir_stack;
18201 });
18202 (fun _menhir_env ->
18203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18204 let {
18205 MenhirLib.EngineTypes.state = _menhir_s;
18206 MenhirLib.EngineTypes.semv = _1;
18207 MenhirLib.EngineTypes.startp = _startpos__1_;
18208 MenhirLib.EngineTypes.endp = _endpos__1_;
18209 MenhirLib.EngineTypes.next = _menhir_stack;
18210 } = _menhir_stack in
18211 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
18212 let _startpos = _startpos__1_ in
18213 let _endpos = _endpos__1_ in
18214 let _v : 'tv_initialize2 =
18215 # 1277 "parser_cocci_menhir.mly"
18216 ( Ast0.wrap(Ast0.InitExpr(_1)) )
18217 # 18218 "parser_cocci_menhir.ml"
18218 in
18219 _menhir_env.MenhirLib.EngineTypes.stack <- {
18220 MenhirLib.EngineTypes.state = _menhir_s;
18221 MenhirLib.EngineTypes.semv = Obj.repr _v;
18222 MenhirLib.EngineTypes.startp = _startpos;
18223 MenhirLib.EngineTypes.endp = _endpos;
18224 MenhirLib.EngineTypes.next = _menhir_stack;
18225 });
18226 (fun _menhir_env ->
18227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18228 let {
18229 MenhirLib.EngineTypes.semv = _3;
18230 MenhirLib.EngineTypes.startp = _startpos__3_;
18231 MenhirLib.EngineTypes.endp = _endpos__3_;
18232 MenhirLib.EngineTypes.next = {
18233 MenhirLib.EngineTypes.semv = _2;
18234 MenhirLib.EngineTypes.startp = _startpos__2_;
18235 MenhirLib.EngineTypes.endp = _endpos__2_;
18236 MenhirLib.EngineTypes.next = {
18237 MenhirLib.EngineTypes.state = _menhir_s;
18238 MenhirLib.EngineTypes.semv = _1;
18239 MenhirLib.EngineTypes.startp = _startpos__1_;
18240 MenhirLib.EngineTypes.endp = _endpos__1_;
18241 MenhirLib.EngineTypes.next = _menhir_stack;
18242 };
18243 };
18244 } = _menhir_stack in
18245 let _3 : (
18246 # 169 "parser_cocci_menhir.mly"
18247 (Data.clt)
18248 # 18249 "parser_cocci_menhir.ml"
18249 ) = Obj.magic _3 in
18250 let _2 : 'tv_initialize_list = Obj.magic _2 in
18251 let _1 : (
18252 # 169 "parser_cocci_menhir.mly"
18253 (Data.clt)
18254 # 18255 "parser_cocci_menhir.ml"
18255 ) = Obj.magic _1 in
18256 let _startpos = _startpos__1_ in
18257 let _endpos = _endpos__3_ in
18258 let _v : 'tv_initialize2 =
18259 # 1279 "parser_cocci_menhir.mly"
18260 ( if P.struct_initializer _2
18261 then
18262 let il = P.drop_dot_commas _2 in
18263 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
18264 else
18265 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
18266 # 18267 "parser_cocci_menhir.ml"
18267 in
18268 _menhir_env.MenhirLib.EngineTypes.stack <- {
18269 MenhirLib.EngineTypes.state = _menhir_s;
18270 MenhirLib.EngineTypes.semv = Obj.repr _v;
18271 MenhirLib.EngineTypes.startp = _startpos;
18272 MenhirLib.EngineTypes.endp = _endpos;
18273 MenhirLib.EngineTypes.next = _menhir_stack;
18274 });
18275 (fun _menhir_env ->
18276 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18277 let {
18278 MenhirLib.EngineTypes.semv = _3;
18279 MenhirLib.EngineTypes.startp = _startpos__3_;
18280 MenhirLib.EngineTypes.endp = _endpos__3_;
18281 MenhirLib.EngineTypes.next = {
18282 MenhirLib.EngineTypes.semv = _2;
18283 MenhirLib.EngineTypes.startp = _startpos__2_;
18284 MenhirLib.EngineTypes.endp = _endpos__2_;
18285 MenhirLib.EngineTypes.next = {
18286 MenhirLib.EngineTypes.state = _menhir_s;
18287 MenhirLib.EngineTypes.semv = _1;
18288 MenhirLib.EngineTypes.startp = _startpos__1_;
18289 MenhirLib.EngineTypes.endp = _endpos__1_;
18290 MenhirLib.EngineTypes.next = _menhir_stack;
18291 };
18292 };
18293 } = _menhir_stack in
18294 let _3 : 'tv_initialize2 = Obj.magic _3 in
18295 let _2 : (
18296 # 175 "parser_cocci_menhir.mly"
18297 (Data.clt)
18298 # 18299 "parser_cocci_menhir.ml"
18299 ) = Obj.magic _2 in
18300 let _1 : 'tv_list_designator_ = Obj.magic _1 in
18301 let _startpos = _startpos__1_ in
18302 let _endpos = _endpos__3_ in
18303 let _v : 'tv_initialize2 =
18304 # 1287 "parser_cocci_menhir.mly"
18305 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
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 = _3;
18319 MenhirLib.EngineTypes.startp = _startpos__3_;
18320 MenhirLib.EngineTypes.endp = _endpos__3_;
18321 MenhirLib.EngineTypes.next = {
18322 MenhirLib.EngineTypes.semv = _2;
18323 MenhirLib.EngineTypes.startp = _startpos__2_;
18324 MenhirLib.EngineTypes.endp = _endpos__2_;
18325 MenhirLib.EngineTypes.next = {
18326 MenhirLib.EngineTypes.state = _menhir_s;
18327 MenhirLib.EngineTypes.semv = _1;
18328 MenhirLib.EngineTypes.startp = _startpos__1_;
18329 MenhirLib.EngineTypes.endp = _endpos__1_;
18330 MenhirLib.EngineTypes.next = _menhir_stack;
18331 };
18332 };
18333 } = _menhir_stack in
18334 let _3 : 'tv_initialize2 = Obj.magic _3 in
18335 let _2 : (
18336 # 144 "parser_cocci_menhir.mly"
18337 (Data.clt)
18338 # 18339 "parser_cocci_menhir.ml"
18339 ) = Obj.magic _2 in
18340 let _1 : 'tv_mident = Obj.magic _1 in
18341 let _startpos = _startpos__1_ in
18342 let _endpos = _endpos__3_ in
18343 let _v : 'tv_initialize2 =
18344 # 1289 "parser_cocci_menhir.mly"
18345 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
18346 # 18347 "parser_cocci_menhir.ml"
18347 in
18348 _menhir_env.MenhirLib.EngineTypes.stack <- {
18349 MenhirLib.EngineTypes.state = _menhir_s;
18350 MenhirLib.EngineTypes.semv = Obj.repr _v;
18351 MenhirLib.EngineTypes.startp = _startpos;
18352 MenhirLib.EngineTypes.endp = _endpos;
18353 MenhirLib.EngineTypes.next = _menhir_stack;
18354 });
18355 (fun _menhir_env ->
18356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18357 let {
18358 MenhirLib.EngineTypes.state = _menhir_s;
18359 MenhirLib.EngineTypes.semv = _1;
18360 MenhirLib.EngineTypes.startp = _startpos__1_;
18361 MenhirLib.EngineTypes.endp = _endpos__1_;
18362 MenhirLib.EngineTypes.next = _menhir_stack;
18363 } = _menhir_stack in
18364 let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
18365 let _startpos = _startpos__1_ in
18366 let _endpos = _endpos__1_ in
18367 let _v : 'tv_initialize_list =
18368 # 1302 "parser_cocci_menhir.mly"
18369 ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
18370 # 18371 "parser_cocci_menhir.ml"
18371 in
18372 _menhir_env.MenhirLib.EngineTypes.stack <- {
18373 MenhirLib.EngineTypes.state = _menhir_s;
18374 MenhirLib.EngineTypes.semv = Obj.repr _v;
18375 MenhirLib.EngineTypes.startp = _startpos;
18376 MenhirLib.EngineTypes.endp = _endpos;
18377 MenhirLib.EngineTypes.next = _menhir_stack;
18378 });
18379 (fun _menhir_env ->
18380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18381 let {
18382 MenhirLib.EngineTypes.state = _menhir_s;
18383 MenhirLib.EngineTypes.startp = _startpos__1_;
18384 MenhirLib.EngineTypes.endp = _endpos__1_;
18385 MenhirLib.EngineTypes.next = _menhir_stack;
18386 } = _menhir_stack in
18387 let _startpos = _startpos__1_ in
18388 let _endpos = _endpos__1_ in
18389 let _v : 'tv_invalid =
18390 # 1382 "parser_cocci_menhir.mly"
18391 ( raise (Semantic_cocci.Semantic "not matchable") )
18392 # 18393 "parser_cocci_menhir.ml"
18393 in
18394 _menhir_env.MenhirLib.EngineTypes.stack <- {
18395 MenhirLib.EngineTypes.state = _menhir_s;
18396 MenhirLib.EngineTypes.semv = Obj.repr _v;
18397 MenhirLib.EngineTypes.startp = _startpos;
18398 MenhirLib.EngineTypes.endp = _endpos;
18399 MenhirLib.EngineTypes.next = _menhir_stack;
18400 });
18401 (fun _menhir_env ->
18402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18403 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18404 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18405 let _endpos = _startpos in
18406 let _v : 'tv_is_expression =
18407 # 318 "parser_cocci_menhir.mly"
18408 ( false )
18409 # 18410 "parser_cocci_menhir.ml"
18410 in
18411 _menhir_env.MenhirLib.EngineTypes.stack <- {
18412 MenhirLib.EngineTypes.state = _menhir_s;
18413 MenhirLib.EngineTypes.semv = Obj.repr _v;
18414 MenhirLib.EngineTypes.startp = _startpos;
18415 MenhirLib.EngineTypes.endp = _endpos;
18416 MenhirLib.EngineTypes.next = _menhir_stack;
18417 });
18418 (fun _menhir_env ->
18419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18420 let {
18421 MenhirLib.EngineTypes.state = _menhir_s;
18422 MenhirLib.EngineTypes.startp = _startpos__1_;
18423 MenhirLib.EngineTypes.endp = _endpos__1_;
18424 MenhirLib.EngineTypes.next = _menhir_stack;
18425 } = _menhir_stack in
18426 let _startpos = _startpos__1_ in
18427 let _endpos = _endpos__1_ in
18428 let _v : 'tv_is_expression =
18429 # 319 "parser_cocci_menhir.mly"
18430 ( true )
18431 # 18432 "parser_cocci_menhir.ml"
18432 in
18433 _menhir_env.MenhirLib.EngineTypes.stack <- {
18434 MenhirLib.EngineTypes.state = _menhir_s;
18435 MenhirLib.EngineTypes.semv = Obj.repr _v;
18436 MenhirLib.EngineTypes.startp = _startpos;
18437 MenhirLib.EngineTypes.endp = _endpos;
18438 MenhirLib.EngineTypes.next = _menhir_stack;
18439 });
18440 (fun _menhir_env ->
18441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18442 let {
18443 MenhirLib.EngineTypes.semv = t;
18444 MenhirLib.EngineTypes.startp = _startpos_t_;
18445 MenhirLib.EngineTypes.endp = _endpos_t_;
18446 MenhirLib.EngineTypes.next = {
18447 MenhirLib.EngineTypes.state = _menhir_s;
18448 MenhirLib.EngineTypes.startp = _startpos__1_;
18449 MenhirLib.EngineTypes.endp = _endpos__1_;
18450 MenhirLib.EngineTypes.next = _menhir_stack;
18451 };
18452 } = _menhir_stack in
18453 let t : 'tv_ctype = Obj.magic t in
18454 let _startpos = _startpos__1_ in
18455 let _endpos = _endpos_t_ in
18456 let _v : 'tv_iso_ctype_ =
18457 # 2268 "parser_cocci_menhir.mly"
18458 ( Common.Left t )
18459 # 18460 "parser_cocci_menhir.ml"
18460 in
18461 _menhir_env.MenhirLib.EngineTypes.stack <- {
18462 MenhirLib.EngineTypes.state = _menhir_s;
18463 MenhirLib.EngineTypes.semv = Obj.repr _v;
18464 MenhirLib.EngineTypes.startp = _startpos;
18465 MenhirLib.EngineTypes.endp = _endpos;
18466 MenhirLib.EngineTypes.next = _menhir_stack;
18467 });
18468 (fun _menhir_env ->
18469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18470 let {
18471 MenhirLib.EngineTypes.semv = t;
18472 MenhirLib.EngineTypes.startp = _startpos_t_;
18473 MenhirLib.EngineTypes.endp = _endpos_t_;
18474 MenhirLib.EngineTypes.next = {
18475 MenhirLib.EngineTypes.state = _menhir_s;
18476 MenhirLib.EngineTypes.startp = _startpos__1_;
18477 MenhirLib.EngineTypes.endp = _endpos__1_;
18478 MenhirLib.EngineTypes.next = _menhir_stack;
18479 };
18480 } = _menhir_stack in
18481 let t : 'tv_ctype = Obj.magic t in
18482 let _startpos = _startpos__1_ in
18483 let _endpos = _endpos_t_ in
18484 let _v : 'tv_iso_ctype_ =
18485 # 2269 "parser_cocci_menhir.mly"
18486 ( Common.Right t )
18487 # 18488 "parser_cocci_menhir.ml"
18488 in
18489 _menhir_env.MenhirLib.EngineTypes.stack <- {
18490 MenhirLib.EngineTypes.state = _menhir_s;
18491 MenhirLib.EngineTypes.semv = Obj.repr _v;
18492 MenhirLib.EngineTypes.startp = _startpos;
18493 MenhirLib.EngineTypes.endp = _endpos;
18494 MenhirLib.EngineTypes.next = _menhir_stack;
18495 });
18496 (fun _menhir_env ->
18497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18498 let {
18499 MenhirLib.EngineTypes.semv = t;
18500 MenhirLib.EngineTypes.startp = _startpos_t_;
18501 MenhirLib.EngineTypes.endp = _endpos_t_;
18502 MenhirLib.EngineTypes.next = {
18503 MenhirLib.EngineTypes.state = _menhir_s;
18504 MenhirLib.EngineTypes.startp = _startpos__1_;
18505 MenhirLib.EngineTypes.endp = _endpos__1_;
18506 MenhirLib.EngineTypes.next = _menhir_stack;
18507 };
18508 } = _menhir_stack in
18509 let t : 'tv_decl_var = Obj.magic t in
18510 let _startpos = _startpos__1_ in
18511 let _endpos = _endpos_t_ in
18512 let _v : 'tv_iso_decl_var_ =
18513 # 2268 "parser_cocci_menhir.mly"
18514 ( Common.Left t )
18515 # 18516 "parser_cocci_menhir.ml"
18516 in
18517 _menhir_env.MenhirLib.EngineTypes.stack <- {
18518 MenhirLib.EngineTypes.state = _menhir_s;
18519 MenhirLib.EngineTypes.semv = Obj.repr _v;
18520 MenhirLib.EngineTypes.startp = _startpos;
18521 MenhirLib.EngineTypes.endp = _endpos;
18522 MenhirLib.EngineTypes.next = _menhir_stack;
18523 });
18524 (fun _menhir_env ->
18525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18526 let {
18527 MenhirLib.EngineTypes.semv = t;
18528 MenhirLib.EngineTypes.startp = _startpos_t_;
18529 MenhirLib.EngineTypes.endp = _endpos_t_;
18530 MenhirLib.EngineTypes.next = {
18531 MenhirLib.EngineTypes.state = _menhir_s;
18532 MenhirLib.EngineTypes.startp = _startpos__1_;
18533 MenhirLib.EngineTypes.endp = _endpos__1_;
18534 MenhirLib.EngineTypes.next = _menhir_stack;
18535 };
18536 } = _menhir_stack in
18537 let t : 'tv_decl_var = Obj.magic t in
18538 let _startpos = _startpos__1_ in
18539 let _endpos = _endpos_t_ in
18540 let _v : 'tv_iso_decl_var_ =
18541 # 2269 "parser_cocci_menhir.mly"
18542 ( Common.Right t )
18543 # 18544 "parser_cocci_menhir.ml"
18544 in
18545 _menhir_env.MenhirLib.EngineTypes.stack <- {
18546 MenhirLib.EngineTypes.state = _menhir_s;
18547 MenhirLib.EngineTypes.semv = Obj.repr _v;
18548 MenhirLib.EngineTypes.startp = _startpos;
18549 MenhirLib.EngineTypes.endp = _endpos;
18550 MenhirLib.EngineTypes.next = _menhir_stack;
18551 });
18552 (fun _menhir_env ->
18553 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18554 let {
18555 MenhirLib.EngineTypes.semv = t;
18556 MenhirLib.EngineTypes.startp = _startpos_t_;
18557 MenhirLib.EngineTypes.endp = _endpos_t_;
18558 MenhirLib.EngineTypes.next = {
18559 MenhirLib.EngineTypes.state = _menhir_s;
18560 MenhirLib.EngineTypes.startp = _startpos__1_;
18561 MenhirLib.EngineTypes.endp = _endpos__1_;
18562 MenhirLib.EngineTypes.next = _menhir_stack;
18563 };
18564 } = _menhir_stack in
18565 let t : 'tv_eexpr = Obj.magic t in
18566 let _startpos = _startpos__1_ in
18567 let _endpos = _endpos_t_ in
18568 let _v : 'tv_iso_eexpr_ =
18569 # 2268 "parser_cocci_menhir.mly"
18570 ( Common.Left t )
18571 # 18572 "parser_cocci_menhir.ml"
18572 in
18573 _menhir_env.MenhirLib.EngineTypes.stack <- {
18574 MenhirLib.EngineTypes.state = _menhir_s;
18575 MenhirLib.EngineTypes.semv = Obj.repr _v;
18576 MenhirLib.EngineTypes.startp = _startpos;
18577 MenhirLib.EngineTypes.endp = _endpos;
18578 MenhirLib.EngineTypes.next = _menhir_stack;
18579 });
18580 (fun _menhir_env ->
18581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18582 let {
18583 MenhirLib.EngineTypes.semv = t;
18584 MenhirLib.EngineTypes.startp = _startpos_t_;
18585 MenhirLib.EngineTypes.endp = _endpos_t_;
18586 MenhirLib.EngineTypes.next = {
18587 MenhirLib.EngineTypes.state = _menhir_s;
18588 MenhirLib.EngineTypes.startp = _startpos__1_;
18589 MenhirLib.EngineTypes.endp = _endpos__1_;
18590 MenhirLib.EngineTypes.next = _menhir_stack;
18591 };
18592 } = _menhir_stack in
18593 let t : 'tv_eexpr = Obj.magic t in
18594 let _startpos = _startpos__1_ in
18595 let _endpos = _endpos_t_ in
18596 let _v : 'tv_iso_eexpr_ =
18597 # 2269 "parser_cocci_menhir.mly"
18598 ( Common.Right t )
18599 # 18600 "parser_cocci_menhir.ml"
18600 in
18601 _menhir_env.MenhirLib.EngineTypes.stack <- {
18602 MenhirLib.EngineTypes.state = _menhir_s;
18603 MenhirLib.EngineTypes.semv = Obj.repr _v;
18604 MenhirLib.EngineTypes.startp = _startpos;
18605 MenhirLib.EngineTypes.endp = _endpos;
18606 MenhirLib.EngineTypes.next = _menhir_stack;
18607 });
18608 (fun _menhir_env ->
18609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18610 let {
18611 MenhirLib.EngineTypes.semv = t;
18612 MenhirLib.EngineTypes.startp = _startpos_t_;
18613 MenhirLib.EngineTypes.endp = _endpos_t_;
18614 MenhirLib.EngineTypes.next = {
18615 MenhirLib.EngineTypes.state = _menhir_s;
18616 MenhirLib.EngineTypes.startp = _startpos__1_;
18617 MenhirLib.EngineTypes.endp = _endpos__1_;
18618 MenhirLib.EngineTypes.next = _menhir_stack;
18619 };
18620 } = _menhir_stack in
18621 let t : 'tv_nest_start = Obj.magic t in
18622 let _startpos = _startpos__1_ in
18623 let _endpos = _endpos_t_ in
18624 let _v : 'tv_iso_nest_start_ =
18625 # 2268 "parser_cocci_menhir.mly"
18626 ( Common.Left t )
18627 # 18628 "parser_cocci_menhir.ml"
18628 in
18629 _menhir_env.MenhirLib.EngineTypes.stack <- {
18630 MenhirLib.EngineTypes.state = _menhir_s;
18631 MenhirLib.EngineTypes.semv = Obj.repr _v;
18632 MenhirLib.EngineTypes.startp = _startpos;
18633 MenhirLib.EngineTypes.endp = _endpos;
18634 MenhirLib.EngineTypes.next = _menhir_stack;
18635 });
18636 (fun _menhir_env ->
18637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18638 let {
18639 MenhirLib.EngineTypes.semv = t;
18640 MenhirLib.EngineTypes.startp = _startpos_t_;
18641 MenhirLib.EngineTypes.endp = _endpos_t_;
18642 MenhirLib.EngineTypes.next = {
18643 MenhirLib.EngineTypes.state = _menhir_s;
18644 MenhirLib.EngineTypes.startp = _startpos__1_;
18645 MenhirLib.EngineTypes.endp = _endpos__1_;
18646 MenhirLib.EngineTypes.next = _menhir_stack;
18647 };
18648 } = _menhir_stack in
18649 let t : 'tv_nest_start = Obj.magic t in
18650 let _startpos = _startpos__1_ in
18651 let _endpos = _endpos_t_ in
18652 let _v : 'tv_iso_nest_start_ =
18653 # 2269 "parser_cocci_menhir.mly"
18654 ( Common.Right t )
18655 # 18656 "parser_cocci_menhir.ml"
18656 in
18657 _menhir_env.MenhirLib.EngineTypes.stack <- {
18658 MenhirLib.EngineTypes.state = _menhir_s;
18659 MenhirLib.EngineTypes.semv = Obj.repr _v;
18660 MenhirLib.EngineTypes.startp = _startpos;
18661 MenhirLib.EngineTypes.endp = _endpos;
18662 MenhirLib.EngineTypes.next = _menhir_stack;
18663 });
18664 (fun _menhir_env ->
18665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18666 let {
18667 MenhirLib.EngineTypes.semv = t;
18668 MenhirLib.EngineTypes.startp = _startpos_t_;
18669 MenhirLib.EngineTypes.endp = _endpos_t_;
18670 MenhirLib.EngineTypes.next = {
18671 MenhirLib.EngineTypes.state = _menhir_s;
18672 MenhirLib.EngineTypes.startp = _startpos__1_;
18673 MenhirLib.EngineTypes.endp = _endpos__1_;
18674 MenhirLib.EngineTypes.next = _menhir_stack;
18675 };
18676 } = _menhir_stack in
18677 let t : 'tv_single_statement = Obj.magic t in
18678 let _startpos = _startpos__1_ in
18679 let _endpos = _endpos_t_ in
18680 let _v : 'tv_iso_single_statement_ =
18681 # 2268 "parser_cocci_menhir.mly"
18682 ( Common.Left t )
18683 # 18684 "parser_cocci_menhir.ml"
18684 in
18685 _menhir_env.MenhirLib.EngineTypes.stack <- {
18686 MenhirLib.EngineTypes.state = _menhir_s;
18687 MenhirLib.EngineTypes.semv = Obj.repr _v;
18688 MenhirLib.EngineTypes.startp = _startpos;
18689 MenhirLib.EngineTypes.endp = _endpos;
18690 MenhirLib.EngineTypes.next = _menhir_stack;
18691 });
18692 (fun _menhir_env ->
18693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18694 let {
18695 MenhirLib.EngineTypes.semv = t;
18696 MenhirLib.EngineTypes.startp = _startpos_t_;
18697 MenhirLib.EngineTypes.endp = _endpos_t_;
18698 MenhirLib.EngineTypes.next = {
18699 MenhirLib.EngineTypes.state = _menhir_s;
18700 MenhirLib.EngineTypes.startp = _startpos__1_;
18701 MenhirLib.EngineTypes.endp = _endpos__1_;
18702 MenhirLib.EngineTypes.next = _menhir_stack;
18703 };
18704 } = _menhir_stack in
18705 let t : 'tv_single_statement = Obj.magic t in
18706 let _startpos = _startpos__1_ in
18707 let _endpos = _endpos_t_ in
18708 let _v : 'tv_iso_single_statement_ =
18709 # 2269 "parser_cocci_menhir.mly"
18710 ( Common.Right t )
18711 # 18712 "parser_cocci_menhir.ml"
18712 in
18713 _menhir_env.MenhirLib.EngineTypes.stack <- {
18714 MenhirLib.EngineTypes.state = _menhir_s;
18715 MenhirLib.EngineTypes.semv = Obj.repr _v;
18716 MenhirLib.EngineTypes.startp = _startpos;
18717 MenhirLib.EngineTypes.endp = _endpos;
18718 MenhirLib.EngineTypes.next = _menhir_stack;
18719 });
18720 (fun _menhir_env ->
18721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18722 let {
18723 MenhirLib.EngineTypes.startp = _startpos__4_;
18724 MenhirLib.EngineTypes.endp = _endpos__4_;
18725 MenhirLib.EngineTypes.next = {
18726 MenhirLib.EngineTypes.semv = el;
18727 MenhirLib.EngineTypes.startp = _startpos_el_;
18728 MenhirLib.EngineTypes.endp = _endpos_el_;
18729 MenhirLib.EngineTypes.next = {
18730 MenhirLib.EngineTypes.semv = e1;
18731 MenhirLib.EngineTypes.startp = _startpos_e1_;
18732 MenhirLib.EngineTypes.endp = _endpos_e1_;
18733 MenhirLib.EngineTypes.next = {
18734 MenhirLib.EngineTypes.state = _menhir_s;
18735 MenhirLib.EngineTypes.startp = _startpos__1_;
18736 MenhirLib.EngineTypes.endp = _endpos__1_;
18737 MenhirLib.EngineTypes.next = _menhir_stack;
18738 };
18739 };
18740 };
18741 } = _menhir_stack in
18742 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18743 let e1 : 'tv_eexpr = Obj.magic e1 in
18744 let _startpos = _startpos__1_ in
18745 let _endpos = _endpos__4_ in
18746 let _v : (
18747 # 232 "parser_cocci_menhir.mly"
18748 (Ast0_cocci.anything list list)
18749 # 18750 "parser_cocci_menhir.ml"
18750 ) =
18751 # 2236 "parser_cocci_menhir.mly"
18752 ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
18753 # 18754 "parser_cocci_menhir.ml"
18754 in
18755 _menhir_env.MenhirLib.EngineTypes.stack <- {
18756 MenhirLib.EngineTypes.state = _menhir_s;
18757 MenhirLib.EngineTypes.semv = Obj.repr _v;
18758 MenhirLib.EngineTypes.startp = _startpos;
18759 MenhirLib.EngineTypes.endp = _endpos;
18760 MenhirLib.EngineTypes.next = _menhir_stack;
18761 });
18762 (fun _menhir_env ->
18763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18764 let {
18765 MenhirLib.EngineTypes.startp = _startpos__4_;
18766 MenhirLib.EngineTypes.endp = _endpos__4_;
18767 MenhirLib.EngineTypes.next = {
18768 MenhirLib.EngineTypes.semv = el;
18769 MenhirLib.EngineTypes.startp = _startpos_el_;
18770 MenhirLib.EngineTypes.endp = _endpos_el_;
18771 MenhirLib.EngineTypes.next = {
18772 MenhirLib.EngineTypes.semv = e1;
18773 MenhirLib.EngineTypes.startp = _startpos_e1_;
18774 MenhirLib.EngineTypes.endp = _endpos_e1_;
18775 MenhirLib.EngineTypes.next = {
18776 MenhirLib.EngineTypes.state = _menhir_s;
18777 MenhirLib.EngineTypes.startp = _startpos__1_;
18778 MenhirLib.EngineTypes.endp = _endpos__1_;
18779 MenhirLib.EngineTypes.next = _menhir_stack;
18780 };
18781 };
18782 };
18783 } = _menhir_stack in
18784 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18785 let e1 : 'tv_eexpr = Obj.magic e1 in
18786 let _startpos = _startpos__1_ in
18787 let _endpos = _endpos__4_ in
18788 let _v : (
18789 # 232 "parser_cocci_menhir.mly"
18790 (Ast0_cocci.anything list list)
18791 # 18792 "parser_cocci_menhir.ml"
18792 ) =
18793 # 2238 "parser_cocci_menhir.mly"
18794 ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
18795 # 18796 "parser_cocci_menhir.ml"
18796 in
18797 _menhir_env.MenhirLib.EngineTypes.stack <- {
18798 MenhirLib.EngineTypes.state = _menhir_s;
18799 MenhirLib.EngineTypes.semv = Obj.repr _v;
18800 MenhirLib.EngineTypes.startp = _startpos;
18801 MenhirLib.EngineTypes.endp = _endpos;
18802 MenhirLib.EngineTypes.next = _menhir_stack;
18803 });
18804 (fun _menhir_env ->
18805 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18806 let {
18807 MenhirLib.EngineTypes.startp = _startpos__4_;
18808 MenhirLib.EngineTypes.endp = _endpos__4_;
18809 MenhirLib.EngineTypes.next = {
18810 MenhirLib.EngineTypes.semv = el;
18811 MenhirLib.EngineTypes.startp = _startpos_el_;
18812 MenhirLib.EngineTypes.endp = _endpos_el_;
18813 MenhirLib.EngineTypes.next = {
18814 MenhirLib.EngineTypes.semv = e1;
18815 MenhirLib.EngineTypes.startp = _startpos_e1_;
18816 MenhirLib.EngineTypes.endp = _endpos_e1_;
18817 MenhirLib.EngineTypes.next = {
18818 MenhirLib.EngineTypes.state = _menhir_s;
18819 MenhirLib.EngineTypes.startp = _startpos__1_;
18820 MenhirLib.EngineTypes.endp = _endpos__1_;
18821 MenhirLib.EngineTypes.next = _menhir_stack;
18822 };
18823 };
18824 };
18825 } = _menhir_stack in
18826 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18827 let e1 : 'tv_eexpr = Obj.magic e1 in
18828 let _startpos = _startpos__1_ in
18829 let _endpos = _endpos__4_ in
18830 let _v : (
18831 # 232 "parser_cocci_menhir.mly"
18832 (Ast0_cocci.anything list list)
18833 # 18834 "parser_cocci_menhir.ml"
18834 ) =
18835 # 2240 "parser_cocci_menhir.mly"
18836 ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
18837 # 18838 "parser_cocci_menhir.ml"
18838 in
18839 _menhir_env.MenhirLib.EngineTypes.stack <- {
18840 MenhirLib.EngineTypes.state = _menhir_s;
18841 MenhirLib.EngineTypes.semv = Obj.repr _v;
18842 MenhirLib.EngineTypes.startp = _startpos;
18843 MenhirLib.EngineTypes.endp = _endpos;
18844 MenhirLib.EngineTypes.next = _menhir_stack;
18845 });
18846 (fun _menhir_env ->
18847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18848 let {
18849 MenhirLib.EngineTypes.startp = _startpos__4_;
18850 MenhirLib.EngineTypes.endp = _endpos__4_;
18851 MenhirLib.EngineTypes.next = {
18852 MenhirLib.EngineTypes.semv = el;
18853 MenhirLib.EngineTypes.startp = _startpos_el_;
18854 MenhirLib.EngineTypes.endp = _endpos_el_;
18855 MenhirLib.EngineTypes.next = {
18856 MenhirLib.EngineTypes.semv = e1;
18857 MenhirLib.EngineTypes.startp = _startpos_e1_;
18858 MenhirLib.EngineTypes.endp = _endpos_e1_;
18859 MenhirLib.EngineTypes.next = {
18860 MenhirLib.EngineTypes.state = _menhir_s;
18861 MenhirLib.EngineTypes.startp = _startpos__1_;
18862 MenhirLib.EngineTypes.endp = _endpos__1_;
18863 MenhirLib.EngineTypes.next = _menhir_stack;
18864 };
18865 };
18866 };
18867 } = _menhir_stack in
18868 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18869 let e1 : 'tv_eexpr = Obj.magic e1 in
18870 let _startpos = _startpos__1_ in
18871 let _endpos = _endpos__4_ in
18872 let _v : (
18873 # 232 "parser_cocci_menhir.mly"
18874 (Ast0_cocci.anything list list)
18875 # 18876 "parser_cocci_menhir.ml"
18876 ) =
18877 # 2242 "parser_cocci_menhir.mly"
18878 ( let ffn x = Ast0.ExprTag x in
18879 let fn x = Ast0.TestExprTag x in
18880 P.iso_adjust ffn fn e1 el )
18881 # 18882 "parser_cocci_menhir.ml"
18882 in
18883 _menhir_env.MenhirLib.EngineTypes.stack <- {
18884 MenhirLib.EngineTypes.state = _menhir_s;
18885 MenhirLib.EngineTypes.semv = Obj.repr _v;
18886 MenhirLib.EngineTypes.startp = _startpos;
18887 MenhirLib.EngineTypes.endp = _endpos;
18888 MenhirLib.EngineTypes.next = _menhir_stack;
18889 });
18890 (fun _menhir_env ->
18891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18892 let {
18893 MenhirLib.EngineTypes.startp = _startpos__4_;
18894 MenhirLib.EngineTypes.endp = _endpos__4_;
18895 MenhirLib.EngineTypes.next = {
18896 MenhirLib.EngineTypes.semv = sl;
18897 MenhirLib.EngineTypes.startp = _startpos_sl_;
18898 MenhirLib.EngineTypes.endp = _endpos_sl_;
18899 MenhirLib.EngineTypes.next = {
18900 MenhirLib.EngineTypes.semv = s1;
18901 MenhirLib.EngineTypes.startp = _startpos_s1_;
18902 MenhirLib.EngineTypes.endp = _endpos_s1_;
18903 MenhirLib.EngineTypes.next = {
18904 MenhirLib.EngineTypes.state = _menhir_s;
18905 MenhirLib.EngineTypes.startp = _startpos__1_;
18906 MenhirLib.EngineTypes.endp = _endpos__1_;
18907 MenhirLib.EngineTypes.next = _menhir_stack;
18908 };
18909 };
18910 };
18911 } = _menhir_stack in
18912 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
18913 let s1 : 'tv_single_statement = Obj.magic s1 in
18914 let _startpos = _startpos__1_ in
18915 let _endpos = _endpos__4_ in
18916 let _v : (
18917 # 232 "parser_cocci_menhir.mly"
18918 (Ast0_cocci.anything list list)
18919 # 18920 "parser_cocci_menhir.ml"
18920 ) =
18921 # 2246 "parser_cocci_menhir.mly"
18922 ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
18923 # 18924 "parser_cocci_menhir.ml"
18924 in
18925 _menhir_env.MenhirLib.EngineTypes.stack <- {
18926 MenhirLib.EngineTypes.state = _menhir_s;
18927 MenhirLib.EngineTypes.semv = Obj.repr _v;
18928 MenhirLib.EngineTypes.startp = _startpos;
18929 MenhirLib.EngineTypes.endp = _endpos;
18930 MenhirLib.EngineTypes.next = _menhir_stack;
18931 });
18932 (fun _menhir_env ->
18933 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18934 let {
18935 MenhirLib.EngineTypes.startp = _startpos__4_;
18936 MenhirLib.EngineTypes.endp = _endpos__4_;
18937 MenhirLib.EngineTypes.next = {
18938 MenhirLib.EngineTypes.semv = tl;
18939 MenhirLib.EngineTypes.startp = _startpos_tl_;
18940 MenhirLib.EngineTypes.endp = _endpos_tl_;
18941 MenhirLib.EngineTypes.next = {
18942 MenhirLib.EngineTypes.semv = t1;
18943 MenhirLib.EngineTypes.startp = _startpos_t1_;
18944 MenhirLib.EngineTypes.endp = _endpos_t1_;
18945 MenhirLib.EngineTypes.next = {
18946 MenhirLib.EngineTypes.state = _menhir_s;
18947 MenhirLib.EngineTypes.startp = _startpos__1_;
18948 MenhirLib.EngineTypes.endp = _endpos__1_;
18949 MenhirLib.EngineTypes.next = _menhir_stack;
18950 };
18951 };
18952 };
18953 } = _menhir_stack in
18954 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
18955 let t1 : 'tv_ctype = Obj.magic t1 in
18956 let _startpos = _startpos__1_ in
18957 let _endpos = _endpos__4_ in
18958 let _v : (
18959 # 232 "parser_cocci_menhir.mly"
18960 (Ast0_cocci.anything list list)
18961 # 18962 "parser_cocci_menhir.ml"
18962 ) =
18963 # 2248 "parser_cocci_menhir.mly"
18964 ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
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 {
18977 MenhirLib.EngineTypes.startp = _startpos__4_;
18978 MenhirLib.EngineTypes.endp = _endpos__4_;
18979 MenhirLib.EngineTypes.next = {
18980 MenhirLib.EngineTypes.semv = el;
18981 MenhirLib.EngineTypes.startp = _startpos_el_;
18982 MenhirLib.EngineTypes.endp = _endpos_el_;
18983 MenhirLib.EngineTypes.next = {
18984 MenhirLib.EngineTypes.semv = e1;
18985 MenhirLib.EngineTypes.startp = _startpos_e1_;
18986 MenhirLib.EngineTypes.endp = _endpos_e1_;
18987 MenhirLib.EngineTypes.next = {
18988 MenhirLib.EngineTypes.state = _menhir_s;
18989 MenhirLib.EngineTypes.startp = _startpos__1_;
18990 MenhirLib.EngineTypes.endp = _endpos__1_;
18991 MenhirLib.EngineTypes.next = _menhir_stack;
18992 };
18993 };
18994 };
18995 } = _menhir_stack in
18996 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
18997 let e1 : 'tv_nest_start = Obj.magic e1 in
18998 let _startpos = _startpos__1_ in
18999 let _endpos = _endpos__4_ in
19000 let _v : (
19001 # 232 "parser_cocci_menhir.mly"
19002 (Ast0_cocci.anything list list)
19003 # 19004 "parser_cocci_menhir.ml"
19004 ) =
19005 # 2250 "parser_cocci_menhir.mly"
19006 ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
19007 # 19008 "parser_cocci_menhir.ml"
19008 in
19009 _menhir_env.MenhirLib.EngineTypes.stack <- {
19010 MenhirLib.EngineTypes.state = _menhir_s;
19011 MenhirLib.EngineTypes.semv = Obj.repr _v;
19012 MenhirLib.EngineTypes.startp = _startpos;
19013 MenhirLib.EngineTypes.endp = _endpos;
19014 MenhirLib.EngineTypes.next = _menhir_stack;
19015 });
19016 (fun _menhir_env ->
19017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19018 let {
19019 MenhirLib.EngineTypes.startp = _startpos__4_;
19020 MenhirLib.EngineTypes.endp = _endpos__4_;
19021 MenhirLib.EngineTypes.next = {
19022 MenhirLib.EngineTypes.semv = dl;
19023 MenhirLib.EngineTypes.startp = _startpos_dl_;
19024 MenhirLib.EngineTypes.endp = _endpos_dl_;
19025 MenhirLib.EngineTypes.next = {
19026 MenhirLib.EngineTypes.semv = d1;
19027 MenhirLib.EngineTypes.startp = _startpos_d1_;
19028 MenhirLib.EngineTypes.endp = _endpos_d1_;
19029 MenhirLib.EngineTypes.next = {
19030 MenhirLib.EngineTypes.state = _menhir_s;
19031 MenhirLib.EngineTypes.startp = _startpos__1_;
19032 MenhirLib.EngineTypes.endp = _endpos__1_;
19033 MenhirLib.EngineTypes.next = _menhir_stack;
19034 };
19035 };
19036 };
19037 } = _menhir_stack in
19038 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
19039 let d1 : 'tv_decl_var = Obj.magic d1 in
19040 let _startpos = _startpos__1_ in
19041 let _endpos = _endpos__4_ in
19042 let _v : (
19043 # 232 "parser_cocci_menhir.mly"
19044 (Ast0_cocci.anything list list)
19045 # 19046 "parser_cocci_menhir.ml"
19046 ) =
19047 # 2252 "parser_cocci_menhir.mly"
19048 ( let check_one = function
19049 [x] -> x
19050 | _ ->
19051 raise
19052 (Semantic_cocci.Semantic
19053 "only one variable per declaration in an isomorphism rule") in
19054 let d1 = check_one d1 in
19055 let dl =
19056 List.map
19057 (function
19058 Common.Left x -> Common.Left(check_one x)
19059 | Common.Right x -> Common.Right(check_one x))
19060 dl in
19061 let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
19062 # 19063 "parser_cocci_menhir.ml"
19063 in
19064 _menhir_env.MenhirLib.EngineTypes.stack <- {
19065 MenhirLib.EngineTypes.state = _menhir_s;
19066 MenhirLib.EngineTypes.semv = Obj.repr _v;
19067 MenhirLib.EngineTypes.startp = _startpos;
19068 MenhirLib.EngineTypes.endp = _endpos;
19069 MenhirLib.EngineTypes.next = _menhir_stack;
19070 });
19071 (fun _menhir_env ->
19072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19073 let {
19074 MenhirLib.EngineTypes.state = _menhir_s;
19075 MenhirLib.EngineTypes.semv = m;
19076 MenhirLib.EngineTypes.startp = _startpos_m_;
19077 MenhirLib.EngineTypes.endp = _endpos_m_;
19078 MenhirLib.EngineTypes.next = _menhir_stack;
19079 } = _menhir_stack in
19080 let m : 'tv_metadec = Obj.magic m in
19081 let _startpos = _startpos_m_ in
19082 let _endpos = _endpos_m_ in
19083 let _v : (
19084 # 235 "parser_cocci_menhir.mly"
19085 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
19086 # 19087 "parser_cocci_menhir.ml"
19087 ) =
19088 # 252 "parser_cocci_menhir.mly"
19089 ( m "" )
19090 # 19091 "parser_cocci_menhir.ml"
19091 in
19092 _menhir_env.MenhirLib.EngineTypes.stack <- {
19093 MenhirLib.EngineTypes.state = _menhir_s;
19094 MenhirLib.EngineTypes.semv = Obj.repr _v;
19095 MenhirLib.EngineTypes.startp = _startpos;
19096 MenhirLib.EngineTypes.endp = _endpos;
19097 MenhirLib.EngineTypes.next = _menhir_stack;
19098 });
19099 (fun _menhir_env ->
19100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19101 let {
19102 MenhirLib.EngineTypes.startp = _startpos__2_;
19103 MenhirLib.EngineTypes.endp = _endpos__2_;
19104 MenhirLib.EngineTypes.next = {
19105 MenhirLib.EngineTypes.state = _menhir_s;
19106 MenhirLib.EngineTypes.semv = nm;
19107 MenhirLib.EngineTypes.startp = _startpos_nm_;
19108 MenhirLib.EngineTypes.endp = _endpos_nm_;
19109 MenhirLib.EngineTypes.next = _menhir_stack;
19110 };
19111 } = _menhir_stack in
19112 let nm : 'tv_pure_ident = Obj.magic nm in
19113 let _startpos = _startpos_nm_ in
19114 let _endpos = _endpos__2_ in
19115 let _v : (
19116 # 219 "parser_cocci_menhir.mly"
19117 (Ast_cocci.rulename)
19118 # 19119 "parser_cocci_menhir.ml"
19119 ) =
19120 # 267 "parser_cocci_menhir.mly"
19121 ( P.make_iso_rule_name_result (P.id2name nm) )
19122 # 19123 "parser_cocci_menhir.ml"
19123 in
19124 _menhir_env.MenhirLib.EngineTypes.stack <- {
19125 MenhirLib.EngineTypes.state = _menhir_s;
19126 MenhirLib.EngineTypes.semv = Obj.repr _v;
19127 MenhirLib.EngineTypes.startp = _startpos;
19128 MenhirLib.EngineTypes.endp = _endpos;
19129 MenhirLib.EngineTypes.next = _menhir_stack;
19130 });
19131 (fun _menhir_env ->
19132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19133 let {
19134 MenhirLib.EngineTypes.state = _menhir_s;
19135 MenhirLib.EngineTypes.semv = _1;
19136 MenhirLib.EngineTypes.startp = _startpos__1_;
19137 MenhirLib.EngineTypes.endp = _endpos__1_;
19138 MenhirLib.EngineTypes.next = _menhir_stack;
19139 } = _menhir_stack in
19140 let _1 : (
19141 # 125 "parser_cocci_menhir.mly"
19142 (string * Data.clt)
19143 # 19144 "parser_cocci_menhir.ml"
19144 ) = Obj.magic _1 in
19145 let _startpos = _startpos__1_ in
19146 let _endpos = _endpos__1_ in
19147 let _v : 'tv_iter_ident =
19148 # 1909 "parser_cocci_menhir.mly"
19149 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
19150 # 19151 "parser_cocci_menhir.ml"
19151 in
19152 _menhir_env.MenhirLib.EngineTypes.stack <- {
19153 MenhirLib.EngineTypes.state = _menhir_s;
19154 MenhirLib.EngineTypes.semv = Obj.repr _v;
19155 MenhirLib.EngineTypes.startp = _startpos;
19156 MenhirLib.EngineTypes.endp = _endpos;
19157 MenhirLib.EngineTypes.next = _menhir_stack;
19158 });
19159 (fun _menhir_env ->
19160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19161 let {
19162 MenhirLib.EngineTypes.state = _menhir_s;
19163 MenhirLib.EngineTypes.semv = _1;
19164 MenhirLib.EngineTypes.startp = _startpos__1_;
19165 MenhirLib.EngineTypes.endp = _endpos__1_;
19166 MenhirLib.EngineTypes.next = _menhir_stack;
19167 } = _menhir_stack in
19168 let _1 : (
19169 # 129 "parser_cocci_menhir.mly"
19170 (Parse_aux.idinfo)
19171 # 19172 "parser_cocci_menhir.ml"
19172 ) = Obj.magic _1 in
19173 let _startpos = _startpos__1_ in
19174 let _endpos = _endpos__1_ in
19175 let _v : 'tv_iter_ident =
19176 # 1911 "parser_cocci_menhir.mly"
19177 ( let (nm,constraints,pure,clt) = _1 in
19178 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
19179 # 19180 "parser_cocci_menhir.ml"
19180 in
19181 _menhir_env.MenhirLib.EngineTypes.stack <- {
19182 MenhirLib.EngineTypes.state = _menhir_s;
19183 MenhirLib.EngineTypes.semv = Obj.repr _v;
19184 MenhirLib.EngineTypes.startp = _startpos;
19185 MenhirLib.EngineTypes.endp = _endpos;
19186 MenhirLib.EngineTypes.next = _menhir_stack;
19187 });
19188 (fun _menhir_env ->
19189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19190 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19191 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19192 let _endpos = _startpos in
19193 let _v : 'tv_list_TMul_ =
19194 # 114 "standard.mly"
19195 ( [] )
19196 # 19197 "parser_cocci_menhir.ml"
19197 in
19198 _menhir_env.MenhirLib.EngineTypes.stack <- {
19199 MenhirLib.EngineTypes.state = _menhir_s;
19200 MenhirLib.EngineTypes.semv = Obj.repr _v;
19201 MenhirLib.EngineTypes.startp = _startpos;
19202 MenhirLib.EngineTypes.endp = _endpos;
19203 MenhirLib.EngineTypes.next = _menhir_stack;
19204 });
19205 (fun _menhir_env ->
19206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19207 let {
19208 MenhirLib.EngineTypes.semv = xs;
19209 MenhirLib.EngineTypes.startp = _startpos_xs_;
19210 MenhirLib.EngineTypes.endp = _endpos_xs_;
19211 MenhirLib.EngineTypes.next = {
19212 MenhirLib.EngineTypes.state = _menhir_s;
19213 MenhirLib.EngineTypes.semv = x;
19214 MenhirLib.EngineTypes.startp = _startpos_x_;
19215 MenhirLib.EngineTypes.endp = _endpos_x_;
19216 MenhirLib.EngineTypes.next = _menhir_stack;
19217 };
19218 } = _menhir_stack in
19219 let xs : 'tv_list_TMul_ = Obj.magic xs in
19220 let x : (
19221 # 167 "parser_cocci_menhir.mly"
19222 (Data.clt)
19223 # 19224 "parser_cocci_menhir.ml"
19224 ) = Obj.magic x in
19225 let _startpos = _startpos_x_ in
19226 let _endpos = _endpos_xs_ in
19227 let _v : 'tv_list_TMul_ =
19228 # 116 "standard.mly"
19229 ( x :: xs )
19230 # 19231 "parser_cocci_menhir.ml"
19231 in
19232 _menhir_env.MenhirLib.EngineTypes.stack <- {
19233 MenhirLib.EngineTypes.state = _menhir_s;
19234 MenhirLib.EngineTypes.semv = Obj.repr _v;
19235 MenhirLib.EngineTypes.startp = _startpos;
19236 MenhirLib.EngineTypes.endp = _endpos;
19237 MenhirLib.EngineTypes.next = _menhir_stack;
19238 });
19239 (fun _menhir_env ->
19240 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19241 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19242 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19243 let _endpos = _startpos in
19244 let _v : 'tv_list_array_dec_ =
19245 # 114 "standard.mly"
19246 ( [] )
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 {
19259 MenhirLib.EngineTypes.semv = xs;
19260 MenhirLib.EngineTypes.startp = _startpos_xs_;
19261 MenhirLib.EngineTypes.endp = _endpos_xs_;
19262 MenhirLib.EngineTypes.next = {
19263 MenhirLib.EngineTypes.state = _menhir_s;
19264 MenhirLib.EngineTypes.semv = x;
19265 MenhirLib.EngineTypes.startp = _startpos_x_;
19266 MenhirLib.EngineTypes.endp = _endpos_x_;
19267 MenhirLib.EngineTypes.next = _menhir_stack;
19268 };
19269 } = _menhir_stack in
19270 let xs : 'tv_list_array_dec_ = Obj.magic xs in
19271 let x : 'tv_array_dec = Obj.magic x in
19272 let _startpos = _startpos_x_ in
19273 let _endpos = _endpos_xs_ in
19274 let _v : 'tv_list_array_dec_ =
19275 # 116 "standard.mly"
19276 ( x :: xs )
19277 # 19278 "parser_cocci_menhir.ml"
19278 in
19279 _menhir_env.MenhirLib.EngineTypes.stack <- {
19280 MenhirLib.EngineTypes.state = _menhir_s;
19281 MenhirLib.EngineTypes.semv = Obj.repr _v;
19282 MenhirLib.EngineTypes.startp = _startpos;
19283 MenhirLib.EngineTypes.endp = _endpos;
19284 MenhirLib.EngineTypes.next = _menhir_stack;
19285 });
19286 (fun _menhir_env ->
19287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19288 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19289 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19290 let _endpos = _startpos in
19291 let _v : 'tv_list_case_line_ =
19292 # 114 "standard.mly"
19293 ( [] )
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 {
19306 MenhirLib.EngineTypes.semv = xs;
19307 MenhirLib.EngineTypes.startp = _startpos_xs_;
19308 MenhirLib.EngineTypes.endp = _endpos_xs_;
19309 MenhirLib.EngineTypes.next = {
19310 MenhirLib.EngineTypes.state = _menhir_s;
19311 MenhirLib.EngineTypes.semv = x;
19312 MenhirLib.EngineTypes.startp = _startpos_x_;
19313 MenhirLib.EngineTypes.endp = _endpos_x_;
19314 MenhirLib.EngineTypes.next = _menhir_stack;
19315 };
19316 } = _menhir_stack in
19317 let xs : 'tv_list_case_line_ = Obj.magic xs in
19318 let x : 'tv_case_line = Obj.magic x in
19319 let _startpos = _startpos_x_ in
19320 let _endpos = _endpos_xs_ in
19321 let _v : 'tv_list_case_line_ =
19322 # 116 "standard.mly"
19323 ( x :: xs )
19324 # 19325 "parser_cocci_menhir.ml"
19325 in
19326 _menhir_env.MenhirLib.EngineTypes.stack <- {
19327 MenhirLib.EngineTypes.state = _menhir_s;
19328 MenhirLib.EngineTypes.semv = Obj.repr _v;
19329 MenhirLib.EngineTypes.startp = _startpos;
19330 MenhirLib.EngineTypes.endp = _endpos;
19331 MenhirLib.EngineTypes.next = _menhir_stack;
19332 });
19333 (fun _menhir_env ->
19334 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19335 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19336 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19337 let _endpos = _startpos in
19338 let _v : 'tv_list_decl_var_ =
19339 # 114 "standard.mly"
19340 ( [] )
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 {
19353 MenhirLib.EngineTypes.semv = xs;
19354 MenhirLib.EngineTypes.startp = _startpos_xs_;
19355 MenhirLib.EngineTypes.endp = _endpos_xs_;
19356 MenhirLib.EngineTypes.next = {
19357 MenhirLib.EngineTypes.state = _menhir_s;
19358 MenhirLib.EngineTypes.semv = x;
19359 MenhirLib.EngineTypes.startp = _startpos_x_;
19360 MenhirLib.EngineTypes.endp = _endpos_x_;
19361 MenhirLib.EngineTypes.next = _menhir_stack;
19362 };
19363 } = _menhir_stack in
19364 let xs : 'tv_list_decl_var_ = Obj.magic xs in
19365 let x : 'tv_decl_var = Obj.magic x in
19366 let _startpos = _startpos_x_ in
19367 let _endpos = _endpos_xs_ in
19368 let _v : 'tv_list_decl_var_ =
19369 # 116 "standard.mly"
19370 ( x :: xs )
19371 # 19372 "parser_cocci_menhir.ml"
19372 in
19373 _menhir_env.MenhirLib.EngineTypes.stack <- {
19374 MenhirLib.EngineTypes.state = _menhir_s;
19375 MenhirLib.EngineTypes.semv = Obj.repr _v;
19376 MenhirLib.EngineTypes.startp = _startpos;
19377 MenhirLib.EngineTypes.endp = _endpos;
19378 MenhirLib.EngineTypes.next = _menhir_stack;
19379 });
19380 (fun _menhir_env ->
19381 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19382 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19383 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19384 let _endpos = _startpos in
19385 let _v : 'tv_list_designator_ =
19386 # 114 "standard.mly"
19387 ( [] )
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 {
19400 MenhirLib.EngineTypes.semv = xs;
19401 MenhirLib.EngineTypes.startp = _startpos_xs_;
19402 MenhirLib.EngineTypes.endp = _endpos_xs_;
19403 MenhirLib.EngineTypes.next = {
19404 MenhirLib.EngineTypes.state = _menhir_s;
19405 MenhirLib.EngineTypes.semv = x;
19406 MenhirLib.EngineTypes.startp = _startpos_x_;
19407 MenhirLib.EngineTypes.endp = _endpos_x_;
19408 MenhirLib.EngineTypes.next = _menhir_stack;
19409 };
19410 } = _menhir_stack in
19411 let xs : 'tv_list_designator_ = Obj.magic xs in
19412 let x : 'tv_designator = Obj.magic x in
19413 let _startpos = _startpos_x_ in
19414 let _endpos = _endpos_xs_ in
19415 let _v : 'tv_list_designator_ =
19416 # 116 "standard.mly"
19417 ( x :: xs )
19418 # 19419 "parser_cocci_menhir.ml"
19419 in
19420 _menhir_env.MenhirLib.EngineTypes.stack <- {
19421 MenhirLib.EngineTypes.state = _menhir_s;
19422 MenhirLib.EngineTypes.semv = Obj.repr _v;
19423 MenhirLib.EngineTypes.startp = _startpos;
19424 MenhirLib.EngineTypes.endp = _endpos;
19425 MenhirLib.EngineTypes.next = _menhir_stack;
19426 });
19427 (fun _menhir_env ->
19428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19429 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19430 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19431 let _endpos = _startpos in
19432 let _v : 'tv_list_incl_ =
19433 # 114 "standard.mly"
19434 ( [] )
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 {
19447 MenhirLib.EngineTypes.semv = xs;
19448 MenhirLib.EngineTypes.startp = _startpos_xs_;
19449 MenhirLib.EngineTypes.endp = _endpos_xs_;
19450 MenhirLib.EngineTypes.next = {
19451 MenhirLib.EngineTypes.state = _menhir_s;
19452 MenhirLib.EngineTypes.semv = x;
19453 MenhirLib.EngineTypes.startp = _startpos_x_;
19454 MenhirLib.EngineTypes.endp = _endpos_x_;
19455 MenhirLib.EngineTypes.next = _menhir_stack;
19456 };
19457 } = _menhir_stack in
19458 let xs : 'tv_list_incl_ = Obj.magic xs in
19459 let x : 'tv_incl = Obj.magic x in
19460 let _startpos = _startpos_x_ in
19461 let _endpos = _endpos_xs_ in
19462 let _v : 'tv_list_incl_ =
19463 # 116 "standard.mly"
19464 ( x :: xs )
19465 # 19466 "parser_cocci_menhir.ml"
19466 in
19467 _menhir_env.MenhirLib.EngineTypes.stack <- {
19468 MenhirLib.EngineTypes.state = _menhir_s;
19469 MenhirLib.EngineTypes.semv = Obj.repr _v;
19470 MenhirLib.EngineTypes.startp = _startpos;
19471 MenhirLib.EngineTypes.endp = _endpos;
19472 MenhirLib.EngineTypes.next = _menhir_stack;
19473 });
19474 (fun _menhir_env ->
19475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19476 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19477 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19478 let _endpos = _startpos in
19479 let _v : 'tv_list_iso_ctype__ =
19480 # 114 "standard.mly"
19481 ( [] )
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 {
19494 MenhirLib.EngineTypes.semv = xs;
19495 MenhirLib.EngineTypes.startp = _startpos_xs_;
19496 MenhirLib.EngineTypes.endp = _endpos_xs_;
19497 MenhirLib.EngineTypes.next = {
19498 MenhirLib.EngineTypes.state = _menhir_s;
19499 MenhirLib.EngineTypes.semv = x;
19500 MenhirLib.EngineTypes.startp = _startpos_x_;
19501 MenhirLib.EngineTypes.endp = _endpos_x_;
19502 MenhirLib.EngineTypes.next = _menhir_stack;
19503 };
19504 } = _menhir_stack in
19505 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
19506 let x : 'tv_iso_ctype_ = Obj.magic x in
19507 let _startpos = _startpos_x_ in
19508 let _endpos = _endpos_xs_ in
19509 let _v : 'tv_list_iso_ctype__ =
19510 # 116 "standard.mly"
19511 ( x :: xs )
19512 # 19513 "parser_cocci_menhir.ml"
19513 in
19514 _menhir_env.MenhirLib.EngineTypes.stack <- {
19515 MenhirLib.EngineTypes.state = _menhir_s;
19516 MenhirLib.EngineTypes.semv = Obj.repr _v;
19517 MenhirLib.EngineTypes.startp = _startpos;
19518 MenhirLib.EngineTypes.endp = _endpos;
19519 MenhirLib.EngineTypes.next = _menhir_stack;
19520 });
19521 (fun _menhir_env ->
19522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19523 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19524 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19525 let _endpos = _startpos in
19526 let _v : 'tv_list_iso_decl_var__ =
19527 # 114 "standard.mly"
19528 ( [] )
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 {
19541 MenhirLib.EngineTypes.semv = xs;
19542 MenhirLib.EngineTypes.startp = _startpos_xs_;
19543 MenhirLib.EngineTypes.endp = _endpos_xs_;
19544 MenhirLib.EngineTypes.next = {
19545 MenhirLib.EngineTypes.state = _menhir_s;
19546 MenhirLib.EngineTypes.semv = x;
19547 MenhirLib.EngineTypes.startp = _startpos_x_;
19548 MenhirLib.EngineTypes.endp = _endpos_x_;
19549 MenhirLib.EngineTypes.next = _menhir_stack;
19550 };
19551 } = _menhir_stack in
19552 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
19553 let x : 'tv_iso_decl_var_ = Obj.magic x in
19554 let _startpos = _startpos_x_ in
19555 let _endpos = _endpos_xs_ in
19556 let _v : 'tv_list_iso_decl_var__ =
19557 # 116 "standard.mly"
19558 ( x :: xs )
19559 # 19560 "parser_cocci_menhir.ml"
19560 in
19561 _menhir_env.MenhirLib.EngineTypes.stack <- {
19562 MenhirLib.EngineTypes.state = _menhir_s;
19563 MenhirLib.EngineTypes.semv = Obj.repr _v;
19564 MenhirLib.EngineTypes.startp = _startpos;
19565 MenhirLib.EngineTypes.endp = _endpos;
19566 MenhirLib.EngineTypes.next = _menhir_stack;
19567 });
19568 (fun _menhir_env ->
19569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19570 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19571 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19572 let _endpos = _startpos in
19573 let _v : 'tv_list_iso_eexpr__ =
19574 # 114 "standard.mly"
19575 ( [] )
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 {
19588 MenhirLib.EngineTypes.semv = xs;
19589 MenhirLib.EngineTypes.startp = _startpos_xs_;
19590 MenhirLib.EngineTypes.endp = _endpos_xs_;
19591 MenhirLib.EngineTypes.next = {
19592 MenhirLib.EngineTypes.state = _menhir_s;
19593 MenhirLib.EngineTypes.semv = x;
19594 MenhirLib.EngineTypes.startp = _startpos_x_;
19595 MenhirLib.EngineTypes.endp = _endpos_x_;
19596 MenhirLib.EngineTypes.next = _menhir_stack;
19597 };
19598 } = _menhir_stack in
19599 let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
19600 let x : 'tv_iso_eexpr_ = Obj.magic x in
19601 let _startpos = _startpos_x_ in
19602 let _endpos = _endpos_xs_ in
19603 let _v : 'tv_list_iso_eexpr__ =
19604 # 116 "standard.mly"
19605 ( x :: xs )
19606 # 19607 "parser_cocci_menhir.ml"
19607 in
19608 _menhir_env.MenhirLib.EngineTypes.stack <- {
19609 MenhirLib.EngineTypes.state = _menhir_s;
19610 MenhirLib.EngineTypes.semv = Obj.repr _v;
19611 MenhirLib.EngineTypes.startp = _startpos;
19612 MenhirLib.EngineTypes.endp = _endpos;
19613 MenhirLib.EngineTypes.next = _menhir_stack;
19614 });
19615 (fun _menhir_env ->
19616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19617 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19618 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19619 let _endpos = _startpos in
19620 let _v : 'tv_list_iso_nest_start__ =
19621 # 114 "standard.mly"
19622 ( [] )
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 {
19635 MenhirLib.EngineTypes.semv = xs;
19636 MenhirLib.EngineTypes.startp = _startpos_xs_;
19637 MenhirLib.EngineTypes.endp = _endpos_xs_;
19638 MenhirLib.EngineTypes.next = {
19639 MenhirLib.EngineTypes.state = _menhir_s;
19640 MenhirLib.EngineTypes.semv = x;
19641 MenhirLib.EngineTypes.startp = _startpos_x_;
19642 MenhirLib.EngineTypes.endp = _endpos_x_;
19643 MenhirLib.EngineTypes.next = _menhir_stack;
19644 };
19645 } = _menhir_stack in
19646 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
19647 let x : 'tv_iso_nest_start_ = Obj.magic x in
19648 let _startpos = _startpos_x_ in
19649 let _endpos = _endpos_xs_ in
19650 let _v : 'tv_list_iso_nest_start__ =
19651 # 116 "standard.mly"
19652 ( x :: xs )
19653 # 19654 "parser_cocci_menhir.ml"
19654 in
19655 _menhir_env.MenhirLib.EngineTypes.stack <- {
19656 MenhirLib.EngineTypes.state = _menhir_s;
19657 MenhirLib.EngineTypes.semv = Obj.repr _v;
19658 MenhirLib.EngineTypes.startp = _startpos;
19659 MenhirLib.EngineTypes.endp = _endpos;
19660 MenhirLib.EngineTypes.next = _menhir_stack;
19661 });
19662 (fun _menhir_env ->
19663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19664 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19665 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19666 let _endpos = _startpos in
19667 let _v : 'tv_list_iso_single_statement__ =
19668 # 114 "standard.mly"
19669 ( [] )
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 {
19682 MenhirLib.EngineTypes.semv = xs;
19683 MenhirLib.EngineTypes.startp = _startpos_xs_;
19684 MenhirLib.EngineTypes.endp = _endpos_xs_;
19685 MenhirLib.EngineTypes.next = {
19686 MenhirLib.EngineTypes.state = _menhir_s;
19687 MenhirLib.EngineTypes.semv = x;
19688 MenhirLib.EngineTypes.startp = _startpos_x_;
19689 MenhirLib.EngineTypes.endp = _endpos_x_;
19690 MenhirLib.EngineTypes.next = _menhir_stack;
19691 };
19692 } = _menhir_stack in
19693 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
19694 let x : 'tv_iso_single_statement_ = Obj.magic x in
19695 let _startpos = _startpos_x_ in
19696 let _endpos = _endpos_xs_ in
19697 let _v : 'tv_list_iso_single_statement__ =
19698 # 116 "standard.mly"
19699 ( x :: xs )
19700 # 19701 "parser_cocci_menhir.ml"
19701 in
19702 _menhir_env.MenhirLib.EngineTypes.stack <- {
19703 MenhirLib.EngineTypes.state = _menhir_s;
19704 MenhirLib.EngineTypes.semv = Obj.repr _v;
19705 MenhirLib.EngineTypes.startp = _startpos;
19706 MenhirLib.EngineTypes.endp = _endpos;
19707 MenhirLib.EngineTypes.next = _menhir_stack;
19708 });
19709 (fun _menhir_env ->
19710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19711 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19712 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19713 let _endpos = _startpos in
19714 let _v : 'tv_list_mzl_ctype__ =
19715 # 114 "standard.mly"
19716 ( [] )
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 {
19729 MenhirLib.EngineTypes.semv = xs;
19730 MenhirLib.EngineTypes.startp = _startpos_xs_;
19731 MenhirLib.EngineTypes.endp = _endpos_xs_;
19732 MenhirLib.EngineTypes.next = {
19733 MenhirLib.EngineTypes.state = _menhir_s;
19734 MenhirLib.EngineTypes.semv = x;
19735 MenhirLib.EngineTypes.startp = _startpos_x_;
19736 MenhirLib.EngineTypes.endp = _endpos_x_;
19737 MenhirLib.EngineTypes.next = _menhir_stack;
19738 };
19739 } = _menhir_stack in
19740 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
19741 let x : 'tv_mzl_ctype_ = Obj.magic x in
19742 let _startpos = _startpos_x_ in
19743 let _endpos = _endpos_xs_ in
19744 let _v : 'tv_list_mzl_ctype__ =
19745 # 116 "standard.mly"
19746 ( x :: xs )
19747 # 19748 "parser_cocci_menhir.ml"
19748 in
19749 _menhir_env.MenhirLib.EngineTypes.stack <- {
19750 MenhirLib.EngineTypes.state = _menhir_s;
19751 MenhirLib.EngineTypes.semv = Obj.repr _v;
19752 MenhirLib.EngineTypes.startp = _startpos;
19753 MenhirLib.EngineTypes.endp = _endpos;
19754 MenhirLib.EngineTypes.next = _menhir_stack;
19755 });
19756 (fun _menhir_env ->
19757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19758 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19759 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19760 let _endpos = _startpos in
19761 let _v : 'tv_list_mzl_disj_ident__ =
19762 # 114 "standard.mly"
19763 ( [] )
19764 # 19765 "parser_cocci_menhir.ml"
19765 in
19766 _menhir_env.MenhirLib.EngineTypes.stack <- {
19767 MenhirLib.EngineTypes.state = _menhir_s;
19768 MenhirLib.EngineTypes.semv = Obj.repr _v;
19769 MenhirLib.EngineTypes.startp = _startpos;
19770 MenhirLib.EngineTypes.endp = _endpos;
19771 MenhirLib.EngineTypes.next = _menhir_stack;
19772 });
19773 (fun _menhir_env ->
19774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19775 let {
19776 MenhirLib.EngineTypes.semv = xs;
19777 MenhirLib.EngineTypes.startp = _startpos_xs_;
19778 MenhirLib.EngineTypes.endp = _endpos_xs_;
19779 MenhirLib.EngineTypes.next = {
19780 MenhirLib.EngineTypes.state = _menhir_s;
19781 MenhirLib.EngineTypes.semv = x;
19782 MenhirLib.EngineTypes.startp = _startpos_x_;
19783 MenhirLib.EngineTypes.endp = _endpos_x_;
19784 MenhirLib.EngineTypes.next = _menhir_stack;
19785 };
19786 } = _menhir_stack in
19787 let xs : 'tv_list_mzl_disj_ident__ = Obj.magic xs in
19788 let x : 'tv_mzl_disj_ident_ = Obj.magic x in
19789 let _startpos = _startpos_x_ in
19790 let _endpos = _endpos_xs_ in
19791 let _v : 'tv_list_mzl_disj_ident__ =
19792 # 116 "standard.mly"
19793 ( x :: xs )
19794 # 19795 "parser_cocci_menhir.ml"
19795 in
19796 _menhir_env.MenhirLib.EngineTypes.stack <- {
19797 MenhirLib.EngineTypes.state = _menhir_s;
19798 MenhirLib.EngineTypes.semv = Obj.repr _v;
19799 MenhirLib.EngineTypes.startp = _startpos;
19800 MenhirLib.EngineTypes.endp = _endpos;
19801 MenhirLib.EngineTypes.next = _menhir_stack;
19802 });
19803 (fun _menhir_env ->
19804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19805 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19806 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19807 let _endpos = _startpos in
19808 let _v : 'tv_list_mzl_eexpr__ =
19809 # 114 "standard.mly"
19810 ( [] )
19811 # 19812 "parser_cocci_menhir.ml"
19812 in
19813 _menhir_env.MenhirLib.EngineTypes.stack <- {
19814 MenhirLib.EngineTypes.state = _menhir_s;
19815 MenhirLib.EngineTypes.semv = Obj.repr _v;
19816 MenhirLib.EngineTypes.startp = _startpos;
19817 MenhirLib.EngineTypes.endp = _endpos;
19818 MenhirLib.EngineTypes.next = _menhir_stack;
19819 });
19820 (fun _menhir_env ->
19821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19822 let {
19823 MenhirLib.EngineTypes.semv = xs;
19824 MenhirLib.EngineTypes.startp = _startpos_xs_;
19825 MenhirLib.EngineTypes.endp = _endpos_xs_;
19826 MenhirLib.EngineTypes.next = {
19827 MenhirLib.EngineTypes.state = _menhir_s;
19828 MenhirLib.EngineTypes.semv = x;
19829 MenhirLib.EngineTypes.startp = _startpos_x_;
19830 MenhirLib.EngineTypes.endp = _endpos_x_;
19831 MenhirLib.EngineTypes.next = _menhir_stack;
19832 };
19833 } = _menhir_stack in
19834 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
19835 let x : 'tv_mzl_eexpr_ = Obj.magic x in
19836 let _startpos = _startpos_x_ in
19837 let _endpos = _endpos_xs_ in
19838 let _v : 'tv_list_mzl_eexpr__ =
19839 # 116 "standard.mly"
19840 ( x :: xs )
19841 # 19842 "parser_cocci_menhir.ml"
19842 in
19843 _menhir_env.MenhirLib.EngineTypes.stack <- {
19844 MenhirLib.EngineTypes.state = _menhir_s;
19845 MenhirLib.EngineTypes.semv = Obj.repr _v;
19846 MenhirLib.EngineTypes.startp = _startpos;
19847 MenhirLib.EngineTypes.endp = _endpos;
19848 MenhirLib.EngineTypes.next = _menhir_stack;
19849 });
19850 (fun _menhir_env ->
19851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19852 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19853 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19854 let _endpos = _startpos in
19855 let _v : 'tv_list_mzl_fun_after_dots_or__ =
19856 # 114 "standard.mly"
19857 ( [] )
19858 # 19859 "parser_cocci_menhir.ml"
19859 in
19860 _menhir_env.MenhirLib.EngineTypes.stack <- {
19861 MenhirLib.EngineTypes.state = _menhir_s;
19862 MenhirLib.EngineTypes.semv = Obj.repr _v;
19863 MenhirLib.EngineTypes.startp = _startpos;
19864 MenhirLib.EngineTypes.endp = _endpos;
19865 MenhirLib.EngineTypes.next = _menhir_stack;
19866 });
19867 (fun _menhir_env ->
19868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19869 let {
19870 MenhirLib.EngineTypes.semv = xs;
19871 MenhirLib.EngineTypes.startp = _startpos_xs_;
19872 MenhirLib.EngineTypes.endp = _endpos_xs_;
19873 MenhirLib.EngineTypes.next = {
19874 MenhirLib.EngineTypes.state = _menhir_s;
19875 MenhirLib.EngineTypes.semv = x;
19876 MenhirLib.EngineTypes.startp = _startpos_x_;
19877 MenhirLib.EngineTypes.endp = _endpos_x_;
19878 MenhirLib.EngineTypes.next = _menhir_stack;
19879 };
19880 } = _menhir_stack in
19881 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
19882 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
19883 let _startpos = _startpos_x_ in
19884 let _endpos = _endpos_xs_ in
19885 let _v : 'tv_list_mzl_fun_after_dots_or__ =
19886 # 116 "standard.mly"
19887 ( x :: xs )
19888 # 19889 "parser_cocci_menhir.ml"
19889 in
19890 _menhir_env.MenhirLib.EngineTypes.stack <- {
19891 MenhirLib.EngineTypes.state = _menhir_s;
19892 MenhirLib.EngineTypes.semv = Obj.repr _v;
19893 MenhirLib.EngineTypes.startp = _startpos;
19894 MenhirLib.EngineTypes.endp = _endpos;
19895 MenhirLib.EngineTypes.next = _menhir_stack;
19896 });
19897 (fun _menhir_env ->
19898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19899 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19900 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19901 let _endpos = _startpos in
19902 let _v : 'tv_list_mzl_fun_start__ =
19903 # 114 "standard.mly"
19904 ( [] )
19905 # 19906 "parser_cocci_menhir.ml"
19906 in
19907 _menhir_env.MenhirLib.EngineTypes.stack <- {
19908 MenhirLib.EngineTypes.state = _menhir_s;
19909 MenhirLib.EngineTypes.semv = Obj.repr _v;
19910 MenhirLib.EngineTypes.startp = _startpos;
19911 MenhirLib.EngineTypes.endp = _endpos;
19912 MenhirLib.EngineTypes.next = _menhir_stack;
19913 });
19914 (fun _menhir_env ->
19915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19916 let {
19917 MenhirLib.EngineTypes.semv = xs;
19918 MenhirLib.EngineTypes.startp = _startpos_xs_;
19919 MenhirLib.EngineTypes.endp = _endpos_xs_;
19920 MenhirLib.EngineTypes.next = {
19921 MenhirLib.EngineTypes.state = _menhir_s;
19922 MenhirLib.EngineTypes.semv = x;
19923 MenhirLib.EngineTypes.startp = _startpos_x_;
19924 MenhirLib.EngineTypes.endp = _endpos_x_;
19925 MenhirLib.EngineTypes.next = _menhir_stack;
19926 };
19927 } = _menhir_stack in
19928 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
19929 let x : 'tv_mzl_fun_start_ = Obj.magic x in
19930 let _startpos = _startpos_x_ in
19931 let _endpos = _endpos_xs_ in
19932 let _v : 'tv_list_mzl_fun_start__ =
19933 # 116 "standard.mly"
19934 ( x :: xs )
19935 # 19936 "parser_cocci_menhir.ml"
19936 in
19937 _menhir_env.MenhirLib.EngineTypes.stack <- {
19938 MenhirLib.EngineTypes.state = _menhir_s;
19939 MenhirLib.EngineTypes.semv = Obj.repr _v;
19940 MenhirLib.EngineTypes.startp = _startpos;
19941 MenhirLib.EngineTypes.endp = _endpos;
19942 MenhirLib.EngineTypes.next = _menhir_stack;
19943 });
19944 (fun _menhir_env ->
19945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19946 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19947 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19948 let _endpos = _startpos in
19949 let _v : 'tv_list_mzl_mctype__ =
19950 # 114 "standard.mly"
19951 ( [] )
19952 # 19953 "parser_cocci_menhir.ml"
19953 in
19954 _menhir_env.MenhirLib.EngineTypes.stack <- {
19955 MenhirLib.EngineTypes.state = _menhir_s;
19956 MenhirLib.EngineTypes.semv = Obj.repr _v;
19957 MenhirLib.EngineTypes.startp = _startpos;
19958 MenhirLib.EngineTypes.endp = _endpos;
19959 MenhirLib.EngineTypes.next = _menhir_stack;
19960 });
19961 (fun _menhir_env ->
19962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19963 let {
19964 MenhirLib.EngineTypes.semv = xs;
19965 MenhirLib.EngineTypes.startp = _startpos_xs_;
19966 MenhirLib.EngineTypes.endp = _endpos_xs_;
19967 MenhirLib.EngineTypes.next = {
19968 MenhirLib.EngineTypes.state = _menhir_s;
19969 MenhirLib.EngineTypes.semv = x;
19970 MenhirLib.EngineTypes.startp = _startpos_x_;
19971 MenhirLib.EngineTypes.endp = _endpos_x_;
19972 MenhirLib.EngineTypes.next = _menhir_stack;
19973 };
19974 } = _menhir_stack in
19975 let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in
19976 let x : 'tv_mzl_mctype_ = Obj.magic x in
19977 let _startpos = _startpos_x_ in
19978 let _endpos = _endpos_xs_ in
19979 let _v : 'tv_list_mzl_mctype__ =
19980 # 116 "standard.mly"
19981 ( x :: xs )
19982 # 19983 "parser_cocci_menhir.ml"
19983 in
19984 _menhir_env.MenhirLib.EngineTypes.stack <- {
19985 MenhirLib.EngineTypes.state = _menhir_s;
19986 MenhirLib.EngineTypes.semv = Obj.repr _v;
19987 MenhirLib.EngineTypes.startp = _startpos;
19988 MenhirLib.EngineTypes.endp = _endpos;
19989 MenhirLib.EngineTypes.next = _menhir_stack;
19990 });
19991 (fun _menhir_env ->
19992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19993 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19994 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19995 let _endpos = _startpos in
19996 let _v : 'tv_list_mzl_rule_elem_statement__ =
19997 # 114 "standard.mly"
19998 ( [] )
19999 # 20000 "parser_cocci_menhir.ml"
20000 in
20001 _menhir_env.MenhirLib.EngineTypes.stack <- {
20002 MenhirLib.EngineTypes.state = _menhir_s;
20003 MenhirLib.EngineTypes.semv = Obj.repr _v;
20004 MenhirLib.EngineTypes.startp = _startpos;
20005 MenhirLib.EngineTypes.endp = _endpos;
20006 MenhirLib.EngineTypes.next = _menhir_stack;
20007 });
20008 (fun _menhir_env ->
20009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20010 let {
20011 MenhirLib.EngineTypes.semv = xs;
20012 MenhirLib.EngineTypes.startp = _startpos_xs_;
20013 MenhirLib.EngineTypes.endp = _endpos_xs_;
20014 MenhirLib.EngineTypes.next = {
20015 MenhirLib.EngineTypes.state = _menhir_s;
20016 MenhirLib.EngineTypes.semv = x;
20017 MenhirLib.EngineTypes.startp = _startpos_x_;
20018 MenhirLib.EngineTypes.endp = _endpos_x_;
20019 MenhirLib.EngineTypes.next = _menhir_stack;
20020 };
20021 } = _menhir_stack in
20022 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
20023 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
20024 let _startpos = _startpos_x_ in
20025 let _endpos = _endpos_xs_ in
20026 let _v : 'tv_list_mzl_rule_elem_statement__ =
20027 # 116 "standard.mly"
20028 ( x :: xs )
20029 # 20030 "parser_cocci_menhir.ml"
20030 in
20031 _menhir_env.MenhirLib.EngineTypes.stack <- {
20032 MenhirLib.EngineTypes.state = _menhir_s;
20033 MenhirLib.EngineTypes.semv = Obj.repr _v;
20034 MenhirLib.EngineTypes.startp = _startpos;
20035 MenhirLib.EngineTypes.endp = _endpos;
20036 MenhirLib.EngineTypes.next = _menhir_stack;
20037 });
20038 (fun _menhir_env ->
20039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20040 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20041 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20042 let _endpos = _startpos in
20043 let _v : 'tv_list_mzl_statement__ =
20044 # 114 "standard.mly"
20045 ( [] )
20046 # 20047 "parser_cocci_menhir.ml"
20047 in
20048 _menhir_env.MenhirLib.EngineTypes.stack <- {
20049 MenhirLib.EngineTypes.state = _menhir_s;
20050 MenhirLib.EngineTypes.semv = Obj.repr _v;
20051 MenhirLib.EngineTypes.startp = _startpos;
20052 MenhirLib.EngineTypes.endp = _endpos;
20053 MenhirLib.EngineTypes.next = _menhir_stack;
20054 });
20055 (fun _menhir_env ->
20056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20057 let {
20058 MenhirLib.EngineTypes.semv = xs;
20059 MenhirLib.EngineTypes.startp = _startpos_xs_;
20060 MenhirLib.EngineTypes.endp = _endpos_xs_;
20061 MenhirLib.EngineTypes.next = {
20062 MenhirLib.EngineTypes.state = _menhir_s;
20063 MenhirLib.EngineTypes.semv = x;
20064 MenhirLib.EngineTypes.startp = _startpos_x_;
20065 MenhirLib.EngineTypes.endp = _endpos_x_;
20066 MenhirLib.EngineTypes.next = _menhir_stack;
20067 };
20068 } = _menhir_stack in
20069 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
20070 let x : 'tv_mzl_statement_ = Obj.magic x in
20071 let _startpos = _startpos_x_ in
20072 let _endpos = _endpos_xs_ in
20073 let _v : 'tv_list_mzl_statement__ =
20074 # 116 "standard.mly"
20075 ( x :: xs )
20076 # 20077 "parser_cocci_menhir.ml"
20077 in
20078 _menhir_env.MenhirLib.EngineTypes.stack <- {
20079 MenhirLib.EngineTypes.state = _menhir_s;
20080 MenhirLib.EngineTypes.semv = Obj.repr _v;
20081 MenhirLib.EngineTypes.startp = _startpos;
20082 MenhirLib.EngineTypes.endp = _endpos;
20083 MenhirLib.EngineTypes.next = _menhir_stack;
20084 });
20085 (fun _menhir_env ->
20086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20087 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20088 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20089 let _endpos = _startpos in
20090 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
20091 # 114 "standard.mly"
20092 ( [] )
20093 # 20094 "parser_cocci_menhir.ml"
20094 in
20095 _menhir_env.MenhirLib.EngineTypes.stack <- {
20096 MenhirLib.EngineTypes.state = _menhir_s;
20097 MenhirLib.EngineTypes.semv = Obj.repr _v;
20098 MenhirLib.EngineTypes.startp = _startpos;
20099 MenhirLib.EngineTypes.endp = _endpos;
20100 MenhirLib.EngineTypes.next = _menhir_stack;
20101 });
20102 (fun _menhir_env ->
20103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20104 let {
20105 MenhirLib.EngineTypes.semv = xs;
20106 MenhirLib.EngineTypes.startp = _startpos_xs_;
20107 MenhirLib.EngineTypes.endp = _endpos_xs_;
20108 MenhirLib.EngineTypes.next = {
20109 MenhirLib.EngineTypes.semv = y0;
20110 MenhirLib.EngineTypes.startp = _startpos_y0_;
20111 MenhirLib.EngineTypes.endp = _endpos_y0_;
20112 MenhirLib.EngineTypes.next = {
20113 MenhirLib.EngineTypes.state = _menhir_s;
20114 MenhirLib.EngineTypes.semv = x0;
20115 MenhirLib.EngineTypes.startp = _startpos_x0_;
20116 MenhirLib.EngineTypes.endp = _endpos_x0_;
20117 MenhirLib.EngineTypes.next = _menhir_stack;
20118 };
20119 };
20120 } = _menhir_stack in
20121 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
20122 let y0 : 'tv_dexpr = Obj.magic y0 in
20123 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
20124 let _startpos = _startpos_x0_ in
20125 let _endpos = _endpos_xs_ in
20126 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
20127 let y = y0 in
20128 let x = x0 in
20129
20130 # 70 "standard.mly"
20131 ( (x, y) )
20132 # 20133 "parser_cocci_menhir.ml"
20133
20134 in
20135
20136 # 116 "standard.mly"
20137 ( x :: xs )
20138 # 20139 "parser_cocci_menhir.ml"
20139 in
20140 _menhir_env.MenhirLib.EngineTypes.stack <- {
20141 MenhirLib.EngineTypes.state = _menhir_s;
20142 MenhirLib.EngineTypes.semv = Obj.repr _v;
20143 MenhirLib.EngineTypes.startp = _startpos;
20144 MenhirLib.EngineTypes.endp = _endpos;
20145 MenhirLib.EngineTypes.next = _menhir_stack;
20146 });
20147 (fun _menhir_env ->
20148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20149 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20150 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20151 let _endpos = _startpos in
20152 let _v : 'tv_list_whenppdecs_ =
20153 # 114 "standard.mly"
20154 ( [] )
20155 # 20156 "parser_cocci_menhir.ml"
20156 in
20157 _menhir_env.MenhirLib.EngineTypes.stack <- {
20158 MenhirLib.EngineTypes.state = _menhir_s;
20159 MenhirLib.EngineTypes.semv = Obj.repr _v;
20160 MenhirLib.EngineTypes.startp = _startpos;
20161 MenhirLib.EngineTypes.endp = _endpos;
20162 MenhirLib.EngineTypes.next = _menhir_stack;
20163 });
20164 (fun _menhir_env ->
20165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20166 let {
20167 MenhirLib.EngineTypes.semv = xs;
20168 MenhirLib.EngineTypes.startp = _startpos_xs_;
20169 MenhirLib.EngineTypes.endp = _endpos_xs_;
20170 MenhirLib.EngineTypes.next = {
20171 MenhirLib.EngineTypes.state = _menhir_s;
20172 MenhirLib.EngineTypes.semv = x;
20173 MenhirLib.EngineTypes.startp = _startpos_x_;
20174 MenhirLib.EngineTypes.endp = _endpos_x_;
20175 MenhirLib.EngineTypes.next = _menhir_stack;
20176 };
20177 } = _menhir_stack in
20178 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
20179 let x : 'tv_whenppdecs = Obj.magic x in
20180 let _startpos = _startpos_x_ in
20181 let _endpos = _endpos_xs_ in
20182 let _v : 'tv_list_whenppdecs_ =
20183 # 116 "standard.mly"
20184 ( x :: xs )
20185 # 20186 "parser_cocci_menhir.ml"
20186 in
20187 _menhir_env.MenhirLib.EngineTypes.stack <- {
20188 MenhirLib.EngineTypes.state = _menhir_s;
20189 MenhirLib.EngineTypes.semv = Obj.repr _v;
20190 MenhirLib.EngineTypes.startp = _startpos;
20191 MenhirLib.EngineTypes.endp = _endpos;
20192 MenhirLib.EngineTypes.next = _menhir_stack;
20193 });
20194 (fun _menhir_env ->
20195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20196 let {
20197 MenhirLib.EngineTypes.state = _menhir_s;
20198 MenhirLib.EngineTypes.semv = _1;
20199 MenhirLib.EngineTypes.startp = _startpos__1_;
20200 MenhirLib.EngineTypes.endp = _endpos__1_;
20201 MenhirLib.EngineTypes.next = _menhir_stack;
20202 } = _menhir_stack in
20203 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
20204 let _startpos = _startpos__1_ in
20205 let _endpos = _endpos__1_ in
20206 let _v : 'tv_list_len =
20207 # 409 "parser_cocci_menhir.mly"
20208 ( Common.Left _1 )
20209 # 20210 "parser_cocci_menhir.ml"
20210 in
20211 _menhir_env.MenhirLib.EngineTypes.stack <- {
20212 MenhirLib.EngineTypes.state = _menhir_s;
20213 MenhirLib.EngineTypes.semv = Obj.repr _v;
20214 MenhirLib.EngineTypes.startp = _startpos;
20215 MenhirLib.EngineTypes.endp = _endpos;
20216 MenhirLib.EngineTypes.next = _menhir_stack;
20217 });
20218 (fun _menhir_env ->
20219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20220 let {
20221 MenhirLib.EngineTypes.state = _menhir_s;
20222 MenhirLib.EngineTypes.semv = _1;
20223 MenhirLib.EngineTypes.startp = _startpos__1_;
20224 MenhirLib.EngineTypes.endp = _endpos__1_;
20225 MenhirLib.EngineTypes.next = _menhir_stack;
20226 } = _menhir_stack in
20227 let _1 : (
20228 # 155 "parser_cocci_menhir.mly"
20229 (string * Data.clt)
20230 # 20231 "parser_cocci_menhir.ml"
20231 ) = Obj.magic _1 in
20232 let _startpos = _startpos__1_ in
20233 let _endpos = _endpos__1_ in
20234 let _v : 'tv_list_len =
20235 # 410 "parser_cocci_menhir.mly"
20236 ( let (x,clt) = _1 in Common.Right (int_of_string x) )
20237 # 20238 "parser_cocci_menhir.ml"
20238 in
20239 _menhir_env.MenhirLib.EngineTypes.stack <- {
20240 MenhirLib.EngineTypes.state = _menhir_s;
20241 MenhirLib.EngineTypes.semv = Obj.repr _v;
20242 MenhirLib.EngineTypes.startp = _startpos;
20243 MenhirLib.EngineTypes.endp = _endpos;
20244 MenhirLib.EngineTypes.next = _menhir_stack;
20245 });
20246 (fun _menhir_env ->
20247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20248 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20249 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20250 let _endpos = _startpos in
20251 let _v : 'tv_loption_choose_iso_ =
20252 # 57 "standard.mly"
20253 ( [] )
20254 # 20255 "parser_cocci_menhir.ml"
20255 in
20256 _menhir_env.MenhirLib.EngineTypes.stack <- {
20257 MenhirLib.EngineTypes.state = _menhir_s;
20258 MenhirLib.EngineTypes.semv = Obj.repr _v;
20259 MenhirLib.EngineTypes.startp = _startpos;
20260 MenhirLib.EngineTypes.endp = _endpos;
20261 MenhirLib.EngineTypes.next = _menhir_stack;
20262 });
20263 (fun _menhir_env ->
20264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20265 let {
20266 MenhirLib.EngineTypes.state = _menhir_s;
20267 MenhirLib.EngineTypes.semv = x;
20268 MenhirLib.EngineTypes.startp = _startpos_x_;
20269 MenhirLib.EngineTypes.endp = _endpos_x_;
20270 MenhirLib.EngineTypes.next = _menhir_stack;
20271 } = _menhir_stack in
20272 let x : 'tv_choose_iso = Obj.magic x in
20273 let _startpos = _startpos_x_ in
20274 let _endpos = _endpos_x_ in
20275 let _v : 'tv_loption_choose_iso_ =
20276 # 59 "standard.mly"
20277 ( x )
20278 # 20279 "parser_cocci_menhir.ml"
20279 in
20280 _menhir_env.MenhirLib.EngineTypes.stack <- {
20281 MenhirLib.EngineTypes.state = _menhir_s;
20282 MenhirLib.EngineTypes.semv = Obj.repr _v;
20283 MenhirLib.EngineTypes.startp = _startpos;
20284 MenhirLib.EngineTypes.endp = _endpos;
20285 MenhirLib.EngineTypes.next = _menhir_stack;
20286 });
20287 (fun _menhir_env ->
20288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20289 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20290 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20291 let _endpos = _startpos in
20292 let _v : 'tv_loption_disable_ =
20293 # 57 "standard.mly"
20294 ( [] )
20295 # 20296 "parser_cocci_menhir.ml"
20296 in
20297 _menhir_env.MenhirLib.EngineTypes.stack <- {
20298 MenhirLib.EngineTypes.state = _menhir_s;
20299 MenhirLib.EngineTypes.semv = Obj.repr _v;
20300 MenhirLib.EngineTypes.startp = _startpos;
20301 MenhirLib.EngineTypes.endp = _endpos;
20302 MenhirLib.EngineTypes.next = _menhir_stack;
20303 });
20304 (fun _menhir_env ->
20305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20306 let {
20307 MenhirLib.EngineTypes.state = _menhir_s;
20308 MenhirLib.EngineTypes.semv = x;
20309 MenhirLib.EngineTypes.startp = _startpos_x_;
20310 MenhirLib.EngineTypes.endp = _endpos_x_;
20311 MenhirLib.EngineTypes.next = _menhir_stack;
20312 } = _menhir_stack in
20313 let x : 'tv_disable = Obj.magic x in
20314 let _startpos = _startpos_x_ in
20315 let _endpos = _endpos_x_ in
20316 let _v : 'tv_loption_disable_ =
20317 # 59 "standard.mly"
20318 ( x )
20319 # 20320 "parser_cocci_menhir.ml"
20320 in
20321 _menhir_env.MenhirLib.EngineTypes.stack <- {
20322 MenhirLib.EngineTypes.state = _menhir_s;
20323 MenhirLib.EngineTypes.semv = Obj.repr _v;
20324 MenhirLib.EngineTypes.startp = _startpos;
20325 MenhirLib.EngineTypes.endp = _endpos;
20326 MenhirLib.EngineTypes.next = _menhir_stack;
20327 });
20328 (fun _menhir_env ->
20329 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20330 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20331 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20332 let _endpos = _startpos in
20333 let _v : 'tv_loption_filespec_ =
20334 # 57 "standard.mly"
20335 ( [] )
20336 # 20337 "parser_cocci_menhir.ml"
20337 in
20338 _menhir_env.MenhirLib.EngineTypes.stack <- {
20339 MenhirLib.EngineTypes.state = _menhir_s;
20340 MenhirLib.EngineTypes.semv = Obj.repr _v;
20341 MenhirLib.EngineTypes.startp = _startpos;
20342 MenhirLib.EngineTypes.endp = _endpos;
20343 MenhirLib.EngineTypes.next = _menhir_stack;
20344 });
20345 (fun _menhir_env ->
20346 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20347 let {
20348 MenhirLib.EngineTypes.state = _menhir_s;
20349 MenhirLib.EngineTypes.semv = x;
20350 MenhirLib.EngineTypes.startp = _startpos_x_;
20351 MenhirLib.EngineTypes.endp = _endpos_x_;
20352 MenhirLib.EngineTypes.next = _menhir_stack;
20353 } = _menhir_stack in
20354 let x : 'tv_filespec = Obj.magic x in
20355 let _startpos = _startpos_x_ in
20356 let _endpos = _endpos_x_ in
20357 let _v : 'tv_loption_filespec_ =
20358 # 59 "standard.mly"
20359 ( x )
20360 # 20361 "parser_cocci_menhir.ml"
20361 in
20362 _menhir_env.MenhirLib.EngineTypes.stack <- {
20363 MenhirLib.EngineTypes.state = _menhir_s;
20364 MenhirLib.EngineTypes.semv = Obj.repr _v;
20365 MenhirLib.EngineTypes.startp = _startpos;
20366 MenhirLib.EngineTypes.endp = _endpos;
20367 MenhirLib.EngineTypes.next = _menhir_stack;
20368 });
20369 (fun _menhir_env ->
20370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20371 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20372 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20373 let _endpos = _startpos in
20374 let _v : 'tv_loption_minus_start_ =
20375 # 57 "standard.mly"
20376 ( [] )
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.state = _menhir_s;
20390 MenhirLib.EngineTypes.semv = x;
20391 MenhirLib.EngineTypes.startp = _startpos_x_;
20392 MenhirLib.EngineTypes.endp = _endpos_x_;
20393 MenhirLib.EngineTypes.next = _menhir_stack;
20394 } = _menhir_stack in
20395 let x : 'tv_minus_start = Obj.magic x in
20396 let _startpos = _startpos_x_ in
20397 let _endpos = _endpos_x_ in
20398 let _v : 'tv_loption_minus_start_ =
20399 # 59 "standard.mly"
20400 ( x )
20401 # 20402 "parser_cocci_menhir.ml"
20402 in
20403 _menhir_env.MenhirLib.EngineTypes.stack <- {
20404 MenhirLib.EngineTypes.state = _menhir_s;
20405 MenhirLib.EngineTypes.semv = Obj.repr _v;
20406 MenhirLib.EngineTypes.startp = _startpos;
20407 MenhirLib.EngineTypes.endp = _endpos;
20408 MenhirLib.EngineTypes.next = _menhir_stack;
20409 });
20410 (fun _menhir_env ->
20411 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20412 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20413 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20414 let _endpos = _startpos in
20415 let _v : 'tv_loption_not_pos_ =
20416 # 57 "standard.mly"
20417 ( [] )
20418 # 20419 "parser_cocci_menhir.ml"
20419 in
20420 _menhir_env.MenhirLib.EngineTypes.stack <- {
20421 MenhirLib.EngineTypes.state = _menhir_s;
20422 MenhirLib.EngineTypes.semv = Obj.repr _v;
20423 MenhirLib.EngineTypes.startp = _startpos;
20424 MenhirLib.EngineTypes.endp = _endpos;
20425 MenhirLib.EngineTypes.next = _menhir_stack;
20426 });
20427 (fun _menhir_env ->
20428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20429 let {
20430 MenhirLib.EngineTypes.state = _menhir_s;
20431 MenhirLib.EngineTypes.semv = x;
20432 MenhirLib.EngineTypes.startp = _startpos_x_;
20433 MenhirLib.EngineTypes.endp = _endpos_x_;
20434 MenhirLib.EngineTypes.next = _menhir_stack;
20435 } = _menhir_stack in
20436 let x : 'tv_not_pos = Obj.magic x in
20437 let _startpos = _startpos_x_ in
20438 let _endpos = _endpos_x_ in
20439 let _v : 'tv_loption_not_pos_ =
20440 # 59 "standard.mly"
20441 ( x )
20442 # 20443 "parser_cocci_menhir.ml"
20443 in
20444 _menhir_env.MenhirLib.EngineTypes.stack <- {
20445 MenhirLib.EngineTypes.state = _menhir_s;
20446 MenhirLib.EngineTypes.semv = Obj.repr _v;
20447 MenhirLib.EngineTypes.startp = _startpos;
20448 MenhirLib.EngineTypes.endp = _endpos;
20449 MenhirLib.EngineTypes.next = _menhir_stack;
20450 });
20451 (fun _menhir_env ->
20452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20453 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20454 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20455 let _endpos = _startpos in
20456 let _v : 'tv_loption_plus_start_ =
20457 # 57 "standard.mly"
20458 ( [] )
20459 # 20460 "parser_cocci_menhir.ml"
20460 in
20461 _menhir_env.MenhirLib.EngineTypes.stack <- {
20462 MenhirLib.EngineTypes.state = _menhir_s;
20463 MenhirLib.EngineTypes.semv = Obj.repr _v;
20464 MenhirLib.EngineTypes.startp = _startpos;
20465 MenhirLib.EngineTypes.endp = _endpos;
20466 MenhirLib.EngineTypes.next = _menhir_stack;
20467 });
20468 (fun _menhir_env ->
20469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20470 let {
20471 MenhirLib.EngineTypes.state = _menhir_s;
20472 MenhirLib.EngineTypes.semv = x;
20473 MenhirLib.EngineTypes.startp = _startpos_x_;
20474 MenhirLib.EngineTypes.endp = _endpos_x_;
20475 MenhirLib.EngineTypes.next = _menhir_stack;
20476 } = _menhir_stack in
20477 let x : 'tv_plus_start = Obj.magic x in
20478 let _startpos = _startpos_x_ in
20479 let _endpos = _endpos_x_ in
20480 let _v : 'tv_loption_plus_start_ =
20481 # 59 "standard.mly"
20482 ( x )
20483 # 20484 "parser_cocci_menhir.ml"
20484 in
20485 _menhir_env.MenhirLib.EngineTypes.stack <- {
20486 MenhirLib.EngineTypes.state = _menhir_s;
20487 MenhirLib.EngineTypes.semv = Obj.repr _v;
20488 MenhirLib.EngineTypes.startp = _startpos;
20489 MenhirLib.EngineTypes.endp = _endpos;
20490 MenhirLib.EngineTypes.next = _menhir_stack;
20491 });
20492 (fun _menhir_env ->
20493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20494 let {
20495 MenhirLib.EngineTypes.state = _menhir_s;
20496 MenhirLib.EngineTypes.semv = _1;
20497 MenhirLib.EngineTypes.startp = _startpos__1_;
20498 MenhirLib.EngineTypes.endp = _endpos__1_;
20499 MenhirLib.EngineTypes.next = _menhir_stack;
20500 } = _menhir_stack in
20501 let _1 : (
20502 # 132 "parser_cocci_menhir.mly"
20503 (Parse_aux.info)
20504 # 20505 "parser_cocci_menhir.ml"
20505 ) = Obj.magic _1 in
20506 let _startpos = _startpos__1_ in
20507 let _endpos = _endpos__1_ in
20508 let _v : 'tv_mctype =
20509 # 699 "parser_cocci_menhir.mly"
20510 ( tmeta_to_type _1 )
20511 # 20512 "parser_cocci_menhir.ml"
20512 in
20513 _menhir_env.MenhirLib.EngineTypes.stack <- {
20514 MenhirLib.EngineTypes.state = _menhir_s;
20515 MenhirLib.EngineTypes.semv = Obj.repr _v;
20516 MenhirLib.EngineTypes.startp = _startpos;
20517 MenhirLib.EngineTypes.endp = _endpos;
20518 MenhirLib.EngineTypes.next = _menhir_stack;
20519 });
20520 (fun _menhir_env ->
20521 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20522 let {
20523 MenhirLib.EngineTypes.state = _menhir_s;
20524 MenhirLib.EngineTypes.semv = _1;
20525 MenhirLib.EngineTypes.startp = _startpos__1_;
20526 MenhirLib.EngineTypes.endp = _endpos__1_;
20527 MenhirLib.EngineTypes.next = _menhir_stack;
20528 } = _menhir_stack in
20529 let _1 : 'tv_ctype = Obj.magic _1 in
20530 let _startpos = _startpos__1_ in
20531 let _endpos = _endpos__1_ in
20532 let _v : 'tv_mctype =
20533 # 700 "parser_cocci_menhir.mly"
20534 (_1)
20535 # 20536 "parser_cocci_menhir.ml"
20536 in
20537 _menhir_env.MenhirLib.EngineTypes.stack <- {
20538 MenhirLib.EngineTypes.state = _menhir_s;
20539 MenhirLib.EngineTypes.semv = Obj.repr _v;
20540 MenhirLib.EngineTypes.startp = _startpos;
20541 MenhirLib.EngineTypes.endp = _endpos;
20542 MenhirLib.EngineTypes.next = _menhir_stack;
20543 });
20544 (fun _menhir_env ->
20545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20546 let {
20547 MenhirLib.EngineTypes.state = _menhir_s;
20548 MenhirLib.EngineTypes.semv = t;
20549 MenhirLib.EngineTypes.startp = _startpos_t_;
20550 MenhirLib.EngineTypes.endp = _endpos_t_;
20551 MenhirLib.EngineTypes.next = _menhir_stack;
20552 } = _menhir_stack in
20553 let t : 'tv_typedef_ctype = Obj.magic t in
20554 let _startpos = _startpos_t_ in
20555 let _endpos = _endpos_t_ in
20556 let _v : 'tv_meta_exp_type =
20557 # 599 "parser_cocci_menhir.mly"
20558 ( [Ast0_cocci.ast0_type_to_type t] )
20559 # 20560 "parser_cocci_menhir.ml"
20560 in
20561 _menhir_env.MenhirLib.EngineTypes.stack <- {
20562 MenhirLib.EngineTypes.state = _menhir_s;
20563 MenhirLib.EngineTypes.semv = Obj.repr _v;
20564 MenhirLib.EngineTypes.startp = _startpos;
20565 MenhirLib.EngineTypes.endp = _endpos;
20566 MenhirLib.EngineTypes.next = _menhir_stack;
20567 });
20568 (fun _menhir_env ->
20569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20570 let {
20571 MenhirLib.EngineTypes.startp = _startpos__3_;
20572 MenhirLib.EngineTypes.endp = _endpos__3_;
20573 MenhirLib.EngineTypes.next = {
20574 MenhirLib.EngineTypes.startp = _startpos__2_;
20575 MenhirLib.EngineTypes.endp = _endpos__2_;
20576 MenhirLib.EngineTypes.next = {
20577 MenhirLib.EngineTypes.state = _menhir_s;
20578 MenhirLib.EngineTypes.semv = t;
20579 MenhirLib.EngineTypes.startp = _startpos_t_;
20580 MenhirLib.EngineTypes.endp = _endpos_t_;
20581 MenhirLib.EngineTypes.next = _menhir_stack;
20582 };
20583 };
20584 } = _menhir_stack in
20585 let t : 'tv_typedef_ctype = Obj.magic t in
20586 let _startpos = _startpos_t_ in
20587 let _endpos = _endpos__3_ in
20588 let _v : 'tv_meta_exp_type =
20589 # 601 "parser_cocci_menhir.mly"
20590 ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
20591 # 20592 "parser_cocci_menhir.ml"
20592 in
20593 _menhir_env.MenhirLib.EngineTypes.stack <- {
20594 MenhirLib.EngineTypes.state = _menhir_s;
20595 MenhirLib.EngineTypes.semv = Obj.repr _v;
20596 MenhirLib.EngineTypes.startp = _startpos;
20597 MenhirLib.EngineTypes.endp = _endpos;
20598 MenhirLib.EngineTypes.next = _menhir_stack;
20599 });
20600 (fun _menhir_env ->
20601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20602 let {
20603 MenhirLib.EngineTypes.semv = m;
20604 MenhirLib.EngineTypes.startp = _startpos_m_;
20605 MenhirLib.EngineTypes.endp = _endpos_m_;
20606 MenhirLib.EngineTypes.next = {
20607 MenhirLib.EngineTypes.startp = _startpos__3_;
20608 MenhirLib.EngineTypes.endp = _endpos__3_;
20609 MenhirLib.EngineTypes.next = {
20610 MenhirLib.EngineTypes.semv = t;
20611 MenhirLib.EngineTypes.startp = _startpos_t_;
20612 MenhirLib.EngineTypes.endp = _endpos_t_;
20613 MenhirLib.EngineTypes.next = {
20614 MenhirLib.EngineTypes.state = _menhir_s;
20615 MenhirLib.EngineTypes.startp = _startpos__1_;
20616 MenhirLib.EngineTypes.endp = _endpos__1_;
20617 MenhirLib.EngineTypes.next = _menhir_stack;
20618 };
20619 };
20620 };
20621 } = _menhir_stack in
20622 let m : 'tv_list_TMul_ = Obj.magic m in
20623 let t : 'tv_comma_list_ctype_ = Obj.magic t in
20624 let _startpos = _startpos__1_ in
20625 let _endpos = _endpos_m_ in
20626 let _v : 'tv_meta_exp_type =
20627 # 603 "parser_cocci_menhir.mly"
20628 ( List.map
20629 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
20630 t )
20631 # 20632 "parser_cocci_menhir.ml"
20632 in
20633 _menhir_env.MenhirLib.EngineTypes.stack <- {
20634 MenhirLib.EngineTypes.state = _menhir_s;
20635 MenhirLib.EngineTypes.semv = Obj.repr _v;
20636 MenhirLib.EngineTypes.startp = _startpos;
20637 MenhirLib.EngineTypes.endp = _endpos;
20638 MenhirLib.EngineTypes.next = _menhir_stack;
20639 });
20640 (fun _menhir_env ->
20641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20642 let {
20643 MenhirLib.EngineTypes.semv = _3;
20644 MenhirLib.EngineTypes.startp = _startpos__3_;
20645 MenhirLib.EngineTypes.endp = _endpos__3_;
20646 MenhirLib.EngineTypes.next = {
20647 MenhirLib.EngineTypes.startp = _startpos__2_;
20648 MenhirLib.EngineTypes.endp = _endpos__2_;
20649 MenhirLib.EngineTypes.next = {
20650 MenhirLib.EngineTypes.state = _menhir_s;
20651 MenhirLib.EngineTypes.semv = _1;
20652 MenhirLib.EngineTypes.startp = _startpos__1_;
20653 MenhirLib.EngineTypes.endp = _endpos__1_;
20654 MenhirLib.EngineTypes.next = _menhir_stack;
20655 };
20656 };
20657 } = _menhir_stack in
20658 let _3 : 'tv_pure_ident = Obj.magic _3 in
20659 let _1 : (
20660 # 112 "parser_cocci_menhir.mly"
20661 (string)
20662 # 20663 "parser_cocci_menhir.ml"
20663 ) = Obj.magic _1 in
20664 let _startpos = _startpos__1_ in
20665 let _endpos = _endpos__3_ in
20666 let _v : 'tv_meta_ident =
20667 # 1647 "parser_cocci_menhir.mly"
20668 ( (Some _1,P.id2name _3) )
20669 # 20670 "parser_cocci_menhir.ml"
20670 in
20671 _menhir_env.MenhirLib.EngineTypes.stack <- {
20672 MenhirLib.EngineTypes.state = _menhir_s;
20673 MenhirLib.EngineTypes.semv = Obj.repr _v;
20674 MenhirLib.EngineTypes.startp = _startpos;
20675 MenhirLib.EngineTypes.endp = _endpos;
20676 MenhirLib.EngineTypes.next = _menhir_stack;
20677 });
20678 (fun _menhir_env ->
20679 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20680 let {
20681 MenhirLib.EngineTypes.semv = _3;
20682 MenhirLib.EngineTypes.startp = _startpos__3_;
20683 MenhirLib.EngineTypes.endp = _endpos__3_;
20684 MenhirLib.EngineTypes.next = {
20685 MenhirLib.EngineTypes.startp = _startpos__2_;
20686 MenhirLib.EngineTypes.endp = _endpos__2_;
20687 MenhirLib.EngineTypes.next = {
20688 MenhirLib.EngineTypes.state = _menhir_s;
20689 MenhirLib.EngineTypes.semv = _1;
20690 MenhirLib.EngineTypes.startp = _startpos__1_;
20691 MenhirLib.EngineTypes.endp = _endpos__1_;
20692 MenhirLib.EngineTypes.next = _menhir_stack;
20693 };
20694 };
20695 } = _menhir_stack in
20696 let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
20697 let _1 : (
20698 # 112 "parser_cocci_menhir.mly"
20699 (string)
20700 # 20701 "parser_cocci_menhir.ml"
20701 ) = Obj.magic _1 in
20702 let _startpos = _startpos__1_ in
20703 let _endpos = _endpos__3_ in
20704 let _v : 'tv_meta_ident =
20705 # 1648 "parser_cocci_menhir.mly"
20706 ( (Some _1,_3) )
20707 # 20708 "parser_cocci_menhir.ml"
20708 in
20709 _menhir_env.MenhirLib.EngineTypes.stack <- {
20710 MenhirLib.EngineTypes.state = _menhir_s;
20711 MenhirLib.EngineTypes.semv = Obj.repr _v;
20712 MenhirLib.EngineTypes.startp = _startpos;
20713 MenhirLib.EngineTypes.endp = _endpos;
20714 MenhirLib.EngineTypes.next = _menhir_stack;
20715 });
20716 (fun _menhir_env ->
20717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20718 let {
20719 MenhirLib.EngineTypes.state = _menhir_s;
20720 MenhirLib.EngineTypes.semv = m;
20721 MenhirLib.EngineTypes.startp = _startpos_m_;
20722 MenhirLib.EngineTypes.endp = _endpos_m_;
20723 MenhirLib.EngineTypes.next = _menhir_stack;
20724 } = _menhir_stack in
20725 let m : 'tv_metadec = Obj.magic m in
20726 let _startpos = _startpos_m_ in
20727 let _endpos = _endpos_m_ in
20728 let _v : (
20729 # 227 "parser_cocci_menhir.mly"
20730 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
20731 # 20732 "parser_cocci_menhir.ml"
20732 ) =
20733 # 251 "parser_cocci_menhir.mly"
20734 ( m (!Ast0.rule_name) )
20735 # 20736 "parser_cocci_menhir.ml"
20736 in
20737 _menhir_env.MenhirLib.EngineTypes.stack <- {
20738 MenhirLib.EngineTypes.state = _menhir_s;
20739 MenhirLib.EngineTypes.semv = Obj.repr _v;
20740 MenhirLib.EngineTypes.startp = _startpos;
20741 MenhirLib.EngineTypes.endp = _endpos;
20742 MenhirLib.EngineTypes.next = _menhir_stack;
20743 });
20744 (fun _menhir_env ->
20745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20746 let {
20747 MenhirLib.EngineTypes.startp = _startpos__5_;
20748 MenhirLib.EngineTypes.endp = _endpos__5_;
20749 MenhirLib.EngineTypes.next = {
20750 MenhirLib.EngineTypes.semv = ids;
20751 MenhirLib.EngineTypes.startp = _startpos_ids_;
20752 MenhirLib.EngineTypes.endp = _endpos_ids_;
20753 MenhirLib.EngineTypes.next = {
20754 MenhirLib.EngineTypes.startp = _startpos__3_;
20755 MenhirLib.EngineTypes.endp = _endpos__3_;
20756 MenhirLib.EngineTypes.next = {
20757 MenhirLib.EngineTypes.semv = ispure;
20758 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20759 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20760 MenhirLib.EngineTypes.next = {
20761 MenhirLib.EngineTypes.state = _menhir_s;
20762 MenhirLib.EngineTypes.semv = ar;
20763 MenhirLib.EngineTypes.startp = _startpos_ar_;
20764 MenhirLib.EngineTypes.endp = _endpos_ar_;
20765 MenhirLib.EngineTypes.next = _menhir_stack;
20766 };
20767 };
20768 };
20769 };
20770 } = _menhir_stack in
20771 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20772 let ispure : 'tv_pure = Obj.magic ispure in
20773 let ar : 'tv_arity = Obj.magic ar in
20774 let _startpos = _startpos_ar_ in
20775 let _endpos = _endpos__5_ in
20776 let _v : 'tv_metadec = let kindfn =
20777
20778 # 421 "parser_cocci_menhir.mly"
20779 ( (fun arity name pure check_meta ->
20780 let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in
20781 !Data.add_meta_meta name pure; tok) )
20782 # 20783 "parser_cocci_menhir.ml"
20783
20784 in
20785
20786 # 342 "parser_cocci_menhir.mly"
20787 ( P.create_metadec ar ispure kindfn ids )
20788 # 20789 "parser_cocci_menhir.ml"
20789 in
20790 _menhir_env.MenhirLib.EngineTypes.stack <- {
20791 MenhirLib.EngineTypes.state = _menhir_s;
20792 MenhirLib.EngineTypes.semv = Obj.repr _v;
20793 MenhirLib.EngineTypes.startp = _startpos;
20794 MenhirLib.EngineTypes.endp = _endpos;
20795 MenhirLib.EngineTypes.next = _menhir_stack;
20796 });
20797 (fun _menhir_env ->
20798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20799 let {
20800 MenhirLib.EngineTypes.startp = _startpos__5_;
20801 MenhirLib.EngineTypes.endp = _endpos__5_;
20802 MenhirLib.EngineTypes.next = {
20803 MenhirLib.EngineTypes.semv = ids;
20804 MenhirLib.EngineTypes.startp = _startpos_ids_;
20805 MenhirLib.EngineTypes.endp = _endpos_ids_;
20806 MenhirLib.EngineTypes.next = {
20807 MenhirLib.EngineTypes.startp = _startpos__3_;
20808 MenhirLib.EngineTypes.endp = _endpos__3_;
20809 MenhirLib.EngineTypes.next = {
20810 MenhirLib.EngineTypes.semv = ispure;
20811 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20812 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20813 MenhirLib.EngineTypes.next = {
20814 MenhirLib.EngineTypes.state = _menhir_s;
20815 MenhirLib.EngineTypes.semv = ar;
20816 MenhirLib.EngineTypes.startp = _startpos_ar_;
20817 MenhirLib.EngineTypes.endp = _endpos_ar_;
20818 MenhirLib.EngineTypes.next = _menhir_stack;
20819 };
20820 };
20821 };
20822 };
20823 } = _menhir_stack in
20824 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20825 let ispure : 'tv_pure = Obj.magic ispure in
20826 let ar : 'tv_arity = Obj.magic ar in
20827 let _startpos = _startpos_ar_ in
20828 let _endpos = _endpos__5_ in
20829 let _v : 'tv_metadec = let kindfn =
20830
20831 # 425 "parser_cocci_menhir.mly"
20832 ( (fun arity name pure check_meta ->
20833 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
20834 !Data.add_param_meta name pure; tok) )
20835 # 20836 "parser_cocci_menhir.ml"
20836
20837 in
20838
20839 # 342 "parser_cocci_menhir.mly"
20840 ( P.create_metadec ar ispure kindfn ids )
20841 # 20842 "parser_cocci_menhir.ml"
20842 in
20843 _menhir_env.MenhirLib.EngineTypes.stack <- {
20844 MenhirLib.EngineTypes.state = _menhir_s;
20845 MenhirLib.EngineTypes.semv = Obj.repr _v;
20846 MenhirLib.EngineTypes.startp = _startpos;
20847 MenhirLib.EngineTypes.endp = _endpos;
20848 MenhirLib.EngineTypes.next = _menhir_stack;
20849 });
20850 (fun _menhir_env ->
20851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20852 let {
20853 MenhirLib.EngineTypes.startp = _startpos__6_;
20854 MenhirLib.EngineTypes.endp = _endpos__6_;
20855 MenhirLib.EngineTypes.next = {
20856 MenhirLib.EngineTypes.semv = ids;
20857 MenhirLib.EngineTypes.startp = _startpos_ids_;
20858 MenhirLib.EngineTypes.endp = _endpos_ids_;
20859 MenhirLib.EngineTypes.next = {
20860 MenhirLib.EngineTypes.startp = _startpos__4_;
20861 MenhirLib.EngineTypes.endp = _endpos__4_;
20862 MenhirLib.EngineTypes.next = {
20863 MenhirLib.EngineTypes.startp = _startpos__3_;
20864 MenhirLib.EngineTypes.endp = _endpos__3_;
20865 MenhirLib.EngineTypes.next = {
20866 MenhirLib.EngineTypes.semv = ispure;
20867 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20868 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20869 MenhirLib.EngineTypes.next = {
20870 MenhirLib.EngineTypes.state = _menhir_s;
20871 MenhirLib.EngineTypes.semv = ar;
20872 MenhirLib.EngineTypes.startp = _startpos_ar_;
20873 MenhirLib.EngineTypes.endp = _endpos_ar_;
20874 MenhirLib.EngineTypes.next = _menhir_stack;
20875 };
20876 };
20877 };
20878 };
20879 };
20880 } = _menhir_stack in
20881 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20882 let ispure : 'tv_pure = Obj.magic ispure in
20883 let ar : 'tv_arity = Obj.magic ar in
20884 let _startpos = _startpos_ar_ in
20885 let _endpos = _endpos__6_ in
20886 let _v : 'tv_metadec = let kindfn =
20887
20888 # 429 "parser_cocci_menhir.mly"
20889 ( (fun arity name pure check_meta ->
20890 let len = Ast.AnyLen in
20891 let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
20892 !Data.add_paramlist_meta name len pure; tok) )
20893 # 20894 "parser_cocci_menhir.ml"
20894
20895 in
20896
20897 # 342 "parser_cocci_menhir.mly"
20898 ( P.create_metadec ar ispure kindfn ids )
20899 # 20900 "parser_cocci_menhir.ml"
20900 in
20901 _menhir_env.MenhirLib.EngineTypes.stack <- {
20902 MenhirLib.EngineTypes.state = _menhir_s;
20903 MenhirLib.EngineTypes.semv = Obj.repr _v;
20904 MenhirLib.EngineTypes.startp = _startpos;
20905 MenhirLib.EngineTypes.endp = _endpos;
20906 MenhirLib.EngineTypes.next = _menhir_stack;
20907 });
20908 (fun _menhir_env ->
20909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20910 let {
20911 MenhirLib.EngineTypes.startp = _startpos__6_;
20912 MenhirLib.EngineTypes.endp = _endpos__6_;
20913 MenhirLib.EngineTypes.next = {
20914 MenhirLib.EngineTypes.semv = ids;
20915 MenhirLib.EngineTypes.startp = _startpos_ids_;
20916 MenhirLib.EngineTypes.endp = _endpos_ids_;
20917 MenhirLib.EngineTypes.next = {
20918 MenhirLib.EngineTypes.startp = _startpos__4_;
20919 MenhirLib.EngineTypes.endp = _endpos__4_;
20920 MenhirLib.EngineTypes.next = {
20921 MenhirLib.EngineTypes.startp = _startpos__3_;
20922 MenhirLib.EngineTypes.endp = _endpos__3_;
20923 MenhirLib.EngineTypes.next = {
20924 MenhirLib.EngineTypes.semv = ispure;
20925 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20926 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20927 MenhirLib.EngineTypes.next = {
20928 MenhirLib.EngineTypes.state = _menhir_s;
20929 MenhirLib.EngineTypes.semv = ar;
20930 MenhirLib.EngineTypes.startp = _startpos_ar_;
20931 MenhirLib.EngineTypes.endp = _endpos_ar_;
20932 MenhirLib.EngineTypes.next = _menhir_stack;
20933 };
20934 };
20935 };
20936 };
20937 };
20938 } = _menhir_stack in
20939 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20940 let ispure : 'tv_pure = Obj.magic ispure in
20941 let ar : 'tv_arity = Obj.magic ar in
20942 let _startpos = _startpos_ar_ in
20943 let _endpos = _endpos__6_ in
20944 let _v : 'tv_metadec = let kindfn =
20945
20946 # 434 "parser_cocci_menhir.mly"
20947 ( (fun arity name pure check_meta ->
20948 let len = Ast.AnyLen in
20949 let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
20950 !Data.add_explist_meta name len pure; tok) )
20951 # 20952 "parser_cocci_menhir.ml"
20952
20953 in
20954
20955 # 342 "parser_cocci_menhir.mly"
20956 ( P.create_metadec ar ispure kindfn ids )
20957 # 20958 "parser_cocci_menhir.ml"
20958 in
20959 _menhir_env.MenhirLib.EngineTypes.stack <- {
20960 MenhirLib.EngineTypes.state = _menhir_s;
20961 MenhirLib.EngineTypes.semv = Obj.repr _v;
20962 MenhirLib.EngineTypes.startp = _startpos;
20963 MenhirLib.EngineTypes.endp = _endpos;
20964 MenhirLib.EngineTypes.next = _menhir_stack;
20965 });
20966 (fun _menhir_env ->
20967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20968 let {
20969 MenhirLib.EngineTypes.startp = _startpos__5_;
20970 MenhirLib.EngineTypes.endp = _endpos__5_;
20971 MenhirLib.EngineTypes.next = {
20972 MenhirLib.EngineTypes.semv = ids;
20973 MenhirLib.EngineTypes.startp = _startpos_ids_;
20974 MenhirLib.EngineTypes.endp = _endpos_ids_;
20975 MenhirLib.EngineTypes.next = {
20976 MenhirLib.EngineTypes.startp = _startpos__3_;
20977 MenhirLib.EngineTypes.endp = _endpos__3_;
20978 MenhirLib.EngineTypes.next = {
20979 MenhirLib.EngineTypes.semv = ispure;
20980 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20981 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20982 MenhirLib.EngineTypes.next = {
20983 MenhirLib.EngineTypes.state = _menhir_s;
20984 MenhirLib.EngineTypes.semv = ar;
20985 MenhirLib.EngineTypes.startp = _startpos_ar_;
20986 MenhirLib.EngineTypes.endp = _endpos_ar_;
20987 MenhirLib.EngineTypes.next = _menhir_stack;
20988 };
20989 };
20990 };
20991 };
20992 } = _menhir_stack in
20993 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20994 let ispure : 'tv_pure = Obj.magic ispure in
20995 let ar : 'tv_arity = Obj.magic ar in
20996 let _startpos = _startpos_ar_ in
20997 let _endpos = _endpos__5_ in
20998 let _v : 'tv_metadec = let kindfn =
20999
21000 # 439 "parser_cocci_menhir.mly"
21001 ( (fun arity name pure check_meta ->
21002 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
21003 !Data.add_type_meta name pure; tok) )
21004 # 21005 "parser_cocci_menhir.ml"
21005
21006 in
21007
21008 # 342 "parser_cocci_menhir.mly"
21009 ( P.create_metadec ar ispure kindfn ids )
21010 # 21011 "parser_cocci_menhir.ml"
21011 in
21012 _menhir_env.MenhirLib.EngineTypes.stack <- {
21013 MenhirLib.EngineTypes.state = _menhir_s;
21014 MenhirLib.EngineTypes.semv = Obj.repr _v;
21015 MenhirLib.EngineTypes.startp = _startpos;
21016 MenhirLib.EngineTypes.endp = _endpos;
21017 MenhirLib.EngineTypes.next = _menhir_stack;
21018 });
21019 (fun _menhir_env ->
21020 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21021 let {
21022 MenhirLib.EngineTypes.startp = _startpos__5_;
21023 MenhirLib.EngineTypes.endp = _endpos__5_;
21024 MenhirLib.EngineTypes.next = {
21025 MenhirLib.EngineTypes.semv = ids;
21026 MenhirLib.EngineTypes.startp = _startpos_ids_;
21027 MenhirLib.EngineTypes.endp = _endpos_ids_;
21028 MenhirLib.EngineTypes.next = {
21029 MenhirLib.EngineTypes.startp = _startpos__3_;
21030 MenhirLib.EngineTypes.endp = _endpos__3_;
21031 MenhirLib.EngineTypes.next = {
21032 MenhirLib.EngineTypes.semv = ispure;
21033 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21034 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21035 MenhirLib.EngineTypes.next = {
21036 MenhirLib.EngineTypes.state = _menhir_s;
21037 MenhirLib.EngineTypes.semv = ar;
21038 MenhirLib.EngineTypes.startp = _startpos_ar_;
21039 MenhirLib.EngineTypes.endp = _endpos_ar_;
21040 MenhirLib.EngineTypes.next = _menhir_stack;
21041 };
21042 };
21043 };
21044 };
21045 } = _menhir_stack in
21046 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21047 let ispure : 'tv_pure = Obj.magic ispure in
21048 let ar : 'tv_arity = Obj.magic ar in
21049 let _startpos = _startpos_ar_ in
21050 let _endpos = _endpos__5_ in
21051 let _v : 'tv_metadec = let kindfn =
21052
21053 # 443 "parser_cocci_menhir.mly"
21054 ( (fun arity name pure check_meta ->
21055 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
21056 !Data.add_init_meta name pure; tok) )
21057 # 21058 "parser_cocci_menhir.ml"
21058
21059 in
21060
21061 # 342 "parser_cocci_menhir.mly"
21062 ( P.create_metadec ar ispure kindfn ids )
21063 # 21064 "parser_cocci_menhir.ml"
21064 in
21065 _menhir_env.MenhirLib.EngineTypes.stack <- {
21066 MenhirLib.EngineTypes.state = _menhir_s;
21067 MenhirLib.EngineTypes.semv = Obj.repr _v;
21068 MenhirLib.EngineTypes.startp = _startpos;
21069 MenhirLib.EngineTypes.endp = _endpos;
21070 MenhirLib.EngineTypes.next = _menhir_stack;
21071 });
21072 (fun _menhir_env ->
21073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21074 let {
21075 MenhirLib.EngineTypes.startp = _startpos__5_;
21076 MenhirLib.EngineTypes.endp = _endpos__5_;
21077 MenhirLib.EngineTypes.next = {
21078 MenhirLib.EngineTypes.semv = ids;
21079 MenhirLib.EngineTypes.startp = _startpos_ids_;
21080 MenhirLib.EngineTypes.endp = _endpos_ids_;
21081 MenhirLib.EngineTypes.next = {
21082 MenhirLib.EngineTypes.startp = _startpos__3_;
21083 MenhirLib.EngineTypes.endp = _endpos__3_;
21084 MenhirLib.EngineTypes.next = {
21085 MenhirLib.EngineTypes.semv = ispure;
21086 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21087 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21088 MenhirLib.EngineTypes.next = {
21089 MenhirLib.EngineTypes.state = _menhir_s;
21090 MenhirLib.EngineTypes.semv = ar;
21091 MenhirLib.EngineTypes.startp = _startpos_ar_;
21092 MenhirLib.EngineTypes.endp = _endpos_ar_;
21093 MenhirLib.EngineTypes.next = _menhir_stack;
21094 };
21095 };
21096 };
21097 };
21098 } = _menhir_stack in
21099 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21100 let ispure : 'tv_pure = Obj.magic ispure in
21101 let ar : 'tv_arity = Obj.magic ar in
21102 let _startpos = _startpos_ar_ in
21103 let _endpos = _endpos__5_ in
21104 let _v : 'tv_metadec = let kindfn =
21105
21106 # 447 "parser_cocci_menhir.mly"
21107 ( (fun arity name pure check_meta ->
21108 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
21109 !Data.add_stm_meta name pure; tok) )
21110 # 21111 "parser_cocci_menhir.ml"
21111
21112 in
21113
21114 # 342 "parser_cocci_menhir.mly"
21115 ( P.create_metadec ar ispure kindfn ids )
21116 # 21117 "parser_cocci_menhir.ml"
21117 in
21118 _menhir_env.MenhirLib.EngineTypes.stack <- {
21119 MenhirLib.EngineTypes.state = _menhir_s;
21120 MenhirLib.EngineTypes.semv = Obj.repr _v;
21121 MenhirLib.EngineTypes.startp = _startpos;
21122 MenhirLib.EngineTypes.endp = _endpos;
21123 MenhirLib.EngineTypes.next = _menhir_stack;
21124 });
21125 (fun _menhir_env ->
21126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21127 let {
21128 MenhirLib.EngineTypes.startp = _startpos__5_;
21129 MenhirLib.EngineTypes.endp = _endpos__5_;
21130 MenhirLib.EngineTypes.next = {
21131 MenhirLib.EngineTypes.semv = ids;
21132 MenhirLib.EngineTypes.startp = _startpos_ids_;
21133 MenhirLib.EngineTypes.endp = _endpos_ids_;
21134 MenhirLib.EngineTypes.next = {
21135 MenhirLib.EngineTypes.startp = _startpos__3_;
21136 MenhirLib.EngineTypes.endp = _endpos__3_;
21137 MenhirLib.EngineTypes.next = {
21138 MenhirLib.EngineTypes.semv = ispure;
21139 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21140 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21141 MenhirLib.EngineTypes.next = {
21142 MenhirLib.EngineTypes.state = _menhir_s;
21143 MenhirLib.EngineTypes.semv = ar;
21144 MenhirLib.EngineTypes.startp = _startpos_ar_;
21145 MenhirLib.EngineTypes.endp = _endpos_ar_;
21146 MenhirLib.EngineTypes.next = _menhir_stack;
21147 };
21148 };
21149 };
21150 };
21151 } = _menhir_stack in
21152 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21153 let ispure : 'tv_pure = Obj.magic ispure in
21154 let ar : 'tv_arity = Obj.magic ar in
21155 let _startpos = _startpos_ar_ in
21156 let _endpos = _endpos__5_ in
21157 let _v : 'tv_metadec = let kindfn =
21158
21159 # 451 "parser_cocci_menhir.mly"
21160 ( (fun arity name pure check_meta ->
21161 let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
21162 !Data.add_decl_meta name pure; tok) )
21163 # 21164 "parser_cocci_menhir.ml"
21164
21165 in
21166
21167 # 342 "parser_cocci_menhir.mly"
21168 ( P.create_metadec ar ispure kindfn ids )
21169 # 21170 "parser_cocci_menhir.ml"
21170 in
21171 _menhir_env.MenhirLib.EngineTypes.stack <- {
21172 MenhirLib.EngineTypes.state = _menhir_s;
21173 MenhirLib.EngineTypes.semv = Obj.repr _v;
21174 MenhirLib.EngineTypes.startp = _startpos;
21175 MenhirLib.EngineTypes.endp = _endpos;
21176 MenhirLib.EngineTypes.next = _menhir_stack;
21177 });
21178 (fun _menhir_env ->
21179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21180 let {
21181 MenhirLib.EngineTypes.startp = _startpos__5_;
21182 MenhirLib.EngineTypes.endp = _endpos__5_;
21183 MenhirLib.EngineTypes.next = {
21184 MenhirLib.EngineTypes.semv = ids;
21185 MenhirLib.EngineTypes.startp = _startpos_ids_;
21186 MenhirLib.EngineTypes.endp = _endpos_ids_;
21187 MenhirLib.EngineTypes.next = {
21188 MenhirLib.EngineTypes.startp = _startpos__3_;
21189 MenhirLib.EngineTypes.endp = _endpos__3_;
21190 MenhirLib.EngineTypes.next = {
21191 MenhirLib.EngineTypes.semv = ispure;
21192 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21193 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21194 MenhirLib.EngineTypes.next = {
21195 MenhirLib.EngineTypes.state = _menhir_s;
21196 MenhirLib.EngineTypes.semv = ar;
21197 MenhirLib.EngineTypes.startp = _startpos_ar_;
21198 MenhirLib.EngineTypes.endp = _endpos_ar_;
21199 MenhirLib.EngineTypes.next = _menhir_stack;
21200 };
21201 };
21202 };
21203 };
21204 } = _menhir_stack in
21205 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21206 let ispure : 'tv_pure = Obj.magic ispure in
21207 let ar : 'tv_arity = Obj.magic ar in
21208 let _startpos = _startpos_ar_ in
21209 let _endpos = _endpos__5_ in
21210 let _v : 'tv_metadec = let kindfn =
21211
21212 # 455 "parser_cocci_menhir.mly"
21213 ( (fun arity name pure check_meta ->
21214 let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
21215 !Data.add_field_meta name pure; tok) )
21216 # 21217 "parser_cocci_menhir.ml"
21217
21218 in
21219
21220 # 342 "parser_cocci_menhir.mly"
21221 ( P.create_metadec ar ispure kindfn ids )
21222 # 21223 "parser_cocci_menhir.ml"
21223 in
21224 _menhir_env.MenhirLib.EngineTypes.stack <- {
21225 MenhirLib.EngineTypes.state = _menhir_s;
21226 MenhirLib.EngineTypes.semv = Obj.repr _v;
21227 MenhirLib.EngineTypes.startp = _startpos;
21228 MenhirLib.EngineTypes.endp = _endpos;
21229 MenhirLib.EngineTypes.next = _menhir_stack;
21230 });
21231 (fun _menhir_env ->
21232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21233 let {
21234 MenhirLib.EngineTypes.startp = _startpos__6_;
21235 MenhirLib.EngineTypes.endp = _endpos__6_;
21236 MenhirLib.EngineTypes.next = {
21237 MenhirLib.EngineTypes.semv = ids;
21238 MenhirLib.EngineTypes.startp = _startpos_ids_;
21239 MenhirLib.EngineTypes.endp = _endpos_ids_;
21240 MenhirLib.EngineTypes.next = {
21241 MenhirLib.EngineTypes.startp = _startpos__4_;
21242 MenhirLib.EngineTypes.endp = _endpos__4_;
21243 MenhirLib.EngineTypes.next = {
21244 MenhirLib.EngineTypes.startp = _startpos__3_;
21245 MenhirLib.EngineTypes.endp = _endpos__3_;
21246 MenhirLib.EngineTypes.next = {
21247 MenhirLib.EngineTypes.semv = ispure;
21248 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21249 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21250 MenhirLib.EngineTypes.next = {
21251 MenhirLib.EngineTypes.state = _menhir_s;
21252 MenhirLib.EngineTypes.semv = ar;
21253 MenhirLib.EngineTypes.startp = _startpos_ar_;
21254 MenhirLib.EngineTypes.endp = _endpos_ar_;
21255 MenhirLib.EngineTypes.next = _menhir_stack;
21256 };
21257 };
21258 };
21259 };
21260 };
21261 } = _menhir_stack in
21262 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21263 let ispure : 'tv_pure = Obj.magic ispure in
21264 let ar : 'tv_arity = Obj.magic ar in
21265 let _startpos = _startpos_ar_ in
21266 let _endpos = _endpos__6_ in
21267 let _v : 'tv_metadec = let kindfn =
21268
21269 # 459 "parser_cocci_menhir.mly"
21270 ( (fun arity name pure check_meta ->
21271 let len = Ast.AnyLen in
21272 let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in
21273 !Data.add_field_list_meta name len pure; tok) )
21274 # 21275 "parser_cocci_menhir.ml"
21275
21276 in
21277
21278 # 342 "parser_cocci_menhir.mly"
21279 ( P.create_metadec ar ispure kindfn ids )
21280 # 21281 "parser_cocci_menhir.ml"
21281 in
21282 _menhir_env.MenhirLib.EngineTypes.stack <- {
21283 MenhirLib.EngineTypes.state = _menhir_s;
21284 MenhirLib.EngineTypes.semv = Obj.repr _v;
21285 MenhirLib.EngineTypes.startp = _startpos;
21286 MenhirLib.EngineTypes.endp = _endpos;
21287 MenhirLib.EngineTypes.next = _menhir_stack;
21288 });
21289 (fun _menhir_env ->
21290 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21291 let {
21292 MenhirLib.EngineTypes.startp = _startpos__6_;
21293 MenhirLib.EngineTypes.endp = _endpos__6_;
21294 MenhirLib.EngineTypes.next = {
21295 MenhirLib.EngineTypes.semv = ids;
21296 MenhirLib.EngineTypes.startp = _startpos_ids_;
21297 MenhirLib.EngineTypes.endp = _endpos_ids_;
21298 MenhirLib.EngineTypes.next = {
21299 MenhirLib.EngineTypes.startp = _startpos__4_;
21300 MenhirLib.EngineTypes.endp = _endpos__4_;
21301 MenhirLib.EngineTypes.next = {
21302 MenhirLib.EngineTypes.startp = _startpos__3_;
21303 MenhirLib.EngineTypes.endp = _endpos__3_;
21304 MenhirLib.EngineTypes.next = {
21305 MenhirLib.EngineTypes.semv = ispure;
21306 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21307 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21308 MenhirLib.EngineTypes.next = {
21309 MenhirLib.EngineTypes.state = _menhir_s;
21310 MenhirLib.EngineTypes.semv = ar;
21311 MenhirLib.EngineTypes.startp = _startpos_ar_;
21312 MenhirLib.EngineTypes.endp = _endpos_ar_;
21313 MenhirLib.EngineTypes.next = _menhir_stack;
21314 };
21315 };
21316 };
21317 };
21318 };
21319 } = _menhir_stack in
21320 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21321 let ispure : 'tv_pure = Obj.magic ispure in
21322 let ar : 'tv_arity = Obj.magic ar in
21323 let _startpos = _startpos_ar_ in
21324 let _endpos = _endpos__6_ in
21325 let _v : 'tv_metadec = let kindfn =
21326
21327 # 464 "parser_cocci_menhir.mly"
21328 ( (fun arity name pure check_meta ->
21329 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
21330 !Data.add_stmlist_meta name pure; tok) )
21331 # 21332 "parser_cocci_menhir.ml"
21332
21333 in
21334
21335 # 342 "parser_cocci_menhir.mly"
21336 ( P.create_metadec ar ispure kindfn ids )
21337 # 21338 "parser_cocci_menhir.ml"
21338 in
21339 _menhir_env.MenhirLib.EngineTypes.stack <- {
21340 MenhirLib.EngineTypes.state = _menhir_s;
21341 MenhirLib.EngineTypes.semv = Obj.repr _v;
21342 MenhirLib.EngineTypes.startp = _startpos;
21343 MenhirLib.EngineTypes.endp = _endpos;
21344 MenhirLib.EngineTypes.next = _menhir_stack;
21345 });
21346 (fun _menhir_env ->
21347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21348 let {
21349 MenhirLib.EngineTypes.startp = _startpos__5_;
21350 MenhirLib.EngineTypes.endp = _endpos__5_;
21351 MenhirLib.EngineTypes.next = {
21352 MenhirLib.EngineTypes.semv = ids;
21353 MenhirLib.EngineTypes.startp = _startpos_ids_;
21354 MenhirLib.EngineTypes.endp = _endpos_ids_;
21355 MenhirLib.EngineTypes.next = {
21356 MenhirLib.EngineTypes.startp = _startpos__3_;
21357 MenhirLib.EngineTypes.endp = _endpos__3_;
21358 MenhirLib.EngineTypes.next = {
21359 MenhirLib.EngineTypes.semv = ispure;
21360 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21361 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21362 MenhirLib.EngineTypes.next = {
21363 MenhirLib.EngineTypes.state = _menhir_s;
21364 MenhirLib.EngineTypes.semv = ar;
21365 MenhirLib.EngineTypes.startp = _startpos_ar_;
21366 MenhirLib.EngineTypes.endp = _endpos_ar_;
21367 MenhirLib.EngineTypes.next = _menhir_stack;
21368 };
21369 };
21370 };
21371 };
21372 } = _menhir_stack in
21373 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21374 let ispure : 'tv_pure = Obj.magic ispure in
21375 let ar : 'tv_arity = Obj.magic ar in
21376 let _startpos = _startpos_ar_ in
21377 let _endpos = _endpos__5_ in
21378 let _v : 'tv_metadec = let kindfn =
21379
21380 # 468 "parser_cocci_menhir.mly"
21381 ( (fun arity (_,name) pure check_meta ->
21382 if arity = Ast.NONE && pure = Ast0.Impure
21383 then (!Data.add_type_name name; [])
21384 else raise (Semantic_cocci.Semantic "bad typedef")) )
21385 # 21386 "parser_cocci_menhir.ml"
21386
21387 in
21388
21389 # 342 "parser_cocci_menhir.mly"
21390 ( P.create_metadec ar ispure kindfn ids )
21391 # 21392 "parser_cocci_menhir.ml"
21392 in
21393 _menhir_env.MenhirLib.EngineTypes.stack <- {
21394 MenhirLib.EngineTypes.state = _menhir_s;
21395 MenhirLib.EngineTypes.semv = Obj.repr _v;
21396 MenhirLib.EngineTypes.startp = _startpos;
21397 MenhirLib.EngineTypes.endp = _endpos;
21398 MenhirLib.EngineTypes.next = _menhir_stack;
21399 });
21400 (fun _menhir_env ->
21401 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21402 let {
21403 MenhirLib.EngineTypes.startp = _startpos__6_;
21404 MenhirLib.EngineTypes.endp = _endpos__6_;
21405 MenhirLib.EngineTypes.next = {
21406 MenhirLib.EngineTypes.semv = ids;
21407 MenhirLib.EngineTypes.startp = _startpos_ids_;
21408 MenhirLib.EngineTypes.endp = _endpos_ids_;
21409 MenhirLib.EngineTypes.next = {
21410 MenhirLib.EngineTypes.startp = _startpos__4_;
21411 MenhirLib.EngineTypes.endp = _endpos__4_;
21412 MenhirLib.EngineTypes.next = {
21413 MenhirLib.EngineTypes.startp = _startpos__3_;
21414 MenhirLib.EngineTypes.endp = _endpos__3_;
21415 MenhirLib.EngineTypes.next = {
21416 MenhirLib.EngineTypes.semv = ispure;
21417 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21418 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21419 MenhirLib.EngineTypes.next = {
21420 MenhirLib.EngineTypes.state = _menhir_s;
21421 MenhirLib.EngineTypes.semv = ar;
21422 MenhirLib.EngineTypes.startp = _startpos_ar_;
21423 MenhirLib.EngineTypes.endp = _endpos_ar_;
21424 MenhirLib.EngineTypes.next = _menhir_stack;
21425 };
21426 };
21427 };
21428 };
21429 };
21430 } = _menhir_stack in
21431 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21432 let ispure : 'tv_pure = Obj.magic ispure in
21433 let ar : 'tv_arity = Obj.magic ar in
21434 let _startpos = _startpos_ar_ in
21435 let _endpos = _endpos__6_ in
21436 let _v : 'tv_metadec = let kindfn =
21437
21438 # 473 "parser_cocci_menhir.mly"
21439 ( (fun arity (_,name) pure check_meta ->
21440 if arity = Ast.NONE && pure = Ast0.Impure
21441 then (!Data.add_declarer_name name; [])
21442 else raise (Semantic_cocci.Semantic "bad declarer")) )
21443 # 21444 "parser_cocci_menhir.ml"
21444
21445 in
21446
21447 # 342 "parser_cocci_menhir.mly"
21448 ( P.create_metadec ar ispure kindfn ids )
21449 # 21450 "parser_cocci_menhir.ml"
21450 in
21451 _menhir_env.MenhirLib.EngineTypes.stack <- {
21452 MenhirLib.EngineTypes.state = _menhir_s;
21453 MenhirLib.EngineTypes.semv = Obj.repr _v;
21454 MenhirLib.EngineTypes.startp = _startpos;
21455 MenhirLib.EngineTypes.endp = _endpos;
21456 MenhirLib.EngineTypes.next = _menhir_stack;
21457 });
21458 (fun _menhir_env ->
21459 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21460 let {
21461 MenhirLib.EngineTypes.startp = _startpos__6_;
21462 MenhirLib.EngineTypes.endp = _endpos__6_;
21463 MenhirLib.EngineTypes.next = {
21464 MenhirLib.EngineTypes.semv = ids;
21465 MenhirLib.EngineTypes.startp = _startpos_ids_;
21466 MenhirLib.EngineTypes.endp = _endpos_ids_;
21467 MenhirLib.EngineTypes.next = {
21468 MenhirLib.EngineTypes.startp = _startpos__4_;
21469 MenhirLib.EngineTypes.endp = _endpos__4_;
21470 MenhirLib.EngineTypes.next = {
21471 MenhirLib.EngineTypes.startp = _startpos__3_;
21472 MenhirLib.EngineTypes.endp = _endpos__3_;
21473 MenhirLib.EngineTypes.next = {
21474 MenhirLib.EngineTypes.semv = ispure;
21475 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21476 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21477 MenhirLib.EngineTypes.next = {
21478 MenhirLib.EngineTypes.state = _menhir_s;
21479 MenhirLib.EngineTypes.semv = ar;
21480 MenhirLib.EngineTypes.startp = _startpos_ar_;
21481 MenhirLib.EngineTypes.endp = _endpos_ar_;
21482 MenhirLib.EngineTypes.next = _menhir_stack;
21483 };
21484 };
21485 };
21486 };
21487 };
21488 } = _menhir_stack in
21489 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21490 let ispure : 'tv_pure = Obj.magic ispure in
21491 let ar : 'tv_arity = Obj.magic ar in
21492 let _startpos = _startpos_ar_ in
21493 let _endpos = _endpos__6_ in
21494 let _v : 'tv_metadec = let kindfn =
21495
21496 # 478 "parser_cocci_menhir.mly"
21497 ( (fun arity (_,name) pure check_meta ->
21498 if arity = Ast.NONE && pure = Ast0.Impure
21499 then (!Data.add_iterator_name name; [])
21500 else raise (Semantic_cocci.Semantic "bad iterator")) )
21501 # 21502 "parser_cocci_menhir.ml"
21502
21503 in
21504
21505 # 342 "parser_cocci_menhir.mly"
21506 ( P.create_metadec ar ispure kindfn ids )
21507 # 21508 "parser_cocci_menhir.ml"
21508 in
21509 _menhir_env.MenhirLib.EngineTypes.stack <- {
21510 MenhirLib.EngineTypes.state = _menhir_s;
21511 MenhirLib.EngineTypes.semv = Obj.repr _v;
21512 MenhirLib.EngineTypes.startp = _startpos;
21513 MenhirLib.EngineTypes.endp = _endpos;
21514 MenhirLib.EngineTypes.next = _menhir_stack;
21515 });
21516 (fun _menhir_env ->
21517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21518 let {
21519 MenhirLib.EngineTypes.startp = _startpos__4_;
21520 MenhirLib.EngineTypes.endp = _endpos__4_;
21521 MenhirLib.EngineTypes.next = {
21522 MenhirLib.EngineTypes.semv = ids;
21523 MenhirLib.EngineTypes.startp = _startpos_ids_;
21524 MenhirLib.EngineTypes.endp = _endpos_ids_;
21525 MenhirLib.EngineTypes.next = {
21526 MenhirLib.EngineTypes.startp = _startpos__2_;
21527 MenhirLib.EngineTypes.endp = _endpos__2_;
21528 MenhirLib.EngineTypes.next = {
21529 MenhirLib.EngineTypes.state = _menhir_s;
21530 MenhirLib.EngineTypes.startp = _startpos__1_;
21531 MenhirLib.EngineTypes.endp = _endpos__1_;
21532 MenhirLib.EngineTypes.next = _menhir_stack;
21533 };
21534 };
21535 };
21536 } = _menhir_stack in
21537 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
21538 let _startpos = _startpos__1_ in
21539 let _endpos = _endpos__4_ in
21540 let _v : 'tv_metadec = let kindfn =
21541
21542 # 414 "parser_cocci_menhir.mly"
21543 ( (fun name check_meta seed ->
21544 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
21545 !Data.add_fresh_id_meta name; tok) )
21546 # 21547 "parser_cocci_menhir.ml"
21547
21548 in
21549
21550 # 345 "parser_cocci_menhir.mly"
21551 ( P.create_fresh_metadec kindfn ids )
21552 # 21553 "parser_cocci_menhir.ml"
21553 in
21554 _menhir_env.MenhirLib.EngineTypes.stack <- {
21555 MenhirLib.EngineTypes.state = _menhir_s;
21556 MenhirLib.EngineTypes.semv = Obj.repr _v;
21557 MenhirLib.EngineTypes.startp = _startpos;
21558 MenhirLib.EngineTypes.endp = _endpos;
21559 MenhirLib.EngineTypes.next = _menhir_stack;
21560 });
21561 (fun _menhir_env ->
21562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21563 let {
21564 MenhirLib.EngineTypes.startp = _startpos__5_;
21565 MenhirLib.EngineTypes.endp = _endpos__5_;
21566 MenhirLib.EngineTypes.next = {
21567 MenhirLib.EngineTypes.semv = ids;
21568 MenhirLib.EngineTypes.startp = _startpos_ids_;
21569 MenhirLib.EngineTypes.endp = _endpos_ids_;
21570 MenhirLib.EngineTypes.next = {
21571 MenhirLib.EngineTypes.startp = _startpos__3_;
21572 MenhirLib.EngineTypes.endp = _endpos__3_;
21573 MenhirLib.EngineTypes.next = {
21574 MenhirLib.EngineTypes.semv = ispure;
21575 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21576 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21577 MenhirLib.EngineTypes.next = {
21578 MenhirLib.EngineTypes.state = _menhir_s;
21579 MenhirLib.EngineTypes.semv = ar;
21580 MenhirLib.EngineTypes.startp = _startpos_ar_;
21581 MenhirLib.EngineTypes.endp = _endpos_ar_;
21582 MenhirLib.EngineTypes.next = _menhir_stack;
21583 };
21584 };
21585 };
21586 };
21587 } = _menhir_stack in
21588 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
21589 let ispure : 'tv_pure = Obj.magic ispure in
21590 let ar : 'tv_arity = Obj.magic ar in
21591 let _startpos = _startpos_ar_ in
21592 let _endpos = _endpos__5_ in
21593 let _v : 'tv_metadec = let kindfn =
21594
21595 # 485 "parser_cocci_menhir.mly"
21596 (
21597 let idfn arity name pure check_meta constraints =
21598 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
21599 !Data.add_id_meta name constraints pure; tok in
21600 let virtfn arity name pure check_meta virtual_env =
21601 try
21602 let vl = List.assoc name virtual_env in
21603 !Data.add_virt_id_meta_found name vl; []
21604 with Not_found ->
21605 Iteration.parsed_virtual_identifiers :=
21606 Common.union_set [name]
21607 !Iteration.parsed_virtual_identifiers;
21608 let name = ("virtual",name) in
21609 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
21610 !Data.add_virt_id_meta_not_found name pure; tok in
21611 (idfn,virtfn) )
21612 # 21613 "parser_cocci_menhir.ml"
21613
21614 in
21615
21616 # 351 "parser_cocci_menhir.mly"
21617 ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
21618 let (idfn,virtfn) = kindfn in
21619 function cr ->
21620 (P.create_metadec_with_constraints ar ispure idfn normal cr) @
21621 (P.create_metadec_virt ar ispure virtfn virt cr) )
21622 # 21623 "parser_cocci_menhir.ml"
21623 in
21624 _menhir_env.MenhirLib.EngineTypes.stack <- {
21625 MenhirLib.EngineTypes.state = _menhir_s;
21626 MenhirLib.EngineTypes.semv = Obj.repr _v;
21627 MenhirLib.EngineTypes.startp = _startpos;
21628 MenhirLib.EngineTypes.endp = _endpos;
21629 MenhirLib.EngineTypes.next = _menhir_stack;
21630 });
21631 (fun _menhir_env ->
21632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21633 let {
21634 MenhirLib.EngineTypes.startp = _startpos__5_;
21635 MenhirLib.EngineTypes.endp = _endpos__5_;
21636 MenhirLib.EngineTypes.next = {
21637 MenhirLib.EngineTypes.semv = ids;
21638 MenhirLib.EngineTypes.startp = _startpos_ids_;
21639 MenhirLib.EngineTypes.endp = _endpos_ids_;
21640 MenhirLib.EngineTypes.next = {
21641 MenhirLib.EngineTypes.startp = _startpos__3_;
21642 MenhirLib.EngineTypes.endp = _endpos__3_;
21643 MenhirLib.EngineTypes.next = {
21644 MenhirLib.EngineTypes.semv = ispure;
21645 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21646 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21647 MenhirLib.EngineTypes.next = {
21648 MenhirLib.EngineTypes.state = _menhir_s;
21649 MenhirLib.EngineTypes.semv = ar;
21650 MenhirLib.EngineTypes.startp = _startpos_ar_;
21651 MenhirLib.EngineTypes.endp = _endpos_ar_;
21652 MenhirLib.EngineTypes.next = _menhir_stack;
21653 };
21654 };
21655 };
21656 };
21657 } = _menhir_stack in
21658 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21659 let ispure : 'tv_pure = Obj.magic ispure in
21660 let ar : 'tv_arity = Obj.magic ar in
21661 let _startpos = _startpos_ar_ in
21662 let _endpos = _endpos__5_ in
21663 let _v : 'tv_metadec = let kindfn =
21664
21665 # 504 "parser_cocci_menhir.mly"
21666 ( (fun arity name pure check_meta constraints ->
21667 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
21668 !Data.add_func_meta name constraints pure; tok) )
21669 # 21670 "parser_cocci_menhir.ml"
21670
21671 in
21672
21673 # 360 "parser_cocci_menhir.mly"
21674 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21675 # 21676 "parser_cocci_menhir.ml"
21676 in
21677 _menhir_env.MenhirLib.EngineTypes.stack <- {
21678 MenhirLib.EngineTypes.state = _menhir_s;
21679 MenhirLib.EngineTypes.semv = Obj.repr _v;
21680 MenhirLib.EngineTypes.startp = _startpos;
21681 MenhirLib.EngineTypes.endp = _endpos;
21682 MenhirLib.EngineTypes.next = _menhir_stack;
21683 });
21684 (fun _menhir_env ->
21685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21686 let {
21687 MenhirLib.EngineTypes.startp = _startpos__6_;
21688 MenhirLib.EngineTypes.endp = _endpos__6_;
21689 MenhirLib.EngineTypes.next = {
21690 MenhirLib.EngineTypes.semv = ids;
21691 MenhirLib.EngineTypes.startp = _startpos_ids_;
21692 MenhirLib.EngineTypes.endp = _endpos_ids_;
21693 MenhirLib.EngineTypes.next = {
21694 MenhirLib.EngineTypes.startp = _startpos__4_;
21695 MenhirLib.EngineTypes.endp = _endpos__4_;
21696 MenhirLib.EngineTypes.next = {
21697 MenhirLib.EngineTypes.startp = _startpos__3_;
21698 MenhirLib.EngineTypes.endp = _endpos__3_;
21699 MenhirLib.EngineTypes.next = {
21700 MenhirLib.EngineTypes.semv = ispure;
21701 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21702 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21703 MenhirLib.EngineTypes.next = {
21704 MenhirLib.EngineTypes.state = _menhir_s;
21705 MenhirLib.EngineTypes.semv = ar;
21706 MenhirLib.EngineTypes.startp = _startpos_ar_;
21707 MenhirLib.EngineTypes.endp = _endpos_ar_;
21708 MenhirLib.EngineTypes.next = _menhir_stack;
21709 };
21710 };
21711 };
21712 };
21713 };
21714 } = _menhir_stack in
21715 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21716 let ispure : 'tv_pure = Obj.magic ispure in
21717 let ar : 'tv_arity = Obj.magic ar in
21718 let _startpos = _startpos_ar_ in
21719 let _endpos = _endpos__6_ in
21720 let _v : 'tv_metadec = let kindfn =
21721
21722 # 508 "parser_cocci_menhir.mly"
21723 ( (fun arity name pure check_meta constraints ->
21724 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
21725 !Data.add_local_func_meta name constraints pure;
21726 tok) )
21727 # 21728 "parser_cocci_menhir.ml"
21728
21729 in
21730
21731 # 360 "parser_cocci_menhir.mly"
21732 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21733 # 21734 "parser_cocci_menhir.ml"
21734 in
21735 _menhir_env.MenhirLib.EngineTypes.stack <- {
21736 MenhirLib.EngineTypes.state = _menhir_s;
21737 MenhirLib.EngineTypes.semv = Obj.repr _v;
21738 MenhirLib.EngineTypes.startp = _startpos;
21739 MenhirLib.EngineTypes.endp = _endpos;
21740 MenhirLib.EngineTypes.next = _menhir_stack;
21741 });
21742 (fun _menhir_env ->
21743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21744 let {
21745 MenhirLib.EngineTypes.startp = _startpos__5_;
21746 MenhirLib.EngineTypes.endp = _endpos__5_;
21747 MenhirLib.EngineTypes.next = {
21748 MenhirLib.EngineTypes.semv = ids;
21749 MenhirLib.EngineTypes.startp = _startpos_ids_;
21750 MenhirLib.EngineTypes.endp = _endpos_ids_;
21751 MenhirLib.EngineTypes.next = {
21752 MenhirLib.EngineTypes.startp = _startpos__3_;
21753 MenhirLib.EngineTypes.endp = _endpos__3_;
21754 MenhirLib.EngineTypes.next = {
21755 MenhirLib.EngineTypes.semv = ispure;
21756 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21757 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21758 MenhirLib.EngineTypes.next = {
21759 MenhirLib.EngineTypes.state = _menhir_s;
21760 MenhirLib.EngineTypes.semv = ar;
21761 MenhirLib.EngineTypes.startp = _startpos_ar_;
21762 MenhirLib.EngineTypes.endp = _endpos_ar_;
21763 MenhirLib.EngineTypes.next = _menhir_stack;
21764 };
21765 };
21766 };
21767 };
21768 } = _menhir_stack in
21769 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21770 let ispure : 'tv_pure = Obj.magic ispure in
21771 let ar : 'tv_arity = Obj.magic ar in
21772 let _startpos = _startpos_ar_ in
21773 let _endpos = _endpos__5_ in
21774 let _v : 'tv_metadec = let kindfn =
21775
21776 # 513 "parser_cocci_menhir.mly"
21777 ( (fun arity name pure check_meta constraints ->
21778 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
21779 !Data.add_declarer_meta name constraints pure; tok) )
21780 # 21781 "parser_cocci_menhir.ml"
21781
21782 in
21783
21784 # 360 "parser_cocci_menhir.mly"
21785 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21786 # 21787 "parser_cocci_menhir.ml"
21787 in
21788 _menhir_env.MenhirLib.EngineTypes.stack <- {
21789 MenhirLib.EngineTypes.state = _menhir_s;
21790 MenhirLib.EngineTypes.semv = Obj.repr _v;
21791 MenhirLib.EngineTypes.startp = _startpos;
21792 MenhirLib.EngineTypes.endp = _endpos;
21793 MenhirLib.EngineTypes.next = _menhir_stack;
21794 });
21795 (fun _menhir_env ->
21796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21797 let {
21798 MenhirLib.EngineTypes.startp = _startpos__5_;
21799 MenhirLib.EngineTypes.endp = _endpos__5_;
21800 MenhirLib.EngineTypes.next = {
21801 MenhirLib.EngineTypes.semv = ids;
21802 MenhirLib.EngineTypes.startp = _startpos_ids_;
21803 MenhirLib.EngineTypes.endp = _endpos_ids_;
21804 MenhirLib.EngineTypes.next = {
21805 MenhirLib.EngineTypes.startp = _startpos__3_;
21806 MenhirLib.EngineTypes.endp = _endpos__3_;
21807 MenhirLib.EngineTypes.next = {
21808 MenhirLib.EngineTypes.semv = ispure;
21809 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21810 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21811 MenhirLib.EngineTypes.next = {
21812 MenhirLib.EngineTypes.state = _menhir_s;
21813 MenhirLib.EngineTypes.semv = ar;
21814 MenhirLib.EngineTypes.startp = _startpos_ar_;
21815 MenhirLib.EngineTypes.endp = _endpos_ar_;
21816 MenhirLib.EngineTypes.next = _menhir_stack;
21817 };
21818 };
21819 };
21820 };
21821 } = _menhir_stack in
21822 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21823 let ispure : 'tv_pure = Obj.magic ispure in
21824 let ar : 'tv_arity = Obj.magic ar in
21825 let _startpos = _startpos_ar_ in
21826 let _endpos = _endpos__5_ in
21827 let _v : 'tv_metadec = let kindfn =
21828
21829 # 517 "parser_cocci_menhir.mly"
21830 ( (fun arity name pure check_meta constraints ->
21831 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
21832 !Data.add_iterator_meta name constraints pure; tok) )
21833 # 21834 "parser_cocci_menhir.ml"
21834
21835 in
21836
21837 # 360 "parser_cocci_menhir.mly"
21838 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21839 # 21840 "parser_cocci_menhir.ml"
21840 in
21841 _menhir_env.MenhirLib.EngineTypes.stack <- {
21842 MenhirLib.EngineTypes.state = _menhir_s;
21843 MenhirLib.EngineTypes.semv = Obj.repr _v;
21844 MenhirLib.EngineTypes.startp = _startpos;
21845 MenhirLib.EngineTypes.endp = _endpos;
21846 MenhirLib.EngineTypes.next = _menhir_stack;
21847 });
21848 (fun _menhir_env ->
21849 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21850 let {
21851 MenhirLib.EngineTypes.startp = _startpos__5_;
21852 MenhirLib.EngineTypes.endp = _endpos__5_;
21853 MenhirLib.EngineTypes.next = {
21854 MenhirLib.EngineTypes.semv = ids;
21855 MenhirLib.EngineTypes.startp = _startpos_ids_;
21856 MenhirLib.EngineTypes.endp = _endpos_ids_;
21857 MenhirLib.EngineTypes.next = {
21858 MenhirLib.EngineTypes.startp = _startpos__3_;
21859 MenhirLib.EngineTypes.endp = _endpos__3_;
21860 MenhirLib.EngineTypes.next = {
21861 MenhirLib.EngineTypes.semv = ispure;
21862 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21863 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21864 MenhirLib.EngineTypes.next = {
21865 MenhirLib.EngineTypes.state = _menhir_s;
21866 MenhirLib.EngineTypes.semv = ar;
21867 MenhirLib.EngineTypes.startp = _startpos_ar_;
21868 MenhirLib.EngineTypes.endp = _endpos_ar_;
21869 MenhirLib.EngineTypes.next = _menhir_stack;
21870 };
21871 };
21872 };
21873 };
21874 } = _menhir_stack in
21875 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids 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
21882 # 523 "parser_cocci_menhir.mly"
21883 ( (fun arity name pure check_meta constraints ->
21884 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
21885 !Data.add_err_meta name constraints pure; tok) )
21886 # 21887 "parser_cocci_menhir.ml"
21887
21888 in
21889
21890 # 365 "parser_cocci_menhir.mly"
21891 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21892 # 21893 "parser_cocci_menhir.ml"
21893 in
21894 _menhir_env.MenhirLib.EngineTypes.stack <- {
21895 MenhirLib.EngineTypes.state = _menhir_s;
21896 MenhirLib.EngineTypes.semv = Obj.repr _v;
21897 MenhirLib.EngineTypes.startp = _startpos;
21898 MenhirLib.EngineTypes.endp = _endpos;
21899 MenhirLib.EngineTypes.next = _menhir_stack;
21900 });
21901 (fun _menhir_env ->
21902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21903 let {
21904 MenhirLib.EngineTypes.startp = _startpos__6_;
21905 MenhirLib.EngineTypes.endp = _endpos__6_;
21906 MenhirLib.EngineTypes.next = {
21907 MenhirLib.EngineTypes.semv = ids;
21908 MenhirLib.EngineTypes.startp = _startpos_ids_;
21909 MenhirLib.EngineTypes.endp = _endpos_ids_;
21910 MenhirLib.EngineTypes.next = {
21911 MenhirLib.EngineTypes.startp = _startpos__4_;
21912 MenhirLib.EngineTypes.endp = _endpos__4_;
21913 MenhirLib.EngineTypes.next = {
21914 MenhirLib.EngineTypes.semv = l0;
21915 MenhirLib.EngineTypes.startp = _startpos_l0_;
21916 MenhirLib.EngineTypes.endp = _endpos_l0_;
21917 MenhirLib.EngineTypes.next = {
21918 MenhirLib.EngineTypes.semv = ispure;
21919 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21920 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21921 MenhirLib.EngineTypes.next = {
21922 MenhirLib.EngineTypes.state = _menhir_s;
21923 MenhirLib.EngineTypes.semv = ar;
21924 MenhirLib.EngineTypes.startp = _startpos_ar_;
21925 MenhirLib.EngineTypes.endp = _endpos_ar_;
21926 MenhirLib.EngineTypes.next = _menhir_stack;
21927 };
21928 };
21929 };
21930 };
21931 };
21932 } = _menhir_stack in
21933 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21934 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
21935 let ispure : 'tv_pure = Obj.magic ispure in
21936 let ar : 'tv_arity = Obj.magic ar in
21937 let _startpos = _startpos_ar_ in
21938 let _endpos = _endpos__6_ in
21939 let _v : 'tv_metadec = let kindfn =
21940 let l = l0 in
21941 let ty =
21942
21943 # 39 "standard.mly"
21944 ( None )
21945 # 21946 "parser_cocci_menhir.ml"
21946
21947 in
21948
21949 # 527 "parser_cocci_menhir.mly"
21950 ( (fun arity name pure check_meta constraints ->
21951 match l with
21952 None ->
21953 !Data.add_idexp_meta ty name constraints pure;
21954 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
21955 | Some _ ->
21956 !Data.add_local_idexp_meta ty name constraints pure;
21957 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
21958 # 21959 "parser_cocci_menhir.ml"
21959
21960 in
21961
21962 # 365 "parser_cocci_menhir.mly"
21963 ( P.create_metadec_with_constraints ar ispure 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__7_;
21977 MenhirLib.EngineTypes.endp = _endpos__7_;
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.semv = x00;
21984 MenhirLib.EngineTypes.startp = _startpos_x00_;
21985 MenhirLib.EngineTypes.endp = _endpos_x00_;
21986 MenhirLib.EngineTypes.next = {
21987 MenhirLib.EngineTypes.startp = _startpos__4_;
21988 MenhirLib.EngineTypes.endp = _endpos__4_;
21989 MenhirLib.EngineTypes.next = {
21990 MenhirLib.EngineTypes.semv = l0;
21991 MenhirLib.EngineTypes.startp = _startpos_l0_;
21992 MenhirLib.EngineTypes.endp = _endpos_l0_;
21993 MenhirLib.EngineTypes.next = {
21994 MenhirLib.EngineTypes.semv = ispure;
21995 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21996 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21997 MenhirLib.EngineTypes.next = {
21998 MenhirLib.EngineTypes.state = _menhir_s;
21999 MenhirLib.EngineTypes.semv = ar;
22000 MenhirLib.EngineTypes.startp = _startpos_ar_;
22001 MenhirLib.EngineTypes.endp = _endpos_ar_;
22002 MenhirLib.EngineTypes.next = _menhir_stack;
22003 };
22004 };
22005 };
22006 };
22007 };
22008 };
22009 } = _menhir_stack in
22010 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
22011 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
22012 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
22013 let ispure : 'tv_pure = Obj.magic ispure in
22014 let ar : 'tv_arity = Obj.magic ar in
22015 let _startpos = _startpos_ar_ in
22016 let _endpos = _endpos__7_ in
22017 let _v : 'tv_metadec = let kindfn =
22018 let x0 = x00 in
22019 let l = l0 in
22020 let ty =
22021 let x = x0 in
22022
22023 # 41 "standard.mly"
22024 ( Some x )
22025 # 22026 "parser_cocci_menhir.ml"
22026
22027 in
22028
22029 # 527 "parser_cocci_menhir.mly"
22030 ( (fun arity name pure check_meta constraints ->
22031 match l with
22032 None ->
22033 !Data.add_idexp_meta ty name constraints pure;
22034 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
22035 | Some _ ->
22036 !Data.add_local_idexp_meta ty name constraints pure;
22037 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
22038 # 22039 "parser_cocci_menhir.ml"
22039
22040 in
22041
22042 # 365 "parser_cocci_menhir.mly"
22043 ( P.create_metadec_with_constraints ar ispure kindfn ids )
22044 # 22045 "parser_cocci_menhir.ml"
22045 in
22046 _menhir_env.MenhirLib.EngineTypes.stack <- {
22047 MenhirLib.EngineTypes.state = _menhir_s;
22048 MenhirLib.EngineTypes.semv = Obj.repr _v;
22049 MenhirLib.EngineTypes.startp = _startpos;
22050 MenhirLib.EngineTypes.endp = _endpos;
22051 MenhirLib.EngineTypes.next = _menhir_stack;
22052 });
22053 (fun _menhir_env ->
22054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22055 let {
22056 MenhirLib.EngineTypes.startp = _startpos__7_;
22057 MenhirLib.EngineTypes.endp = _endpos__7_;
22058 MenhirLib.EngineTypes.next = {
22059 MenhirLib.EngineTypes.semv = ids;
22060 MenhirLib.EngineTypes.startp = _startpos_ids_;
22061 MenhirLib.EngineTypes.endp = _endpos_ids_;
22062 MenhirLib.EngineTypes.next = {
22063 MenhirLib.EngineTypes.semv = m0;
22064 MenhirLib.EngineTypes.startp = _startpos_m0_;
22065 MenhirLib.EngineTypes.endp = _endpos_m0_;
22066 MenhirLib.EngineTypes.next = {
22067 MenhirLib.EngineTypes.startp = _startpos__4_;
22068 MenhirLib.EngineTypes.endp = _endpos__4_;
22069 MenhirLib.EngineTypes.next = {
22070 MenhirLib.EngineTypes.semv = l0;
22071 MenhirLib.EngineTypes.startp = _startpos_l0_;
22072 MenhirLib.EngineTypes.endp = _endpos_l0_;
22073 MenhirLib.EngineTypes.next = {
22074 MenhirLib.EngineTypes.semv = ispure;
22075 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22076 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22077 MenhirLib.EngineTypes.next = {
22078 MenhirLib.EngineTypes.state = _menhir_s;
22079 MenhirLib.EngineTypes.semv = ar;
22080 MenhirLib.EngineTypes.startp = _startpos_ar_;
22081 MenhirLib.EngineTypes.endp = _endpos_ar_;
22082 MenhirLib.EngineTypes.next = _menhir_stack;
22083 };
22084 };
22085 };
22086 };
22087 };
22088 };
22089 } = _menhir_stack in
22090 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
22091 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
22092 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
22093 let ispure : 'tv_pure = Obj.magic ispure in
22094 let ar : 'tv_arity = Obj.magic ar in
22095 let _startpos = _startpos_ar_ in
22096 let _endpos = _endpos__7_ in
22097 let _v : 'tv_metadec = let kindfn =
22098 let m = m0 in
22099 let l = l0 in
22100
22101 # 536 "parser_cocci_menhir.mly"
22102 ( (fun arity name pure check_meta constraints ->
22103 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
22104 match l with
22105 None ->
22106 !Data.add_idexp_meta ty name constraints pure;
22107 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
22108 | Some _ ->
22109 !Data.add_local_idexp_meta ty name constraints pure;
22110 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
22111 # 22112 "parser_cocci_menhir.ml"
22112
22113 in
22114
22115 # 365 "parser_cocci_menhir.mly"
22116 ( P.create_metadec_with_constraints ar ispure kindfn ids )
22117 # 22118 "parser_cocci_menhir.ml"
22118 in
22119 _menhir_env.MenhirLib.EngineTypes.stack <- {
22120 MenhirLib.EngineTypes.state = _menhir_s;
22121 MenhirLib.EngineTypes.semv = Obj.repr _v;
22122 MenhirLib.EngineTypes.startp = _startpos;
22123 MenhirLib.EngineTypes.endp = _endpos;
22124 MenhirLib.EngineTypes.next = _menhir_stack;
22125 });
22126 (fun _menhir_env ->
22127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22128 let {
22129 MenhirLib.EngineTypes.startp = _startpos__6_;
22130 MenhirLib.EngineTypes.endp = _endpos__6_;
22131 MenhirLib.EngineTypes.next = {
22132 MenhirLib.EngineTypes.semv = ids;
22133 MenhirLib.EngineTypes.startp = _startpos_ids_;
22134 MenhirLib.EngineTypes.endp = _endpos_ids_;
22135 MenhirLib.EngineTypes.next = {
22136 MenhirLib.EngineTypes.semv = ty0;
22137 MenhirLib.EngineTypes.startp = _startpos_ty0_;
22138 MenhirLib.EngineTypes.endp = _endpos_ty0_;
22139 MenhirLib.EngineTypes.next = {
22140 MenhirLib.EngineTypes.startp = _startpos__3_;
22141 MenhirLib.EngineTypes.endp = _endpos__3_;
22142 MenhirLib.EngineTypes.next = {
22143 MenhirLib.EngineTypes.semv = ispure;
22144 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22145 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22146 MenhirLib.EngineTypes.next = {
22147 MenhirLib.EngineTypes.state = _menhir_s;
22148 MenhirLib.EngineTypes.semv = ar;
22149 MenhirLib.EngineTypes.startp = _startpos_ar_;
22150 MenhirLib.EngineTypes.endp = _endpos_ar_;
22151 MenhirLib.EngineTypes.next = _menhir_stack;
22152 };
22153 };
22154 };
22155 };
22156 };
22157 } = _menhir_stack in
22158 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
22159 let ty0 : 'tv_expression_type = Obj.magic ty0 in
22160 let ispure : 'tv_pure = Obj.magic ispure in
22161 let ar : 'tv_arity = Obj.magic ar in
22162 let _startpos = _startpos_ar_ in
22163 let _endpos = _endpos__6_ in
22164 let _v : 'tv_metadec = let kindfn =
22165 let ty = ty0 in
22166
22167 # 546 "parser_cocci_menhir.mly"
22168 ( (fun arity name pure check_meta constraints ->
22169 let ty = Some [ty] in
22170 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
22171 !Data.add_exp_meta ty name constraints pure; tok) )
22172 # 22173 "parser_cocci_menhir.ml"
22173
22174 in
22175
22176 # 365 "parser_cocci_menhir.mly"
22177 ( P.create_metadec_with_constraints ar ispure kindfn ids )
22178 # 22179 "parser_cocci_menhir.ml"
22179 in
22180 _menhir_env.MenhirLib.EngineTypes.stack <- {
22181 MenhirLib.EngineTypes.state = _menhir_s;
22182 MenhirLib.EngineTypes.semv = Obj.repr _v;
22183 MenhirLib.EngineTypes.startp = _startpos;
22184 MenhirLib.EngineTypes.endp = _endpos;
22185 MenhirLib.EngineTypes.next = _menhir_stack;
22186 });
22187 (fun _menhir_env ->
22188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22189 let {
22190 MenhirLib.EngineTypes.startp = _startpos__5_;
22191 MenhirLib.EngineTypes.endp = _endpos__5_;
22192 MenhirLib.EngineTypes.next = {
22193 MenhirLib.EngineTypes.semv = ids;
22194 MenhirLib.EngineTypes.startp = _startpos_ids_;
22195 MenhirLib.EngineTypes.endp = _endpos_ids_;
22196 MenhirLib.EngineTypes.next = {
22197 MenhirLib.EngineTypes.startp = _startpos__3_;
22198 MenhirLib.EngineTypes.endp = _endpos__3_;
22199 MenhirLib.EngineTypes.next = {
22200 MenhirLib.EngineTypes.semv = ispure;
22201 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22202 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22203 MenhirLib.EngineTypes.next = {
22204 MenhirLib.EngineTypes.state = _menhir_s;
22205 MenhirLib.EngineTypes.semv = ar;
22206 MenhirLib.EngineTypes.startp = _startpos_ar_;
22207 MenhirLib.EngineTypes.endp = _endpos_ar_;
22208 MenhirLib.EngineTypes.next = _menhir_stack;
22209 };
22210 };
22211 };
22212 };
22213 } = _menhir_stack in
22214 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
22215 let ispure : 'tv_pure = Obj.magic ispure in
22216 let ar : 'tv_arity = Obj.magic ar in
22217 let _startpos = _startpos_ar_ in
22218 let _endpos = _endpos__5_ in
22219 let _v : 'tv_metadec = let kindfn =
22220 let ty =
22221
22222 # 39 "standard.mly"
22223 ( None )
22224 # 22225 "parser_cocci_menhir.ml"
22225
22226 in
22227
22228 # 551 "parser_cocci_menhir.mly"
22229 ( (fun arity name pure check_meta constraints ->
22230 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
22231 !Data.add_const_meta ty name constraints pure; tok) )
22232 # 22233 "parser_cocci_menhir.ml"
22233
22234 in
22235
22236 # 365 "parser_cocci_menhir.mly"
22237 ( P.create_metadec_with_constraints ar ispure kindfn ids )
22238 # 22239 "parser_cocci_menhir.ml"
22239 in
22240 _menhir_env.MenhirLib.EngineTypes.stack <- {
22241 MenhirLib.EngineTypes.state = _menhir_s;
22242 MenhirLib.EngineTypes.semv = Obj.repr _v;
22243 MenhirLib.EngineTypes.startp = _startpos;
22244 MenhirLib.EngineTypes.endp = _endpos;
22245 MenhirLib.EngineTypes.next = _menhir_stack;
22246 });
22247 (fun _menhir_env ->
22248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22249 let {
22250 MenhirLib.EngineTypes.startp = _startpos__6_;
22251 MenhirLib.EngineTypes.endp = _endpos__6_;
22252 MenhirLib.EngineTypes.next = {
22253 MenhirLib.EngineTypes.semv = ids;
22254 MenhirLib.EngineTypes.startp = _startpos_ids_;
22255 MenhirLib.EngineTypes.endp = _endpos_ids_;
22256 MenhirLib.EngineTypes.next = {
22257 MenhirLib.EngineTypes.semv = x00;
22258 MenhirLib.EngineTypes.startp = _startpos_x00_;
22259 MenhirLib.EngineTypes.endp = _endpos_x00_;
22260 MenhirLib.EngineTypes.next = {
22261 MenhirLib.EngineTypes.startp = _startpos__3_;
22262 MenhirLib.EngineTypes.endp = _endpos__3_;
22263 MenhirLib.EngineTypes.next = {
22264 MenhirLib.EngineTypes.semv = ispure;
22265 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22266 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22267 MenhirLib.EngineTypes.next = {
22268 MenhirLib.EngineTypes.state = _menhir_s;
22269 MenhirLib.EngineTypes.semv = ar;
22270 MenhirLib.EngineTypes.startp = _startpos_ar_;
22271 MenhirLib.EngineTypes.endp = _endpos_ar_;
22272 MenhirLib.EngineTypes.next = _menhir_stack;
22273 };
22274 };
22275 };
22276 };
22277 };
22278 } = _menhir_stack in
22279 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
22280 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
22281 let ispure : 'tv_pure = Obj.magic ispure in
22282 let ar : 'tv_arity = Obj.magic ar in
22283 let _startpos = _startpos_ar_ in
22284 let _endpos = _endpos__6_ in
22285 let _v : 'tv_metadec = let kindfn =
22286 let x0 = x00 in
22287 let ty =
22288 let x = x0 in
22289
22290 # 41 "standard.mly"
22291 ( Some x )
22292 # 22293 "parser_cocci_menhir.ml"
22293
22294 in
22295
22296 # 551 "parser_cocci_menhir.mly"
22297 ( (fun arity name pure check_meta constraints ->
22298 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
22299 !Data.add_const_meta ty name constraints pure; tok) )
22300 # 22301 "parser_cocci_menhir.ml"
22301
22302 in
22303
22304 # 365 "parser_cocci_menhir.mly"
22305 ( P.create_metadec_with_constraints ar ispure kindfn ids )
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.startp = _startpos__5_;
22319 MenhirLib.EngineTypes.endp = _endpos__5_;
22320 MenhirLib.EngineTypes.next = {
22321 MenhirLib.EngineTypes.semv = ids;
22322 MenhirLib.EngineTypes.startp = _startpos_ids_;
22323 MenhirLib.EngineTypes.endp = _endpos_ids_;
22324 MenhirLib.EngineTypes.next = {
22325 MenhirLib.EngineTypes.startp = _startpos__3_;
22326 MenhirLib.EngineTypes.endp = _endpos__3_;
22327 MenhirLib.EngineTypes.next = {
22328 MenhirLib.EngineTypes.semv = ispure;
22329 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22330 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22331 MenhirLib.EngineTypes.next = {
22332 MenhirLib.EngineTypes.state = _menhir_s;
22333 MenhirLib.EngineTypes.semv = ar;
22334 MenhirLib.EngineTypes.startp = _startpos_ar_;
22335 MenhirLib.EngineTypes.endp = _endpos_ar_;
22336 MenhirLib.EngineTypes.next = _menhir_stack;
22337 };
22338 };
22339 };
22340 };
22341 } = _menhir_stack in
22342 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
22343 let ispure : 'tv_pure = Obj.magic ispure in
22344 let ar : 'tv_arity = Obj.magic ar in
22345 let _startpos = _startpos_ar_ in
22346 let _endpos = _endpos__5_ in
22347 let _v : 'tv_metadec = let kindfn =
22348
22349 # 568 "parser_cocci_menhir.mly"
22350 ( (fun arity name pure check_meta constraints ->
22351 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
22352 !Data.add_exp_meta None name constraints pure; tok) )
22353 # 22354 "parser_cocci_menhir.ml"
22354
22355 in
22356
22357 # 370 "parser_cocci_menhir.mly"
22358 ( P.create_metadec_with_constraints ar ispure kindfn ids )
22359 # 22360 "parser_cocci_menhir.ml"
22360 in
22361 _menhir_env.MenhirLib.EngineTypes.stack <- {
22362 MenhirLib.EngineTypes.state = _menhir_s;
22363 MenhirLib.EngineTypes.semv = Obj.repr _v;
22364 MenhirLib.EngineTypes.startp = _startpos;
22365 MenhirLib.EngineTypes.endp = _endpos;
22366 MenhirLib.EngineTypes.next = _menhir_stack;
22367 });
22368 (fun _menhir_env ->
22369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22370 let {
22371 MenhirLib.EngineTypes.startp = _startpos__5_;
22372 MenhirLib.EngineTypes.endp = _endpos__5_;
22373 MenhirLib.EngineTypes.next = {
22374 MenhirLib.EngineTypes.semv = ids;
22375 MenhirLib.EngineTypes.startp = _startpos_ids_;
22376 MenhirLib.EngineTypes.endp = _endpos_ids_;
22377 MenhirLib.EngineTypes.next = {
22378 MenhirLib.EngineTypes.semv = vl0;
22379 MenhirLib.EngineTypes.startp = _startpos_vl0_;
22380 MenhirLib.EngineTypes.endp = _endpos_vl0_;
22381 MenhirLib.EngineTypes.next = {
22382 MenhirLib.EngineTypes.semv = ispure;
22383 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22384 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22385 MenhirLib.EngineTypes.next = {
22386 MenhirLib.EngineTypes.state = _menhir_s;
22387 MenhirLib.EngineTypes.semv = ar;
22388 MenhirLib.EngineTypes.startp = _startpos_ar_;
22389 MenhirLib.EngineTypes.endp = _endpos_ar_;
22390 MenhirLib.EngineTypes.next = _menhir_stack;
22391 };
22392 };
22393 };
22394 };
22395 } = _menhir_stack in
22396 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
22397 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
22398 let ispure : 'tv_pure = Obj.magic ispure in
22399 let ar : 'tv_arity = Obj.magic ar in
22400 let _startpos = _startpos_ar_ in
22401 let _endpos = _endpos__5_ in
22402 let _v : 'tv_metadec = let kindfn =
22403 let vl = vl0 in
22404
22405 # 572 "parser_cocci_menhir.mly"
22406 ( (fun arity name pure check_meta constraints ->
22407 let ty = Some vl in
22408 (match constraints with
22409 Ast0.NotExpCstrt constraints ->
22410 List.iter
22411 (function c ->
22412 match Ast0.unwrap c with
22413 Ast0.Constant(_) ->
22414 if not
22415 (List.exists
22416 (function
22417 Type_cocci.BaseType(Type_cocci.IntType) -> true
22418 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
22419 | Type_cocci.BaseType(Type_cocci.LongType) -> true
22420 | _ -> false)
22421 vl)
22422 then
22423 failwith "metavariable with int constraint must be an int"
22424 | _ -> ())
22425 constraints
22426 | _ -> ());
22427 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
22428 !Data.add_exp_meta ty name constraints pure; tok)
22429 )
22430 # 22431 "parser_cocci_menhir.ml"
22431
22432 in
22433
22434 # 370 "parser_cocci_menhir.mly"
22435 ( P.create_metadec_with_constraints ar ispure kindfn ids )
22436 # 22437 "parser_cocci_menhir.ml"
22437 in
22438 _menhir_env.MenhirLib.EngineTypes.stack <- {
22439 MenhirLib.EngineTypes.state = _menhir_s;
22440 MenhirLib.EngineTypes.semv = Obj.repr _v;
22441 MenhirLib.EngineTypes.startp = _startpos;
22442 MenhirLib.EngineTypes.endp = _endpos;
22443 MenhirLib.EngineTypes.next = _menhir_stack;
22444 });
22445 (fun _menhir_env ->
22446 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22447 let {
22448 MenhirLib.EngineTypes.startp = _startpos__5_;
22449 MenhirLib.EngineTypes.endp = _endpos__5_;
22450 MenhirLib.EngineTypes.next = {
22451 MenhirLib.EngineTypes.semv = ids;
22452 MenhirLib.EngineTypes.startp = _startpos_ids_;
22453 MenhirLib.EngineTypes.endp = _endpos_ids_;
22454 MenhirLib.EngineTypes.next = {
22455 MenhirLib.EngineTypes.semv = a;
22456 MenhirLib.EngineTypes.startp = _startpos_a_;
22457 MenhirLib.EngineTypes.endp = _endpos_a_;
22458 MenhirLib.EngineTypes.next = {
22459 MenhirLib.EngineTypes.startp = _startpos__2_;
22460 MenhirLib.EngineTypes.endp = _endpos__2_;
22461 MenhirLib.EngineTypes.next = {
22462 MenhirLib.EngineTypes.state = _menhir_s;
22463 MenhirLib.EngineTypes.semv = ar;
22464 MenhirLib.EngineTypes.startp = _startpos_ar_;
22465 MenhirLib.EngineTypes.endp = _endpos_ar_;
22466 MenhirLib.EngineTypes.next = _menhir_stack;
22467 };
22468 };
22469 };
22470 };
22471 } = _menhir_stack in
22472 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
22473 let a : 'tv_option_TPosAny_ = Obj.magic a in
22474 let ar : 'tv_arity = Obj.magic ar in
22475 let _startpos = _startpos_ar_ in
22476 let _endpos = _endpos__5_ in
22477 let _v : 'tv_metadec =
22478 # 376 "parser_cocci_menhir.mly"
22479 ( (if !Data.in_generating
22480 then failwith "position variables not allowed in a generated rule file");
22481 let kindfn arity name pure check_meta constraints =
22482 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
22483 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
22484 !Data.add_pos_meta name constraints any; tok in
22485 P.create_metadec_with_constraints ar false kindfn ids )
22486 # 22487 "parser_cocci_menhir.ml"
22487 in
22488 _menhir_env.MenhirLib.EngineTypes.stack <- {
22489 MenhirLib.EngineTypes.state = _menhir_s;
22490 MenhirLib.EngineTypes.semv = Obj.repr _v;
22491 MenhirLib.EngineTypes.startp = _startpos;
22492 MenhirLib.EngineTypes.endp = _endpos;
22493 MenhirLib.EngineTypes.next = _menhir_stack;
22494 });
22495 (fun _menhir_env ->
22496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22497 let {
22498 MenhirLib.EngineTypes.startp = _startpos__9_;
22499 MenhirLib.EngineTypes.endp = _endpos__9_;
22500 MenhirLib.EngineTypes.next = {
22501 MenhirLib.EngineTypes.semv = ids;
22502 MenhirLib.EngineTypes.startp = _startpos_ids_;
22503 MenhirLib.EngineTypes.endp = _endpos_ids_;
22504 MenhirLib.EngineTypes.next = {
22505 MenhirLib.EngineTypes.startp = _startpos__7_;
22506 MenhirLib.EngineTypes.endp = _endpos__7_;
22507 MenhirLib.EngineTypes.next = {
22508 MenhirLib.EngineTypes.semv = len;
22509 MenhirLib.EngineTypes.startp = _startpos_len_;
22510 MenhirLib.EngineTypes.endp = _endpos_len_;
22511 MenhirLib.EngineTypes.next = {
22512 MenhirLib.EngineTypes.startp = _startpos__5_;
22513 MenhirLib.EngineTypes.endp = _endpos__5_;
22514 MenhirLib.EngineTypes.next = {
22515 MenhirLib.EngineTypes.startp = _startpos__4_;
22516 MenhirLib.EngineTypes.endp = _endpos__4_;
22517 MenhirLib.EngineTypes.next = {
22518 MenhirLib.EngineTypes.startp = _startpos__3_;
22519 MenhirLib.EngineTypes.endp = _endpos__3_;
22520 MenhirLib.EngineTypes.next = {
22521 MenhirLib.EngineTypes.semv = ispure;
22522 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22523 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22524 MenhirLib.EngineTypes.next = {
22525 MenhirLib.EngineTypes.state = _menhir_s;
22526 MenhirLib.EngineTypes.semv = ar;
22527 MenhirLib.EngineTypes.startp = _startpos_ar_;
22528 MenhirLib.EngineTypes.endp = _endpos_ar_;
22529 MenhirLib.EngineTypes.next = _menhir_stack;
22530 };
22531 };
22532 };
22533 };
22534 };
22535 };
22536 };
22537 };
22538 } = _menhir_stack in
22539 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
22540 let len : 'tv_list_len = Obj.magic len in
22541 let ispure : 'tv_pure = Obj.magic ispure in
22542 let ar : 'tv_arity = Obj.magic ar in
22543 let _startpos = _startpos_ar_ in
22544 let _endpos = _endpos__9_ in
22545 let _v : 'tv_metadec =
22546 # 386 "parser_cocci_menhir.mly"
22547 ( P.create_len_metadec ar ispure
22548 (fun lenname arity name pure check_meta ->
22549 let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
22550 !Data.add_paramlist_meta name lenname pure; tok)
22551 len ids )
22552 # 22553 "parser_cocci_menhir.ml"
22553 in
22554 _menhir_env.MenhirLib.EngineTypes.stack <- {
22555 MenhirLib.EngineTypes.state = _menhir_s;
22556 MenhirLib.EngineTypes.semv = Obj.repr _v;
22557 MenhirLib.EngineTypes.startp = _startpos;
22558 MenhirLib.EngineTypes.endp = _endpos;
22559 MenhirLib.EngineTypes.next = _menhir_stack;
22560 });
22561 (fun _menhir_env ->
22562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22563 let {
22564 MenhirLib.EngineTypes.startp = _startpos__9_;
22565 MenhirLib.EngineTypes.endp = _endpos__9_;
22566 MenhirLib.EngineTypes.next = {
22567 MenhirLib.EngineTypes.semv = ids;
22568 MenhirLib.EngineTypes.startp = _startpos_ids_;
22569 MenhirLib.EngineTypes.endp = _endpos_ids_;
22570 MenhirLib.EngineTypes.next = {
22571 MenhirLib.EngineTypes.startp = _startpos__7_;
22572 MenhirLib.EngineTypes.endp = _endpos__7_;
22573 MenhirLib.EngineTypes.next = {
22574 MenhirLib.EngineTypes.semv = len;
22575 MenhirLib.EngineTypes.startp = _startpos_len_;
22576 MenhirLib.EngineTypes.endp = _endpos_len_;
22577 MenhirLib.EngineTypes.next = {
22578 MenhirLib.EngineTypes.startp = _startpos__5_;
22579 MenhirLib.EngineTypes.endp = _endpos__5_;
22580 MenhirLib.EngineTypes.next = {
22581 MenhirLib.EngineTypes.startp = _startpos__4_;
22582 MenhirLib.EngineTypes.endp = _endpos__4_;
22583 MenhirLib.EngineTypes.next = {
22584 MenhirLib.EngineTypes.startp = _startpos__3_;
22585 MenhirLib.EngineTypes.endp = _endpos__3_;
22586 MenhirLib.EngineTypes.next = {
22587 MenhirLib.EngineTypes.semv = ispure;
22588 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22589 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22590 MenhirLib.EngineTypes.next = {
22591 MenhirLib.EngineTypes.state = _menhir_s;
22592 MenhirLib.EngineTypes.semv = ar;
22593 MenhirLib.EngineTypes.startp = _startpos_ar_;
22594 MenhirLib.EngineTypes.endp = _endpos_ar_;
22595 MenhirLib.EngineTypes.next = _menhir_stack;
22596 };
22597 };
22598 };
22599 };
22600 };
22601 };
22602 };
22603 };
22604 } = _menhir_stack in
22605 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
22606 let len : 'tv_list_len = Obj.magic len in
22607 let ispure : 'tv_pure = Obj.magic ispure in
22608 let ar : 'tv_arity = Obj.magic ar in
22609 let _startpos = _startpos_ar_ in
22610 let _endpos = _endpos__9_ in
22611 let _v : 'tv_metadec =
22612 # 394 "parser_cocci_menhir.mly"
22613 ( P.create_len_metadec ar ispure
22614 (fun lenname arity name pure check_meta ->
22615 let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
22616 !Data.add_explist_meta name lenname pure; tok)
22617 len ids )
22618 # 22619 "parser_cocci_menhir.ml"
22619 in
22620 _menhir_env.MenhirLib.EngineTypes.stack <- {
22621 MenhirLib.EngineTypes.state = _menhir_s;
22622 MenhirLib.EngineTypes.semv = Obj.repr _v;
22623 MenhirLib.EngineTypes.startp = _startpos;
22624 MenhirLib.EngineTypes.endp = _endpos;
22625 MenhirLib.EngineTypes.next = _menhir_stack;
22626 });
22627 (fun _menhir_env ->
22628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22629 let {
22630 MenhirLib.EngineTypes.startp = _startpos__9_;
22631 MenhirLib.EngineTypes.endp = _endpos__9_;
22632 MenhirLib.EngineTypes.next = {
22633 MenhirLib.EngineTypes.semv = ids;
22634 MenhirLib.EngineTypes.startp = _startpos_ids_;
22635 MenhirLib.EngineTypes.endp = _endpos_ids_;
22636 MenhirLib.EngineTypes.next = {
22637 MenhirLib.EngineTypes.startp = _startpos__7_;
22638 MenhirLib.EngineTypes.endp = _endpos__7_;
22639 MenhirLib.EngineTypes.next = {
22640 MenhirLib.EngineTypes.semv = len;
22641 MenhirLib.EngineTypes.startp = _startpos_len_;
22642 MenhirLib.EngineTypes.endp = _endpos_len_;
22643 MenhirLib.EngineTypes.next = {
22644 MenhirLib.EngineTypes.startp = _startpos__5_;
22645 MenhirLib.EngineTypes.endp = _endpos__5_;
22646 MenhirLib.EngineTypes.next = {
22647 MenhirLib.EngineTypes.startp = _startpos__4_;
22648 MenhirLib.EngineTypes.endp = _endpos__4_;
22649 MenhirLib.EngineTypes.next = {
22650 MenhirLib.EngineTypes.startp = _startpos__3_;
22651 MenhirLib.EngineTypes.endp = _endpos__3_;
22652 MenhirLib.EngineTypes.next = {
22653 MenhirLib.EngineTypes.semv = ispure;
22654 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22655 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22656 MenhirLib.EngineTypes.next = {
22657 MenhirLib.EngineTypes.state = _menhir_s;
22658 MenhirLib.EngineTypes.semv = ar;
22659 MenhirLib.EngineTypes.startp = _startpos_ar_;
22660 MenhirLib.EngineTypes.endp = _endpos_ar_;
22661 MenhirLib.EngineTypes.next = _menhir_stack;
22662 };
22663 };
22664 };
22665 };
22666 };
22667 };
22668 };
22669 };
22670 } = _menhir_stack in
22671 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
22672 let len : 'tv_list_len = Obj.magic len in
22673 let ispure : 'tv_pure = Obj.magic ispure in
22674 let ar : 'tv_arity = Obj.magic ar in
22675 let _startpos = _startpos_ar_ in
22676 let _endpos = _endpos__9_ in
22677 let _v : 'tv_metadec =
22678 # 402 "parser_cocci_menhir.mly"
22679 ( P.create_len_metadec ar ispure
22680 (fun lenname arity name pure check_meta ->
22681 let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in
22682 !Data.add_field_list_meta name lenname pure; tok)
22683 len ids )
22684 # 22685 "parser_cocci_menhir.ml"
22685 in
22686 _menhir_env.MenhirLib.EngineTypes.stack <- {
22687 MenhirLib.EngineTypes.state = _menhir_s;
22688 MenhirLib.EngineTypes.semv = Obj.repr _v;
22689 MenhirLib.EngineTypes.startp = _startpos;
22690 MenhirLib.EngineTypes.endp = _endpos;
22691 MenhirLib.EngineTypes.next = _menhir_stack;
22692 });
22693 (fun _menhir_env ->
22694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22695 let {
22696 MenhirLib.EngineTypes.state = _menhir_s;
22697 MenhirLib.EngineTypes.semv = _1;
22698 MenhirLib.EngineTypes.startp = _startpos__1_;
22699 MenhirLib.EngineTypes.endp = _endpos__1_;
22700 MenhirLib.EngineTypes.next = _menhir_stack;
22701 } = _menhir_stack in
22702 let _1 : 'tv_pure_ident = Obj.magic _1 in
22703 let _startpos = _startpos__1_ in
22704 let _endpos = _endpos__1_ in
22705 let _v : 'tv_mident =
22706 # 1883 "parser_cocci_menhir.mly"
22707 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
22708 # 22709 "parser_cocci_menhir.ml"
22709 in
22710 _menhir_env.MenhirLib.EngineTypes.stack <- {
22711 MenhirLib.EngineTypes.state = _menhir_s;
22712 MenhirLib.EngineTypes.semv = Obj.repr _v;
22713 MenhirLib.EngineTypes.startp = _startpos;
22714 MenhirLib.EngineTypes.endp = _endpos;
22715 MenhirLib.EngineTypes.next = _menhir_stack;
22716 });
22717 (fun _menhir_env ->
22718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22719 let {
22720 MenhirLib.EngineTypes.state = _menhir_s;
22721 MenhirLib.EngineTypes.semv = _1;
22722 MenhirLib.EngineTypes.startp = _startpos__1_;
22723 MenhirLib.EngineTypes.endp = _endpos__1_;
22724 MenhirLib.EngineTypes.next = _menhir_stack;
22725 } = _menhir_stack in
22726 let _1 : (
22727 # 132 "parser_cocci_menhir.mly"
22728 (Parse_aux.info)
22729 # 22730 "parser_cocci_menhir.ml"
22730 ) = Obj.magic _1 in
22731 let _startpos = _startpos__1_ in
22732 let _endpos = _endpos__1_ in
22733 let _v : 'tv_mident =
22734 # 1884 "parser_cocci_menhir.mly"
22735 ( tmeta_to_ident _1 )
22736 # 22737 "parser_cocci_menhir.ml"
22737 in
22738 _menhir_env.MenhirLib.EngineTypes.stack <- {
22739 MenhirLib.EngineTypes.state = _menhir_s;
22740 MenhirLib.EngineTypes.semv = Obj.repr _v;
22741 MenhirLib.EngineTypes.startp = _startpos;
22742 MenhirLib.EngineTypes.endp = _endpos;
22743 MenhirLib.EngineTypes.next = _menhir_stack;
22744 });
22745 (fun _menhir_env ->
22746 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22747 let {
22748 MenhirLib.EngineTypes.state = _menhir_s;
22749 MenhirLib.EngineTypes.semv = _1;
22750 MenhirLib.EngineTypes.startp = _startpos__1_;
22751 MenhirLib.EngineTypes.endp = _endpos__1_;
22752 MenhirLib.EngineTypes.next = _menhir_stack;
22753 } = _menhir_stack in
22754 let _1 : (
22755 # 128 "parser_cocci_menhir.mly"
22756 (Parse_aux.idinfo)
22757 # 22758 "parser_cocci_menhir.ml"
22758 ) = Obj.magic _1 in
22759 let _startpos = _startpos__1_ in
22760 let _endpos = _endpos__1_ in
22761 let _v : 'tv_mident =
22762 # 1886 "parser_cocci_menhir.mly"
22763 ( let (nm,constraints,pure,clt) = _1 in
22764 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
22765 # 22766 "parser_cocci_menhir.ml"
22766 in
22767 _menhir_env.MenhirLib.EngineTypes.stack <- {
22768 MenhirLib.EngineTypes.state = _menhir_s;
22769 MenhirLib.EngineTypes.semv = Obj.repr _v;
22770 MenhirLib.EngineTypes.startp = _startpos;
22771 MenhirLib.EngineTypes.endp = _endpos;
22772 MenhirLib.EngineTypes.next = _menhir_stack;
22773 });
22774 (fun _menhir_env ->
22775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22776 let {
22777 MenhirLib.EngineTypes.semv = b;
22778 MenhirLib.EngineTypes.startp = _startpos_b_;
22779 MenhirLib.EngineTypes.endp = _endpos_b_;
22780 MenhirLib.EngineTypes.next = {
22781 MenhirLib.EngineTypes.state = _menhir_s;
22782 MenhirLib.EngineTypes.semv = a;
22783 MenhirLib.EngineTypes.startp = _startpos_a_;
22784 MenhirLib.EngineTypes.endp = _endpos_a_;
22785 MenhirLib.EngineTypes.next = _menhir_stack;
22786 };
22787 } = _menhir_stack in
22788 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
22789 let a : 'tv_ctype = Obj.magic a in
22790 let _startpos = _startpos_a_ in
22791 let _endpos = _endpos_b_ in
22792 let _v : 'tv_midzero_list_ctype_ctype_ =
22793 # 2206 "parser_cocci_menhir.mly"
22794 ( let (mids,code) = List.split b in (mids,(a::code)) )
22795 # 22796 "parser_cocci_menhir.ml"
22796 in
22797 _menhir_env.MenhirLib.EngineTypes.stack <- {
22798 MenhirLib.EngineTypes.state = _menhir_s;
22799 MenhirLib.EngineTypes.semv = Obj.repr _v;
22800 MenhirLib.EngineTypes.startp = _startpos;
22801 MenhirLib.EngineTypes.endp = _endpos;
22802 MenhirLib.EngineTypes.next = _menhir_stack;
22803 });
22804 (fun _menhir_env ->
22805 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22806 let {
22807 MenhirLib.EngineTypes.semv = b;
22808 MenhirLib.EngineTypes.startp = _startpos_b_;
22809 MenhirLib.EngineTypes.endp = _endpos_b_;
22810 MenhirLib.EngineTypes.next = {
22811 MenhirLib.EngineTypes.state = _menhir_s;
22812 MenhirLib.EngineTypes.semv = a;
22813 MenhirLib.EngineTypes.startp = _startpos_a_;
22814 MenhirLib.EngineTypes.endp = _endpos_a_;
22815 MenhirLib.EngineTypes.next = _menhir_stack;
22816 };
22817 } = _menhir_stack in
22818 let b : 'tv_list_mzl_disj_ident__ = Obj.magic b in
22819 let a : 'tv_disj_ident = Obj.magic a in
22820 let _startpos = _startpos_a_ in
22821 let _endpos = _endpos_b_ in
22822 let _v : 'tv_midzero_list_disj_ident_disj_ident_ =
22823 # 2206 "parser_cocci_menhir.mly"
22824 ( let (mids,code) = List.split b in (mids,(a::code)) )
22825 # 22826 "parser_cocci_menhir.ml"
22826 in
22827 _menhir_env.MenhirLib.EngineTypes.stack <- {
22828 MenhirLib.EngineTypes.state = _menhir_s;
22829 MenhirLib.EngineTypes.semv = Obj.repr _v;
22830 MenhirLib.EngineTypes.startp = _startpos;
22831 MenhirLib.EngineTypes.endp = _endpos;
22832 MenhirLib.EngineTypes.next = _menhir_stack;
22833 });
22834 (fun _menhir_env ->
22835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22836 let {
22837 MenhirLib.EngineTypes.semv = b;
22838 MenhirLib.EngineTypes.startp = _startpos_b_;
22839 MenhirLib.EngineTypes.endp = _endpos_b_;
22840 MenhirLib.EngineTypes.next = {
22841 MenhirLib.EngineTypes.state = _menhir_s;
22842 MenhirLib.EngineTypes.semv = a;
22843 MenhirLib.EngineTypes.startp = _startpos_a_;
22844 MenhirLib.EngineTypes.endp = _endpos_a_;
22845 MenhirLib.EngineTypes.next = _menhir_stack;
22846 };
22847 } = _menhir_stack in
22848 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
22849 let a : 'tv_eexpr = Obj.magic a in
22850 let _startpos = _startpos_a_ in
22851 let _endpos = _endpos_b_ in
22852 let _v : 'tv_midzero_list_eexpr_eexpr_ =
22853 # 2206 "parser_cocci_menhir.mly"
22854 ( let (mids,code) = List.split b in (mids,(a::code)) )
22855 # 22856 "parser_cocci_menhir.ml"
22856 in
22857 _menhir_env.MenhirLib.EngineTypes.stack <- {
22858 MenhirLib.EngineTypes.state = _menhir_s;
22859 MenhirLib.EngineTypes.semv = Obj.repr _v;
22860 MenhirLib.EngineTypes.startp = _startpos;
22861 MenhirLib.EngineTypes.endp = _endpos;
22862 MenhirLib.EngineTypes.next = _menhir_stack;
22863 });
22864 (fun _menhir_env ->
22865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22866 let {
22867 MenhirLib.EngineTypes.semv = b;
22868 MenhirLib.EngineTypes.startp = _startpos_b_;
22869 MenhirLib.EngineTypes.endp = _endpos_b_;
22870 MenhirLib.EngineTypes.next = {
22871 MenhirLib.EngineTypes.state = _menhir_s;
22872 MenhirLib.EngineTypes.semv = a;
22873 MenhirLib.EngineTypes.startp = _startpos_a_;
22874 MenhirLib.EngineTypes.endp = _endpos_a_;
22875 MenhirLib.EngineTypes.next = _menhir_stack;
22876 };
22877 } = _menhir_stack in
22878 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
22879 let a : 'tv_expr = Obj.magic a in
22880 let _startpos = _startpos_a_ in
22881 let _endpos = _endpos_b_ in
22882 let _v : 'tv_midzero_list_expr_eexpr_ =
22883 # 2206 "parser_cocci_menhir.mly"
22884 ( let (mids,code) = List.split b in (mids,(a::code)) )
22885 # 22886 "parser_cocci_menhir.ml"
22886 in
22887 _menhir_env.MenhirLib.EngineTypes.stack <- {
22888 MenhirLib.EngineTypes.state = _menhir_s;
22889 MenhirLib.EngineTypes.semv = Obj.repr _v;
22890 MenhirLib.EngineTypes.startp = _startpos;
22891 MenhirLib.EngineTypes.endp = _endpos;
22892 MenhirLib.EngineTypes.next = _menhir_stack;
22893 });
22894 (fun _menhir_env ->
22895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22896 let {
22897 MenhirLib.EngineTypes.semv = b;
22898 MenhirLib.EngineTypes.startp = _startpos_b_;
22899 MenhirLib.EngineTypes.endp = _endpos_b_;
22900 MenhirLib.EngineTypes.next = {
22901 MenhirLib.EngineTypes.state = _menhir_s;
22902 MenhirLib.EngineTypes.semv = a;
22903 MenhirLib.EngineTypes.startp = _startpos_a_;
22904 MenhirLib.EngineTypes.endp = _endpos_a_;
22905 MenhirLib.EngineTypes.next = _menhir_stack;
22906 };
22907 } = _menhir_stack in
22908 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
22909 let a : 'tv_fun_after_stm = Obj.magic a in
22910 let _startpos = _startpos_a_ in
22911 let _endpos = _endpos_b_ in
22912 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
22913 # 2206 "parser_cocci_menhir.mly"
22914 ( let (mids,code) = List.split b in (mids,(a::code)) )
22915 # 22916 "parser_cocci_menhir.ml"
22916 in
22917 _menhir_env.MenhirLib.EngineTypes.stack <- {
22918 MenhirLib.EngineTypes.state = _menhir_s;
22919 MenhirLib.EngineTypes.semv = Obj.repr _v;
22920 MenhirLib.EngineTypes.startp = _startpos;
22921 MenhirLib.EngineTypes.endp = _endpos;
22922 MenhirLib.EngineTypes.next = _menhir_stack;
22923 });
22924 (fun _menhir_env ->
22925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22926 let {
22927 MenhirLib.EngineTypes.semv = b;
22928 MenhirLib.EngineTypes.startp = _startpos_b_;
22929 MenhirLib.EngineTypes.endp = _endpos_b_;
22930 MenhirLib.EngineTypes.next = {
22931 MenhirLib.EngineTypes.state = _menhir_s;
22932 MenhirLib.EngineTypes.semv = a;
22933 MenhirLib.EngineTypes.startp = _startpos_a_;
22934 MenhirLib.EngineTypes.endp = _endpos_a_;
22935 MenhirLib.EngineTypes.next = _menhir_stack;
22936 };
22937 } = _menhir_stack in
22938 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
22939 let a : 'tv_fun_start = Obj.magic a in
22940 let _startpos = _startpos_a_ in
22941 let _endpos = _endpos_b_ in
22942 let _v : 'tv_midzero_list_fun_start_fun_start_ =
22943 # 2206 "parser_cocci_menhir.mly"
22944 ( let (mids,code) = List.split b in (mids,(a::code)) )
22945 # 22946 "parser_cocci_menhir.ml"
22946 in
22947 _menhir_env.MenhirLib.EngineTypes.stack <- {
22948 MenhirLib.EngineTypes.state = _menhir_s;
22949 MenhirLib.EngineTypes.semv = Obj.repr _v;
22950 MenhirLib.EngineTypes.startp = _startpos;
22951 MenhirLib.EngineTypes.endp = _endpos;
22952 MenhirLib.EngineTypes.next = _menhir_stack;
22953 });
22954 (fun _menhir_env ->
22955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22956 let {
22957 MenhirLib.EngineTypes.semv = b;
22958 MenhirLib.EngineTypes.startp = _startpos_b_;
22959 MenhirLib.EngineTypes.endp = _endpos_b_;
22960 MenhirLib.EngineTypes.next = {
22961 MenhirLib.EngineTypes.state = _menhir_s;
22962 MenhirLib.EngineTypes.semv = a;
22963 MenhirLib.EngineTypes.startp = _startpos_a_;
22964 MenhirLib.EngineTypes.endp = _endpos_a_;
22965 MenhirLib.EngineTypes.next = _menhir_stack;
22966 };
22967 } = _menhir_stack in
22968 let b : 'tv_list_mzl_mctype__ = Obj.magic b in
22969 let a : 'tv_mctype = Obj.magic a in
22970 let _startpos = _startpos_a_ in
22971 let _endpos = _endpos_b_ in
22972 let _v : 'tv_midzero_list_mctype_mctype_ =
22973 # 2206 "parser_cocci_menhir.mly"
22974 ( let (mids,code) = List.split b in (mids,(a::code)) )
22975 # 22976 "parser_cocci_menhir.ml"
22976 in
22977 _menhir_env.MenhirLib.EngineTypes.stack <- {
22978 MenhirLib.EngineTypes.state = _menhir_s;
22979 MenhirLib.EngineTypes.semv = Obj.repr _v;
22980 MenhirLib.EngineTypes.startp = _startpos;
22981 MenhirLib.EngineTypes.endp = _endpos;
22982 MenhirLib.EngineTypes.next = _menhir_stack;
22983 });
22984 (fun _menhir_env ->
22985 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22986 let {
22987 MenhirLib.EngineTypes.semv = b;
22988 MenhirLib.EngineTypes.startp = _startpos_b_;
22989 MenhirLib.EngineTypes.endp = _endpos_b_;
22990 MenhirLib.EngineTypes.next = {
22991 MenhirLib.EngineTypes.state = _menhir_s;
22992 MenhirLib.EngineTypes.semv = a;
22993 MenhirLib.EngineTypes.startp = _startpos_a_;
22994 MenhirLib.EngineTypes.endp = _endpos_a_;
22995 MenhirLib.EngineTypes.next = _menhir_stack;
22996 };
22997 } = _menhir_stack in
22998 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
22999 let a : 'tv_rule_elem_statement = Obj.magic a in
23000 let _startpos = _startpos_a_ in
23001 let _endpos = _endpos_b_ in
23002 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
23003 # 2206 "parser_cocci_menhir.mly"
23004 ( let (mids,code) = List.split b in (mids,(a::code)) )
23005 # 23006 "parser_cocci_menhir.ml"
23006 in
23007 _menhir_env.MenhirLib.EngineTypes.stack <- {
23008 MenhirLib.EngineTypes.state = _menhir_s;
23009 MenhirLib.EngineTypes.semv = Obj.repr _v;
23010 MenhirLib.EngineTypes.startp = _startpos;
23011 MenhirLib.EngineTypes.endp = _endpos;
23012 MenhirLib.EngineTypes.next = _menhir_stack;
23013 });
23014 (fun _menhir_env ->
23015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23016 let {
23017 MenhirLib.EngineTypes.semv = b;
23018 MenhirLib.EngineTypes.startp = _startpos_b_;
23019 MenhirLib.EngineTypes.endp = _endpos_b_;
23020 MenhirLib.EngineTypes.next = {
23021 MenhirLib.EngineTypes.state = _menhir_s;
23022 MenhirLib.EngineTypes.semv = a;
23023 MenhirLib.EngineTypes.startp = _startpos_a_;
23024 MenhirLib.EngineTypes.endp = _endpos_a_;
23025 MenhirLib.EngineTypes.next = _menhir_stack;
23026 };
23027 } = _menhir_stack in
23028 let b : 'tv_list_mzl_statement__ = Obj.magic b in
23029 let a : 'tv_statement = Obj.magic a in
23030 let _startpos = _startpos_a_ in
23031 let _endpos = _endpos_b_ in
23032 let _v : 'tv_midzero_list_statement_statement_ =
23033 # 2206 "parser_cocci_menhir.mly"
23034 ( let (mids,code) = List.split b in (mids,(a::code)) )
23035 # 23036 "parser_cocci_menhir.ml"
23036 in
23037 _menhir_env.MenhirLib.EngineTypes.stack <- {
23038 MenhirLib.EngineTypes.state = _menhir_s;
23039 MenhirLib.EngineTypes.semv = Obj.repr _v;
23040 MenhirLib.EngineTypes.startp = _startpos;
23041 MenhirLib.EngineTypes.endp = _endpos;
23042 MenhirLib.EngineTypes.next = _menhir_stack;
23043 });
23044 (fun _menhir_env ->
23045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23046 let {
23047 MenhirLib.EngineTypes.semv = b;
23048 MenhirLib.EngineTypes.startp = _startpos_b_;
23049 MenhirLib.EngineTypes.endp = _endpos_b_;
23050 MenhirLib.EngineTypes.next = {
23051 MenhirLib.EngineTypes.state = _menhir_s;
23052 MenhirLib.EngineTypes.semv = f;
23053 MenhirLib.EngineTypes.startp = _startpos_f_;
23054 MenhirLib.EngineTypes.endp = _endpos_f_;
23055 MenhirLib.EngineTypes.next = _menhir_stack;
23056 };
23057 } = _menhir_stack in
23058 let b : 'tv_loption_minus_start_ = Obj.magic b in
23059 let f : 'tv_loption_filespec_ = Obj.magic f in
23060 let _startpos = _startpos_f_ in
23061 let _endpos = _endpos_b_ in
23062 let _v : 'tv_minus_body =
23063 # 802 "parser_cocci_menhir.mly"
23064 ( match f@b(*@ew*) with
23065 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
23066 | code -> Top_level.top_level code )
23067 # 23068 "parser_cocci_menhir.ml"
23068 in
23069 _menhir_env.MenhirLib.EngineTypes.stack <- {
23070 MenhirLib.EngineTypes.state = _menhir_s;
23071 MenhirLib.EngineTypes.semv = Obj.repr _v;
23072 MenhirLib.EngineTypes.startp = _startpos;
23073 MenhirLib.EngineTypes.endp = _endpos;
23074 MenhirLib.EngineTypes.next = _menhir_stack;
23075 });
23076 (fun _menhir_env ->
23077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23078 let {
23079 MenhirLib.EngineTypes.semv = b;
23080 MenhirLib.EngineTypes.startp = _startpos_b_;
23081 MenhirLib.EngineTypes.endp = _endpos_b_;
23082 MenhirLib.EngineTypes.next = {
23083 MenhirLib.EngineTypes.state = _menhir_s;
23084 MenhirLib.EngineTypes.semv = f;
23085 MenhirLib.EngineTypes.startp = _startpos_f_;
23086 MenhirLib.EngineTypes.endp = _endpos_f_;
23087 MenhirLib.EngineTypes.next = _menhir_stack;
23088 };
23089 } = _menhir_stack in
23090 let b : 'tv_top_eexpr = Obj.magic b in
23091 let f : 'tv_loption_filespec_ = Obj.magic f in
23092 let _startpos = _startpos_f_ in
23093 let _endpos = _endpos_b_ in
23094 let _v : 'tv_minus_exp_body =
23095 # 816 "parser_cocci_menhir.mly"
23096 ( match f@[b](*@ew*) with
23097 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
23098 | code -> Top_level.top_level code )
23099 # 23100 "parser_cocci_menhir.ml"
23100 in
23101 _menhir_env.MenhirLib.EngineTypes.stack <- {
23102 MenhirLib.EngineTypes.state = _menhir_s;
23103 MenhirLib.EngineTypes.semv = Obj.repr _v;
23104 MenhirLib.EngineTypes.startp = _startpos;
23105 MenhirLib.EngineTypes.endp = _endpos;
23106 MenhirLib.EngineTypes.next = _menhir_stack;
23107 });
23108 (fun _menhir_env ->
23109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23110 let {
23111 MenhirLib.EngineTypes.startp = _startpos__2_;
23112 MenhirLib.EngineTypes.endp = _endpos__2_;
23113 MenhirLib.EngineTypes.next = {
23114 MenhirLib.EngineTypes.state = _menhir_s;
23115 MenhirLib.EngineTypes.semv = _1;
23116 MenhirLib.EngineTypes.startp = _startpos__1_;
23117 MenhirLib.EngineTypes.endp = _endpos__1_;
23118 MenhirLib.EngineTypes.next = _menhir_stack;
23119 };
23120 } = _menhir_stack in
23121 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
23122 let _startpos = _startpos__1_ in
23123 let _endpos = _endpos__2_ in
23124 let _v : (
23125 # 207 "parser_cocci_menhir.mly"
23126 (Ast0_cocci.rule)
23127 # 23128 "parser_cocci_menhir.ml"
23128 ) =
23129 # 247 "parser_cocci_menhir.mly"
23130 ( _1 )
23131 # 23132 "parser_cocci_menhir.ml"
23132 in
23133 _menhir_env.MenhirLib.EngineTypes.stack <- {
23134 MenhirLib.EngineTypes.state = _menhir_s;
23135 MenhirLib.EngineTypes.semv = Obj.repr _v;
23136 MenhirLib.EngineTypes.startp = _startpos;
23137 MenhirLib.EngineTypes.endp = _endpos;
23138 MenhirLib.EngineTypes.next = _menhir_stack;
23139 });
23140 (fun _menhir_env ->
23141 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23142 let {
23143 MenhirLib.EngineTypes.startp = _startpos__2_;
23144 MenhirLib.EngineTypes.endp = _endpos__2_;
23145 MenhirLib.EngineTypes.next = {
23146 MenhirLib.EngineTypes.state = _menhir_s;
23147 MenhirLib.EngineTypes.semv = m;
23148 MenhirLib.EngineTypes.startp = _startpos_m_;
23149 MenhirLib.EngineTypes.endp = _endpos_m_;
23150 MenhirLib.EngineTypes.next = _menhir_stack;
23151 };
23152 } = _menhir_stack in
23153 let m : 'tv_minus_exp_body = Obj.magic m in
23154 let _startpos = _startpos_m_ in
23155 let _endpos = _endpos__2_ in
23156 let _v : (
23157 # 207 "parser_cocci_menhir.mly"
23158 (Ast0_cocci.rule)
23159 # 23160 "parser_cocci_menhir.ml"
23160 ) =
23161 # 247 "parser_cocci_menhir.mly"
23162 ( m )
23163 # 23164 "parser_cocci_menhir.ml"
23164 in
23165 _menhir_env.MenhirLib.EngineTypes.stack <- {
23166 MenhirLib.EngineTypes.state = _menhir_s;
23167 MenhirLib.EngineTypes.semv = Obj.repr _v;
23168 MenhirLib.EngineTypes.startp = _startpos;
23169 MenhirLib.EngineTypes.endp = _endpos;
23170 MenhirLib.EngineTypes.next = _menhir_stack;
23171 });
23172 (fun _menhir_env ->
23173 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23174 let {
23175 MenhirLib.EngineTypes.startp = _startpos__2_;
23176 MenhirLib.EngineTypes.endp = _endpos__2_;
23177 MenhirLib.EngineTypes.next = {
23178 MenhirLib.EngineTypes.state = _menhir_s;
23179 MenhirLib.EngineTypes.semv = m;
23180 MenhirLib.EngineTypes.startp = _startpos_m_;
23181 MenhirLib.EngineTypes.endp = _endpos_m_;
23182 MenhirLib.EngineTypes.next = _menhir_stack;
23183 };
23184 } = _menhir_stack in
23185 let m : 'tv_minus_exp_body = Obj.magic m in
23186 let _startpos = _startpos_m_ in
23187 let _endpos = _endpos__2_ in
23188 let _v : (
23189 # 207 "parser_cocci_menhir.mly"
23190 (Ast0_cocci.rule)
23191 # 23192 "parser_cocci_menhir.ml"
23192 ) =
23193 # 248 "parser_cocci_menhir.mly"
23194 ( m )
23195 # 23196 "parser_cocci_menhir.ml"
23196 in
23197 _menhir_env.MenhirLib.EngineTypes.stack <- {
23198 MenhirLib.EngineTypes.state = _menhir_s;
23199 MenhirLib.EngineTypes.semv = Obj.repr _v;
23200 MenhirLib.EngineTypes.startp = _startpos;
23201 MenhirLib.EngineTypes.endp = _endpos;
23202 MenhirLib.EngineTypes.next = _menhir_stack;
23203 });
23204 (fun _menhir_env ->
23205 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23206 let {
23207 MenhirLib.EngineTypes.startp = _startpos__2_;
23208 MenhirLib.EngineTypes.endp = _endpos__2_;
23209 MenhirLib.EngineTypes.next = {
23210 MenhirLib.EngineTypes.state = _menhir_s;
23211 MenhirLib.EngineTypes.semv = _1;
23212 MenhirLib.EngineTypes.startp = _startpos__1_;
23213 MenhirLib.EngineTypes.endp = _endpos__1_;
23214 MenhirLib.EngineTypes.next = _menhir_stack;
23215 };
23216 } = _menhir_stack in
23217 let _1 : 'tv_minus_body = Obj.magic _1 in
23218 let _startpos = _startpos__1_ in
23219 let _endpos = _endpos__2_ in
23220 let _v : (
23221 # 204 "parser_cocci_menhir.mly"
23222 (Ast0_cocci.rule)
23223 # 23224 "parser_cocci_menhir.ml"
23224 ) =
23225 # 243 "parser_cocci_menhir.mly"
23226 ( _1 )
23227 # 23228 "parser_cocci_menhir.ml"
23228 in
23229 _menhir_env.MenhirLib.EngineTypes.stack <- {
23230 MenhirLib.EngineTypes.state = _menhir_s;
23231 MenhirLib.EngineTypes.semv = Obj.repr _v;
23232 MenhirLib.EngineTypes.startp = _startpos;
23233 MenhirLib.EngineTypes.endp = _endpos;
23234 MenhirLib.EngineTypes.next = _menhir_stack;
23235 });
23236 (fun _menhir_env ->
23237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23238 let {
23239 MenhirLib.EngineTypes.startp = _startpos__2_;
23240 MenhirLib.EngineTypes.endp = _endpos__2_;
23241 MenhirLib.EngineTypes.next = {
23242 MenhirLib.EngineTypes.state = _menhir_s;
23243 MenhirLib.EngineTypes.semv = m;
23244 MenhirLib.EngineTypes.startp = _startpos_m_;
23245 MenhirLib.EngineTypes.endp = _endpos_m_;
23246 MenhirLib.EngineTypes.next = _menhir_stack;
23247 };
23248 } = _menhir_stack in
23249 let m : 'tv_minus_body = Obj.magic m in
23250 let _startpos = _startpos_m_ in
23251 let _endpos = _endpos__2_ in
23252 let _v : (
23253 # 204 "parser_cocci_menhir.mly"
23254 (Ast0_cocci.rule)
23255 # 23256 "parser_cocci_menhir.ml"
23256 ) =
23257 # 243 "parser_cocci_menhir.mly"
23258 ( m )
23259 # 23260 "parser_cocci_menhir.ml"
23260 in
23261 _menhir_env.MenhirLib.EngineTypes.stack <- {
23262 MenhirLib.EngineTypes.state = _menhir_s;
23263 MenhirLib.EngineTypes.semv = Obj.repr _v;
23264 MenhirLib.EngineTypes.startp = _startpos;
23265 MenhirLib.EngineTypes.endp = _endpos;
23266 MenhirLib.EngineTypes.next = _menhir_stack;
23267 });
23268 (fun _menhir_env ->
23269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23270 let {
23271 MenhirLib.EngineTypes.startp = _startpos__2_;
23272 MenhirLib.EngineTypes.endp = _endpos__2_;
23273 MenhirLib.EngineTypes.next = {
23274 MenhirLib.EngineTypes.state = _menhir_s;
23275 MenhirLib.EngineTypes.semv = m;
23276 MenhirLib.EngineTypes.startp = _startpos_m_;
23277 MenhirLib.EngineTypes.endp = _endpos_m_;
23278 MenhirLib.EngineTypes.next = _menhir_stack;
23279 };
23280 } = _menhir_stack in
23281 let m : 'tv_minus_body = Obj.magic m in
23282 let _startpos = _startpos_m_ in
23283 let _endpos = _endpos__2_ in
23284 let _v : (
23285 # 204 "parser_cocci_menhir.mly"
23286 (Ast0_cocci.rule)
23287 # 23288 "parser_cocci_menhir.ml"
23288 ) =
23289 # 244 "parser_cocci_menhir.mly"
23290 ( m )
23291 # 23292 "parser_cocci_menhir.ml"
23292 in
23293 _menhir_env.MenhirLib.EngineTypes.stack <- {
23294 MenhirLib.EngineTypes.state = _menhir_s;
23295 MenhirLib.EngineTypes.semv = Obj.repr _v;
23296 MenhirLib.EngineTypes.startp = _startpos;
23297 MenhirLib.EngineTypes.endp = _endpos;
23298 MenhirLib.EngineTypes.next = _menhir_stack;
23299 });
23300 (fun _menhir_env ->
23301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23302 let {
23303 MenhirLib.EngineTypes.state = _menhir_s;
23304 MenhirLib.EngineTypes.semv = _1;
23305 MenhirLib.EngineTypes.startp = _startpos__1_;
23306 MenhirLib.EngineTypes.endp = _endpos__1_;
23307 MenhirLib.EngineTypes.next = _menhir_stack;
23308 } = _menhir_stack in
23309 let _1 : 'tv_fundecl = Obj.magic _1 in
23310 let _startpos = _startpos__1_ in
23311 let _endpos = _endpos__1_ in
23312 let _v : 'tv_minus_start =
23313 # 2031 "parser_cocci_menhir.mly"
23314 ( [Ast0.wrap(Ast0.DECL(_1))] )
23315 # 23316 "parser_cocci_menhir.ml"
23316 in
23317 _menhir_env.MenhirLib.EngineTypes.stack <- {
23318 MenhirLib.EngineTypes.state = _menhir_s;
23319 MenhirLib.EngineTypes.semv = Obj.repr _v;
23320 MenhirLib.EngineTypes.startp = _startpos;
23321 MenhirLib.EngineTypes.endp = _endpos;
23322 MenhirLib.EngineTypes.next = _menhir_stack;
23323 });
23324 (fun _menhir_env ->
23325 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23326 let {
23327 MenhirLib.EngineTypes.state = _menhir_s;
23328 MenhirLib.EngineTypes.semv = _1;
23329 MenhirLib.EngineTypes.startp = _startpos__1_;
23330 MenhirLib.EngineTypes.endp = _endpos__1_;
23331 MenhirLib.EngineTypes.next = _menhir_stack;
23332 } = _menhir_stack in
23333 let _1 : 'tv_ctype = Obj.magic _1 in
23334 let _startpos = _startpos__1_ in
23335 let _endpos = _endpos__1_ in
23336 let _v : 'tv_minus_start =
23337 # 2032 "parser_cocci_menhir.mly"
23338 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
23339 # 23340 "parser_cocci_menhir.ml"
23340 in
23341 _menhir_env.MenhirLib.EngineTypes.stack <- {
23342 MenhirLib.EngineTypes.state = _menhir_s;
23343 MenhirLib.EngineTypes.semv = Obj.repr _v;
23344 MenhirLib.EngineTypes.startp = _startpos;
23345 MenhirLib.EngineTypes.endp = _endpos;
23346 MenhirLib.EngineTypes.next = _menhir_stack;
23347 });
23348 (fun _menhir_env ->
23349 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23350 let {
23351 MenhirLib.EngineTypes.state = _menhir_s;
23352 MenhirLib.EngineTypes.semv = _1;
23353 MenhirLib.EngineTypes.startp = _startpos__1_;
23354 MenhirLib.EngineTypes.endp = _endpos__1_;
23355 MenhirLib.EngineTypes.next = _menhir_stack;
23356 } = _menhir_stack in
23357 let _1 : 'tv_top_init = Obj.magic _1 in
23358 let _startpos = _startpos__1_ in
23359 let _endpos = _endpos__1_ in
23360 let _v : 'tv_minus_start =
23361 # 2033 "parser_cocci_menhir.mly"
23362 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
23363 # 23364 "parser_cocci_menhir.ml"
23364 in
23365 _menhir_env.MenhirLib.EngineTypes.stack <- {
23366 MenhirLib.EngineTypes.state = _menhir_s;
23367 MenhirLib.EngineTypes.semv = Obj.repr _v;
23368 MenhirLib.EngineTypes.startp = _startpos;
23369 MenhirLib.EngineTypes.endp = _endpos;
23370 MenhirLib.EngineTypes.next = _menhir_stack;
23371 });
23372 (fun _menhir_env ->
23373 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23374 let {
23375 MenhirLib.EngineTypes.state = _menhir_s;
23376 MenhirLib.EngineTypes.semv = _1;
23377 MenhirLib.EngineTypes.startp = _startpos__1_;
23378 MenhirLib.EngineTypes.endp = _endpos__1_;
23379 MenhirLib.EngineTypes.next = _menhir_stack;
23380 } = _menhir_stack in
23381 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
23382 let _startpos = _startpos__1_ in
23383 let _endpos = _endpos__1_ in
23384 let _v : 'tv_minus_start =
23385 # 2035 "parser_cocci_menhir.mly"
23386 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
23387 # 23388 "parser_cocci_menhir.ml"
23388 in
23389 _menhir_env.MenhirLib.EngineTypes.stack <- {
23390 MenhirLib.EngineTypes.state = _menhir_s;
23391 MenhirLib.EngineTypes.semv = Obj.repr _v;
23392 MenhirLib.EngineTypes.startp = _startpos;
23393 MenhirLib.EngineTypes.endp = _endpos;
23394 MenhirLib.EngineTypes.next = _menhir_stack;
23395 });
23396 (fun _menhir_env ->
23397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23398 let {
23399 MenhirLib.EngineTypes.semv = b;
23400 MenhirLib.EngineTypes.startp = _startpos_b_;
23401 MenhirLib.EngineTypes.endp = _endpos_b_;
23402 MenhirLib.EngineTypes.next = {
23403 MenhirLib.EngineTypes.state = _menhir_s;
23404 MenhirLib.EngineTypes.semv = a;
23405 MenhirLib.EngineTypes.startp = _startpos_a_;
23406 MenhirLib.EngineTypes.endp = _endpos_a_;
23407 MenhirLib.EngineTypes.next = _menhir_stack;
23408 };
23409 } = _menhir_stack in
23410 let b : 'tv_ctype = Obj.magic b in
23411 let a : (
23412 # 145 "parser_cocci_menhir.mly"
23413 (Data.clt)
23414 # 23415 "parser_cocci_menhir.ml"
23415 ) = Obj.magic a in
23416 let _startpos = _startpos_a_ in
23417 let _endpos = _endpos_b_ in
23418 let _v : 'tv_mzl_ctype_ =
23419 # 2209 "parser_cocci_menhir.mly"
23420 ( (P.clt2mcode "|" a, b) )
23421 # 23422 "parser_cocci_menhir.ml"
23422 in
23423 _menhir_env.MenhirLib.EngineTypes.stack <- {
23424 MenhirLib.EngineTypes.state = _menhir_s;
23425 MenhirLib.EngineTypes.semv = Obj.repr _v;
23426 MenhirLib.EngineTypes.startp = _startpos;
23427 MenhirLib.EngineTypes.endp = _endpos;
23428 MenhirLib.EngineTypes.next = _menhir_stack;
23429 });
23430 (fun _menhir_env ->
23431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23432 let {
23433 MenhirLib.EngineTypes.semv = b;
23434 MenhirLib.EngineTypes.startp = _startpos_b_;
23435 MenhirLib.EngineTypes.endp = _endpos_b_;
23436 MenhirLib.EngineTypes.next = {
23437 MenhirLib.EngineTypes.state = _menhir_s;
23438 MenhirLib.EngineTypes.semv = a;
23439 MenhirLib.EngineTypes.startp = _startpos_a_;
23440 MenhirLib.EngineTypes.endp = _endpos_a_;
23441 MenhirLib.EngineTypes.next = _menhir_stack;
23442 };
23443 } = _menhir_stack in
23444 let b : 'tv_disj_ident = Obj.magic b in
23445 let a : (
23446 # 145 "parser_cocci_menhir.mly"
23447 (Data.clt)
23448 # 23449 "parser_cocci_menhir.ml"
23449 ) = Obj.magic a in
23450 let _startpos = _startpos_a_ in
23451 let _endpos = _endpos_b_ in
23452 let _v : 'tv_mzl_disj_ident_ =
23453 # 2209 "parser_cocci_menhir.mly"
23454 ( (P.clt2mcode "|" a, b) )
23455 # 23456 "parser_cocci_menhir.ml"
23456 in
23457 _menhir_env.MenhirLib.EngineTypes.stack <- {
23458 MenhirLib.EngineTypes.state = _menhir_s;
23459 MenhirLib.EngineTypes.semv = Obj.repr _v;
23460 MenhirLib.EngineTypes.startp = _startpos;
23461 MenhirLib.EngineTypes.endp = _endpos;
23462 MenhirLib.EngineTypes.next = _menhir_stack;
23463 });
23464 (fun _menhir_env ->
23465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23466 let {
23467 MenhirLib.EngineTypes.semv = b;
23468 MenhirLib.EngineTypes.startp = _startpos_b_;
23469 MenhirLib.EngineTypes.endp = _endpos_b_;
23470 MenhirLib.EngineTypes.next = {
23471 MenhirLib.EngineTypes.state = _menhir_s;
23472 MenhirLib.EngineTypes.semv = a;
23473 MenhirLib.EngineTypes.startp = _startpos_a_;
23474 MenhirLib.EngineTypes.endp = _endpos_a_;
23475 MenhirLib.EngineTypes.next = _menhir_stack;
23476 };
23477 } = _menhir_stack in
23478 let b : 'tv_eexpr = Obj.magic b in
23479 let a : (
23480 # 145 "parser_cocci_menhir.mly"
23481 (Data.clt)
23482 # 23483 "parser_cocci_menhir.ml"
23483 ) = Obj.magic a in
23484 let _startpos = _startpos_a_ in
23485 let _endpos = _endpos_b_ in
23486 let _v : 'tv_mzl_eexpr_ =
23487 # 2209 "parser_cocci_menhir.mly"
23488 ( (P.clt2mcode "|" a, b) )
23489 # 23490 "parser_cocci_menhir.ml"
23490 in
23491 _menhir_env.MenhirLib.EngineTypes.stack <- {
23492 MenhirLib.EngineTypes.state = _menhir_s;
23493 MenhirLib.EngineTypes.semv = Obj.repr _v;
23494 MenhirLib.EngineTypes.startp = _startpos;
23495 MenhirLib.EngineTypes.endp = _endpos;
23496 MenhirLib.EngineTypes.next = _menhir_stack;
23497 });
23498 (fun _menhir_env ->
23499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23500 let {
23501 MenhirLib.EngineTypes.semv = b;
23502 MenhirLib.EngineTypes.startp = _startpos_b_;
23503 MenhirLib.EngineTypes.endp = _endpos_b_;
23504 MenhirLib.EngineTypes.next = {
23505 MenhirLib.EngineTypes.state = _menhir_s;
23506 MenhirLib.EngineTypes.semv = a;
23507 MenhirLib.EngineTypes.startp = _startpos_a_;
23508 MenhirLib.EngineTypes.endp = _endpos_a_;
23509 MenhirLib.EngineTypes.next = _menhir_stack;
23510 };
23511 } = _menhir_stack in
23512 let b : 'tv_fun_after_dots_or = Obj.magic b in
23513 let a : (
23514 # 145 "parser_cocci_menhir.mly"
23515 (Data.clt)
23516 # 23517 "parser_cocci_menhir.ml"
23517 ) = Obj.magic a in
23518 let _startpos = _startpos_a_ in
23519 let _endpos = _endpos_b_ in
23520 let _v : 'tv_mzl_fun_after_dots_or_ =
23521 # 2209 "parser_cocci_menhir.mly"
23522 ( (P.clt2mcode "|" a, b) )
23523 # 23524 "parser_cocci_menhir.ml"
23524 in
23525 _menhir_env.MenhirLib.EngineTypes.stack <- {
23526 MenhirLib.EngineTypes.state = _menhir_s;
23527 MenhirLib.EngineTypes.semv = Obj.repr _v;
23528 MenhirLib.EngineTypes.startp = _startpos;
23529 MenhirLib.EngineTypes.endp = _endpos;
23530 MenhirLib.EngineTypes.next = _menhir_stack;
23531 });
23532 (fun _menhir_env ->
23533 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23534 let {
23535 MenhirLib.EngineTypes.semv = b;
23536 MenhirLib.EngineTypes.startp = _startpos_b_;
23537 MenhirLib.EngineTypes.endp = _endpos_b_;
23538 MenhirLib.EngineTypes.next = {
23539 MenhirLib.EngineTypes.state = _menhir_s;
23540 MenhirLib.EngineTypes.semv = a;
23541 MenhirLib.EngineTypes.startp = _startpos_a_;
23542 MenhirLib.EngineTypes.endp = _endpos_a_;
23543 MenhirLib.EngineTypes.next = _menhir_stack;
23544 };
23545 } = _menhir_stack in
23546 let b : 'tv_fun_start = Obj.magic b in
23547 let a : (
23548 # 145 "parser_cocci_menhir.mly"
23549 (Data.clt)
23550 # 23551 "parser_cocci_menhir.ml"
23551 ) = Obj.magic a in
23552 let _startpos = _startpos_a_ in
23553 let _endpos = _endpos_b_ in
23554 let _v : 'tv_mzl_fun_start_ =
23555 # 2209 "parser_cocci_menhir.mly"
23556 ( (P.clt2mcode "|" a, b) )
23557 # 23558 "parser_cocci_menhir.ml"
23558 in
23559 _menhir_env.MenhirLib.EngineTypes.stack <- {
23560 MenhirLib.EngineTypes.state = _menhir_s;
23561 MenhirLib.EngineTypes.semv = Obj.repr _v;
23562 MenhirLib.EngineTypes.startp = _startpos;
23563 MenhirLib.EngineTypes.endp = _endpos;
23564 MenhirLib.EngineTypes.next = _menhir_stack;
23565 });
23566 (fun _menhir_env ->
23567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23568 let {
23569 MenhirLib.EngineTypes.semv = b;
23570 MenhirLib.EngineTypes.startp = _startpos_b_;
23571 MenhirLib.EngineTypes.endp = _endpos_b_;
23572 MenhirLib.EngineTypes.next = {
23573 MenhirLib.EngineTypes.state = _menhir_s;
23574 MenhirLib.EngineTypes.semv = a;
23575 MenhirLib.EngineTypes.startp = _startpos_a_;
23576 MenhirLib.EngineTypes.endp = _endpos_a_;
23577 MenhirLib.EngineTypes.next = _menhir_stack;
23578 };
23579 } = _menhir_stack in
23580 let b : 'tv_mctype = Obj.magic b in
23581 let a : (
23582 # 145 "parser_cocci_menhir.mly"
23583 (Data.clt)
23584 # 23585 "parser_cocci_menhir.ml"
23585 ) = Obj.magic a in
23586 let _startpos = _startpos_a_ in
23587 let _endpos = _endpos_b_ in
23588 let _v : 'tv_mzl_mctype_ =
23589 # 2209 "parser_cocci_menhir.mly"
23590 ( (P.clt2mcode "|" a, b) )
23591 # 23592 "parser_cocci_menhir.ml"
23592 in
23593 _menhir_env.MenhirLib.EngineTypes.stack <- {
23594 MenhirLib.EngineTypes.state = _menhir_s;
23595 MenhirLib.EngineTypes.semv = Obj.repr _v;
23596 MenhirLib.EngineTypes.startp = _startpos;
23597 MenhirLib.EngineTypes.endp = _endpos;
23598 MenhirLib.EngineTypes.next = _menhir_stack;
23599 });
23600 (fun _menhir_env ->
23601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23602 let {
23603 MenhirLib.EngineTypes.semv = b;
23604 MenhirLib.EngineTypes.startp = _startpos_b_;
23605 MenhirLib.EngineTypes.endp = _endpos_b_;
23606 MenhirLib.EngineTypes.next = {
23607 MenhirLib.EngineTypes.state = _menhir_s;
23608 MenhirLib.EngineTypes.semv = a;
23609 MenhirLib.EngineTypes.startp = _startpos_a_;
23610 MenhirLib.EngineTypes.endp = _endpos_a_;
23611 MenhirLib.EngineTypes.next = _menhir_stack;
23612 };
23613 } = _menhir_stack in
23614 let b : 'tv_rule_elem_statement = Obj.magic b in
23615 let a : (
23616 # 145 "parser_cocci_menhir.mly"
23617 (Data.clt)
23618 # 23619 "parser_cocci_menhir.ml"
23619 ) = Obj.magic a in
23620 let _startpos = _startpos_a_ in
23621 let _endpos = _endpos_b_ in
23622 let _v : 'tv_mzl_rule_elem_statement_ =
23623 # 2209 "parser_cocci_menhir.mly"
23624 ( (P.clt2mcode "|" a, b) )
23625 # 23626 "parser_cocci_menhir.ml"
23626 in
23627 _menhir_env.MenhirLib.EngineTypes.stack <- {
23628 MenhirLib.EngineTypes.state = _menhir_s;
23629 MenhirLib.EngineTypes.semv = Obj.repr _v;
23630 MenhirLib.EngineTypes.startp = _startpos;
23631 MenhirLib.EngineTypes.endp = _endpos;
23632 MenhirLib.EngineTypes.next = _menhir_stack;
23633 });
23634 (fun _menhir_env ->
23635 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23636 let {
23637 MenhirLib.EngineTypes.semv = b;
23638 MenhirLib.EngineTypes.startp = _startpos_b_;
23639 MenhirLib.EngineTypes.endp = _endpos_b_;
23640 MenhirLib.EngineTypes.next = {
23641 MenhirLib.EngineTypes.state = _menhir_s;
23642 MenhirLib.EngineTypes.semv = a;
23643 MenhirLib.EngineTypes.startp = _startpos_a_;
23644 MenhirLib.EngineTypes.endp = _endpos_a_;
23645 MenhirLib.EngineTypes.next = _menhir_stack;
23646 };
23647 } = _menhir_stack in
23648 let b : 'tv_statement = Obj.magic b in
23649 let a : (
23650 # 145 "parser_cocci_menhir.mly"
23651 (Data.clt)
23652 # 23653 "parser_cocci_menhir.ml"
23653 ) = Obj.magic a in
23654 let _startpos = _startpos_a_ in
23655 let _endpos = _endpos_b_ in
23656 let _v : 'tv_mzl_statement_ =
23657 # 2209 "parser_cocci_menhir.mly"
23658 ( (P.clt2mcode "|" a, b) )
23659 # 23660 "parser_cocci_menhir.ml"
23660 in
23661 _menhir_env.MenhirLib.EngineTypes.stack <- {
23662 MenhirLib.EngineTypes.state = _menhir_s;
23663 MenhirLib.EngineTypes.semv = Obj.repr _v;
23664 MenhirLib.EngineTypes.startp = _startpos;
23665 MenhirLib.EngineTypes.endp = _endpos;
23666 MenhirLib.EngineTypes.next = _menhir_stack;
23667 });
23668 (fun _menhir_env ->
23669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23670 let {
23671 MenhirLib.EngineTypes.state = _menhir_s;
23672 MenhirLib.EngineTypes.semv = _1;
23673 MenhirLib.EngineTypes.startp = _startpos__1_;
23674 MenhirLib.EngineTypes.endp = _endpos__1_;
23675 MenhirLib.EngineTypes.next = _menhir_stack;
23676 } = _menhir_stack in
23677 let _1 : 'tv_decl = Obj.magic _1 in
23678 let _startpos = _startpos__1_ in
23679 let _endpos = _endpos__1_ in
23680 let _v : 'tv_name_opt_decl =
23681 # 1024 "parser_cocci_menhir.mly"
23682 ( _1 )
23683 # 23684 "parser_cocci_menhir.ml"
23684 in
23685 _menhir_env.MenhirLib.EngineTypes.stack <- {
23686 MenhirLib.EngineTypes.state = _menhir_s;
23687 MenhirLib.EngineTypes.semv = Obj.repr _v;
23688 MenhirLib.EngineTypes.startp = _startpos;
23689 MenhirLib.EngineTypes.endp = _endpos;
23690 MenhirLib.EngineTypes.next = _menhir_stack;
23691 });
23692 (fun _menhir_env ->
23693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23694 let {
23695 MenhirLib.EngineTypes.semv = rp1;
23696 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23697 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23698 MenhirLib.EngineTypes.next = {
23699 MenhirLib.EngineTypes.semv = d;
23700 MenhirLib.EngineTypes.startp = _startpos_d_;
23701 MenhirLib.EngineTypes.endp = _endpos_d_;
23702 MenhirLib.EngineTypes.next = {
23703 MenhirLib.EngineTypes.semv = lp1;
23704 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23705 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23706 MenhirLib.EngineTypes.next = {
23707 MenhirLib.EngineTypes.semv = rp;
23708 MenhirLib.EngineTypes.startp = _startpos_rp_;
23709 MenhirLib.EngineTypes.endp = _endpos_rp_;
23710 MenhirLib.EngineTypes.next = {
23711 MenhirLib.EngineTypes.semv = s;
23712 MenhirLib.EngineTypes.startp = _startpos_s_;
23713 MenhirLib.EngineTypes.endp = _endpos_s_;
23714 MenhirLib.EngineTypes.next = {
23715 MenhirLib.EngineTypes.semv = lp;
23716 MenhirLib.EngineTypes.startp = _startpos_lp_;
23717 MenhirLib.EngineTypes.endp = _endpos_lp_;
23718 MenhirLib.EngineTypes.next = {
23719 MenhirLib.EngineTypes.state = _menhir_s;
23720 MenhirLib.EngineTypes.semv = t;
23721 MenhirLib.EngineTypes.startp = _startpos_t_;
23722 MenhirLib.EngineTypes.endp = _endpos_t_;
23723 MenhirLib.EngineTypes.next = _menhir_stack;
23724 };
23725 };
23726 };
23727 };
23728 };
23729 };
23730 } = _menhir_stack in
23731 let rp1 : (
23732 # 145 "parser_cocci_menhir.mly"
23733 (Data.clt)
23734 # 23735 "parser_cocci_menhir.ml"
23735 ) = Obj.magic rp1 in
23736 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
23737 let lp1 : (
23738 # 144 "parser_cocci_menhir.mly"
23739 (Data.clt)
23740 # 23741 "parser_cocci_menhir.ml"
23741 ) = Obj.magic lp1 in
23742 let rp : (
23743 # 145 "parser_cocci_menhir.mly"
23744 (Data.clt)
23745 # 23746 "parser_cocci_menhir.ml"
23746 ) = Obj.magic rp in
23747 let s : (
23748 # 167 "parser_cocci_menhir.mly"
23749 (Data.clt)
23750 # 23751 "parser_cocci_menhir.ml"
23751 ) = Obj.magic s in
23752 let lp : (
23753 # 144 "parser_cocci_menhir.mly"
23754 (Data.clt)
23755 # 23756 "parser_cocci_menhir.ml"
23756 ) = Obj.magic lp in
23757 let t : 'tv_ctype = Obj.magic t in
23758 let _startpos = _startpos_t_ in
23759 let _endpos = _endpos_rp1_ in
23760 let _v : 'tv_name_opt_decl =
23761 # 1027 "parser_cocci_menhir.mly"
23762 ( let fnptr =
23763 Ast0.wrap
23764 (Ast0.FunctionPointer
23765 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
23766 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
23767 Ast0.wrap(Ast0.Param(fnptr, None)) )
23768 # 23769 "parser_cocci_menhir.ml"
23769 in
23770 _menhir_env.MenhirLib.EngineTypes.stack <- {
23771 MenhirLib.EngineTypes.state = _menhir_s;
23772 MenhirLib.EngineTypes.semv = Obj.repr _v;
23773 MenhirLib.EngineTypes.startp = _startpos;
23774 MenhirLib.EngineTypes.endp = _endpos;
23775 MenhirLib.EngineTypes.next = _menhir_stack;
23776 });
23777 (fun _menhir_env ->
23778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23779 let {
23780 MenhirLib.EngineTypes.semv = _2;
23781 MenhirLib.EngineTypes.startp = _startpos__2_;
23782 MenhirLib.EngineTypes.endp = _endpos__2_;
23783 MenhirLib.EngineTypes.next = {
23784 MenhirLib.EngineTypes.state = _menhir_s;
23785 MenhirLib.EngineTypes.semv = _1;
23786 MenhirLib.EngineTypes.startp = _startpos__1_;
23787 MenhirLib.EngineTypes.endp = _endpos__1_;
23788 MenhirLib.EngineTypes.next = _menhir_stack;
23789 };
23790 } = _menhir_stack in
23791 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
23792 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
23793 let _startpos = _startpos__1_ in
23794 let _endpos = _endpos__2_ in
23795 let _v : 'tv_nest_after_dots =
23796 # 2151 "parser_cocci_menhir.mly"
23797 (_1@_2)
23798 # 23799 "parser_cocci_menhir.ml"
23799 in
23800 _menhir_env.MenhirLib.EngineTypes.stack <- {
23801 MenhirLib.EngineTypes.state = _menhir_s;
23802 MenhirLib.EngineTypes.semv = Obj.repr _v;
23803 MenhirLib.EngineTypes.startp = _startpos;
23804 MenhirLib.EngineTypes.endp = _endpos;
23805 MenhirLib.EngineTypes.next = _menhir_stack;
23806 });
23807 (fun _menhir_env ->
23808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23809 let {
23810 MenhirLib.EngineTypes.semv = _2;
23811 MenhirLib.EngineTypes.startp = _startpos__2_;
23812 MenhirLib.EngineTypes.endp = _endpos__2_;
23813 MenhirLib.EngineTypes.next = {
23814 MenhirLib.EngineTypes.state = _menhir_s;
23815 MenhirLib.EngineTypes.startp = _startpos__1_;
23816 MenhirLib.EngineTypes.endp = _endpos__1_;
23817 MenhirLib.EngineTypes.next = _menhir_stack;
23818 };
23819 } = _menhir_stack in
23820 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
23821 let _startpos = _startpos__1_ in
23822 let _endpos = _endpos__2_ in
23823 let _v : 'tv_nest_after_dots =
23824 # 2152 "parser_cocci_menhir.mly"
23825 (_2)
23826 # 23827 "parser_cocci_menhir.ml"
23827 in
23828 _menhir_env.MenhirLib.EngineTypes.stack <- {
23829 MenhirLib.EngineTypes.state = _menhir_s;
23830 MenhirLib.EngineTypes.semv = Obj.repr _v;
23831 MenhirLib.EngineTypes.startp = _startpos;
23832 MenhirLib.EngineTypes.endp = _endpos;
23833 MenhirLib.EngineTypes.next = _menhir_stack;
23834 });
23835 (fun _menhir_env ->
23836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23837 let {
23838 MenhirLib.EngineTypes.semv = _2;
23839 MenhirLib.EngineTypes.startp = _startpos__2_;
23840 MenhirLib.EngineTypes.endp = _endpos__2_;
23841 MenhirLib.EngineTypes.next = {
23842 MenhirLib.EngineTypes.state = _menhir_s;
23843 MenhirLib.EngineTypes.semv = _1;
23844 MenhirLib.EngineTypes.startp = _startpos__1_;
23845 MenhirLib.EngineTypes.endp = _endpos__1_;
23846 MenhirLib.EngineTypes.next = _menhir_stack;
23847 };
23848 } = _menhir_stack in
23849 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
23850 let _1 : 'tv_expr = Obj.magic _1 in
23851 let _startpos = _startpos__1_ in
23852 let _endpos = _endpos__2_ in
23853 let _v : 'tv_nest_after_dots =
23854 # 2153 "parser_cocci_menhir.mly"
23855 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
23856 # 23857 "parser_cocci_menhir.ml"
23857 in
23858 _menhir_env.MenhirLib.EngineTypes.stack <- {
23859 MenhirLib.EngineTypes.state = _menhir_s;
23860 MenhirLib.EngineTypes.semv = Obj.repr _v;
23861 MenhirLib.EngineTypes.startp = _startpos;
23862 MenhirLib.EngineTypes.endp = _endpos;
23863 MenhirLib.EngineTypes.next = _menhir_stack;
23864 });
23865 (fun _menhir_env ->
23866 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23867 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23868 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23869 let _endpos = _startpos in
23870 let _v : 'tv_nest_after_exp =
23871 # 2161 "parser_cocci_menhir.mly"
23872 ([])
23873 # 23874 "parser_cocci_menhir.ml"
23874 in
23875 _menhir_env.MenhirLib.EngineTypes.stack <- {
23876 MenhirLib.EngineTypes.state = _menhir_s;
23877 MenhirLib.EngineTypes.semv = Obj.repr _v;
23878 MenhirLib.EngineTypes.startp = _startpos;
23879 MenhirLib.EngineTypes.endp = _endpos;
23880 MenhirLib.EngineTypes.next = _menhir_stack;
23881 });
23882 (fun _menhir_env ->
23883 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23884 let {
23885 MenhirLib.EngineTypes.semv = _2;
23886 MenhirLib.EngineTypes.startp = _startpos__2_;
23887 MenhirLib.EngineTypes.endp = _endpos__2_;
23888 MenhirLib.EngineTypes.next = {
23889 MenhirLib.EngineTypes.state = _menhir_s;
23890 MenhirLib.EngineTypes.semv = _1;
23891 MenhirLib.EngineTypes.startp = _startpos__1_;
23892 MenhirLib.EngineTypes.endp = _endpos__1_;
23893 MenhirLib.EngineTypes.next = _menhir_stack;
23894 };
23895 } = _menhir_stack in
23896 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
23897 let _1 : 'tv_stm_dots = Obj.magic _1 in
23898 let _startpos = _startpos__1_ in
23899 let _endpos = _endpos__2_ in
23900 let _v : 'tv_nest_after_exp =
23901 # 2162 "parser_cocci_menhir.mly"
23902 (_1::_2)
23903 # 23904 "parser_cocci_menhir.ml"
23904 in
23905 _menhir_env.MenhirLib.EngineTypes.stack <- {
23906 MenhirLib.EngineTypes.state = _menhir_s;
23907 MenhirLib.EngineTypes.semv = Obj.repr _v;
23908 MenhirLib.EngineTypes.startp = _startpos;
23909 MenhirLib.EngineTypes.endp = _endpos;
23910 MenhirLib.EngineTypes.next = _menhir_stack;
23911 });
23912 (fun _menhir_env ->
23913 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23914 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23915 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23916 let _endpos = _startpos in
23917 let _v : 'tv_nest_after_stm =
23918 # 2156 "parser_cocci_menhir.mly"
23919 ([])
23920 # 23921 "parser_cocci_menhir.ml"
23921 in
23922 _menhir_env.MenhirLib.EngineTypes.stack <- {
23923 MenhirLib.EngineTypes.state = _menhir_s;
23924 MenhirLib.EngineTypes.semv = Obj.repr _v;
23925 MenhirLib.EngineTypes.startp = _startpos;
23926 MenhirLib.EngineTypes.endp = _endpos;
23927 MenhirLib.EngineTypes.next = _menhir_stack;
23928 });
23929 (fun _menhir_env ->
23930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23931 let {
23932 MenhirLib.EngineTypes.semv = _2;
23933 MenhirLib.EngineTypes.startp = _startpos__2_;
23934 MenhirLib.EngineTypes.endp = _endpos__2_;
23935 MenhirLib.EngineTypes.next = {
23936 MenhirLib.EngineTypes.state = _menhir_s;
23937 MenhirLib.EngineTypes.semv = _1;
23938 MenhirLib.EngineTypes.startp = _startpos__1_;
23939 MenhirLib.EngineTypes.endp = _endpos__1_;
23940 MenhirLib.EngineTypes.next = _menhir_stack;
23941 };
23942 } = _menhir_stack in
23943 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
23944 let _1 : 'tv_stm_dots = Obj.magic _1 in
23945 let _startpos = _startpos__1_ in
23946 let _endpos = _endpos__2_ in
23947 let _v : 'tv_nest_after_stm =
23948 # 2157 "parser_cocci_menhir.mly"
23949 (_1::_2)
23950 # 23951 "parser_cocci_menhir.ml"
23951 in
23952 _menhir_env.MenhirLib.EngineTypes.stack <- {
23953 MenhirLib.EngineTypes.state = _menhir_s;
23954 MenhirLib.EngineTypes.semv = Obj.repr _v;
23955 MenhirLib.EngineTypes.startp = _startpos;
23956 MenhirLib.EngineTypes.endp = _endpos;
23957 MenhirLib.EngineTypes.next = _menhir_stack;
23958 });
23959 (fun _menhir_env ->
23960 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23961 let {
23962 MenhirLib.EngineTypes.semv = _2;
23963 MenhirLib.EngineTypes.startp = _startpos__2_;
23964 MenhirLib.EngineTypes.endp = _endpos__2_;
23965 MenhirLib.EngineTypes.next = {
23966 MenhirLib.EngineTypes.state = _menhir_s;
23967 MenhirLib.EngineTypes.semv = _1;
23968 MenhirLib.EngineTypes.startp = _startpos__1_;
23969 MenhirLib.EngineTypes.endp = _endpos__1_;
23970 MenhirLib.EngineTypes.next = _menhir_stack;
23971 };
23972 } = _menhir_stack in
23973 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
23974 let _1 : 'tv_decl_statement = Obj.magic _1 in
23975 let _startpos = _startpos__1_ in
23976 let _endpos = _endpos__2_ in
23977 let _v : 'tv_nest_after_stm =
23978 # 2158 "parser_cocci_menhir.mly"
23979 (_1@_2)
23980 # 23981 "parser_cocci_menhir.ml"
23981 in
23982 _menhir_env.MenhirLib.EngineTypes.stack <- {
23983 MenhirLib.EngineTypes.state = _menhir_s;
23984 MenhirLib.EngineTypes.semv = Obj.repr _v;
23985 MenhirLib.EngineTypes.startp = _startpos;
23986 MenhirLib.EngineTypes.endp = _endpos;
23987 MenhirLib.EngineTypes.next = _menhir_stack;
23988 });
23989 (fun _menhir_env ->
23990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23991 let {
23992 MenhirLib.EngineTypes.semv = c;
23993 MenhirLib.EngineTypes.startp = _startpos_c_;
23994 MenhirLib.EngineTypes.endp = _endpos_c_;
23995 MenhirLib.EngineTypes.next = {
23996 MenhirLib.EngineTypes.semv = e;
23997 MenhirLib.EngineTypes.startp = _startpos_e_;
23998 MenhirLib.EngineTypes.endp = _endpos_e_;
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 };
24007 } = _menhir_stack in
24008 let c : (
24009 # 141 "parser_cocci_menhir.mly"
24010 (Data.clt)
24011 # 24012 "parser_cocci_menhir.ml"
24012 ) = Obj.magic c in
24013 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
24014 let _1 : (
24015 # 141 "parser_cocci_menhir.mly"
24016 (Data.clt)
24017 # 24018 "parser_cocci_menhir.ml"
24018 ) = Obj.magic _1 in
24019 let _startpos = _startpos__1_ in
24020 let _endpos = _endpos_c_ in
24021 let _v : 'tv_nest_expressions =
24022 # 1391 "parser_cocci_menhir.mly"
24023 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
24024 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
24025 P.clt2mcode "...>" c, None, false)) )
24026 # 24027 "parser_cocci_menhir.ml"
24027 in
24028 _menhir_env.MenhirLib.EngineTypes.stack <- {
24029 MenhirLib.EngineTypes.state = _menhir_s;
24030 MenhirLib.EngineTypes.semv = Obj.repr _v;
24031 MenhirLib.EngineTypes.startp = _startpos;
24032 MenhirLib.EngineTypes.endp = _endpos;
24033 MenhirLib.EngineTypes.next = _menhir_stack;
24034 });
24035 (fun _menhir_env ->
24036 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24037 let {
24038 MenhirLib.EngineTypes.semv = c;
24039 MenhirLib.EngineTypes.startp = _startpos_c_;
24040 MenhirLib.EngineTypes.endp = _endpos_c_;
24041 MenhirLib.EngineTypes.next = {
24042 MenhirLib.EngineTypes.semv = e;
24043 MenhirLib.EngineTypes.startp = _startpos_e_;
24044 MenhirLib.EngineTypes.endp = _endpos_e_;
24045 MenhirLib.EngineTypes.next = {
24046 MenhirLib.EngineTypes.state = _menhir_s;
24047 MenhirLib.EngineTypes.semv = _1;
24048 MenhirLib.EngineTypes.startp = _startpos__1_;
24049 MenhirLib.EngineTypes.endp = _endpos__1_;
24050 MenhirLib.EngineTypes.next = _menhir_stack;
24051 };
24052 };
24053 } = _menhir_stack in
24054 let c : (
24055 # 141 "parser_cocci_menhir.mly"
24056 (Data.clt)
24057 # 24058 "parser_cocci_menhir.ml"
24058 ) = Obj.magic c in
24059 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
24060 let _1 : (
24061 # 141 "parser_cocci_menhir.mly"
24062 (Data.clt)
24063 # 24064 "parser_cocci_menhir.ml"
24064 ) = Obj.magic _1 in
24065 let _startpos = _startpos__1_ in
24066 let _endpos = _endpos_c_ in
24067 let _v : 'tv_nest_expressions =
24068 # 1395 "parser_cocci_menhir.mly"
24069 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
24070 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
24071 P.clt2mcode "...+>" c, None, true)) )
24072 # 24073 "parser_cocci_menhir.ml"
24073 in
24074 _menhir_env.MenhirLib.EngineTypes.stack <- {
24075 MenhirLib.EngineTypes.state = _menhir_s;
24076 MenhirLib.EngineTypes.semv = Obj.repr _v;
24077 MenhirLib.EngineTypes.startp = _startpos;
24078 MenhirLib.EngineTypes.endp = _endpos;
24079 MenhirLib.EngineTypes.next = _menhir_stack;
24080 });
24081 (fun _menhir_env ->
24082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24083 let {
24084 MenhirLib.EngineTypes.state = _menhir_s;
24085 MenhirLib.EngineTypes.semv = _1;
24086 MenhirLib.EngineTypes.startp = _startpos__1_;
24087 MenhirLib.EngineTypes.endp = _endpos__1_;
24088 MenhirLib.EngineTypes.next = _menhir_stack;
24089 } = _menhir_stack in
24090 let _1 : (
24091 # 132 "parser_cocci_menhir.mly"
24092 (Parse_aux.info)
24093 # 24094 "parser_cocci_menhir.ml"
24094 ) = Obj.magic _1 in
24095 let _startpos = _startpos__1_ in
24096 let _endpos = _endpos__1_ in
24097 let _v : 'tv_nest_expressions =
24098 # 1398 "parser_cocci_menhir.mly"
24099 ( tmeta_to_exp _1 )
24100 # 24101 "parser_cocci_menhir.ml"
24101 in
24102 _menhir_env.MenhirLib.EngineTypes.stack <- {
24103 MenhirLib.EngineTypes.state = _menhir_s;
24104 MenhirLib.EngineTypes.semv = Obj.repr _v;
24105 MenhirLib.EngineTypes.startp = _startpos;
24106 MenhirLib.EngineTypes.endp = _endpos;
24107 MenhirLib.EngineTypes.next = _menhir_stack;
24108 });
24109 (fun _menhir_env ->
24110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24111 let {
24112 MenhirLib.EngineTypes.state = _menhir_s;
24113 MenhirLib.EngineTypes.semv = _1;
24114 MenhirLib.EngineTypes.startp = _startpos__1_;
24115 MenhirLib.EngineTypes.endp = _endpos__1_;
24116 MenhirLib.EngineTypes.next = _menhir_stack;
24117 } = _menhir_stack in
24118 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
24119 let _startpos = _startpos__1_ in
24120 let _endpos = _endpos__1_ in
24121 let _v : 'tv_nest_start =
24122 # 2148 "parser_cocci_menhir.mly"
24123 ( Ast0.wrap(Ast0.DOTS(_1)) )
24124 # 24125 "parser_cocci_menhir.ml"
24125 in
24126 _menhir_env.MenhirLib.EngineTypes.stack <- {
24127 MenhirLib.EngineTypes.state = _menhir_s;
24128 MenhirLib.EngineTypes.semv = Obj.repr _v;
24129 MenhirLib.EngineTypes.startp = _startpos;
24130 MenhirLib.EngineTypes.endp = _endpos;
24131 MenhirLib.EngineTypes.next = _menhir_stack;
24132 });
24133 (fun _menhir_env ->
24134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24135 let {
24136 MenhirLib.EngineTypes.state = _menhir_s;
24137 MenhirLib.EngineTypes.startp = _startpos__1_;
24138 MenhirLib.EngineTypes.endp = _endpos__1_;
24139 MenhirLib.EngineTypes.next = _menhir_stack;
24140 } = _menhir_stack in
24141 let _startpos = _startpos__1_ in
24142 let _endpos = _endpos__1_ in
24143 let _v : (
24144 # 238 "parser_cocci_menhir.mly"
24145 (unit)
24146 # 24147 "parser_cocci_menhir.ml"
24147 ) =
24148 # 2276 "parser_cocci_menhir.mly"
24149 ( () )
24150 # 24151 "parser_cocci_menhir.ml"
24151 in
24152 _menhir_env.MenhirLib.EngineTypes.stack <- {
24153 MenhirLib.EngineTypes.state = _menhir_s;
24154 MenhirLib.EngineTypes.semv = Obj.repr _v;
24155 MenhirLib.EngineTypes.startp = _startpos;
24156 MenhirLib.EngineTypes.endp = _endpos;
24157 MenhirLib.EngineTypes.next = _menhir_stack;
24158 });
24159 (fun _menhir_env ->
24160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24161 let {
24162 MenhirLib.EngineTypes.startp = _startpos__2_;
24163 MenhirLib.EngineTypes.endp = _endpos__2_;
24164 MenhirLib.EngineTypes.next = {
24165 MenhirLib.EngineTypes.state = _menhir_s;
24166 MenhirLib.EngineTypes.startp = _startpos__1_;
24167 MenhirLib.EngineTypes.endp = _endpos__1_;
24168 MenhirLib.EngineTypes.next = _menhir_stack;
24169 };
24170 } = _menhir_stack in
24171 let _startpos = _startpos__1_ in
24172 let _endpos = _endpos__2_ in
24173 let _v : (
24174 # 238 "parser_cocci_menhir.mly"
24175 (unit)
24176 # 24177 "parser_cocci_menhir.ml"
24177 ) =
24178 # 2277 "parser_cocci_menhir.mly"
24179 ( () )
24180 # 24181 "parser_cocci_menhir.ml"
24181 in
24182 _menhir_env.MenhirLib.EngineTypes.stack <- {
24183 MenhirLib.EngineTypes.state = _menhir_s;
24184 MenhirLib.EngineTypes.semv = Obj.repr _v;
24185 MenhirLib.EngineTypes.startp = _startpos;
24186 MenhirLib.EngineTypes.endp = _endpos;
24187 MenhirLib.EngineTypes.next = _menhir_stack;
24188 });
24189 (fun _menhir_env ->
24190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24191 let {
24192 MenhirLib.EngineTypes.state = _menhir_s;
24193 MenhirLib.EngineTypes.startp = _startpos__1_;
24194 MenhirLib.EngineTypes.endp = _endpos__1_;
24195 MenhirLib.EngineTypes.next = _menhir_stack;
24196 } = _menhir_stack in
24197 let _startpos = _startpos__1_ in
24198 let _endpos = _endpos__1_ in
24199 let _v : (
24200 # 238 "parser_cocci_menhir.mly"
24201 (unit)
24202 # 24203 "parser_cocci_menhir.ml"
24203 ) =
24204 # 2278 "parser_cocci_menhir.mly"
24205 ( () )
24206 # 24207 "parser_cocci_menhir.ml"
24207 in
24208 _menhir_env.MenhirLib.EngineTypes.stack <- {
24209 MenhirLib.EngineTypes.state = _menhir_s;
24210 MenhirLib.EngineTypes.semv = Obj.repr _v;
24211 MenhirLib.EngineTypes.startp = _startpos;
24212 MenhirLib.EngineTypes.endp = _endpos;
24213 MenhirLib.EngineTypes.next = _menhir_stack;
24214 });
24215 (fun _menhir_env ->
24216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24217 let {
24218 MenhirLib.EngineTypes.semv = dg;
24219 MenhirLib.EngineTypes.startp = _startpos_dg_;
24220 MenhirLib.EngineTypes.endp = _endpos_dg_;
24221 MenhirLib.EngineTypes.next = {
24222 MenhirLib.EngineTypes.state = _menhir_s;
24223 MenhirLib.EngineTypes.semv = g;
24224 MenhirLib.EngineTypes.startp = _startpos_g_;
24225 MenhirLib.EngineTypes.endp = _endpos_g_;
24226 MenhirLib.EngineTypes.next = _menhir_stack;
24227 };
24228 } = _menhir_stack in
24229 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
24230 let g : 'tv_dexpr = Obj.magic g in
24231 let _startpos = _startpos_g_ in
24232 let _endpos = _endpos_dg_ in
24233 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
24234 # 1614 "parser_cocci_menhir.mly"
24235 ( function dot_builder ->
24236 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
24237 # 24238 "parser_cocci_menhir.ml"
24238 in
24239 _menhir_env.MenhirLib.EngineTypes.stack <- {
24240 MenhirLib.EngineTypes.state = _menhir_s;
24241 MenhirLib.EngineTypes.semv = Obj.repr _v;
24242 MenhirLib.EngineTypes.startp = _startpos;
24243 MenhirLib.EngineTypes.endp = _endpos;
24244 MenhirLib.EngineTypes.next = _menhir_stack;
24245 });
24246 (fun _menhir_env ->
24247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24248 let {
24249 MenhirLib.EngineTypes.state = _menhir_s;
24250 MenhirLib.EngineTypes.semv = x;
24251 MenhirLib.EngineTypes.startp = _startpos_x_;
24252 MenhirLib.EngineTypes.endp = _endpos_x_;
24253 MenhirLib.EngineTypes.next = _menhir_stack;
24254 } = _menhir_stack in
24255 let x : (
24256 # 167 "parser_cocci_menhir.mly"
24257 (Data.clt)
24258 # 24259 "parser_cocci_menhir.ml"
24259 ) = Obj.magic x in
24260 let _startpos = _startpos_x_ in
24261 let _endpos = _endpos_x_ in
24262 let _v : 'tv_nonempty_list_TMul_ =
24263 # 124 "standard.mly"
24264 ( [ x ] )
24265 # 24266 "parser_cocci_menhir.ml"
24266 in
24267 _menhir_env.MenhirLib.EngineTypes.stack <- {
24268 MenhirLib.EngineTypes.state = _menhir_s;
24269 MenhirLib.EngineTypes.semv = Obj.repr _v;
24270 MenhirLib.EngineTypes.startp = _startpos;
24271 MenhirLib.EngineTypes.endp = _endpos;
24272 MenhirLib.EngineTypes.next = _menhir_stack;
24273 });
24274 (fun _menhir_env ->
24275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24276 let {
24277 MenhirLib.EngineTypes.semv = xs;
24278 MenhirLib.EngineTypes.startp = _startpos_xs_;
24279 MenhirLib.EngineTypes.endp = _endpos_xs_;
24280 MenhirLib.EngineTypes.next = {
24281 MenhirLib.EngineTypes.state = _menhir_s;
24282 MenhirLib.EngineTypes.semv = x;
24283 MenhirLib.EngineTypes.startp = _startpos_x_;
24284 MenhirLib.EngineTypes.endp = _endpos_x_;
24285 MenhirLib.EngineTypes.next = _menhir_stack;
24286 };
24287 } = _menhir_stack in
24288 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
24289 let x : (
24290 # 167 "parser_cocci_menhir.mly"
24291 (Data.clt)
24292 # 24293 "parser_cocci_menhir.ml"
24293 ) = Obj.magic x in
24294 let _startpos = _startpos_x_ in
24295 let _endpos = _endpos_xs_ in
24296 let _v : 'tv_nonempty_list_TMul_ =
24297 # 126 "standard.mly"
24298 ( x :: xs )
24299 # 24300 "parser_cocci_menhir.ml"
24300 in
24301 _menhir_env.MenhirLib.EngineTypes.stack <- {
24302 MenhirLib.EngineTypes.state = _menhir_s;
24303 MenhirLib.EngineTypes.semv = Obj.repr _v;
24304 MenhirLib.EngineTypes.startp = _startpos;
24305 MenhirLib.EngineTypes.endp = _endpos;
24306 MenhirLib.EngineTypes.next = _menhir_stack;
24307 });
24308 (fun _menhir_env ->
24309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24310 let {
24311 MenhirLib.EngineTypes.state = _menhir_s;
24312 MenhirLib.EngineTypes.semv = _1;
24313 MenhirLib.EngineTypes.startp = _startpos__1_;
24314 MenhirLib.EngineTypes.endp = _endpos__1_;
24315 MenhirLib.EngineTypes.next = _menhir_stack;
24316 } = _menhir_stack in
24317 let _1 : 'tv_aexpr = Obj.magic _1 in
24318 let _startpos = _startpos__1_ in
24319 let _endpos = _endpos__1_ in
24320 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24321 # 1958 "parser_cocci_menhir.mly"
24322 ( fun build_dots build_comma -> [_1] )
24323 # 24324 "parser_cocci_menhir.ml"
24324 in
24325 _menhir_env.MenhirLib.EngineTypes.stack <- {
24326 MenhirLib.EngineTypes.state = _menhir_s;
24327 MenhirLib.EngineTypes.semv = Obj.repr _v;
24328 MenhirLib.EngineTypes.startp = _startpos;
24329 MenhirLib.EngineTypes.endp = _endpos;
24330 MenhirLib.EngineTypes.next = _menhir_stack;
24331 });
24332 (fun _menhir_env ->
24333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24334 let {
24335 MenhirLib.EngineTypes.semv = _2;
24336 MenhirLib.EngineTypes.startp = _startpos__2_;
24337 MenhirLib.EngineTypes.endp = _endpos__2_;
24338 MenhirLib.EngineTypes.next = {
24339 MenhirLib.EngineTypes.state = _menhir_s;
24340 MenhirLib.EngineTypes.semv = _1;
24341 MenhirLib.EngineTypes.startp = _startpos__1_;
24342 MenhirLib.EngineTypes.endp = _endpos__1_;
24343 MenhirLib.EngineTypes.next = _menhir_stack;
24344 };
24345 } = _menhir_stack in
24346 let _2 : (
24347 # 175 "parser_cocci_menhir.mly"
24348 (Data.clt)
24349 # 24350 "parser_cocci_menhir.ml"
24350 ) = Obj.magic _2 in
24351 let _1 : 'tv_aexpr = Obj.magic _1 in
24352 let _startpos = _startpos__1_ in
24353 let _endpos = _endpos__2_ in
24354 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24355 # 1960 "parser_cocci_menhir.mly"
24356 ( fun build_dots build_comma ->
24357 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24358 # 24359 "parser_cocci_menhir.ml"
24359 in
24360 _menhir_env.MenhirLib.EngineTypes.stack <- {
24361 MenhirLib.EngineTypes.state = _menhir_s;
24362 MenhirLib.EngineTypes.semv = Obj.repr _v;
24363 MenhirLib.EngineTypes.startp = _startpos;
24364 MenhirLib.EngineTypes.endp = _endpos;
24365 MenhirLib.EngineTypes.next = _menhir_stack;
24366 });
24367 (fun _menhir_env ->
24368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24369 let {
24370 MenhirLib.EngineTypes.semv = _3;
24371 MenhirLib.EngineTypes.startp = _startpos__3_;
24372 MenhirLib.EngineTypes.endp = _endpos__3_;
24373 MenhirLib.EngineTypes.next = {
24374 MenhirLib.EngineTypes.semv = _2;
24375 MenhirLib.EngineTypes.startp = _startpos__2_;
24376 MenhirLib.EngineTypes.endp = _endpos__2_;
24377 MenhirLib.EngineTypes.next = {
24378 MenhirLib.EngineTypes.state = _menhir_s;
24379 MenhirLib.EngineTypes.semv = _1;
24380 MenhirLib.EngineTypes.startp = _startpos__1_;
24381 MenhirLib.EngineTypes.endp = _endpos__1_;
24382 MenhirLib.EngineTypes.next = _menhir_stack;
24383 };
24384 };
24385 } = _menhir_stack in
24386 let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
24387 let _2 : (
24388 # 175 "parser_cocci_menhir.mly"
24389 (Data.clt)
24390 # 24391 "parser_cocci_menhir.ml"
24391 ) = Obj.magic _2 in
24392 let _1 : 'tv_aexpr = Obj.magic _1 in
24393 let _startpos = _startpos__1_ in
24394 let _endpos = _endpos__3_ in
24395 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24396 # 1963 "parser_cocci_menhir.mly"
24397 ( fun build_dots build_comma ->
24398 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24399 (_3 build_dots build_comma) )
24400 # 24401 "parser_cocci_menhir.ml"
24401 in
24402 _menhir_env.MenhirLib.EngineTypes.stack <- {
24403 MenhirLib.EngineTypes.state = _menhir_s;
24404 MenhirLib.EngineTypes.semv = Obj.repr _v;
24405 MenhirLib.EngineTypes.startp = _startpos;
24406 MenhirLib.EngineTypes.endp = _endpos;
24407 MenhirLib.EngineTypes.next = _menhir_stack;
24408 });
24409 (fun _menhir_env ->
24410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24411 let {
24412 MenhirLib.EngineTypes.semv = _2;
24413 MenhirLib.EngineTypes.startp = _startpos__2_;
24414 MenhirLib.EngineTypes.endp = _endpos__2_;
24415 MenhirLib.EngineTypes.next = {
24416 MenhirLib.EngineTypes.state = _menhir_s;
24417 MenhirLib.EngineTypes.startp = _startpos__1_;
24418 MenhirLib.EngineTypes.endp = _endpos__1_;
24419 MenhirLib.EngineTypes.next = _menhir_stack;
24420 };
24421 } = _menhir_stack in
24422 let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
24423 let _startpos = _startpos__1_ in
24424 let _endpos = _endpos__2_ in
24425 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24426 # 1966 "parser_cocci_menhir.mly"
24427 ( _2 )
24428 # 24429 "parser_cocci_menhir.ml"
24429 in
24430 _menhir_env.MenhirLib.EngineTypes.stack <- {
24431 MenhirLib.EngineTypes.state = _menhir_s;
24432 MenhirLib.EngineTypes.semv = Obj.repr _v;
24433 MenhirLib.EngineTypes.startp = _startpos;
24434 MenhirLib.EngineTypes.endp = _endpos;
24435 MenhirLib.EngineTypes.next = _menhir_stack;
24436 });
24437 (fun _menhir_env ->
24438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24439 let {
24440 MenhirLib.EngineTypes.state = _menhir_s;
24441 MenhirLib.EngineTypes.semv = d;
24442 MenhirLib.EngineTypes.startp = _startpos_d_;
24443 MenhirLib.EngineTypes.endp = _endpos_d_;
24444 MenhirLib.EngineTypes.next = _menhir_stack;
24445 } = _menhir_stack in
24446 let d : (
24447 # 141 "parser_cocci_menhir.mly"
24448 (Data.clt)
24449 # 24450 "parser_cocci_menhir.ml"
24450 ) = Obj.magic d in
24451 let _startpos = _startpos_d_ in
24452 let _endpos = _endpos_d_ in
24453 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24454 # 1967 "parser_cocci_menhir.mly"
24455 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24456 # 24457 "parser_cocci_menhir.ml"
24457 in
24458 _menhir_env.MenhirLib.EngineTypes.stack <- {
24459 MenhirLib.EngineTypes.state = _menhir_s;
24460 MenhirLib.EngineTypes.semv = Obj.repr _v;
24461 MenhirLib.EngineTypes.startp = _startpos;
24462 MenhirLib.EngineTypes.endp = _endpos;
24463 MenhirLib.EngineTypes.next = _menhir_stack;
24464 });
24465 (fun _menhir_env ->
24466 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24467 let {
24468 MenhirLib.EngineTypes.semv = _2;
24469 MenhirLib.EngineTypes.startp = _startpos__2_;
24470 MenhirLib.EngineTypes.endp = _endpos__2_;
24471 MenhirLib.EngineTypes.next = {
24472 MenhirLib.EngineTypes.state = _menhir_s;
24473 MenhirLib.EngineTypes.semv = d;
24474 MenhirLib.EngineTypes.startp = _startpos_d_;
24475 MenhirLib.EngineTypes.endp = _endpos_d_;
24476 MenhirLib.EngineTypes.next = _menhir_stack;
24477 };
24478 } = _menhir_stack in
24479 let _2 : (
24480 # 175 "parser_cocci_menhir.mly"
24481 (Data.clt)
24482 # 24483 "parser_cocci_menhir.ml"
24483 ) = Obj.magic _2 in
24484 let d : (
24485 # 141 "parser_cocci_menhir.mly"
24486 (Data.clt)
24487 # 24488 "parser_cocci_menhir.ml"
24488 ) = Obj.magic d in
24489 let _startpos = _startpos_d_ in
24490 let _endpos = _endpos__2_ in
24491 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24492 # 1969 "parser_cocci_menhir.mly"
24493 ( fun build_dots build_comma ->
24494 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24495 # 24496 "parser_cocci_menhir.ml"
24496 in
24497 _menhir_env.MenhirLib.EngineTypes.stack <- {
24498 MenhirLib.EngineTypes.state = _menhir_s;
24499 MenhirLib.EngineTypes.semv = Obj.repr _v;
24500 MenhirLib.EngineTypes.startp = _startpos;
24501 MenhirLib.EngineTypes.endp = _endpos;
24502 MenhirLib.EngineTypes.next = _menhir_stack;
24503 });
24504 (fun _menhir_env ->
24505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24506 let {
24507 MenhirLib.EngineTypes.semv = r;
24508 MenhirLib.EngineTypes.startp = _startpos_r_;
24509 MenhirLib.EngineTypes.endp = _endpos_r_;
24510 MenhirLib.EngineTypes.next = {
24511 MenhirLib.EngineTypes.semv = _2;
24512 MenhirLib.EngineTypes.startp = _startpos__2_;
24513 MenhirLib.EngineTypes.endp = _endpos__2_;
24514 MenhirLib.EngineTypes.next = {
24515 MenhirLib.EngineTypes.state = _menhir_s;
24516 MenhirLib.EngineTypes.semv = d;
24517 MenhirLib.EngineTypes.startp = _startpos_d_;
24518 MenhirLib.EngineTypes.endp = _endpos_d_;
24519 MenhirLib.EngineTypes.next = _menhir_stack;
24520 };
24521 };
24522 } = _menhir_stack in
24523 let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
24524 let _2 : (
24525 # 175 "parser_cocci_menhir.mly"
24526 (Data.clt)
24527 # 24528 "parser_cocci_menhir.ml"
24528 ) = Obj.magic _2 in
24529 let d : (
24530 # 141 "parser_cocci_menhir.mly"
24531 (Data.clt)
24532 # 24533 "parser_cocci_menhir.ml"
24533 ) = Obj.magic d in
24534 let _startpos = _startpos_d_ in
24535 let _endpos = _endpos_r_ in
24536 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
24537 # 1972 "parser_cocci_menhir.mly"
24538 ( fun build_dots build_comma ->
24539 (build_dots "..." d)::
24540 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24541 (r build_dots build_comma) )
24542 # 24543 "parser_cocci_menhir.ml"
24543 in
24544 _menhir_env.MenhirLib.EngineTypes.stack <- {
24545 MenhirLib.EngineTypes.state = _menhir_s;
24546 MenhirLib.EngineTypes.semv = Obj.repr _v;
24547 MenhirLib.EngineTypes.startp = _startpos;
24548 MenhirLib.EngineTypes.endp = _endpos;
24549 MenhirLib.EngineTypes.next = _menhir_stack;
24550 });
24551 (fun _menhir_env ->
24552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24553 let {
24554 MenhirLib.EngineTypes.state = _menhir_s;
24555 MenhirLib.EngineTypes.semv = _1;
24556 MenhirLib.EngineTypes.startp = _startpos__1_;
24557 MenhirLib.EngineTypes.endp = _endpos__1_;
24558 MenhirLib.EngineTypes.next = _menhir_stack;
24559 } = _menhir_stack in
24560 let _1 : 'tv_dparam = Obj.magic _1 in
24561 let _startpos = _startpos__1_ in
24562 let _endpos = _endpos__1_ in
24563 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24564 # 1958 "parser_cocci_menhir.mly"
24565 ( fun build_dots build_comma -> [_1] )
24566 # 24567 "parser_cocci_menhir.ml"
24567 in
24568 _menhir_env.MenhirLib.EngineTypes.stack <- {
24569 MenhirLib.EngineTypes.state = _menhir_s;
24570 MenhirLib.EngineTypes.semv = Obj.repr _v;
24571 MenhirLib.EngineTypes.startp = _startpos;
24572 MenhirLib.EngineTypes.endp = _endpos;
24573 MenhirLib.EngineTypes.next = _menhir_stack;
24574 });
24575 (fun _menhir_env ->
24576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24577 let {
24578 MenhirLib.EngineTypes.semv = _2;
24579 MenhirLib.EngineTypes.startp = _startpos__2_;
24580 MenhirLib.EngineTypes.endp = _endpos__2_;
24581 MenhirLib.EngineTypes.next = {
24582 MenhirLib.EngineTypes.state = _menhir_s;
24583 MenhirLib.EngineTypes.semv = _1;
24584 MenhirLib.EngineTypes.startp = _startpos__1_;
24585 MenhirLib.EngineTypes.endp = _endpos__1_;
24586 MenhirLib.EngineTypes.next = _menhir_stack;
24587 };
24588 } = _menhir_stack in
24589 let _2 : (
24590 # 175 "parser_cocci_menhir.mly"
24591 (Data.clt)
24592 # 24593 "parser_cocci_menhir.ml"
24593 ) = Obj.magic _2 in
24594 let _1 : 'tv_dparam = Obj.magic _1 in
24595 let _startpos = _startpos__1_ in
24596 let _endpos = _endpos__2_ in
24597 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24598 # 1960 "parser_cocci_menhir.mly"
24599 ( fun build_dots build_comma ->
24600 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24601 # 24602 "parser_cocci_menhir.ml"
24602 in
24603 _menhir_env.MenhirLib.EngineTypes.stack <- {
24604 MenhirLib.EngineTypes.state = _menhir_s;
24605 MenhirLib.EngineTypes.semv = Obj.repr _v;
24606 MenhirLib.EngineTypes.startp = _startpos;
24607 MenhirLib.EngineTypes.endp = _endpos;
24608 MenhirLib.EngineTypes.next = _menhir_stack;
24609 });
24610 (fun _menhir_env ->
24611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24612 let {
24613 MenhirLib.EngineTypes.semv = _3;
24614 MenhirLib.EngineTypes.startp = _startpos__3_;
24615 MenhirLib.EngineTypes.endp = _endpos__3_;
24616 MenhirLib.EngineTypes.next = {
24617 MenhirLib.EngineTypes.semv = _2;
24618 MenhirLib.EngineTypes.startp = _startpos__2_;
24619 MenhirLib.EngineTypes.endp = _endpos__2_;
24620 MenhirLib.EngineTypes.next = {
24621 MenhirLib.EngineTypes.state = _menhir_s;
24622 MenhirLib.EngineTypes.semv = _1;
24623 MenhirLib.EngineTypes.startp = _startpos__1_;
24624 MenhirLib.EngineTypes.endp = _endpos__1_;
24625 MenhirLib.EngineTypes.next = _menhir_stack;
24626 };
24627 };
24628 } = _menhir_stack in
24629 let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
24630 let _2 : (
24631 # 175 "parser_cocci_menhir.mly"
24632 (Data.clt)
24633 # 24634 "parser_cocci_menhir.ml"
24634 ) = Obj.magic _2 in
24635 let _1 : 'tv_dparam = Obj.magic _1 in
24636 let _startpos = _startpos__1_ in
24637 let _endpos = _endpos__3_ in
24638 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24639 # 1963 "parser_cocci_menhir.mly"
24640 ( fun build_dots build_comma ->
24641 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24642 (_3 build_dots build_comma) )
24643 # 24644 "parser_cocci_menhir.ml"
24644 in
24645 _menhir_env.MenhirLib.EngineTypes.stack <- {
24646 MenhirLib.EngineTypes.state = _menhir_s;
24647 MenhirLib.EngineTypes.semv = Obj.repr _v;
24648 MenhirLib.EngineTypes.startp = _startpos;
24649 MenhirLib.EngineTypes.endp = _endpos;
24650 MenhirLib.EngineTypes.next = _menhir_stack;
24651 });
24652 (fun _menhir_env ->
24653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24654 let {
24655 MenhirLib.EngineTypes.semv = _2;
24656 MenhirLib.EngineTypes.startp = _startpos__2_;
24657 MenhirLib.EngineTypes.endp = _endpos__2_;
24658 MenhirLib.EngineTypes.next = {
24659 MenhirLib.EngineTypes.state = _menhir_s;
24660 MenhirLib.EngineTypes.startp = _startpos__1_;
24661 MenhirLib.EngineTypes.endp = _endpos__1_;
24662 MenhirLib.EngineTypes.next = _menhir_stack;
24663 };
24664 } = _menhir_stack in
24665 let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
24666 let _startpos = _startpos__1_ in
24667 let _endpos = _endpos__2_ in
24668 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24669 # 1966 "parser_cocci_menhir.mly"
24670 ( _2 )
24671 # 24672 "parser_cocci_menhir.ml"
24672 in
24673 _menhir_env.MenhirLib.EngineTypes.stack <- {
24674 MenhirLib.EngineTypes.state = _menhir_s;
24675 MenhirLib.EngineTypes.semv = Obj.repr _v;
24676 MenhirLib.EngineTypes.startp = _startpos;
24677 MenhirLib.EngineTypes.endp = _endpos;
24678 MenhirLib.EngineTypes.next = _menhir_stack;
24679 });
24680 (fun _menhir_env ->
24681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24682 let {
24683 MenhirLib.EngineTypes.state = _menhir_s;
24684 MenhirLib.EngineTypes.semv = d;
24685 MenhirLib.EngineTypes.startp = _startpos_d_;
24686 MenhirLib.EngineTypes.endp = _endpos_d_;
24687 MenhirLib.EngineTypes.next = _menhir_stack;
24688 } = _menhir_stack in
24689 let d : (
24690 # 141 "parser_cocci_menhir.mly"
24691 (Data.clt)
24692 # 24693 "parser_cocci_menhir.ml"
24693 ) = Obj.magic d in
24694 let _startpos = _startpos_d_ in
24695 let _endpos = _endpos_d_ in
24696 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24697 # 1967 "parser_cocci_menhir.mly"
24698 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24699 # 24700 "parser_cocci_menhir.ml"
24700 in
24701 _menhir_env.MenhirLib.EngineTypes.stack <- {
24702 MenhirLib.EngineTypes.state = _menhir_s;
24703 MenhirLib.EngineTypes.semv = Obj.repr _v;
24704 MenhirLib.EngineTypes.startp = _startpos;
24705 MenhirLib.EngineTypes.endp = _endpos;
24706 MenhirLib.EngineTypes.next = _menhir_stack;
24707 });
24708 (fun _menhir_env ->
24709 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24710 let {
24711 MenhirLib.EngineTypes.semv = _2;
24712 MenhirLib.EngineTypes.startp = _startpos__2_;
24713 MenhirLib.EngineTypes.endp = _endpos__2_;
24714 MenhirLib.EngineTypes.next = {
24715 MenhirLib.EngineTypes.state = _menhir_s;
24716 MenhirLib.EngineTypes.semv = d;
24717 MenhirLib.EngineTypes.startp = _startpos_d_;
24718 MenhirLib.EngineTypes.endp = _endpos_d_;
24719 MenhirLib.EngineTypes.next = _menhir_stack;
24720 };
24721 } = _menhir_stack in
24722 let _2 : (
24723 # 175 "parser_cocci_menhir.mly"
24724 (Data.clt)
24725 # 24726 "parser_cocci_menhir.ml"
24726 ) = Obj.magic _2 in
24727 let d : (
24728 # 141 "parser_cocci_menhir.mly"
24729 (Data.clt)
24730 # 24731 "parser_cocci_menhir.ml"
24731 ) = Obj.magic d in
24732 let _startpos = _startpos_d_ in
24733 let _endpos = _endpos__2_ in
24734 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24735 # 1969 "parser_cocci_menhir.mly"
24736 ( fun build_dots build_comma ->
24737 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24738 # 24739 "parser_cocci_menhir.ml"
24739 in
24740 _menhir_env.MenhirLib.EngineTypes.stack <- {
24741 MenhirLib.EngineTypes.state = _menhir_s;
24742 MenhirLib.EngineTypes.semv = Obj.repr _v;
24743 MenhirLib.EngineTypes.startp = _startpos;
24744 MenhirLib.EngineTypes.endp = _endpos;
24745 MenhirLib.EngineTypes.next = _menhir_stack;
24746 });
24747 (fun _menhir_env ->
24748 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24749 let {
24750 MenhirLib.EngineTypes.semv = r;
24751 MenhirLib.EngineTypes.startp = _startpos_r_;
24752 MenhirLib.EngineTypes.endp = _endpos_r_;
24753 MenhirLib.EngineTypes.next = {
24754 MenhirLib.EngineTypes.semv = _2;
24755 MenhirLib.EngineTypes.startp = _startpos__2_;
24756 MenhirLib.EngineTypes.endp = _endpos__2_;
24757 MenhirLib.EngineTypes.next = {
24758 MenhirLib.EngineTypes.state = _menhir_s;
24759 MenhirLib.EngineTypes.semv = d;
24760 MenhirLib.EngineTypes.startp = _startpos_d_;
24761 MenhirLib.EngineTypes.endp = _endpos_d_;
24762 MenhirLib.EngineTypes.next = _menhir_stack;
24763 };
24764 };
24765 } = _menhir_stack in
24766 let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
24767 let _2 : (
24768 # 175 "parser_cocci_menhir.mly"
24769 (Data.clt)
24770 # 24771 "parser_cocci_menhir.ml"
24771 ) = Obj.magic _2 in
24772 let d : (
24773 # 141 "parser_cocci_menhir.mly"
24774 (Data.clt)
24775 # 24776 "parser_cocci_menhir.ml"
24776 ) = Obj.magic d in
24777 let _startpos = _startpos_d_ in
24778 let _endpos = _endpos_r_ in
24779 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
24780 # 1972 "parser_cocci_menhir.mly"
24781 ( fun build_dots build_comma ->
24782 (build_dots "..." d)::
24783 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24784 (r build_dots build_comma) )
24785 # 24786 "parser_cocci_menhir.ml"
24786 in
24787 _menhir_env.MenhirLib.EngineTypes.stack <- {
24788 MenhirLib.EngineTypes.state = _menhir_s;
24789 MenhirLib.EngineTypes.semv = Obj.repr _v;
24790 MenhirLib.EngineTypes.startp = _startpos;
24791 MenhirLib.EngineTypes.endp = _endpos;
24792 MenhirLib.EngineTypes.next = _menhir_stack;
24793 });
24794 (fun _menhir_env ->
24795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24796 let {
24797 MenhirLib.EngineTypes.state = _menhir_s;
24798 MenhirLib.EngineTypes.semv = _1;
24799 MenhirLib.EngineTypes.startp = _startpos__1_;
24800 MenhirLib.EngineTypes.endp = _endpos__1_;
24801 MenhirLib.EngineTypes.next = _menhir_stack;
24802 } = _menhir_stack in
24803 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
24804 let _startpos = _startpos__1_ in
24805 let _endpos = _endpos__1_ in
24806 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24807 # 1958 "parser_cocci_menhir.mly"
24808 ( fun build_dots build_comma -> [_1] )
24809 # 24810 "parser_cocci_menhir.ml"
24810 in
24811 _menhir_env.MenhirLib.EngineTypes.stack <- {
24812 MenhirLib.EngineTypes.state = _menhir_s;
24813 MenhirLib.EngineTypes.semv = Obj.repr _v;
24814 MenhirLib.EngineTypes.startp = _startpos;
24815 MenhirLib.EngineTypes.endp = _endpos;
24816 MenhirLib.EngineTypes.next = _menhir_stack;
24817 });
24818 (fun _menhir_env ->
24819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24820 let {
24821 MenhirLib.EngineTypes.semv = _2;
24822 MenhirLib.EngineTypes.startp = _startpos__2_;
24823 MenhirLib.EngineTypes.endp = _endpos__2_;
24824 MenhirLib.EngineTypes.next = {
24825 MenhirLib.EngineTypes.state = _menhir_s;
24826 MenhirLib.EngineTypes.semv = _1;
24827 MenhirLib.EngineTypes.startp = _startpos__1_;
24828 MenhirLib.EngineTypes.endp = _endpos__1_;
24829 MenhirLib.EngineTypes.next = _menhir_stack;
24830 };
24831 } = _menhir_stack in
24832 let _2 : (
24833 # 175 "parser_cocci_menhir.mly"
24834 (Data.clt)
24835 # 24836 "parser_cocci_menhir.ml"
24836 ) = Obj.magic _2 in
24837 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
24838 let _startpos = _startpos__1_ in
24839 let _endpos = _endpos__2_ in
24840 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24841 # 1960 "parser_cocci_menhir.mly"
24842 ( fun build_dots build_comma ->
24843 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24844 # 24845 "parser_cocci_menhir.ml"
24845 in
24846 _menhir_env.MenhirLib.EngineTypes.stack <- {
24847 MenhirLib.EngineTypes.state = _menhir_s;
24848 MenhirLib.EngineTypes.semv = Obj.repr _v;
24849 MenhirLib.EngineTypes.startp = _startpos;
24850 MenhirLib.EngineTypes.endp = _endpos;
24851 MenhirLib.EngineTypes.next = _menhir_stack;
24852 });
24853 (fun _menhir_env ->
24854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24855 let {
24856 MenhirLib.EngineTypes.semv = _3;
24857 MenhirLib.EngineTypes.startp = _startpos__3_;
24858 MenhirLib.EngineTypes.endp = _endpos__3_;
24859 MenhirLib.EngineTypes.next = {
24860 MenhirLib.EngineTypes.semv = _2;
24861 MenhirLib.EngineTypes.startp = _startpos__2_;
24862 MenhirLib.EngineTypes.endp = _endpos__2_;
24863 MenhirLib.EngineTypes.next = {
24864 MenhirLib.EngineTypes.state = _menhir_s;
24865 MenhirLib.EngineTypes.semv = _1;
24866 MenhirLib.EngineTypes.startp = _startpos__1_;
24867 MenhirLib.EngineTypes.endp = _endpos__1_;
24868 MenhirLib.EngineTypes.next = _menhir_stack;
24869 };
24870 };
24871 } = _menhir_stack in
24872 let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
24873 let _2 : (
24874 # 175 "parser_cocci_menhir.mly"
24875 (Data.clt)
24876 # 24877 "parser_cocci_menhir.ml"
24877 ) = Obj.magic _2 in
24878 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
24879 let _startpos = _startpos__1_ in
24880 let _endpos = _endpos__3_ in
24881 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24882 # 1963 "parser_cocci_menhir.mly"
24883 ( fun build_dots build_comma ->
24884 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24885 (_3 build_dots build_comma) )
24886 # 24887 "parser_cocci_menhir.ml"
24887 in
24888 _menhir_env.MenhirLib.EngineTypes.stack <- {
24889 MenhirLib.EngineTypes.state = _menhir_s;
24890 MenhirLib.EngineTypes.semv = Obj.repr _v;
24891 MenhirLib.EngineTypes.startp = _startpos;
24892 MenhirLib.EngineTypes.endp = _endpos;
24893 MenhirLib.EngineTypes.next = _menhir_stack;
24894 });
24895 (fun _menhir_env ->
24896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24897 let {
24898 MenhirLib.EngineTypes.semv = _2;
24899 MenhirLib.EngineTypes.startp = _startpos__2_;
24900 MenhirLib.EngineTypes.endp = _endpos__2_;
24901 MenhirLib.EngineTypes.next = {
24902 MenhirLib.EngineTypes.state = _menhir_s;
24903 MenhirLib.EngineTypes.startp = _startpos__1_;
24904 MenhirLib.EngineTypes.endp = _endpos__1_;
24905 MenhirLib.EngineTypes.next = _menhir_stack;
24906 };
24907 } = _menhir_stack in
24908 let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
24909 let _startpos = _startpos__1_ in
24910 let _endpos = _endpos__2_ in
24911 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24912 # 1966 "parser_cocci_menhir.mly"
24913 ( _2 )
24914 # 24915 "parser_cocci_menhir.ml"
24915 in
24916 _menhir_env.MenhirLib.EngineTypes.stack <- {
24917 MenhirLib.EngineTypes.state = _menhir_s;
24918 MenhirLib.EngineTypes.semv = Obj.repr _v;
24919 MenhirLib.EngineTypes.startp = _startpos;
24920 MenhirLib.EngineTypes.endp = _endpos;
24921 MenhirLib.EngineTypes.next = _menhir_stack;
24922 });
24923 (fun _menhir_env ->
24924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24925 let {
24926 MenhirLib.EngineTypes.state = _menhir_s;
24927 MenhirLib.EngineTypes.semv = d;
24928 MenhirLib.EngineTypes.startp = _startpos_d_;
24929 MenhirLib.EngineTypes.endp = _endpos_d_;
24930 MenhirLib.EngineTypes.next = _menhir_stack;
24931 } = _menhir_stack in
24932 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
24933 let _startpos = _startpos_d_ in
24934 let _endpos = _endpos_d_ in
24935 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24936 # 1967 "parser_cocci_menhir.mly"
24937 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24938 # 24939 "parser_cocci_menhir.ml"
24939 in
24940 _menhir_env.MenhirLib.EngineTypes.stack <- {
24941 MenhirLib.EngineTypes.state = _menhir_s;
24942 MenhirLib.EngineTypes.semv = Obj.repr _v;
24943 MenhirLib.EngineTypes.startp = _startpos;
24944 MenhirLib.EngineTypes.endp = _endpos;
24945 MenhirLib.EngineTypes.next = _menhir_stack;
24946 });
24947 (fun _menhir_env ->
24948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24949 let {
24950 MenhirLib.EngineTypes.semv = _2;
24951 MenhirLib.EngineTypes.startp = _startpos__2_;
24952 MenhirLib.EngineTypes.endp = _endpos__2_;
24953 MenhirLib.EngineTypes.next = {
24954 MenhirLib.EngineTypes.state = _menhir_s;
24955 MenhirLib.EngineTypes.semv = d;
24956 MenhirLib.EngineTypes.startp = _startpos_d_;
24957 MenhirLib.EngineTypes.endp = _endpos_d_;
24958 MenhirLib.EngineTypes.next = _menhir_stack;
24959 };
24960 } = _menhir_stack in
24961 let _2 : (
24962 # 175 "parser_cocci_menhir.mly"
24963 (Data.clt)
24964 # 24965 "parser_cocci_menhir.ml"
24965 ) = Obj.magic _2 in
24966 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
24967 let _startpos = _startpos_d_ in
24968 let _endpos = _endpos__2_ in
24969 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24970 # 1969 "parser_cocci_menhir.mly"
24971 ( fun build_dots build_comma ->
24972 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24973 # 24974 "parser_cocci_menhir.ml"
24974 in
24975 _menhir_env.MenhirLib.EngineTypes.stack <- {
24976 MenhirLib.EngineTypes.state = _menhir_s;
24977 MenhirLib.EngineTypes.semv = Obj.repr _v;
24978 MenhirLib.EngineTypes.startp = _startpos;
24979 MenhirLib.EngineTypes.endp = _endpos;
24980 MenhirLib.EngineTypes.next = _menhir_stack;
24981 });
24982 (fun _menhir_env ->
24983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24984 let {
24985 MenhirLib.EngineTypes.semv = r;
24986 MenhirLib.EngineTypes.startp = _startpos_r_;
24987 MenhirLib.EngineTypes.endp = _endpos_r_;
24988 MenhirLib.EngineTypes.next = {
24989 MenhirLib.EngineTypes.semv = _2;
24990 MenhirLib.EngineTypes.startp = _startpos__2_;
24991 MenhirLib.EngineTypes.endp = _endpos__2_;
24992 MenhirLib.EngineTypes.next = {
24993 MenhirLib.EngineTypes.state = _menhir_s;
24994 MenhirLib.EngineTypes.semv = d;
24995 MenhirLib.EngineTypes.startp = _startpos_d_;
24996 MenhirLib.EngineTypes.endp = _endpos_d_;
24997 MenhirLib.EngineTypes.next = _menhir_stack;
24998 };
24999 };
25000 } = _menhir_stack in
25001 let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
25002 let _2 : (
25003 # 175 "parser_cocci_menhir.mly"
25004 (Data.clt)
25005 # 25006 "parser_cocci_menhir.ml"
25006 ) = Obj.magic _2 in
25007 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
25008 let _startpos = _startpos_d_ in
25009 let _endpos = _endpos_r_ in
25010 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
25011 # 1972 "parser_cocci_menhir.mly"
25012 ( fun build_dots build_comma ->
25013 (build_dots "..." d)::
25014 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25015 (r build_dots build_comma) )
25016 # 25017 "parser_cocci_menhir.ml"
25017 in
25018 _menhir_env.MenhirLib.EngineTypes.stack <- {
25019 MenhirLib.EngineTypes.state = _menhir_s;
25020 MenhirLib.EngineTypes.semv = Obj.repr _v;
25021 MenhirLib.EngineTypes.startp = _startpos;
25022 MenhirLib.EngineTypes.endp = _endpos;
25023 MenhirLib.EngineTypes.next = _menhir_stack;
25024 });
25025 (fun _menhir_env ->
25026 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25027 let {
25028 MenhirLib.EngineTypes.state = _menhir_s;
25029 MenhirLib.EngineTypes.semv = _1;
25030 MenhirLib.EngineTypes.startp = _startpos__1_;
25031 MenhirLib.EngineTypes.endp = _endpos__1_;
25032 MenhirLib.EngineTypes.next = _menhir_stack;
25033 } = _menhir_stack in
25034 let _1 : 'tv_initialize2 = Obj.magic _1 in
25035 let _startpos = _startpos__1_ in
25036 let _endpos = _endpos__1_ in
25037 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25038 # 1958 "parser_cocci_menhir.mly"
25039 ( fun build_dots build_comma -> [_1] )
25040 # 25041 "parser_cocci_menhir.ml"
25041 in
25042 _menhir_env.MenhirLib.EngineTypes.stack <- {
25043 MenhirLib.EngineTypes.state = _menhir_s;
25044 MenhirLib.EngineTypes.semv = Obj.repr _v;
25045 MenhirLib.EngineTypes.startp = _startpos;
25046 MenhirLib.EngineTypes.endp = _endpos;
25047 MenhirLib.EngineTypes.next = _menhir_stack;
25048 });
25049 (fun _menhir_env ->
25050 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25051 let {
25052 MenhirLib.EngineTypes.semv = _2;
25053 MenhirLib.EngineTypes.startp = _startpos__2_;
25054 MenhirLib.EngineTypes.endp = _endpos__2_;
25055 MenhirLib.EngineTypes.next = {
25056 MenhirLib.EngineTypes.state = _menhir_s;
25057 MenhirLib.EngineTypes.semv = _1;
25058 MenhirLib.EngineTypes.startp = _startpos__1_;
25059 MenhirLib.EngineTypes.endp = _endpos__1_;
25060 MenhirLib.EngineTypes.next = _menhir_stack;
25061 };
25062 } = _menhir_stack in
25063 let _2 : (
25064 # 175 "parser_cocci_menhir.mly"
25065 (Data.clt)
25066 # 25067 "parser_cocci_menhir.ml"
25067 ) = Obj.magic _2 in
25068 let _1 : 'tv_initialize2 = Obj.magic _1 in
25069 let _startpos = _startpos__1_ in
25070 let _endpos = _endpos__2_ in
25071 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25072 # 1960 "parser_cocci_menhir.mly"
25073 ( fun build_dots build_comma ->
25074 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
25075 # 25076 "parser_cocci_menhir.ml"
25076 in
25077 _menhir_env.MenhirLib.EngineTypes.stack <- {
25078 MenhirLib.EngineTypes.state = _menhir_s;
25079 MenhirLib.EngineTypes.semv = Obj.repr _v;
25080 MenhirLib.EngineTypes.startp = _startpos;
25081 MenhirLib.EngineTypes.endp = _endpos;
25082 MenhirLib.EngineTypes.next = _menhir_stack;
25083 });
25084 (fun _menhir_env ->
25085 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25086 let {
25087 MenhirLib.EngineTypes.semv = _3;
25088 MenhirLib.EngineTypes.startp = _startpos__3_;
25089 MenhirLib.EngineTypes.endp = _endpos__3_;
25090 MenhirLib.EngineTypes.next = {
25091 MenhirLib.EngineTypes.semv = _2;
25092 MenhirLib.EngineTypes.startp = _startpos__2_;
25093 MenhirLib.EngineTypes.endp = _endpos__2_;
25094 MenhirLib.EngineTypes.next = {
25095 MenhirLib.EngineTypes.state = _menhir_s;
25096 MenhirLib.EngineTypes.semv = _1;
25097 MenhirLib.EngineTypes.startp = _startpos__1_;
25098 MenhirLib.EngineTypes.endp = _endpos__1_;
25099 MenhirLib.EngineTypes.next = _menhir_stack;
25100 };
25101 };
25102 } = _menhir_stack in
25103 let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
25104 let _2 : (
25105 # 175 "parser_cocci_menhir.mly"
25106 (Data.clt)
25107 # 25108 "parser_cocci_menhir.ml"
25108 ) = Obj.magic _2 in
25109 let _1 : 'tv_initialize2 = Obj.magic _1 in
25110 let _startpos = _startpos__1_ in
25111 let _endpos = _endpos__3_ in
25112 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25113 # 1963 "parser_cocci_menhir.mly"
25114 ( fun build_dots build_comma ->
25115 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25116 (_3 build_dots build_comma) )
25117 # 25118 "parser_cocci_menhir.ml"
25118 in
25119 _menhir_env.MenhirLib.EngineTypes.stack <- {
25120 MenhirLib.EngineTypes.state = _menhir_s;
25121 MenhirLib.EngineTypes.semv = Obj.repr _v;
25122 MenhirLib.EngineTypes.startp = _startpos;
25123 MenhirLib.EngineTypes.endp = _endpos;
25124 MenhirLib.EngineTypes.next = _menhir_stack;
25125 });
25126 (fun _menhir_env ->
25127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25128 let {
25129 MenhirLib.EngineTypes.semv = _2;
25130 MenhirLib.EngineTypes.startp = _startpos__2_;
25131 MenhirLib.EngineTypes.endp = _endpos__2_;
25132 MenhirLib.EngineTypes.next = {
25133 MenhirLib.EngineTypes.state = _menhir_s;
25134 MenhirLib.EngineTypes.startp = _startpos__1_;
25135 MenhirLib.EngineTypes.endp = _endpos__1_;
25136 MenhirLib.EngineTypes.next = _menhir_stack;
25137 };
25138 } = _menhir_stack in
25139 let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
25140 let _startpos = _startpos__1_ in
25141 let _endpos = _endpos__2_ in
25142 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25143 # 1966 "parser_cocci_menhir.mly"
25144 ( _2 )
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.state = _menhir_s;
25158 MenhirLib.EngineTypes.semv = d;
25159 MenhirLib.EngineTypes.startp = _startpos_d_;
25160 MenhirLib.EngineTypes.endp = _endpos_d_;
25161 MenhirLib.EngineTypes.next = _menhir_stack;
25162 } = _menhir_stack in
25163 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
25164 let _startpos = _startpos_d_ in
25165 let _endpos = _endpos_d_ in
25166 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25167 # 1967 "parser_cocci_menhir.mly"
25168 ( fun build_dots build_comma -> [(build_dots "..." d)] )
25169 # 25170 "parser_cocci_menhir.ml"
25170 in
25171 _menhir_env.MenhirLib.EngineTypes.stack <- {
25172 MenhirLib.EngineTypes.state = _menhir_s;
25173 MenhirLib.EngineTypes.semv = Obj.repr _v;
25174 MenhirLib.EngineTypes.startp = _startpos;
25175 MenhirLib.EngineTypes.endp = _endpos;
25176 MenhirLib.EngineTypes.next = _menhir_stack;
25177 });
25178 (fun _menhir_env ->
25179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25180 let {
25181 MenhirLib.EngineTypes.semv = _2;
25182 MenhirLib.EngineTypes.startp = _startpos__2_;
25183 MenhirLib.EngineTypes.endp = _endpos__2_;
25184 MenhirLib.EngineTypes.next = {
25185 MenhirLib.EngineTypes.state = _menhir_s;
25186 MenhirLib.EngineTypes.semv = d;
25187 MenhirLib.EngineTypes.startp = _startpos_d_;
25188 MenhirLib.EngineTypes.endp = _endpos_d_;
25189 MenhirLib.EngineTypes.next = _menhir_stack;
25190 };
25191 } = _menhir_stack in
25192 let _2 : (
25193 # 175 "parser_cocci_menhir.mly"
25194 (Data.clt)
25195 # 25196 "parser_cocci_menhir.ml"
25196 ) = Obj.magic _2 in
25197 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
25198 let _startpos = _startpos_d_ in
25199 let _endpos = _endpos__2_ in
25200 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25201 # 1969 "parser_cocci_menhir.mly"
25202 ( fun build_dots build_comma ->
25203 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
25204 # 25205 "parser_cocci_menhir.ml"
25205 in
25206 _menhir_env.MenhirLib.EngineTypes.stack <- {
25207 MenhirLib.EngineTypes.state = _menhir_s;
25208 MenhirLib.EngineTypes.semv = Obj.repr _v;
25209 MenhirLib.EngineTypes.startp = _startpos;
25210 MenhirLib.EngineTypes.endp = _endpos;
25211 MenhirLib.EngineTypes.next = _menhir_stack;
25212 });
25213 (fun _menhir_env ->
25214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25215 let {
25216 MenhirLib.EngineTypes.semv = r;
25217 MenhirLib.EngineTypes.startp = _startpos_r_;
25218 MenhirLib.EngineTypes.endp = _endpos_r_;
25219 MenhirLib.EngineTypes.next = {
25220 MenhirLib.EngineTypes.semv = _2;
25221 MenhirLib.EngineTypes.startp = _startpos__2_;
25222 MenhirLib.EngineTypes.endp = _endpos__2_;
25223 MenhirLib.EngineTypes.next = {
25224 MenhirLib.EngineTypes.state = _menhir_s;
25225 MenhirLib.EngineTypes.semv = d;
25226 MenhirLib.EngineTypes.startp = _startpos_d_;
25227 MenhirLib.EngineTypes.endp = _endpos_d_;
25228 MenhirLib.EngineTypes.next = _menhir_stack;
25229 };
25230 };
25231 } = _menhir_stack in
25232 let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
25233 let _2 : (
25234 # 175 "parser_cocci_menhir.mly"
25235 (Data.clt)
25236 # 25237 "parser_cocci_menhir.ml"
25237 ) = Obj.magic _2 in
25238 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
25239 let _startpos = _startpos_d_ in
25240 let _endpos = _endpos_r_ in
25241 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
25242 # 1972 "parser_cocci_menhir.mly"
25243 ( fun build_dots build_comma ->
25244 (build_dots "..." d)::
25245 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25246 (r build_dots build_comma) )
25247 # 25248 "parser_cocci_menhir.ml"
25248 in
25249 _menhir_env.MenhirLib.EngineTypes.stack <- {
25250 MenhirLib.EngineTypes.state = _menhir_s;
25251 MenhirLib.EngineTypes.semv = Obj.repr _v;
25252 MenhirLib.EngineTypes.startp = _startpos;
25253 MenhirLib.EngineTypes.endp = _endpos;
25254 MenhirLib.EngineTypes.next = _menhir_stack;
25255 });
25256 (fun _menhir_env ->
25257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25258 let {
25259 MenhirLib.EngineTypes.state = _menhir_s;
25260 MenhirLib.EngineTypes.semv = _1;
25261 MenhirLib.EngineTypes.startp = _startpos__1_;
25262 MenhirLib.EngineTypes.endp = _endpos__1_;
25263 MenhirLib.EngineTypes.next = _menhir_stack;
25264 } = _menhir_stack in
25265 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
25266 let _startpos = _startpos__1_ in
25267 let _endpos = _endpos__1_ in
25268 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25269 # 1958 "parser_cocci_menhir.mly"
25270 ( fun build_dots build_comma -> [_1] )
25271 # 25272 "parser_cocci_menhir.ml"
25272 in
25273 _menhir_env.MenhirLib.EngineTypes.stack <- {
25274 MenhirLib.EngineTypes.state = _menhir_s;
25275 MenhirLib.EngineTypes.semv = Obj.repr _v;
25276 MenhirLib.EngineTypes.startp = _startpos;
25277 MenhirLib.EngineTypes.endp = _endpos;
25278 MenhirLib.EngineTypes.next = _menhir_stack;
25279 });
25280 (fun _menhir_env ->
25281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25282 let {
25283 MenhirLib.EngineTypes.semv = _2;
25284 MenhirLib.EngineTypes.startp = _startpos__2_;
25285 MenhirLib.EngineTypes.endp = _endpos__2_;
25286 MenhirLib.EngineTypes.next = {
25287 MenhirLib.EngineTypes.state = _menhir_s;
25288 MenhirLib.EngineTypes.semv = _1;
25289 MenhirLib.EngineTypes.startp = _startpos__1_;
25290 MenhirLib.EngineTypes.endp = _endpos__1_;
25291 MenhirLib.EngineTypes.next = _menhir_stack;
25292 };
25293 } = _menhir_stack in
25294 let _2 : (
25295 # 175 "parser_cocci_menhir.mly"
25296 (Data.clt)
25297 # 25298 "parser_cocci_menhir.ml"
25298 ) = Obj.magic _2 in
25299 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
25300 let _startpos = _startpos__1_ in
25301 let _endpos = _endpos__2_ in
25302 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25303 # 1960 "parser_cocci_menhir.mly"
25304 ( fun build_dots build_comma ->
25305 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
25306 # 25307 "parser_cocci_menhir.ml"
25307 in
25308 _menhir_env.MenhirLib.EngineTypes.stack <- {
25309 MenhirLib.EngineTypes.state = _menhir_s;
25310 MenhirLib.EngineTypes.semv = Obj.repr _v;
25311 MenhirLib.EngineTypes.startp = _startpos;
25312 MenhirLib.EngineTypes.endp = _endpos;
25313 MenhirLib.EngineTypes.next = _menhir_stack;
25314 });
25315 (fun _menhir_env ->
25316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25317 let {
25318 MenhirLib.EngineTypes.semv = _3;
25319 MenhirLib.EngineTypes.startp = _startpos__3_;
25320 MenhirLib.EngineTypes.endp = _endpos__3_;
25321 MenhirLib.EngineTypes.next = {
25322 MenhirLib.EngineTypes.semv = _2;
25323 MenhirLib.EngineTypes.startp = _startpos__2_;
25324 MenhirLib.EngineTypes.endp = _endpos__2_;
25325 MenhirLib.EngineTypes.next = {
25326 MenhirLib.EngineTypes.state = _menhir_s;
25327 MenhirLib.EngineTypes.semv = _1;
25328 MenhirLib.EngineTypes.startp = _startpos__1_;
25329 MenhirLib.EngineTypes.endp = _endpos__1_;
25330 MenhirLib.EngineTypes.next = _menhir_stack;
25331 };
25332 };
25333 } = _menhir_stack in
25334 let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
25335 let _2 : (
25336 # 175 "parser_cocci_menhir.mly"
25337 (Data.clt)
25338 # 25339 "parser_cocci_menhir.ml"
25339 ) = Obj.magic _2 in
25340 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
25341 let _startpos = _startpos__1_ in
25342 let _endpos = _endpos__3_ in
25343 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25344 # 1963 "parser_cocci_menhir.mly"
25345 ( fun build_dots build_comma ->
25346 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25347 (_3 build_dots build_comma) )
25348 # 25349 "parser_cocci_menhir.ml"
25349 in
25350 _menhir_env.MenhirLib.EngineTypes.stack <- {
25351 MenhirLib.EngineTypes.state = _menhir_s;
25352 MenhirLib.EngineTypes.semv = Obj.repr _v;
25353 MenhirLib.EngineTypes.startp = _startpos;
25354 MenhirLib.EngineTypes.endp = _endpos;
25355 MenhirLib.EngineTypes.next = _menhir_stack;
25356 });
25357 (fun _menhir_env ->
25358 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25359 let {
25360 MenhirLib.EngineTypes.semv = _2;
25361 MenhirLib.EngineTypes.startp = _startpos__2_;
25362 MenhirLib.EngineTypes.endp = _endpos__2_;
25363 MenhirLib.EngineTypes.next = {
25364 MenhirLib.EngineTypes.state = _menhir_s;
25365 MenhirLib.EngineTypes.startp = _startpos__1_;
25366 MenhirLib.EngineTypes.endp = _endpos__1_;
25367 MenhirLib.EngineTypes.next = _menhir_stack;
25368 };
25369 } = _menhir_stack in
25370 let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
25371 let _startpos = _startpos__1_ in
25372 let _endpos = _endpos__2_ in
25373 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25374 # 1966 "parser_cocci_menhir.mly"
25375 ( _2 )
25376 # 25377 "parser_cocci_menhir.ml"
25377 in
25378 _menhir_env.MenhirLib.EngineTypes.stack <- {
25379 MenhirLib.EngineTypes.state = _menhir_s;
25380 MenhirLib.EngineTypes.semv = Obj.repr _v;
25381 MenhirLib.EngineTypes.startp = _startpos;
25382 MenhirLib.EngineTypes.endp = _endpos;
25383 MenhirLib.EngineTypes.next = _menhir_stack;
25384 });
25385 (fun _menhir_env ->
25386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25387 let {
25388 MenhirLib.EngineTypes.state = _menhir_s;
25389 MenhirLib.EngineTypes.semv = d;
25390 MenhirLib.EngineTypes.startp = _startpos_d_;
25391 MenhirLib.EngineTypes.endp = _endpos_d_;
25392 MenhirLib.EngineTypes.next = _menhir_stack;
25393 } = _menhir_stack in
25394 let d : (
25395 # 141 "parser_cocci_menhir.mly"
25396 (Data.clt)
25397 # 25398 "parser_cocci_menhir.ml"
25398 ) = Obj.magic d in
25399 let _startpos = _startpos_d_ in
25400 let _endpos = _endpos_d_ in
25401 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25402 # 1967 "parser_cocci_menhir.mly"
25403 ( fun build_dots build_comma -> [(build_dots "..." d)] )
25404 # 25405 "parser_cocci_menhir.ml"
25405 in
25406 _menhir_env.MenhirLib.EngineTypes.stack <- {
25407 MenhirLib.EngineTypes.state = _menhir_s;
25408 MenhirLib.EngineTypes.semv = Obj.repr _v;
25409 MenhirLib.EngineTypes.startp = _startpos;
25410 MenhirLib.EngineTypes.endp = _endpos;
25411 MenhirLib.EngineTypes.next = _menhir_stack;
25412 });
25413 (fun _menhir_env ->
25414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25415 let {
25416 MenhirLib.EngineTypes.semv = _2;
25417 MenhirLib.EngineTypes.startp = _startpos__2_;
25418 MenhirLib.EngineTypes.endp = _endpos__2_;
25419 MenhirLib.EngineTypes.next = {
25420 MenhirLib.EngineTypes.state = _menhir_s;
25421 MenhirLib.EngineTypes.semv = d;
25422 MenhirLib.EngineTypes.startp = _startpos_d_;
25423 MenhirLib.EngineTypes.endp = _endpos_d_;
25424 MenhirLib.EngineTypes.next = _menhir_stack;
25425 };
25426 } = _menhir_stack in
25427 let _2 : (
25428 # 175 "parser_cocci_menhir.mly"
25429 (Data.clt)
25430 # 25431 "parser_cocci_menhir.ml"
25431 ) = Obj.magic _2 in
25432 let d : (
25433 # 141 "parser_cocci_menhir.mly"
25434 (Data.clt)
25435 # 25436 "parser_cocci_menhir.ml"
25436 ) = Obj.magic d in
25437 let _startpos = _startpos_d_ in
25438 let _endpos = _endpos__2_ in
25439 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25440 # 1969 "parser_cocci_menhir.mly"
25441 ( fun build_dots build_comma ->
25442 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
25443 # 25444 "parser_cocci_menhir.ml"
25444 in
25445 _menhir_env.MenhirLib.EngineTypes.stack <- {
25446 MenhirLib.EngineTypes.state = _menhir_s;
25447 MenhirLib.EngineTypes.semv = Obj.repr _v;
25448 MenhirLib.EngineTypes.startp = _startpos;
25449 MenhirLib.EngineTypes.endp = _endpos;
25450 MenhirLib.EngineTypes.next = _menhir_stack;
25451 });
25452 (fun _menhir_env ->
25453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25454 let {
25455 MenhirLib.EngineTypes.semv = r;
25456 MenhirLib.EngineTypes.startp = _startpos_r_;
25457 MenhirLib.EngineTypes.endp = _endpos_r_;
25458 MenhirLib.EngineTypes.next = {
25459 MenhirLib.EngineTypes.semv = _2;
25460 MenhirLib.EngineTypes.startp = _startpos__2_;
25461 MenhirLib.EngineTypes.endp = _endpos__2_;
25462 MenhirLib.EngineTypes.next = {
25463 MenhirLib.EngineTypes.state = _menhir_s;
25464 MenhirLib.EngineTypes.semv = d;
25465 MenhirLib.EngineTypes.startp = _startpos_d_;
25466 MenhirLib.EngineTypes.endp = _endpos_d_;
25467 MenhirLib.EngineTypes.next = _menhir_stack;
25468 };
25469 };
25470 } = _menhir_stack in
25471 let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
25472 let _2 : (
25473 # 175 "parser_cocci_menhir.mly"
25474 (Data.clt)
25475 # 25476 "parser_cocci_menhir.ml"
25476 ) = Obj.magic _2 in
25477 let d : (
25478 # 141 "parser_cocci_menhir.mly"
25479 (Data.clt)
25480 # 25481 "parser_cocci_menhir.ml"
25481 ) = Obj.magic d in
25482 let _startpos = _startpos_d_ in
25483 let _endpos = _endpos_r_ in
25484 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
25485 # 1972 "parser_cocci_menhir.mly"
25486 ( fun build_dots build_comma ->
25487 (build_dots "..." d)::
25488 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25489 (r build_dots build_comma) )
25490 # 25491 "parser_cocci_menhir.ml"
25491 in
25492 _menhir_env.MenhirLib.EngineTypes.stack <- {
25493 MenhirLib.EngineTypes.state = _menhir_s;
25494 MenhirLib.EngineTypes.semv = Obj.repr _v;
25495 MenhirLib.EngineTypes.startp = _startpos;
25496 MenhirLib.EngineTypes.endp = _endpos;
25497 MenhirLib.EngineTypes.next = _menhir_stack;
25498 });
25499 (fun _menhir_env ->
25500 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25501 let {
25502 MenhirLib.EngineTypes.state = _menhir_s;
25503 MenhirLib.EngineTypes.semv = _1;
25504 MenhirLib.EngineTypes.startp = _startpos__1_;
25505 MenhirLib.EngineTypes.endp = _endpos__1_;
25506 MenhirLib.EngineTypes.next = _menhir_stack;
25507 } = _menhir_stack in
25508 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
25509 let _startpos = _startpos__1_ in
25510 let _endpos = _endpos__1_ in
25511 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25512 # 1958 "parser_cocci_menhir.mly"
25513 ( fun build_dots build_comma -> [_1] )
25514 # 25515 "parser_cocci_menhir.ml"
25515 in
25516 _menhir_env.MenhirLib.EngineTypes.stack <- {
25517 MenhirLib.EngineTypes.state = _menhir_s;
25518 MenhirLib.EngineTypes.semv = Obj.repr _v;
25519 MenhirLib.EngineTypes.startp = _startpos;
25520 MenhirLib.EngineTypes.endp = _endpos;
25521 MenhirLib.EngineTypes.next = _menhir_stack;
25522 });
25523 (fun _menhir_env ->
25524 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25525 let {
25526 MenhirLib.EngineTypes.semv = _2;
25527 MenhirLib.EngineTypes.startp = _startpos__2_;
25528 MenhirLib.EngineTypes.endp = _endpos__2_;
25529 MenhirLib.EngineTypes.next = {
25530 MenhirLib.EngineTypes.state = _menhir_s;
25531 MenhirLib.EngineTypes.semv = _1;
25532 MenhirLib.EngineTypes.startp = _startpos__1_;
25533 MenhirLib.EngineTypes.endp = _endpos__1_;
25534 MenhirLib.EngineTypes.next = _menhir_stack;
25535 };
25536 } = _menhir_stack in
25537 let _2 : (
25538 # 175 "parser_cocci_menhir.mly"
25539 (Data.clt)
25540 # 25541 "parser_cocci_menhir.ml"
25541 ) = Obj.magic _2 in
25542 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
25543 let _startpos = _startpos__1_ in
25544 let _endpos = _endpos__2_ in
25545 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25546 # 1960 "parser_cocci_menhir.mly"
25547 ( fun build_dots build_comma ->
25548 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
25549 # 25550 "parser_cocci_menhir.ml"
25550 in
25551 _menhir_env.MenhirLib.EngineTypes.stack <- {
25552 MenhirLib.EngineTypes.state = _menhir_s;
25553 MenhirLib.EngineTypes.semv = Obj.repr _v;
25554 MenhirLib.EngineTypes.startp = _startpos;
25555 MenhirLib.EngineTypes.endp = _endpos;
25556 MenhirLib.EngineTypes.next = _menhir_stack;
25557 });
25558 (fun _menhir_env ->
25559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25560 let {
25561 MenhirLib.EngineTypes.semv = _3;
25562 MenhirLib.EngineTypes.startp = _startpos__3_;
25563 MenhirLib.EngineTypes.endp = _endpos__3_;
25564 MenhirLib.EngineTypes.next = {
25565 MenhirLib.EngineTypes.semv = _2;
25566 MenhirLib.EngineTypes.startp = _startpos__2_;
25567 MenhirLib.EngineTypes.endp = _endpos__2_;
25568 MenhirLib.EngineTypes.next = {
25569 MenhirLib.EngineTypes.state = _menhir_s;
25570 MenhirLib.EngineTypes.semv = _1;
25571 MenhirLib.EngineTypes.startp = _startpos__1_;
25572 MenhirLib.EngineTypes.endp = _endpos__1_;
25573 MenhirLib.EngineTypes.next = _menhir_stack;
25574 };
25575 };
25576 } = _menhir_stack in
25577 let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
25578 let _2 : (
25579 # 175 "parser_cocci_menhir.mly"
25580 (Data.clt)
25581 # 25582 "parser_cocci_menhir.ml"
25582 ) = Obj.magic _2 in
25583 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
25584 let _startpos = _startpos__1_ in
25585 let _endpos = _endpos__3_ in
25586 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25587 # 1963 "parser_cocci_menhir.mly"
25588 ( fun build_dots build_comma ->
25589 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25590 (_3 build_dots build_comma) )
25591 # 25592 "parser_cocci_menhir.ml"
25592 in
25593 _menhir_env.MenhirLib.EngineTypes.stack <- {
25594 MenhirLib.EngineTypes.state = _menhir_s;
25595 MenhirLib.EngineTypes.semv = Obj.repr _v;
25596 MenhirLib.EngineTypes.startp = _startpos;
25597 MenhirLib.EngineTypes.endp = _endpos;
25598 MenhirLib.EngineTypes.next = _menhir_stack;
25599 });
25600 (fun _menhir_env ->
25601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25602 let {
25603 MenhirLib.EngineTypes.semv = _2;
25604 MenhirLib.EngineTypes.startp = _startpos__2_;
25605 MenhirLib.EngineTypes.endp = _endpos__2_;
25606 MenhirLib.EngineTypes.next = {
25607 MenhirLib.EngineTypes.state = _menhir_s;
25608 MenhirLib.EngineTypes.startp = _startpos__1_;
25609 MenhirLib.EngineTypes.endp = _endpos__1_;
25610 MenhirLib.EngineTypes.next = _menhir_stack;
25611 };
25612 } = _menhir_stack in
25613 let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
25614 let _startpos = _startpos__1_ in
25615 let _endpos = _endpos__2_ in
25616 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25617 # 1966 "parser_cocci_menhir.mly"
25618 ( _2 )
25619 # 25620 "parser_cocci_menhir.ml"
25620 in
25621 _menhir_env.MenhirLib.EngineTypes.stack <- {
25622 MenhirLib.EngineTypes.state = _menhir_s;
25623 MenhirLib.EngineTypes.semv = Obj.repr _v;
25624 MenhirLib.EngineTypes.startp = _startpos;
25625 MenhirLib.EngineTypes.endp = _endpos;
25626 MenhirLib.EngineTypes.next = _menhir_stack;
25627 });
25628 (fun _menhir_env ->
25629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25630 let {
25631 MenhirLib.EngineTypes.state = _menhir_s;
25632 MenhirLib.EngineTypes.semv = d;
25633 MenhirLib.EngineTypes.startp = _startpos_d_;
25634 MenhirLib.EngineTypes.endp = _endpos_d_;
25635 MenhirLib.EngineTypes.next = _menhir_stack;
25636 } = _menhir_stack in
25637 let d : (
25638 # 141 "parser_cocci_menhir.mly"
25639 (Data.clt)
25640 # 25641 "parser_cocci_menhir.ml"
25641 ) = Obj.magic d in
25642 let _startpos = _startpos_d_ in
25643 let _endpos = _endpos_d_ in
25644 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25645 # 1967 "parser_cocci_menhir.mly"
25646 ( fun build_dots build_comma -> [(build_dots "..." d)] )
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 = _2;
25660 MenhirLib.EngineTypes.startp = _startpos__2_;
25661 MenhirLib.EngineTypes.endp = _endpos__2_;
25662 MenhirLib.EngineTypes.next = {
25663 MenhirLib.EngineTypes.state = _menhir_s;
25664 MenhirLib.EngineTypes.semv = d;
25665 MenhirLib.EngineTypes.startp = _startpos_d_;
25666 MenhirLib.EngineTypes.endp = _endpos_d_;
25667 MenhirLib.EngineTypes.next = _menhir_stack;
25668 };
25669 } = _menhir_stack in
25670 let _2 : (
25671 # 175 "parser_cocci_menhir.mly"
25672 (Data.clt)
25673 # 25674 "parser_cocci_menhir.ml"
25674 ) = Obj.magic _2 in
25675 let d : (
25676 # 141 "parser_cocci_menhir.mly"
25677 (Data.clt)
25678 # 25679 "parser_cocci_menhir.ml"
25679 ) = Obj.magic d in
25680 let _startpos = _startpos_d_ in
25681 let _endpos = _endpos__2_ in
25682 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25683 # 1969 "parser_cocci_menhir.mly"
25684 ( fun build_dots build_comma ->
25685 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
25686 # 25687 "parser_cocci_menhir.ml"
25687 in
25688 _menhir_env.MenhirLib.EngineTypes.stack <- {
25689 MenhirLib.EngineTypes.state = _menhir_s;
25690 MenhirLib.EngineTypes.semv = Obj.repr _v;
25691 MenhirLib.EngineTypes.startp = _startpos;
25692 MenhirLib.EngineTypes.endp = _endpos;
25693 MenhirLib.EngineTypes.next = _menhir_stack;
25694 });
25695 (fun _menhir_env ->
25696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25697 let {
25698 MenhirLib.EngineTypes.semv = r;
25699 MenhirLib.EngineTypes.startp = _startpos_r_;
25700 MenhirLib.EngineTypes.endp = _endpos_r_;
25701 MenhirLib.EngineTypes.next = {
25702 MenhirLib.EngineTypes.semv = _2;
25703 MenhirLib.EngineTypes.startp = _startpos__2_;
25704 MenhirLib.EngineTypes.endp = _endpos__2_;
25705 MenhirLib.EngineTypes.next = {
25706 MenhirLib.EngineTypes.state = _menhir_s;
25707 MenhirLib.EngineTypes.semv = d;
25708 MenhirLib.EngineTypes.startp = _startpos_d_;
25709 MenhirLib.EngineTypes.endp = _endpos_d_;
25710 MenhirLib.EngineTypes.next = _menhir_stack;
25711 };
25712 };
25713 } = _menhir_stack in
25714 let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
25715 let _2 : (
25716 # 175 "parser_cocci_menhir.mly"
25717 (Data.clt)
25718 # 25719 "parser_cocci_menhir.ml"
25719 ) = Obj.magic _2 in
25720 let d : (
25721 # 141 "parser_cocci_menhir.mly"
25722 (Data.clt)
25723 # 25724 "parser_cocci_menhir.ml"
25724 ) = Obj.magic d in
25725 let _startpos = _startpos_d_ in
25726 let _endpos = _endpos_r_ in
25727 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
25728 # 1972 "parser_cocci_menhir.mly"
25729 ( fun build_dots build_comma ->
25730 (build_dots "..." d)::
25731 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
25732 (r build_dots build_comma) )
25733 # 25734 "parser_cocci_menhir.ml"
25734 in
25735 _menhir_env.MenhirLib.EngineTypes.stack <- {
25736 MenhirLib.EngineTypes.state = _menhir_s;
25737 MenhirLib.EngineTypes.semv = Obj.repr _v;
25738 MenhirLib.EngineTypes.startp = _startpos;
25739 MenhirLib.EngineTypes.endp = _endpos;
25740 MenhirLib.EngineTypes.next = _menhir_stack;
25741 });
25742 (fun _menhir_env ->
25743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25744 let {
25745 MenhirLib.EngineTypes.semv = i;
25746 MenhirLib.EngineTypes.startp = _startpos_i_;
25747 MenhirLib.EngineTypes.endp = _endpos_i_;
25748 MenhirLib.EngineTypes.next = {
25749 MenhirLib.EngineTypes.state = _menhir_s;
25750 MenhirLib.EngineTypes.startp = _startpos__1_;
25751 MenhirLib.EngineTypes.endp = _endpos__1_;
25752 MenhirLib.EngineTypes.next = _menhir_stack;
25753 };
25754 } = _menhir_stack in
25755 let i : 'tv_ident_or_const = Obj.magic i in
25756 let _startpos = _startpos__1_ in
25757 let _endpos = _endpos_i_ in
25758 let _v : 'tv_not_ceq =
25759 # 1795 "parser_cocci_menhir.mly"
25760 ( (if !Data.in_iso
25761 then failwith "constraints not allowed in iso file");
25762 (if !Data.in_generating
25763 then failwith "constraints not allowed in a generated rule file");
25764 [i] )
25765 # 25766 "parser_cocci_menhir.ml"
25766 in
25767 _menhir_env.MenhirLib.EngineTypes.stack <- {
25768 MenhirLib.EngineTypes.state = _menhir_s;
25769 MenhirLib.EngineTypes.semv = Obj.repr _v;
25770 MenhirLib.EngineTypes.startp = _startpos;
25771 MenhirLib.EngineTypes.endp = _endpos;
25772 MenhirLib.EngineTypes.next = _menhir_stack;
25773 });
25774 (fun _menhir_env ->
25775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25776 let {
25777 MenhirLib.EngineTypes.startp = _startpos__4_;
25778 MenhirLib.EngineTypes.endp = _endpos__4_;
25779 MenhirLib.EngineTypes.next = {
25780 MenhirLib.EngineTypes.semv = l;
25781 MenhirLib.EngineTypes.startp = _startpos_l_;
25782 MenhirLib.EngineTypes.endp = _endpos_l_;
25783 MenhirLib.EngineTypes.next = {
25784 MenhirLib.EngineTypes.startp = _startpos__2_;
25785 MenhirLib.EngineTypes.endp = _endpos__2_;
25786 MenhirLib.EngineTypes.next = {
25787 MenhirLib.EngineTypes.state = _menhir_s;
25788 MenhirLib.EngineTypes.startp = _startpos__1_;
25789 MenhirLib.EngineTypes.endp = _endpos__1_;
25790 MenhirLib.EngineTypes.next = _menhir_stack;
25791 };
25792 };
25793 };
25794 } = _menhir_stack in
25795 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
25796 let _startpos = _startpos__1_ in
25797 let _endpos = _endpos__4_ in
25798 let _v : 'tv_not_ceq =
25799 # 1801 "parser_cocci_menhir.mly"
25800 ( (if !Data.in_iso
25801 then failwith "constraints not allowed in iso file");
25802 (if !Data.in_generating
25803 then failwith "constraints not allowed in a generated rule file");
25804 l )
25805 # 25806 "parser_cocci_menhir.ml"
25806 in
25807 _menhir_env.MenhirLib.EngineTypes.stack <- {
25808 MenhirLib.EngineTypes.state = _menhir_s;
25809 MenhirLib.EngineTypes.semv = Obj.repr _v;
25810 MenhirLib.EngineTypes.startp = _startpos;
25811 MenhirLib.EngineTypes.endp = _endpos;
25812 MenhirLib.EngineTypes.next = _menhir_stack;
25813 });
25814 (fun _menhir_env ->
25815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25816 let {
25817 MenhirLib.EngineTypes.state = _menhir_s;
25818 MenhirLib.EngineTypes.semv = ceq;
25819 MenhirLib.EngineTypes.startp = _startpos_ceq_;
25820 MenhirLib.EngineTypes.endp = _endpos_ceq_;
25821 MenhirLib.EngineTypes.next = _menhir_stack;
25822 } = _menhir_stack in
25823 let ceq : 'tv_not_ceq = Obj.magic ceq in
25824 let _startpos = _startpos_ceq_ in
25825 let _endpos = _endpos_ceq_ in
25826 let _v : 'tv_not_ceq_or_sub =
25827 # 1771 "parser_cocci_menhir.mly"
25828 (Ast0.NotExpCstrt ceq)
25829 # 25830 "parser_cocci_menhir.ml"
25830 in
25831 _menhir_env.MenhirLib.EngineTypes.stack <- {
25832 MenhirLib.EngineTypes.state = _menhir_s;
25833 MenhirLib.EngineTypes.semv = Obj.repr _v;
25834 MenhirLib.EngineTypes.startp = _startpos;
25835 MenhirLib.EngineTypes.endp = _endpos;
25836 MenhirLib.EngineTypes.next = _menhir_stack;
25837 });
25838 (fun _menhir_env ->
25839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25840 let {
25841 MenhirLib.EngineTypes.state = _menhir_s;
25842 MenhirLib.EngineTypes.semv = s;
25843 MenhirLib.EngineTypes.startp = _startpos_s_;
25844 MenhirLib.EngineTypes.endp = _endpos_s_;
25845 MenhirLib.EngineTypes.next = _menhir_stack;
25846 } = _menhir_stack in
25847 let s : 'tv_sub = Obj.magic s in
25848 let _startpos = _startpos_s_ in
25849 let _endpos = _endpos_s_ in
25850 let _v : 'tv_not_ceq_or_sub =
25851 # 1772 "parser_cocci_menhir.mly"
25852 (Ast0.SubExpCstrt s)
25853 # 25854 "parser_cocci_menhir.ml"
25854 in
25855 _menhir_env.MenhirLib.EngineTypes.stack <- {
25856 MenhirLib.EngineTypes.state = _menhir_s;
25857 MenhirLib.EngineTypes.semv = Obj.repr _v;
25858 MenhirLib.EngineTypes.startp = _startpos;
25859 MenhirLib.EngineTypes.endp = _endpos;
25860 MenhirLib.EngineTypes.next = _menhir_stack;
25861 });
25862 (fun _menhir_env ->
25863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25864 let {
25865 MenhirLib.EngineTypes.semv = i;
25866 MenhirLib.EngineTypes.startp = _startpos_i_;
25867 MenhirLib.EngineTypes.endp = _endpos_i_;
25868 MenhirLib.EngineTypes.next = {
25869 MenhirLib.EngineTypes.state = _menhir_s;
25870 MenhirLib.EngineTypes.startp = _startpos__1_;
25871 MenhirLib.EngineTypes.endp = _endpos__1_;
25872 MenhirLib.EngineTypes.next = _menhir_stack;
25873 };
25874 } = _menhir_stack in
25875 let i : 'tv_pure_ident = Obj.magic i in
25876 let _startpos = _startpos__1_ in
25877 let _endpos = _endpos_i_ in
25878 let _v : 'tv_not_eqe =
25879 # 1776 "parser_cocci_menhir.mly"
25880 ( (if !Data.in_iso
25881 then failwith "constraints not allowed in iso file");
25882 (if !Data.in_generating
25883 then failwith "constraints not allowed in a generated rule file");
25884 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
25885 )
25886 # 25887 "parser_cocci_menhir.ml"
25887 in
25888 _menhir_env.MenhirLib.EngineTypes.stack <- {
25889 MenhirLib.EngineTypes.state = _menhir_s;
25890 MenhirLib.EngineTypes.semv = Obj.repr _v;
25891 MenhirLib.EngineTypes.startp = _startpos;
25892 MenhirLib.EngineTypes.endp = _endpos;
25893 MenhirLib.EngineTypes.next = _menhir_stack;
25894 });
25895 (fun _menhir_env ->
25896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25897 let {
25898 MenhirLib.EngineTypes.startp = _startpos__4_;
25899 MenhirLib.EngineTypes.endp = _endpos__4_;
25900 MenhirLib.EngineTypes.next = {
25901 MenhirLib.EngineTypes.semv = l;
25902 MenhirLib.EngineTypes.startp = _startpos_l_;
25903 MenhirLib.EngineTypes.endp = _endpos_l_;
25904 MenhirLib.EngineTypes.next = {
25905 MenhirLib.EngineTypes.startp = _startpos__2_;
25906 MenhirLib.EngineTypes.endp = _endpos__2_;
25907 MenhirLib.EngineTypes.next = {
25908 MenhirLib.EngineTypes.state = _menhir_s;
25909 MenhirLib.EngineTypes.startp = _startpos__1_;
25910 MenhirLib.EngineTypes.endp = _endpos__1_;
25911 MenhirLib.EngineTypes.next = _menhir_stack;
25912 };
25913 };
25914 };
25915 } = _menhir_stack in
25916 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
25917 let _startpos = _startpos__1_ in
25918 let _endpos = _endpos__4_ in
25919 let _v : 'tv_not_eqe =
25920 # 1783 "parser_cocci_menhir.mly"
25921 ( (if !Data.in_iso
25922 then failwith "constraints not allowed in iso file");
25923 (if !Data.in_generating
25924 then failwith "constraints not allowed in a generated rule file");
25925 List.map
25926 (function i ->
25927 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
25928 l
25929 )
25930 # 25931 "parser_cocci_menhir.ml"
25931 in
25932 _menhir_env.MenhirLib.EngineTypes.stack <- {
25933 MenhirLib.EngineTypes.state = _menhir_s;
25934 MenhirLib.EngineTypes.semv = Obj.repr _v;
25935 MenhirLib.EngineTypes.startp = _startpos;
25936 MenhirLib.EngineTypes.endp = _endpos;
25937 MenhirLib.EngineTypes.next = _menhir_stack;
25938 });
25939 (fun _menhir_env ->
25940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25941 let {
25942 MenhirLib.EngineTypes.semv = i;
25943 MenhirLib.EngineTypes.startp = _startpos_i_;
25944 MenhirLib.EngineTypes.endp = _endpos_i_;
25945 MenhirLib.EngineTypes.next = {
25946 MenhirLib.EngineTypes.state = _menhir_s;
25947 MenhirLib.EngineTypes.startp = _startpos__1_;
25948 MenhirLib.EngineTypes.endp = _endpos__1_;
25949 MenhirLib.EngineTypes.next = _menhir_stack;
25950 };
25951 } = _menhir_stack in
25952 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
25953 let _startpos = _startpos__1_ in
25954 let _endpos = _endpos_i_ in
25955 let _v : 'tv_not_eqid =
25956 # 1733 "parser_cocci_menhir.mly"
25957 ( (if !Data.in_iso
25958 then failwith "constraints not allowed in iso file");
25959 (if !Data.in_generating
25960 (* pb: constraints not stored with metavars; too lazy to search for
25961 them in the pattern *)
25962 then failwith "constraints not allowed in a generated rule file");
25963 (match i with
25964 (Some rn,id) ->
25965 let i =
25966 P.check_inherited_constraint i
25967 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
25968 Ast.IdNegIdSet([],[i])
25969 | (None,i) -> Ast.IdNegIdSet([i],[])) )
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.startp = _startpos__4_;
25983 MenhirLib.EngineTypes.endp = _endpos__4_;
25984 MenhirLib.EngineTypes.next = {
25985 MenhirLib.EngineTypes.semv = l;
25986 MenhirLib.EngineTypes.startp = _startpos_l_;
25987 MenhirLib.EngineTypes.endp = _endpos_l_;
25988 MenhirLib.EngineTypes.next = {
25989 MenhirLib.EngineTypes.startp = _startpos__2_;
25990 MenhirLib.EngineTypes.endp = _endpos__2_;
25991 MenhirLib.EngineTypes.next = {
25992 MenhirLib.EngineTypes.state = _menhir_s;
25993 MenhirLib.EngineTypes.startp = _startpos__1_;
25994 MenhirLib.EngineTypes.endp = _endpos__1_;
25995 MenhirLib.EngineTypes.next = _menhir_stack;
25996 };
25997 };
25998 };
25999 } = _menhir_stack in
26000 let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
26001 let _startpos = _startpos__1_ in
26002 let _endpos = _endpos__4_ in
26003 let _v : 'tv_not_eqid =
26004 # 1747 "parser_cocci_menhir.mly"
26005 ( (if !Data.in_iso
26006 then failwith "constraints not allowed in iso file");
26007 (if !Data.in_generating
26008 then failwith "constraints not allowed in a generated rule file");
26009 let (str,meta) =
26010 List.fold_left
26011 (function (str,meta) ->
26012 function
26013 (Some rn,id) as i ->
26014 let i =
26015 P.check_inherited_constraint i
26016 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
26017 (str,i::meta)
26018 | (None,i) -> (i::str,meta))
26019 ([],[]) l in
26020 Ast.IdNegIdSet(str,meta)
26021 )
26022 # 26023 "parser_cocci_menhir.ml"
26023 in
26024 _menhir_env.MenhirLib.EngineTypes.stack <- {
26025 MenhirLib.EngineTypes.state = _menhir_s;
26026 MenhirLib.EngineTypes.semv = Obj.repr _v;
26027 MenhirLib.EngineTypes.startp = _startpos;
26028 MenhirLib.EngineTypes.endp = _endpos;
26029 MenhirLib.EngineTypes.next = _menhir_stack;
26030 });
26031 (fun _menhir_env ->
26032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26033 let {
26034 MenhirLib.EngineTypes.semv = i;
26035 MenhirLib.EngineTypes.startp = _startpos_i_;
26036 MenhirLib.EngineTypes.endp = _endpos_i_;
26037 MenhirLib.EngineTypes.next = {
26038 MenhirLib.EngineTypes.state = _menhir_s;
26039 MenhirLib.EngineTypes.startp = _startpos__1_;
26040 MenhirLib.EngineTypes.endp = _endpos__1_;
26041 MenhirLib.EngineTypes.next = _menhir_stack;
26042 };
26043 } = _menhir_stack in
26044 let i : 'tv_meta_ident = Obj.magic i in
26045 let _startpos = _startpos__1_ in
26046 let _endpos = _endpos_i_ in
26047 let _v : 'tv_not_pos =
26048 # 1839 "parser_cocci_menhir.mly"
26049 ( (if !Data.in_iso
26050 then failwith "constraints not allowed in iso file");
26051 (if !Data.in_generating
26052 then failwith "constraints not allowed in a generated rule file");
26053 let i =
26054 P.check_inherited_constraint i
26055 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
26056 [i] )
26057 # 26058 "parser_cocci_menhir.ml"
26058 in
26059 _menhir_env.MenhirLib.EngineTypes.stack <- {
26060 MenhirLib.EngineTypes.state = _menhir_s;
26061 MenhirLib.EngineTypes.semv = Obj.repr _v;
26062 MenhirLib.EngineTypes.startp = _startpos;
26063 MenhirLib.EngineTypes.endp = _endpos;
26064 MenhirLib.EngineTypes.next = _menhir_stack;
26065 });
26066 (fun _menhir_env ->
26067 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26068 let {
26069 MenhirLib.EngineTypes.startp = _startpos__4_;
26070 MenhirLib.EngineTypes.endp = _endpos__4_;
26071 MenhirLib.EngineTypes.next = {
26072 MenhirLib.EngineTypes.semv = l;
26073 MenhirLib.EngineTypes.startp = _startpos_l_;
26074 MenhirLib.EngineTypes.endp = _endpos_l_;
26075 MenhirLib.EngineTypes.next = {
26076 MenhirLib.EngineTypes.startp = _startpos__2_;
26077 MenhirLib.EngineTypes.endp = _endpos__2_;
26078 MenhirLib.EngineTypes.next = {
26079 MenhirLib.EngineTypes.state = _menhir_s;
26080 MenhirLib.EngineTypes.startp = _startpos__1_;
26081 MenhirLib.EngineTypes.endp = _endpos__1_;
26082 MenhirLib.EngineTypes.next = _menhir_stack;
26083 };
26084 };
26085 };
26086 } = _menhir_stack in
26087 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
26088 let _startpos = _startpos__1_ in
26089 let _endpos = _endpos__4_ in
26090 let _v : 'tv_not_pos =
26091 # 1848 "parser_cocci_menhir.mly"
26092 ( (if !Data.in_iso
26093 then failwith "constraints not allowed in iso file");
26094 (if !Data.in_generating
26095 then failwith "constraints not allowed in a generated rule file");
26096 List.map
26097 (function i ->
26098 P.check_inherited_constraint i
26099 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
26100 l )
26101 # 26102 "parser_cocci_menhir.ml"
26102 in
26103 _menhir_env.MenhirLib.EngineTypes.stack <- {
26104 MenhirLib.EngineTypes.state = _menhir_s;
26105 MenhirLib.EngineTypes.semv = Obj.repr _v;
26106 MenhirLib.EngineTypes.startp = _startpos;
26107 MenhirLib.EngineTypes.endp = _endpos;
26108 MenhirLib.EngineTypes.next = _menhir_stack;
26109 });
26110 (fun _menhir_env ->
26111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26112 let {
26113 MenhirLib.EngineTypes.state = _menhir_s;
26114 MenhirLib.EngineTypes.semv = _1;
26115 MenhirLib.EngineTypes.startp = _startpos__1_;
26116 MenhirLib.EngineTypes.endp = _endpos__1_;
26117 MenhirLib.EngineTypes.next = _menhir_stack;
26118 } = _menhir_stack in
26119 let _1 : 'tv_decl = Obj.magic _1 in
26120 let _startpos = _startpos__1_ in
26121 let _endpos = _endpos__1_ in
26122 let _v : 'tv_one_dec_decl_ =
26123 # 1933 "parser_cocci_menhir.mly"
26124 ( _1 )
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.state = _menhir_s;
26138 MenhirLib.EngineTypes.semv = _1;
26139 MenhirLib.EngineTypes.startp = _startpos__1_;
26140 MenhirLib.EngineTypes.endp = _endpos__1_;
26141 MenhirLib.EngineTypes.next = _menhir_stack;
26142 } = _menhir_stack in
26143 let _1 : (
26144 # 133 "parser_cocci_menhir.mly"
26145 (Parse_aux.list_info)
26146 # 26147 "parser_cocci_menhir.ml"
26147 ) = Obj.magic _1 in
26148 let _startpos = _startpos__1_ in
26149 let _endpos = _endpos__1_ in
26150 let _v : 'tv_one_dec_decl_ =
26151 # 1935 "parser_cocci_menhir.mly"
26152 ( let (nm,lenname,pure,clt) = _1 in
26153 let nm = P.clt2mcode nm clt in
26154 let lenname =
26155 match lenname with
26156 Ast.AnyLen -> Ast0.AnyListLen
26157 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
26158 | Ast.CstLen n -> Ast0.CstListLen n in
26159 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
26160 # 26161 "parser_cocci_menhir.ml"
26161 in
26162 _menhir_env.MenhirLib.EngineTypes.stack <- {
26163 MenhirLib.EngineTypes.state = _menhir_s;
26164 MenhirLib.EngineTypes.semv = Obj.repr _v;
26165 MenhirLib.EngineTypes.startp = _startpos;
26166 MenhirLib.EngineTypes.endp = _endpos;
26167 MenhirLib.EngineTypes.next = _menhir_stack;
26168 });
26169 (fun _menhir_env ->
26170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26171 let {
26172 MenhirLib.EngineTypes.state = _menhir_s;
26173 MenhirLib.EngineTypes.semv = _1;
26174 MenhirLib.EngineTypes.startp = _startpos__1_;
26175 MenhirLib.EngineTypes.endp = _endpos__1_;
26176 MenhirLib.EngineTypes.next = _menhir_stack;
26177 } = _menhir_stack in
26178 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
26179 let _startpos = _startpos__1_ in
26180 let _endpos = _endpos__1_ in
26181 let _v : 'tv_one_dec_name_opt_decl_ =
26182 # 1933 "parser_cocci_menhir.mly"
26183 ( _1 )
26184 # 26185 "parser_cocci_menhir.ml"
26185 in
26186 _menhir_env.MenhirLib.EngineTypes.stack <- {
26187 MenhirLib.EngineTypes.state = _menhir_s;
26188 MenhirLib.EngineTypes.semv = Obj.repr _v;
26189 MenhirLib.EngineTypes.startp = _startpos;
26190 MenhirLib.EngineTypes.endp = _endpos;
26191 MenhirLib.EngineTypes.next = _menhir_stack;
26192 });
26193 (fun _menhir_env ->
26194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26195 let {
26196 MenhirLib.EngineTypes.state = _menhir_s;
26197 MenhirLib.EngineTypes.semv = _1;
26198 MenhirLib.EngineTypes.startp = _startpos__1_;
26199 MenhirLib.EngineTypes.endp = _endpos__1_;
26200 MenhirLib.EngineTypes.next = _menhir_stack;
26201 } = _menhir_stack in
26202 let _1 : (
26203 # 133 "parser_cocci_menhir.mly"
26204 (Parse_aux.list_info)
26205 # 26206 "parser_cocci_menhir.ml"
26206 ) = Obj.magic _1 in
26207 let _startpos = _startpos__1_ in
26208 let _endpos = _endpos__1_ in
26209 let _v : 'tv_one_dec_name_opt_decl_ =
26210 # 1935 "parser_cocci_menhir.mly"
26211 ( let (nm,lenname,pure,clt) = _1 in
26212 let nm = P.clt2mcode nm clt in
26213 let lenname =
26214 match lenname with
26215 Ast.AnyLen -> Ast0.AnyListLen
26216 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
26217 | Ast.CstLen n -> Ast0.CstListLen n in
26218 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
26219 # 26220 "parser_cocci_menhir.ml"
26220 in
26221 _menhir_env.MenhirLib.EngineTypes.stack <- {
26222 MenhirLib.EngineTypes.state = _menhir_s;
26223 MenhirLib.EngineTypes.semv = Obj.repr _v;
26224 MenhirLib.EngineTypes.startp = _startpos;
26225 MenhirLib.EngineTypes.endp = _endpos;
26226 MenhirLib.EngineTypes.next = _menhir_stack;
26227 });
26228 (fun _menhir_env ->
26229 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26230 let {
26231 MenhirLib.EngineTypes.semv = pv;
26232 MenhirLib.EngineTypes.startp = _startpos_pv_;
26233 MenhirLib.EngineTypes.endp = _endpos_pv_;
26234 MenhirLib.EngineTypes.next = {
26235 MenhirLib.EngineTypes.state = _menhir_s;
26236 MenhirLib.EngineTypes.semv = t;
26237 MenhirLib.EngineTypes.startp = _startpos_t_;
26238 MenhirLib.EngineTypes.endp = _endpos_t_;
26239 MenhirLib.EngineTypes.next = _menhir_stack;
26240 };
26241 } = _menhir_stack in
26242 let pv : (
26243 # 175 "parser_cocci_menhir.mly"
26244 (Data.clt)
26245 # 26246 "parser_cocci_menhir.ml"
26246 ) = Obj.magic pv in
26247 let t : 'tv_ctype = Obj.magic t in
26248 let _startpos = _startpos_t_ in
26249 let _endpos = _endpos_pv_ in
26250 let _v : 'tv_one_decl_var =
26251 # 1204 "parser_cocci_menhir.mly"
26252 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
26253 # 26254 "parser_cocci_menhir.ml"
26254 in
26255 _menhir_env.MenhirLib.EngineTypes.stack <- {
26256 MenhirLib.EngineTypes.state = _menhir_s;
26257 MenhirLib.EngineTypes.semv = Obj.repr _v;
26258 MenhirLib.EngineTypes.startp = _startpos;
26259 MenhirLib.EngineTypes.endp = _endpos;
26260 MenhirLib.EngineTypes.next = _menhir_stack;
26261 });
26262 (fun _menhir_env ->
26263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26264 let {
26265 MenhirLib.EngineTypes.state = _menhir_s;
26266 MenhirLib.EngineTypes.semv = _1;
26267 MenhirLib.EngineTypes.startp = _startpos__1_;
26268 MenhirLib.EngineTypes.endp = _endpos__1_;
26269 MenhirLib.EngineTypes.next = _menhir_stack;
26270 } = _menhir_stack in
26271 let _1 : (
26272 # 132 "parser_cocci_menhir.mly"
26273 (Parse_aux.info)
26274 # 26275 "parser_cocci_menhir.ml"
26275 ) = Obj.magic _1 in
26276 let _startpos = _startpos__1_ in
26277 let _endpos = _endpos__1_ in
26278 let _v : 'tv_one_decl_var =
26279 # 1205 "parser_cocci_menhir.mly"
26280 ( P.meta_decl _1 )
26281 # 26282 "parser_cocci_menhir.ml"
26282 in
26283 _menhir_env.MenhirLib.EngineTypes.stack <- {
26284 MenhirLib.EngineTypes.state = _menhir_s;
26285 MenhirLib.EngineTypes.semv = Obj.repr _v;
26286 MenhirLib.EngineTypes.startp = _startpos;
26287 MenhirLib.EngineTypes.endp = _endpos;
26288 MenhirLib.EngineTypes.next = _menhir_stack;
26289 });
26290 (fun _menhir_env ->
26291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26292 let {
26293 MenhirLib.EngineTypes.semv = pv;
26294 MenhirLib.EngineTypes.startp = _startpos_pv_;
26295 MenhirLib.EngineTypes.endp = _endpos_pv_;
26296 MenhirLib.EngineTypes.next = {
26297 MenhirLib.EngineTypes.semv = d;
26298 MenhirLib.EngineTypes.startp = _startpos_d_;
26299 MenhirLib.EngineTypes.endp = _endpos_d_;
26300 MenhirLib.EngineTypes.next = {
26301 MenhirLib.EngineTypes.state = _menhir_s;
26302 MenhirLib.EngineTypes.semv = t;
26303 MenhirLib.EngineTypes.startp = _startpos_t_;
26304 MenhirLib.EngineTypes.endp = _endpos_t_;
26305 MenhirLib.EngineTypes.next = _menhir_stack;
26306 };
26307 };
26308 } = _menhir_stack in
26309 let pv : (
26310 # 175 "parser_cocci_menhir.mly"
26311 (Data.clt)
26312 # 26313 "parser_cocci_menhir.ml"
26313 ) = Obj.magic pv in
26314 let d : 'tv_d_ident = Obj.magic d in
26315 let t : 'tv_ctype = Obj.magic t in
26316 let _startpos = _startpos_t_ in
26317 let _endpos = _endpos_pv_ in
26318 let _v : 'tv_one_decl_var = let s =
26319
26320 # 39 "standard.mly"
26321 ( None )
26322 # 26323 "parser_cocci_menhir.ml"
26323
26324 in
26325
26326 # 1207 "parser_cocci_menhir.mly"
26327 ( let (id,fn) = d in
26328 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
26329 # 26330 "parser_cocci_menhir.ml"
26330 in
26331 _menhir_env.MenhirLib.EngineTypes.stack <- {
26332 MenhirLib.EngineTypes.state = _menhir_s;
26333 MenhirLib.EngineTypes.semv = Obj.repr _v;
26334 MenhirLib.EngineTypes.startp = _startpos;
26335 MenhirLib.EngineTypes.endp = _endpos;
26336 MenhirLib.EngineTypes.next = _menhir_stack;
26337 });
26338 (fun _menhir_env ->
26339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26340 let {
26341 MenhirLib.EngineTypes.semv = pv;
26342 MenhirLib.EngineTypes.startp = _startpos_pv_;
26343 MenhirLib.EngineTypes.endp = _endpos_pv_;
26344 MenhirLib.EngineTypes.next = {
26345 MenhirLib.EngineTypes.semv = d;
26346 MenhirLib.EngineTypes.startp = _startpos_d_;
26347 MenhirLib.EngineTypes.endp = _endpos_d_;
26348 MenhirLib.EngineTypes.next = {
26349 MenhirLib.EngineTypes.semv = t;
26350 MenhirLib.EngineTypes.startp = _startpos_t_;
26351 MenhirLib.EngineTypes.endp = _endpos_t_;
26352 MenhirLib.EngineTypes.next = {
26353 MenhirLib.EngineTypes.state = _menhir_s;
26354 MenhirLib.EngineTypes.semv = x0;
26355 MenhirLib.EngineTypes.startp = _startpos_x0_;
26356 MenhirLib.EngineTypes.endp = _endpos_x0_;
26357 MenhirLib.EngineTypes.next = _menhir_stack;
26358 };
26359 };
26360 };
26361 } = _menhir_stack in
26362 let pv : (
26363 # 175 "parser_cocci_menhir.mly"
26364 (Data.clt)
26365 # 26366 "parser_cocci_menhir.ml"
26366 ) = Obj.magic pv in
26367 let d : 'tv_d_ident = Obj.magic d in
26368 let t : 'tv_ctype = Obj.magic t in
26369 let x0 : 'tv_storage = Obj.magic x0 in
26370 let _startpos = _startpos_x0_ in
26371 let _endpos = _endpos_pv_ in
26372 let _v : 'tv_one_decl_var = let s =
26373 let x = x0 in
26374
26375 # 41 "standard.mly"
26376 ( Some x )
26377 # 26378 "parser_cocci_menhir.ml"
26378
26379 in
26380
26381 # 1207 "parser_cocci_menhir.mly"
26382 ( let (id,fn) = d in
26383 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
26384 # 26385 "parser_cocci_menhir.ml"
26385 in
26386 _menhir_env.MenhirLib.EngineTypes.stack <- {
26387 MenhirLib.EngineTypes.state = _menhir_s;
26388 MenhirLib.EngineTypes.semv = Obj.repr _v;
26389 MenhirLib.EngineTypes.startp = _startpos;
26390 MenhirLib.EngineTypes.endp = _endpos;
26391 MenhirLib.EngineTypes.next = _menhir_stack;
26392 });
26393 (fun _menhir_env ->
26394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26395 let {
26396 MenhirLib.EngineTypes.state = _menhir_s;
26397 MenhirLib.EngineTypes.semv = f;
26398 MenhirLib.EngineTypes.startp = _startpos_f_;
26399 MenhirLib.EngineTypes.endp = _endpos_f_;
26400 MenhirLib.EngineTypes.next = _menhir_stack;
26401 } = _menhir_stack in
26402 let f : 'tv_funproto = Obj.magic f in
26403 let _startpos = _startpos_f_ in
26404 let _endpos = _endpos_f_ in
26405 let _v : 'tv_one_decl_var =
26406 # 1209 "parser_cocci_menhir.mly"
26407 ( f )
26408 # 26409 "parser_cocci_menhir.ml"
26409 in
26410 _menhir_env.MenhirLib.EngineTypes.stack <- {
26411 MenhirLib.EngineTypes.state = _menhir_s;
26412 MenhirLib.EngineTypes.semv = Obj.repr _v;
26413 MenhirLib.EngineTypes.startp = _startpos;
26414 MenhirLib.EngineTypes.endp = _endpos;
26415 MenhirLib.EngineTypes.next = _menhir_stack;
26416 });
26417 (fun _menhir_env ->
26418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26419 let {
26420 MenhirLib.EngineTypes.semv = pv;
26421 MenhirLib.EngineTypes.startp = _startpos_pv_;
26422 MenhirLib.EngineTypes.endp = _endpos_pv_;
26423 MenhirLib.EngineTypes.next = {
26424 MenhirLib.EngineTypes.semv = e;
26425 MenhirLib.EngineTypes.startp = _startpos_e_;
26426 MenhirLib.EngineTypes.endp = _endpos_e_;
26427 MenhirLib.EngineTypes.next = {
26428 MenhirLib.EngineTypes.semv = q;
26429 MenhirLib.EngineTypes.startp = _startpos_q_;
26430 MenhirLib.EngineTypes.endp = _endpos_q_;
26431 MenhirLib.EngineTypes.next = {
26432 MenhirLib.EngineTypes.semv = d;
26433 MenhirLib.EngineTypes.startp = _startpos_d_;
26434 MenhirLib.EngineTypes.endp = _endpos_d_;
26435 MenhirLib.EngineTypes.next = {
26436 MenhirLib.EngineTypes.state = _menhir_s;
26437 MenhirLib.EngineTypes.semv = t;
26438 MenhirLib.EngineTypes.startp = _startpos_t_;
26439 MenhirLib.EngineTypes.endp = _endpos_t_;
26440 MenhirLib.EngineTypes.next = _menhir_stack;
26441 };
26442 };
26443 };
26444 };
26445 } = _menhir_stack in
26446 let pv : (
26447 # 175 "parser_cocci_menhir.mly"
26448 (Data.clt)
26449 # 26450 "parser_cocci_menhir.ml"
26450 ) = Obj.magic pv in
26451 let e : 'tv_initialize = Obj.magic e in
26452 let q : (
26453 # 175 "parser_cocci_menhir.mly"
26454 (Data.clt)
26455 # 26456 "parser_cocci_menhir.ml"
26456 ) = Obj.magic q in
26457 let d : 'tv_d_ident = Obj.magic d in
26458 let t : 'tv_ctype = Obj.magic t in
26459 let _startpos = _startpos_t_ in
26460 let _endpos = _endpos_pv_ in
26461 let _v : 'tv_one_decl_var = let s =
26462
26463 # 39 "standard.mly"
26464 ( None )
26465 # 26466 "parser_cocci_menhir.ml"
26466
26467 in
26468
26469 # 1211 "parser_cocci_menhir.mly"
26470 ( let (id,fn) = d in
26471 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
26472 # 26473 "parser_cocci_menhir.ml"
26473 in
26474 _menhir_env.MenhirLib.EngineTypes.stack <- {
26475 MenhirLib.EngineTypes.state = _menhir_s;
26476 MenhirLib.EngineTypes.semv = Obj.repr _v;
26477 MenhirLib.EngineTypes.startp = _startpos;
26478 MenhirLib.EngineTypes.endp = _endpos;
26479 MenhirLib.EngineTypes.next = _menhir_stack;
26480 });
26481 (fun _menhir_env ->
26482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26483 let {
26484 MenhirLib.EngineTypes.semv = pv;
26485 MenhirLib.EngineTypes.startp = _startpos_pv_;
26486 MenhirLib.EngineTypes.endp = _endpos_pv_;
26487 MenhirLib.EngineTypes.next = {
26488 MenhirLib.EngineTypes.semv = e;
26489 MenhirLib.EngineTypes.startp = _startpos_e_;
26490 MenhirLib.EngineTypes.endp = _endpos_e_;
26491 MenhirLib.EngineTypes.next = {
26492 MenhirLib.EngineTypes.semv = q;
26493 MenhirLib.EngineTypes.startp = _startpos_q_;
26494 MenhirLib.EngineTypes.endp = _endpos_q_;
26495 MenhirLib.EngineTypes.next = {
26496 MenhirLib.EngineTypes.semv = d;
26497 MenhirLib.EngineTypes.startp = _startpos_d_;
26498 MenhirLib.EngineTypes.endp = _endpos_d_;
26499 MenhirLib.EngineTypes.next = {
26500 MenhirLib.EngineTypes.semv = t;
26501 MenhirLib.EngineTypes.startp = _startpos_t_;
26502 MenhirLib.EngineTypes.endp = _endpos_t_;
26503 MenhirLib.EngineTypes.next = {
26504 MenhirLib.EngineTypes.state = _menhir_s;
26505 MenhirLib.EngineTypes.semv = x0;
26506 MenhirLib.EngineTypes.startp = _startpos_x0_;
26507 MenhirLib.EngineTypes.endp = _endpos_x0_;
26508 MenhirLib.EngineTypes.next = _menhir_stack;
26509 };
26510 };
26511 };
26512 };
26513 };
26514 } = _menhir_stack in
26515 let pv : (
26516 # 175 "parser_cocci_menhir.mly"
26517 (Data.clt)
26518 # 26519 "parser_cocci_menhir.ml"
26519 ) = Obj.magic pv in
26520 let e : 'tv_initialize = Obj.magic e in
26521 let q : (
26522 # 175 "parser_cocci_menhir.mly"
26523 (Data.clt)
26524 # 26525 "parser_cocci_menhir.ml"
26525 ) = Obj.magic q in
26526 let d : 'tv_d_ident = Obj.magic d in
26527 let t : 'tv_ctype = Obj.magic t in
26528 let x0 : 'tv_storage = Obj.magic x0 in
26529 let _startpos = _startpos_x0_ in
26530 let _endpos = _endpos_pv_ in
26531 let _v : 'tv_one_decl_var = let s =
26532 let x = x0 in
26533
26534 # 41 "standard.mly"
26535 ( Some x )
26536 # 26537 "parser_cocci_menhir.ml"
26537
26538 in
26539
26540 # 1211 "parser_cocci_menhir.mly"
26541 ( let (id,fn) = d in
26542 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
26543 # 26544 "parser_cocci_menhir.ml"
26544 in
26545 _menhir_env.MenhirLib.EngineTypes.stack <- {
26546 MenhirLib.EngineTypes.state = _menhir_s;
26547 MenhirLib.EngineTypes.semv = Obj.repr _v;
26548 MenhirLib.EngineTypes.startp = _startpos;
26549 MenhirLib.EngineTypes.endp = _endpos;
26550 MenhirLib.EngineTypes.next = _menhir_stack;
26551 });
26552 (fun _menhir_env ->
26553 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26554 let {
26555 MenhirLib.EngineTypes.semv = pv;
26556 MenhirLib.EngineTypes.startp = _startpos_pv_;
26557 MenhirLib.EngineTypes.endp = _endpos_pv_;
26558 MenhirLib.EngineTypes.next = {
26559 MenhirLib.EngineTypes.semv = d;
26560 MenhirLib.EngineTypes.startp = _startpos_d_;
26561 MenhirLib.EngineTypes.endp = _endpos_d_;
26562 MenhirLib.EngineTypes.next = {
26563 MenhirLib.EngineTypes.state = _menhir_s;
26564 MenhirLib.EngineTypes.semv = i;
26565 MenhirLib.EngineTypes.startp = _startpos_i_;
26566 MenhirLib.EngineTypes.endp = _endpos_i_;
26567 MenhirLib.EngineTypes.next = _menhir_stack;
26568 };
26569 };
26570 } = _menhir_stack in
26571 let pv : (
26572 # 175 "parser_cocci_menhir.mly"
26573 (Data.clt)
26574 # 26575 "parser_cocci_menhir.ml"
26575 ) = Obj.magic pv in
26576 let d : 'tv_d_ident = Obj.magic d in
26577 let i : 'tv_pure_ident = Obj.magic i in
26578 let _startpos = _startpos_i_ in
26579 let _endpos = _endpos_pv_ in
26580 let _v : 'tv_one_decl_var = let cv =
26581
26582 # 39 "standard.mly"
26583 ( None )
26584 # 26585 "parser_cocci_menhir.ml"
26585
26586 in
26587 let s =
26588
26589 # 39 "standard.mly"
26590 ( None )
26591 # 26592 "parser_cocci_menhir.ml"
26592
26593 in
26594
26595 # 1216 "parser_cocci_menhir.mly"
26596 ( let (id,fn) = d in
26597 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26598 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
26599 # 26600 "parser_cocci_menhir.ml"
26600 in
26601 _menhir_env.MenhirLib.EngineTypes.stack <- {
26602 MenhirLib.EngineTypes.state = _menhir_s;
26603 MenhirLib.EngineTypes.semv = Obj.repr _v;
26604 MenhirLib.EngineTypes.startp = _startpos;
26605 MenhirLib.EngineTypes.endp = _endpos;
26606 MenhirLib.EngineTypes.next = _menhir_stack;
26607 });
26608 (fun _menhir_env ->
26609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26610 let {
26611 MenhirLib.EngineTypes.semv = pv;
26612 MenhirLib.EngineTypes.startp = _startpos_pv_;
26613 MenhirLib.EngineTypes.endp = _endpos_pv_;
26614 MenhirLib.EngineTypes.next = {
26615 MenhirLib.EngineTypes.semv = d;
26616 MenhirLib.EngineTypes.startp = _startpos_d_;
26617 MenhirLib.EngineTypes.endp = _endpos_d_;
26618 MenhirLib.EngineTypes.next = {
26619 MenhirLib.EngineTypes.semv = i;
26620 MenhirLib.EngineTypes.startp = _startpos_i_;
26621 MenhirLib.EngineTypes.endp = _endpos_i_;
26622 MenhirLib.EngineTypes.next = {
26623 MenhirLib.EngineTypes.state = _menhir_s;
26624 MenhirLib.EngineTypes.semv = x0;
26625 MenhirLib.EngineTypes.startp = _startpos_x0_;
26626 MenhirLib.EngineTypes.endp = _endpos_x0_;
26627 MenhirLib.EngineTypes.next = _menhir_stack;
26628 };
26629 };
26630 };
26631 } = _menhir_stack in
26632 let pv : (
26633 # 175 "parser_cocci_menhir.mly"
26634 (Data.clt)
26635 # 26636 "parser_cocci_menhir.ml"
26636 ) = Obj.magic pv in
26637 let d : 'tv_d_ident = Obj.magic d in
26638 let i : 'tv_pure_ident = Obj.magic i in
26639 let x0 : 'tv_const_vol = Obj.magic x0 in
26640 let _startpos = _startpos_x0_ in
26641 let _endpos = _endpos_pv_ in
26642 let _v : 'tv_one_decl_var = let cv =
26643 let x = x0 in
26644
26645 # 41 "standard.mly"
26646 ( Some x )
26647 # 26648 "parser_cocci_menhir.ml"
26648
26649 in
26650 let s =
26651
26652 # 39 "standard.mly"
26653 ( None )
26654 # 26655 "parser_cocci_menhir.ml"
26655
26656 in
26657
26658 # 1216 "parser_cocci_menhir.mly"
26659 ( let (id,fn) = d in
26660 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26661 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
26662 # 26663 "parser_cocci_menhir.ml"
26663 in
26664 _menhir_env.MenhirLib.EngineTypes.stack <- {
26665 MenhirLib.EngineTypes.state = _menhir_s;
26666 MenhirLib.EngineTypes.semv = Obj.repr _v;
26667 MenhirLib.EngineTypes.startp = _startpos;
26668 MenhirLib.EngineTypes.endp = _endpos;
26669 MenhirLib.EngineTypes.next = _menhir_stack;
26670 });
26671 (fun _menhir_env ->
26672 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26673 let {
26674 MenhirLib.EngineTypes.semv = pv;
26675 MenhirLib.EngineTypes.startp = _startpos_pv_;
26676 MenhirLib.EngineTypes.endp = _endpos_pv_;
26677 MenhirLib.EngineTypes.next = {
26678 MenhirLib.EngineTypes.semv = d;
26679 MenhirLib.EngineTypes.startp = _startpos_d_;
26680 MenhirLib.EngineTypes.endp = _endpos_d_;
26681 MenhirLib.EngineTypes.next = {
26682 MenhirLib.EngineTypes.semv = i;
26683 MenhirLib.EngineTypes.startp = _startpos_i_;
26684 MenhirLib.EngineTypes.endp = _endpos_i_;
26685 MenhirLib.EngineTypes.next = {
26686 MenhirLib.EngineTypes.state = _menhir_s;
26687 MenhirLib.EngineTypes.semv = x0;
26688 MenhirLib.EngineTypes.startp = _startpos_x0_;
26689 MenhirLib.EngineTypes.endp = _endpos_x0_;
26690 MenhirLib.EngineTypes.next = _menhir_stack;
26691 };
26692 };
26693 };
26694 } = _menhir_stack in
26695 let pv : (
26696 # 175 "parser_cocci_menhir.mly"
26697 (Data.clt)
26698 # 26699 "parser_cocci_menhir.ml"
26699 ) = Obj.magic pv in
26700 let d : 'tv_d_ident = Obj.magic d in
26701 let i : 'tv_pure_ident = Obj.magic i in
26702 let x0 : 'tv_storage = Obj.magic x0 in
26703 let _startpos = _startpos_x0_ in
26704 let _endpos = _endpos_pv_ in
26705 let _v : 'tv_one_decl_var = let cv =
26706
26707 # 39 "standard.mly"
26708 ( None )
26709 # 26710 "parser_cocci_menhir.ml"
26710
26711 in
26712 let s =
26713 let x = x0 in
26714
26715 # 41 "standard.mly"
26716 ( Some x )
26717 # 26718 "parser_cocci_menhir.ml"
26718
26719 in
26720
26721 # 1216 "parser_cocci_menhir.mly"
26722 ( let (id,fn) = d in
26723 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26724 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
26725 # 26726 "parser_cocci_menhir.ml"
26726 in
26727 _menhir_env.MenhirLib.EngineTypes.stack <- {
26728 MenhirLib.EngineTypes.state = _menhir_s;
26729 MenhirLib.EngineTypes.semv = Obj.repr _v;
26730 MenhirLib.EngineTypes.startp = _startpos;
26731 MenhirLib.EngineTypes.endp = _endpos;
26732 MenhirLib.EngineTypes.next = _menhir_stack;
26733 });
26734 (fun _menhir_env ->
26735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26736 let {
26737 MenhirLib.EngineTypes.semv = pv;
26738 MenhirLib.EngineTypes.startp = _startpos_pv_;
26739 MenhirLib.EngineTypes.endp = _endpos_pv_;
26740 MenhirLib.EngineTypes.next = {
26741 MenhirLib.EngineTypes.semv = d;
26742 MenhirLib.EngineTypes.startp = _startpos_d_;
26743 MenhirLib.EngineTypes.endp = _endpos_d_;
26744 MenhirLib.EngineTypes.next = {
26745 MenhirLib.EngineTypes.semv = i;
26746 MenhirLib.EngineTypes.startp = _startpos_i_;
26747 MenhirLib.EngineTypes.endp = _endpos_i_;
26748 MenhirLib.EngineTypes.next = {
26749 MenhirLib.EngineTypes.semv = x1;
26750 MenhirLib.EngineTypes.startp = _startpos_x1_;
26751 MenhirLib.EngineTypes.endp = _endpos_x1_;
26752 MenhirLib.EngineTypes.next = {
26753 MenhirLib.EngineTypes.state = _menhir_s;
26754 MenhirLib.EngineTypes.semv = x0;
26755 MenhirLib.EngineTypes.startp = _startpos_x0_;
26756 MenhirLib.EngineTypes.endp = _endpos_x0_;
26757 MenhirLib.EngineTypes.next = _menhir_stack;
26758 };
26759 };
26760 };
26761 };
26762 } = _menhir_stack in
26763 let pv : (
26764 # 175 "parser_cocci_menhir.mly"
26765 (Data.clt)
26766 # 26767 "parser_cocci_menhir.ml"
26767 ) = Obj.magic pv in
26768 let d : 'tv_d_ident = Obj.magic d in
26769 let i : 'tv_pure_ident = Obj.magic i in
26770 let x1 : 'tv_const_vol = Obj.magic x1 in
26771 let x0 : 'tv_storage = Obj.magic x0 in
26772 let _startpos = _startpos_x0_ in
26773 let _endpos = _endpos_pv_ in
26774 let _v : 'tv_one_decl_var = let cv =
26775 let x = x1 in
26776
26777 # 41 "standard.mly"
26778 ( Some x )
26779 # 26780 "parser_cocci_menhir.ml"
26780
26781 in
26782 let s =
26783 let x = x0 in
26784
26785 # 41 "standard.mly"
26786 ( Some x )
26787 # 26788 "parser_cocci_menhir.ml"
26788
26789 in
26790
26791 # 1216 "parser_cocci_menhir.mly"
26792 ( let (id,fn) = d in
26793 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26794 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
26795 # 26796 "parser_cocci_menhir.ml"
26796 in
26797 _menhir_env.MenhirLib.EngineTypes.stack <- {
26798 MenhirLib.EngineTypes.state = _menhir_s;
26799 MenhirLib.EngineTypes.semv = Obj.repr _v;
26800 MenhirLib.EngineTypes.startp = _startpos;
26801 MenhirLib.EngineTypes.endp = _endpos;
26802 MenhirLib.EngineTypes.next = _menhir_stack;
26803 });
26804 (fun _menhir_env ->
26805 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26806 let {
26807 MenhirLib.EngineTypes.semv = pv;
26808 MenhirLib.EngineTypes.startp = _startpos_pv_;
26809 MenhirLib.EngineTypes.endp = _endpos_pv_;
26810 MenhirLib.EngineTypes.next = {
26811 MenhirLib.EngineTypes.semv = e;
26812 MenhirLib.EngineTypes.startp = _startpos_e_;
26813 MenhirLib.EngineTypes.endp = _endpos_e_;
26814 MenhirLib.EngineTypes.next = {
26815 MenhirLib.EngineTypes.semv = q;
26816 MenhirLib.EngineTypes.startp = _startpos_q_;
26817 MenhirLib.EngineTypes.endp = _endpos_q_;
26818 MenhirLib.EngineTypes.next = {
26819 MenhirLib.EngineTypes.semv = d;
26820 MenhirLib.EngineTypes.startp = _startpos_d_;
26821 MenhirLib.EngineTypes.endp = _endpos_d_;
26822 MenhirLib.EngineTypes.next = {
26823 MenhirLib.EngineTypes.state = _menhir_s;
26824 MenhirLib.EngineTypes.semv = i;
26825 MenhirLib.EngineTypes.startp = _startpos_i_;
26826 MenhirLib.EngineTypes.endp = _endpos_i_;
26827 MenhirLib.EngineTypes.next = _menhir_stack;
26828 };
26829 };
26830 };
26831 };
26832 } = _menhir_stack in
26833 let pv : (
26834 # 175 "parser_cocci_menhir.mly"
26835 (Data.clt)
26836 # 26837 "parser_cocci_menhir.ml"
26837 ) = Obj.magic pv in
26838 let e : 'tv_initialize = Obj.magic e in
26839 let q : (
26840 # 175 "parser_cocci_menhir.mly"
26841 (Data.clt)
26842 # 26843 "parser_cocci_menhir.ml"
26843 ) = Obj.magic q in
26844 let d : 'tv_d_ident = Obj.magic d in
26845 let i : 'tv_pure_ident = Obj.magic i in
26846 let _startpos = _startpos_i_ in
26847 let _endpos = _endpos_pv_ in
26848 let _v : 'tv_one_decl_var = let cv =
26849
26850 # 39 "standard.mly"
26851 ( None )
26852 # 26853 "parser_cocci_menhir.ml"
26853
26854 in
26855 let s =
26856
26857 # 39 "standard.mly"
26858 ( None )
26859 # 26860 "parser_cocci_menhir.ml"
26860
26861 in
26862
26863 # 1221 "parser_cocci_menhir.mly"
26864 ( let (id,fn) = d in
26865 !Data.add_type_name (P.id2name i);
26866 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26867 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
26868 P.clt2mcode ";" pv)) )
26869 # 26870 "parser_cocci_menhir.ml"
26870 in
26871 _menhir_env.MenhirLib.EngineTypes.stack <- {
26872 MenhirLib.EngineTypes.state = _menhir_s;
26873 MenhirLib.EngineTypes.semv = Obj.repr _v;
26874 MenhirLib.EngineTypes.startp = _startpos;
26875 MenhirLib.EngineTypes.endp = _endpos;
26876 MenhirLib.EngineTypes.next = _menhir_stack;
26877 });
26878 (fun _menhir_env ->
26879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26880 let {
26881 MenhirLib.EngineTypes.semv = pv;
26882 MenhirLib.EngineTypes.startp = _startpos_pv_;
26883 MenhirLib.EngineTypes.endp = _endpos_pv_;
26884 MenhirLib.EngineTypes.next = {
26885 MenhirLib.EngineTypes.semv = e;
26886 MenhirLib.EngineTypes.startp = _startpos_e_;
26887 MenhirLib.EngineTypes.endp = _endpos_e_;
26888 MenhirLib.EngineTypes.next = {
26889 MenhirLib.EngineTypes.semv = q;
26890 MenhirLib.EngineTypes.startp = _startpos_q_;
26891 MenhirLib.EngineTypes.endp = _endpos_q_;
26892 MenhirLib.EngineTypes.next = {
26893 MenhirLib.EngineTypes.semv = d;
26894 MenhirLib.EngineTypes.startp = _startpos_d_;
26895 MenhirLib.EngineTypes.endp = _endpos_d_;
26896 MenhirLib.EngineTypes.next = {
26897 MenhirLib.EngineTypes.semv = i;
26898 MenhirLib.EngineTypes.startp = _startpos_i_;
26899 MenhirLib.EngineTypes.endp = _endpos_i_;
26900 MenhirLib.EngineTypes.next = {
26901 MenhirLib.EngineTypes.state = _menhir_s;
26902 MenhirLib.EngineTypes.semv = x0;
26903 MenhirLib.EngineTypes.startp = _startpos_x0_;
26904 MenhirLib.EngineTypes.endp = _endpos_x0_;
26905 MenhirLib.EngineTypes.next = _menhir_stack;
26906 };
26907 };
26908 };
26909 };
26910 };
26911 } = _menhir_stack in
26912 let pv : (
26913 # 175 "parser_cocci_menhir.mly"
26914 (Data.clt)
26915 # 26916 "parser_cocci_menhir.ml"
26916 ) = Obj.magic pv in
26917 let e : 'tv_initialize = Obj.magic e in
26918 let q : (
26919 # 175 "parser_cocci_menhir.mly"
26920 (Data.clt)
26921 # 26922 "parser_cocci_menhir.ml"
26922 ) = Obj.magic q in
26923 let d : 'tv_d_ident = Obj.magic d in
26924 let i : 'tv_pure_ident = Obj.magic i in
26925 let x0 : 'tv_const_vol = Obj.magic x0 in
26926 let _startpos = _startpos_x0_ in
26927 let _endpos = _endpos_pv_ in
26928 let _v : 'tv_one_decl_var = let cv =
26929 let x = x0 in
26930
26931 # 41 "standard.mly"
26932 ( Some x )
26933 # 26934 "parser_cocci_menhir.ml"
26934
26935 in
26936 let s =
26937
26938 # 39 "standard.mly"
26939 ( None )
26940 # 26941 "parser_cocci_menhir.ml"
26941
26942 in
26943
26944 # 1221 "parser_cocci_menhir.mly"
26945 ( let (id,fn) = d in
26946 !Data.add_type_name (P.id2name i);
26947 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26948 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
26949 P.clt2mcode ";" pv)) )
26950 # 26951 "parser_cocci_menhir.ml"
26951 in
26952 _menhir_env.MenhirLib.EngineTypes.stack <- {
26953 MenhirLib.EngineTypes.state = _menhir_s;
26954 MenhirLib.EngineTypes.semv = Obj.repr _v;
26955 MenhirLib.EngineTypes.startp = _startpos;
26956 MenhirLib.EngineTypes.endp = _endpos;
26957 MenhirLib.EngineTypes.next = _menhir_stack;
26958 });
26959 (fun _menhir_env ->
26960 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26961 let {
26962 MenhirLib.EngineTypes.semv = pv;
26963 MenhirLib.EngineTypes.startp = _startpos_pv_;
26964 MenhirLib.EngineTypes.endp = _endpos_pv_;
26965 MenhirLib.EngineTypes.next = {
26966 MenhirLib.EngineTypes.semv = e;
26967 MenhirLib.EngineTypes.startp = _startpos_e_;
26968 MenhirLib.EngineTypes.endp = _endpos_e_;
26969 MenhirLib.EngineTypes.next = {
26970 MenhirLib.EngineTypes.semv = q;
26971 MenhirLib.EngineTypes.startp = _startpos_q_;
26972 MenhirLib.EngineTypes.endp = _endpos_q_;
26973 MenhirLib.EngineTypes.next = {
26974 MenhirLib.EngineTypes.semv = d;
26975 MenhirLib.EngineTypes.startp = _startpos_d_;
26976 MenhirLib.EngineTypes.endp = _endpos_d_;
26977 MenhirLib.EngineTypes.next = {
26978 MenhirLib.EngineTypes.semv = i;
26979 MenhirLib.EngineTypes.startp = _startpos_i_;
26980 MenhirLib.EngineTypes.endp = _endpos_i_;
26981 MenhirLib.EngineTypes.next = {
26982 MenhirLib.EngineTypes.state = _menhir_s;
26983 MenhirLib.EngineTypes.semv = x0;
26984 MenhirLib.EngineTypes.startp = _startpos_x0_;
26985 MenhirLib.EngineTypes.endp = _endpos_x0_;
26986 MenhirLib.EngineTypes.next = _menhir_stack;
26987 };
26988 };
26989 };
26990 };
26991 };
26992 } = _menhir_stack in
26993 let pv : (
26994 # 175 "parser_cocci_menhir.mly"
26995 (Data.clt)
26996 # 26997 "parser_cocci_menhir.ml"
26997 ) = Obj.magic pv in
26998 let e : 'tv_initialize = Obj.magic e in
26999 let q : (
27000 # 175 "parser_cocci_menhir.mly"
27001 (Data.clt)
27002 # 27003 "parser_cocci_menhir.ml"
27003 ) = Obj.magic q in
27004 let d : 'tv_d_ident = Obj.magic d in
27005 let i : 'tv_pure_ident = Obj.magic i in
27006 let x0 : 'tv_storage = Obj.magic x0 in
27007 let _startpos = _startpos_x0_ in
27008 let _endpos = _endpos_pv_ in
27009 let _v : 'tv_one_decl_var = let cv =
27010
27011 # 39 "standard.mly"
27012 ( None )
27013 # 27014 "parser_cocci_menhir.ml"
27014
27015 in
27016 let s =
27017 let x = x0 in
27018
27019 # 41 "standard.mly"
27020 ( Some x )
27021 # 27022 "parser_cocci_menhir.ml"
27022
27023 in
27024
27025 # 1221 "parser_cocci_menhir.mly"
27026 ( let (id,fn) = d in
27027 !Data.add_type_name (P.id2name i);
27028 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
27029 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
27030 P.clt2mcode ";" pv)) )
27031 # 27032 "parser_cocci_menhir.ml"
27032 in
27033 _menhir_env.MenhirLib.EngineTypes.stack <- {
27034 MenhirLib.EngineTypes.state = _menhir_s;
27035 MenhirLib.EngineTypes.semv = Obj.repr _v;
27036 MenhirLib.EngineTypes.startp = _startpos;
27037 MenhirLib.EngineTypes.endp = _endpos;
27038 MenhirLib.EngineTypes.next = _menhir_stack;
27039 });
27040 (fun _menhir_env ->
27041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27042 let {
27043 MenhirLib.EngineTypes.semv = pv;
27044 MenhirLib.EngineTypes.startp = _startpos_pv_;
27045 MenhirLib.EngineTypes.endp = _endpos_pv_;
27046 MenhirLib.EngineTypes.next = {
27047 MenhirLib.EngineTypes.semv = e;
27048 MenhirLib.EngineTypes.startp = _startpos_e_;
27049 MenhirLib.EngineTypes.endp = _endpos_e_;
27050 MenhirLib.EngineTypes.next = {
27051 MenhirLib.EngineTypes.semv = q;
27052 MenhirLib.EngineTypes.startp = _startpos_q_;
27053 MenhirLib.EngineTypes.endp = _endpos_q_;
27054 MenhirLib.EngineTypes.next = {
27055 MenhirLib.EngineTypes.semv = d;
27056 MenhirLib.EngineTypes.startp = _startpos_d_;
27057 MenhirLib.EngineTypes.endp = _endpos_d_;
27058 MenhirLib.EngineTypes.next = {
27059 MenhirLib.EngineTypes.semv = i;
27060 MenhirLib.EngineTypes.startp = _startpos_i_;
27061 MenhirLib.EngineTypes.endp = _endpos_i_;
27062 MenhirLib.EngineTypes.next = {
27063 MenhirLib.EngineTypes.semv = x1;
27064 MenhirLib.EngineTypes.startp = _startpos_x1_;
27065 MenhirLib.EngineTypes.endp = _endpos_x1_;
27066 MenhirLib.EngineTypes.next = {
27067 MenhirLib.EngineTypes.state = _menhir_s;
27068 MenhirLib.EngineTypes.semv = x0;
27069 MenhirLib.EngineTypes.startp = _startpos_x0_;
27070 MenhirLib.EngineTypes.endp = _endpos_x0_;
27071 MenhirLib.EngineTypes.next = _menhir_stack;
27072 };
27073 };
27074 };
27075 };
27076 };
27077 };
27078 } = _menhir_stack in
27079 let pv : (
27080 # 175 "parser_cocci_menhir.mly"
27081 (Data.clt)
27082 # 27083 "parser_cocci_menhir.ml"
27083 ) = Obj.magic pv in
27084 let e : 'tv_initialize = Obj.magic e in
27085 let q : (
27086 # 175 "parser_cocci_menhir.mly"
27087 (Data.clt)
27088 # 27089 "parser_cocci_menhir.ml"
27089 ) = Obj.magic q in
27090 let d : 'tv_d_ident = Obj.magic d in
27091 let i : 'tv_pure_ident = Obj.magic i in
27092 let x1 : 'tv_const_vol = Obj.magic x1 in
27093 let x0 : 'tv_storage = Obj.magic x0 in
27094 let _startpos = _startpos_x0_ in
27095 let _endpos = _endpos_pv_ in
27096 let _v : 'tv_one_decl_var = let cv =
27097 let x = x1 in
27098
27099 # 41 "standard.mly"
27100 ( Some x )
27101 # 27102 "parser_cocci_menhir.ml"
27102
27103 in
27104 let s =
27105 let x = x0 in
27106
27107 # 41 "standard.mly"
27108 ( Some x )
27109 # 27110 "parser_cocci_menhir.ml"
27110
27111 in
27112
27113 # 1221 "parser_cocci_menhir.mly"
27114 ( let (id,fn) = d in
27115 !Data.add_type_name (P.id2name i);
27116 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
27117 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
27118 P.clt2mcode ";" pv)) )
27119 # 27120 "parser_cocci_menhir.ml"
27120 in
27121 _menhir_env.MenhirLib.EngineTypes.stack <- {
27122 MenhirLib.EngineTypes.state = _menhir_s;
27123 MenhirLib.EngineTypes.semv = Obj.repr _v;
27124 MenhirLib.EngineTypes.startp = _startpos;
27125 MenhirLib.EngineTypes.endp = _endpos;
27126 MenhirLib.EngineTypes.next = _menhir_stack;
27127 });
27128 (fun _menhir_env ->
27129 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27130 let {
27131 MenhirLib.EngineTypes.semv = pv;
27132 MenhirLib.EngineTypes.startp = _startpos_pv_;
27133 MenhirLib.EngineTypes.endp = _endpos_pv_;
27134 MenhirLib.EngineTypes.next = {
27135 MenhirLib.EngineTypes.semv = rp2;
27136 MenhirLib.EngineTypes.startp = _startpos_rp2_;
27137 MenhirLib.EngineTypes.endp = _endpos_rp2_;
27138 MenhirLib.EngineTypes.next = {
27139 MenhirLib.EngineTypes.semv = p;
27140 MenhirLib.EngineTypes.startp = _startpos_p_;
27141 MenhirLib.EngineTypes.endp = _endpos_p_;
27142 MenhirLib.EngineTypes.next = {
27143 MenhirLib.EngineTypes.semv = lp2;
27144 MenhirLib.EngineTypes.startp = _startpos_lp2_;
27145 MenhirLib.EngineTypes.endp = _endpos_lp2_;
27146 MenhirLib.EngineTypes.next = {
27147 MenhirLib.EngineTypes.semv = rp1;
27148 MenhirLib.EngineTypes.startp = _startpos_rp1_;
27149 MenhirLib.EngineTypes.endp = _endpos_rp1_;
27150 MenhirLib.EngineTypes.next = {
27151 MenhirLib.EngineTypes.semv = d;
27152 MenhirLib.EngineTypes.startp = _startpos_d_;
27153 MenhirLib.EngineTypes.endp = _endpos_d_;
27154 MenhirLib.EngineTypes.next = {
27155 MenhirLib.EngineTypes.semv = st;
27156 MenhirLib.EngineTypes.startp = _startpos_st_;
27157 MenhirLib.EngineTypes.endp = _endpos_st_;
27158 MenhirLib.EngineTypes.next = {
27159 MenhirLib.EngineTypes.semv = lp1;
27160 MenhirLib.EngineTypes.startp = _startpos_lp1_;
27161 MenhirLib.EngineTypes.endp = _endpos_lp1_;
27162 MenhirLib.EngineTypes.next = {
27163 MenhirLib.EngineTypes.state = _menhir_s;
27164 MenhirLib.EngineTypes.semv = t;
27165 MenhirLib.EngineTypes.startp = _startpos_t_;
27166 MenhirLib.EngineTypes.endp = _endpos_t_;
27167 MenhirLib.EngineTypes.next = _menhir_stack;
27168 };
27169 };
27170 };
27171 };
27172 };
27173 };
27174 };
27175 };
27176 } = _menhir_stack in
27177 let pv : (
27178 # 175 "parser_cocci_menhir.mly"
27179 (Data.clt)
27180 # 27181 "parser_cocci_menhir.ml"
27181 ) = Obj.magic pv in
27182 let rp2 : (
27183 # 145 "parser_cocci_menhir.mly"
27184 (Data.clt)
27185 # 27186 "parser_cocci_menhir.ml"
27186 ) = Obj.magic rp2 in
27187 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
27188 let lp2 : (
27189 # 144 "parser_cocci_menhir.mly"
27190 (Data.clt)
27191 # 27192 "parser_cocci_menhir.ml"
27192 ) = Obj.magic lp2 in
27193 let rp1 : (
27194 # 145 "parser_cocci_menhir.mly"
27195 (Data.clt)
27196 # 27197 "parser_cocci_menhir.ml"
27197 ) = Obj.magic rp1 in
27198 let d : 'tv_d_ident = Obj.magic d in
27199 let st : (
27200 # 167 "parser_cocci_menhir.mly"
27201 (Data.clt)
27202 # 27203 "parser_cocci_menhir.ml"
27203 ) = Obj.magic st in
27204 let lp1 : (
27205 # 144 "parser_cocci_menhir.mly"
27206 (Data.clt)
27207 # 27208 "parser_cocci_menhir.ml"
27208 ) = Obj.magic lp1 in
27209 let t : 'tv_ctype = Obj.magic t in
27210 let _startpos = _startpos_t_ in
27211 let _endpos = _endpos_pv_ in
27212 let _v : 'tv_one_decl_var = let s =
27213
27214 # 39 "standard.mly"
27215 ( None )
27216 # 27217 "parser_cocci_menhir.ml"
27217
27218 in
27219
27220 # 1231 "parser_cocci_menhir.mly"
27221 ( let (id,fn) = d in
27222 let t =
27223 Ast0.wrap
27224 (Ast0.FunctionPointer
27225 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
27226 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
27227 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
27228 # 27229 "parser_cocci_menhir.ml"
27229 in
27230 _menhir_env.MenhirLib.EngineTypes.stack <- {
27231 MenhirLib.EngineTypes.state = _menhir_s;
27232 MenhirLib.EngineTypes.semv = Obj.repr _v;
27233 MenhirLib.EngineTypes.startp = _startpos;
27234 MenhirLib.EngineTypes.endp = _endpos;
27235 MenhirLib.EngineTypes.next = _menhir_stack;
27236 });
27237 (fun _menhir_env ->
27238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27239 let {
27240 MenhirLib.EngineTypes.semv = pv;
27241 MenhirLib.EngineTypes.startp = _startpos_pv_;
27242 MenhirLib.EngineTypes.endp = _endpos_pv_;
27243 MenhirLib.EngineTypes.next = {
27244 MenhirLib.EngineTypes.semv = rp2;
27245 MenhirLib.EngineTypes.startp = _startpos_rp2_;
27246 MenhirLib.EngineTypes.endp = _endpos_rp2_;
27247 MenhirLib.EngineTypes.next = {
27248 MenhirLib.EngineTypes.semv = p;
27249 MenhirLib.EngineTypes.startp = _startpos_p_;
27250 MenhirLib.EngineTypes.endp = _endpos_p_;
27251 MenhirLib.EngineTypes.next = {
27252 MenhirLib.EngineTypes.semv = lp2;
27253 MenhirLib.EngineTypes.startp = _startpos_lp2_;
27254 MenhirLib.EngineTypes.endp = _endpos_lp2_;
27255 MenhirLib.EngineTypes.next = {
27256 MenhirLib.EngineTypes.semv = rp1;
27257 MenhirLib.EngineTypes.startp = _startpos_rp1_;
27258 MenhirLib.EngineTypes.endp = _endpos_rp1_;
27259 MenhirLib.EngineTypes.next = {
27260 MenhirLib.EngineTypes.semv = d;
27261 MenhirLib.EngineTypes.startp = _startpos_d_;
27262 MenhirLib.EngineTypes.endp = _endpos_d_;
27263 MenhirLib.EngineTypes.next = {
27264 MenhirLib.EngineTypes.semv = st;
27265 MenhirLib.EngineTypes.startp = _startpos_st_;
27266 MenhirLib.EngineTypes.endp = _endpos_st_;
27267 MenhirLib.EngineTypes.next = {
27268 MenhirLib.EngineTypes.semv = lp1;
27269 MenhirLib.EngineTypes.startp = _startpos_lp1_;
27270 MenhirLib.EngineTypes.endp = _endpos_lp1_;
27271 MenhirLib.EngineTypes.next = {
27272 MenhirLib.EngineTypes.semv = t;
27273 MenhirLib.EngineTypes.startp = _startpos_t_;
27274 MenhirLib.EngineTypes.endp = _endpos_t_;
27275 MenhirLib.EngineTypes.next = {
27276 MenhirLib.EngineTypes.state = _menhir_s;
27277 MenhirLib.EngineTypes.semv = x0;
27278 MenhirLib.EngineTypes.startp = _startpos_x0_;
27279 MenhirLib.EngineTypes.endp = _endpos_x0_;
27280 MenhirLib.EngineTypes.next = _menhir_stack;
27281 };
27282 };
27283 };
27284 };
27285 };
27286 };
27287 };
27288 };
27289 };
27290 } = _menhir_stack in
27291 let pv : (
27292 # 175 "parser_cocci_menhir.mly"
27293 (Data.clt)
27294 # 27295 "parser_cocci_menhir.ml"
27295 ) = Obj.magic pv in
27296 let rp2 : (
27297 # 145 "parser_cocci_menhir.mly"
27298 (Data.clt)
27299 # 27300 "parser_cocci_menhir.ml"
27300 ) = Obj.magic rp2 in
27301 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
27302 let lp2 : (
27303 # 144 "parser_cocci_menhir.mly"
27304 (Data.clt)
27305 # 27306 "parser_cocci_menhir.ml"
27306 ) = Obj.magic lp2 in
27307 let rp1 : (
27308 # 145 "parser_cocci_menhir.mly"
27309 (Data.clt)
27310 # 27311 "parser_cocci_menhir.ml"
27311 ) = Obj.magic rp1 in
27312 let d : 'tv_d_ident = Obj.magic d in
27313 let st : (
27314 # 167 "parser_cocci_menhir.mly"
27315 (Data.clt)
27316 # 27317 "parser_cocci_menhir.ml"
27317 ) = Obj.magic st in
27318 let lp1 : (
27319 # 144 "parser_cocci_menhir.mly"
27320 (Data.clt)
27321 # 27322 "parser_cocci_menhir.ml"
27322 ) = Obj.magic lp1 in
27323 let t : 'tv_ctype = Obj.magic t in
27324 let x0 : 'tv_storage = Obj.magic x0 in
27325 let _startpos = _startpos_x0_ in
27326 let _endpos = _endpos_pv_ in
27327 let _v : 'tv_one_decl_var = let s =
27328 let x = x0 in
27329
27330 # 41 "standard.mly"
27331 ( Some x )
27332 # 27333 "parser_cocci_menhir.ml"
27333
27334 in
27335
27336 # 1231 "parser_cocci_menhir.mly"
27337 ( let (id,fn) = d in
27338 let t =
27339 Ast0.wrap
27340 (Ast0.FunctionPointer
27341 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
27342 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
27343 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
27344 # 27345 "parser_cocci_menhir.ml"
27345 in
27346 _menhir_env.MenhirLib.EngineTypes.stack <- {
27347 MenhirLib.EngineTypes.state = _menhir_s;
27348 MenhirLib.EngineTypes.semv = Obj.repr _v;
27349 MenhirLib.EngineTypes.startp = _startpos;
27350 MenhirLib.EngineTypes.endp = _endpos;
27351 MenhirLib.EngineTypes.next = _menhir_stack;
27352 });
27353 (fun _menhir_env ->
27354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27355 let {
27356 MenhirLib.EngineTypes.semv = _5;
27357 MenhirLib.EngineTypes.startp = _startpos__5_;
27358 MenhirLib.EngineTypes.endp = _endpos__5_;
27359 MenhirLib.EngineTypes.next = {
27360 MenhirLib.EngineTypes.semv = _4;
27361 MenhirLib.EngineTypes.startp = _startpos__4_;
27362 MenhirLib.EngineTypes.endp = _endpos__4_;
27363 MenhirLib.EngineTypes.next = {
27364 MenhirLib.EngineTypes.semv = _3;
27365 MenhirLib.EngineTypes.startp = _startpos__3_;
27366 MenhirLib.EngineTypes.endp = _endpos__3_;
27367 MenhirLib.EngineTypes.next = {
27368 MenhirLib.EngineTypes.semv = _2;
27369 MenhirLib.EngineTypes.startp = _startpos__2_;
27370 MenhirLib.EngineTypes.endp = _endpos__2_;
27371 MenhirLib.EngineTypes.next = {
27372 MenhirLib.EngineTypes.state = _menhir_s;
27373 MenhirLib.EngineTypes.semv = _1;
27374 MenhirLib.EngineTypes.startp = _startpos__1_;
27375 MenhirLib.EngineTypes.endp = _endpos__1_;
27376 MenhirLib.EngineTypes.next = _menhir_stack;
27377 };
27378 };
27379 };
27380 };
27381 } = _menhir_stack in
27382 let _5 : (
27383 # 175 "parser_cocci_menhir.mly"
27384 (Data.clt)
27385 # 27386 "parser_cocci_menhir.ml"
27386 ) = Obj.magic _5 in
27387 let _4 : (
27388 # 145 "parser_cocci_menhir.mly"
27389 (Data.clt)
27390 # 27391 "parser_cocci_menhir.ml"
27391 ) = Obj.magic _4 in
27392 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
27393 let _2 : (
27394 # 144 "parser_cocci_menhir.mly"
27395 (Data.clt)
27396 # 27397 "parser_cocci_menhir.ml"
27397 ) = Obj.magic _2 in
27398 let _1 : 'tv_decl_ident = Obj.magic _1 in
27399 let _startpos = _startpos__1_ in
27400 let _endpos = _endpos__5_ in
27401 let _v : 'tv_one_decl_var =
27402 # 1239 "parser_cocci_menhir.mly"
27403 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
27404 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
27405 # 27406 "parser_cocci_menhir.ml"
27406 in
27407 _menhir_env.MenhirLib.EngineTypes.stack <- {
27408 MenhirLib.EngineTypes.state = _menhir_s;
27409 MenhirLib.EngineTypes.semv = Obj.repr _v;
27410 MenhirLib.EngineTypes.startp = _startpos;
27411 MenhirLib.EngineTypes.endp = _endpos;
27412 MenhirLib.EngineTypes.next = _menhir_stack;
27413 });
27414 (fun _menhir_env ->
27415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27416 let {
27417 MenhirLib.EngineTypes.semv = pv;
27418 MenhirLib.EngineTypes.startp = _startpos_pv_;
27419 MenhirLib.EngineTypes.endp = _endpos_pv_;
27420 MenhirLib.EngineTypes.next = {
27421 MenhirLib.EngineTypes.semv = e;
27422 MenhirLib.EngineTypes.startp = _startpos_e_;
27423 MenhirLib.EngineTypes.endp = _endpos_e_;
27424 MenhirLib.EngineTypes.next = {
27425 MenhirLib.EngineTypes.semv = q;
27426 MenhirLib.EngineTypes.startp = _startpos_q_;
27427 MenhirLib.EngineTypes.endp = _endpos_q_;
27428 MenhirLib.EngineTypes.next = {
27429 MenhirLib.EngineTypes.semv = rp2;
27430 MenhirLib.EngineTypes.startp = _startpos_rp2_;
27431 MenhirLib.EngineTypes.endp = _endpos_rp2_;
27432 MenhirLib.EngineTypes.next = {
27433 MenhirLib.EngineTypes.semv = p;
27434 MenhirLib.EngineTypes.startp = _startpos_p_;
27435 MenhirLib.EngineTypes.endp = _endpos_p_;
27436 MenhirLib.EngineTypes.next = {
27437 MenhirLib.EngineTypes.semv = lp2;
27438 MenhirLib.EngineTypes.startp = _startpos_lp2_;
27439 MenhirLib.EngineTypes.endp = _endpos_lp2_;
27440 MenhirLib.EngineTypes.next = {
27441 MenhirLib.EngineTypes.semv = rp1;
27442 MenhirLib.EngineTypes.startp = _startpos_rp1_;
27443 MenhirLib.EngineTypes.endp = _endpos_rp1_;
27444 MenhirLib.EngineTypes.next = {
27445 MenhirLib.EngineTypes.semv = d;
27446 MenhirLib.EngineTypes.startp = _startpos_d_;
27447 MenhirLib.EngineTypes.endp = _endpos_d_;
27448 MenhirLib.EngineTypes.next = {
27449 MenhirLib.EngineTypes.semv = st;
27450 MenhirLib.EngineTypes.startp = _startpos_st_;
27451 MenhirLib.EngineTypes.endp = _endpos_st_;
27452 MenhirLib.EngineTypes.next = {
27453 MenhirLib.EngineTypes.semv = lp1;
27454 MenhirLib.EngineTypes.startp = _startpos_lp1_;
27455 MenhirLib.EngineTypes.endp = _endpos_lp1_;
27456 MenhirLib.EngineTypes.next = {
27457 MenhirLib.EngineTypes.state = _menhir_s;
27458 MenhirLib.EngineTypes.semv = t;
27459 MenhirLib.EngineTypes.startp = _startpos_t_;
27460 MenhirLib.EngineTypes.endp = _endpos_t_;
27461 MenhirLib.EngineTypes.next = _menhir_stack;
27462 };
27463 };
27464 };
27465 };
27466 };
27467 };
27468 };
27469 };
27470 };
27471 };
27472 } = _menhir_stack in
27473 let pv : (
27474 # 175 "parser_cocci_menhir.mly"
27475 (Data.clt)
27476 # 27477 "parser_cocci_menhir.ml"
27477 ) = Obj.magic pv in
27478 let e : 'tv_initialize = Obj.magic e in
27479 let q : (
27480 # 175 "parser_cocci_menhir.mly"
27481 (Data.clt)
27482 # 27483 "parser_cocci_menhir.ml"
27483 ) = Obj.magic q in
27484 let rp2 : (
27485 # 145 "parser_cocci_menhir.mly"
27486 (Data.clt)
27487 # 27488 "parser_cocci_menhir.ml"
27488 ) = Obj.magic rp2 in
27489 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
27490 let lp2 : (
27491 # 144 "parser_cocci_menhir.mly"
27492 (Data.clt)
27493 # 27494 "parser_cocci_menhir.ml"
27494 ) = Obj.magic lp2 in
27495 let rp1 : (
27496 # 145 "parser_cocci_menhir.mly"
27497 (Data.clt)
27498 # 27499 "parser_cocci_menhir.ml"
27499 ) = Obj.magic rp1 in
27500 let d : 'tv_d_ident = Obj.magic d in
27501 let st : (
27502 # 167 "parser_cocci_menhir.mly"
27503 (Data.clt)
27504 # 27505 "parser_cocci_menhir.ml"
27505 ) = Obj.magic st in
27506 let lp1 : (
27507 # 144 "parser_cocci_menhir.mly"
27508 (Data.clt)
27509 # 27510 "parser_cocci_menhir.ml"
27510 ) = Obj.magic lp1 in
27511 let t : 'tv_ctype = Obj.magic t in
27512 let _startpos = _startpos_t_ in
27513 let _endpos = _endpos_pv_ in
27514 let _v : 'tv_one_decl_var = let s =
27515
27516 # 39 "standard.mly"
27517 ( None )
27518 # 27519 "parser_cocci_menhir.ml"
27519
27520 in
27521
27522 # 1245 "parser_cocci_menhir.mly"
27523 ( let (id,fn) = d in
27524 let t =
27525 Ast0.wrap
27526 (Ast0.FunctionPointer
27527 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
27528 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
27529 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
27530 # 27531 "parser_cocci_menhir.ml"
27531 in
27532 _menhir_env.MenhirLib.EngineTypes.stack <- {
27533 MenhirLib.EngineTypes.state = _menhir_s;
27534 MenhirLib.EngineTypes.semv = Obj.repr _v;
27535 MenhirLib.EngineTypes.startp = _startpos;
27536 MenhirLib.EngineTypes.endp = _endpos;
27537 MenhirLib.EngineTypes.next = _menhir_stack;
27538 });
27539 (fun _menhir_env ->
27540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27541 let {
27542 MenhirLib.EngineTypes.semv = pv;
27543 MenhirLib.EngineTypes.startp = _startpos_pv_;
27544 MenhirLib.EngineTypes.endp = _endpos_pv_;
27545 MenhirLib.EngineTypes.next = {
27546 MenhirLib.EngineTypes.semv = e;
27547 MenhirLib.EngineTypes.startp = _startpos_e_;
27548 MenhirLib.EngineTypes.endp = _endpos_e_;
27549 MenhirLib.EngineTypes.next = {
27550 MenhirLib.EngineTypes.semv = q;
27551 MenhirLib.EngineTypes.startp = _startpos_q_;
27552 MenhirLib.EngineTypes.endp = _endpos_q_;
27553 MenhirLib.EngineTypes.next = {
27554 MenhirLib.EngineTypes.semv = rp2;
27555 MenhirLib.EngineTypes.startp = _startpos_rp2_;
27556 MenhirLib.EngineTypes.endp = _endpos_rp2_;
27557 MenhirLib.EngineTypes.next = {
27558 MenhirLib.EngineTypes.semv = p;
27559 MenhirLib.EngineTypes.startp = _startpos_p_;
27560 MenhirLib.EngineTypes.endp = _endpos_p_;
27561 MenhirLib.EngineTypes.next = {
27562 MenhirLib.EngineTypes.semv = lp2;
27563 MenhirLib.EngineTypes.startp = _startpos_lp2_;
27564 MenhirLib.EngineTypes.endp = _endpos_lp2_;
27565 MenhirLib.EngineTypes.next = {
27566 MenhirLib.EngineTypes.semv = rp1;
27567 MenhirLib.EngineTypes.startp = _startpos_rp1_;
27568 MenhirLib.EngineTypes.endp = _endpos_rp1_;
27569 MenhirLib.EngineTypes.next = {
27570 MenhirLib.EngineTypes.semv = d;
27571 MenhirLib.EngineTypes.startp = _startpos_d_;
27572 MenhirLib.EngineTypes.endp = _endpos_d_;
27573 MenhirLib.EngineTypes.next = {
27574 MenhirLib.EngineTypes.semv = st;
27575 MenhirLib.EngineTypes.startp = _startpos_st_;
27576 MenhirLib.EngineTypes.endp = _endpos_st_;
27577 MenhirLib.EngineTypes.next = {
27578 MenhirLib.EngineTypes.semv = lp1;
27579 MenhirLib.EngineTypes.startp = _startpos_lp1_;
27580 MenhirLib.EngineTypes.endp = _endpos_lp1_;
27581 MenhirLib.EngineTypes.next = {
27582 MenhirLib.EngineTypes.semv = t;
27583 MenhirLib.EngineTypes.startp = _startpos_t_;
27584 MenhirLib.EngineTypes.endp = _endpos_t_;
27585 MenhirLib.EngineTypes.next = {
27586 MenhirLib.EngineTypes.state = _menhir_s;
27587 MenhirLib.EngineTypes.semv = x0;
27588 MenhirLib.EngineTypes.startp = _startpos_x0_;
27589 MenhirLib.EngineTypes.endp = _endpos_x0_;
27590 MenhirLib.EngineTypes.next = _menhir_stack;
27591 };
27592 };
27593 };
27594 };
27595 };
27596 };
27597 };
27598 };
27599 };
27600 };
27601 };
27602 } = _menhir_stack in
27603 let pv : (
27604 # 175 "parser_cocci_menhir.mly"
27605 (Data.clt)
27606 # 27607 "parser_cocci_menhir.ml"
27607 ) = Obj.magic pv in
27608 let e : 'tv_initialize = Obj.magic e in
27609 let q : (
27610 # 175 "parser_cocci_menhir.mly"
27611 (Data.clt)
27612 # 27613 "parser_cocci_menhir.ml"
27613 ) = Obj.magic q in
27614 let rp2 : (
27615 # 145 "parser_cocci_menhir.mly"
27616 (Data.clt)
27617 # 27618 "parser_cocci_menhir.ml"
27618 ) = Obj.magic rp2 in
27619 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
27620 let lp2 : (
27621 # 144 "parser_cocci_menhir.mly"
27622 (Data.clt)
27623 # 27624 "parser_cocci_menhir.ml"
27624 ) = Obj.magic lp2 in
27625 let rp1 : (
27626 # 145 "parser_cocci_menhir.mly"
27627 (Data.clt)
27628 # 27629 "parser_cocci_menhir.ml"
27629 ) = Obj.magic rp1 in
27630 let d : 'tv_d_ident = Obj.magic d in
27631 let st : (
27632 # 167 "parser_cocci_menhir.mly"
27633 (Data.clt)
27634 # 27635 "parser_cocci_menhir.ml"
27635 ) = Obj.magic st in
27636 let lp1 : (
27637 # 144 "parser_cocci_menhir.mly"
27638 (Data.clt)
27639 # 27640 "parser_cocci_menhir.ml"
27640 ) = Obj.magic lp1 in
27641 let t : 'tv_ctype = Obj.magic t in
27642 let x0 : 'tv_storage = Obj.magic x0 in
27643 let _startpos = _startpos_x0_ in
27644 let _endpos = _endpos_pv_ in
27645 let _v : 'tv_one_decl_var = let s =
27646 let x = x0 in
27647
27648 # 41 "standard.mly"
27649 ( Some x )
27650 # 27651 "parser_cocci_menhir.ml"
27651
27652 in
27653
27654 # 1245 "parser_cocci_menhir.mly"
27655 ( let (id,fn) = d in
27656 let t =
27657 Ast0.wrap
27658 (Ast0.FunctionPointer
27659 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
27660 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
27661 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
27662 # 27663 "parser_cocci_menhir.ml"
27663 in
27664 _menhir_env.MenhirLib.EngineTypes.stack <- {
27665 MenhirLib.EngineTypes.state = _menhir_s;
27666 MenhirLib.EngineTypes.semv = Obj.repr _v;
27667 MenhirLib.EngineTypes.startp = _startpos;
27668 MenhirLib.EngineTypes.endp = _endpos;
27669 MenhirLib.EngineTypes.next = _menhir_stack;
27670 });
27671 (fun _menhir_env ->
27672 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27673 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27674 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27675 let _endpos = _startpos in
27676 let _v : 'tv_option_TLocal_ =
27677 # 29 "standard.mly"
27678 ( None )
27679 # 27680 "parser_cocci_menhir.ml"
27680 in
27681 _menhir_env.MenhirLib.EngineTypes.stack <- {
27682 MenhirLib.EngineTypes.state = _menhir_s;
27683 MenhirLib.EngineTypes.semv = Obj.repr _v;
27684 MenhirLib.EngineTypes.startp = _startpos;
27685 MenhirLib.EngineTypes.endp = _endpos;
27686 MenhirLib.EngineTypes.next = _menhir_stack;
27687 });
27688 (fun _menhir_env ->
27689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27690 let {
27691 MenhirLib.EngineTypes.state = _menhir_s;
27692 MenhirLib.EngineTypes.semv = x;
27693 MenhirLib.EngineTypes.startp = _startpos_x_;
27694 MenhirLib.EngineTypes.endp = _endpos_x_;
27695 MenhirLib.EngineTypes.next = _menhir_stack;
27696 } = _menhir_stack in
27697 let x : unit = Obj.magic x in
27698 let _startpos = _startpos_x_ in
27699 let _endpos = _endpos_x_ in
27700 let _v : 'tv_option_TLocal_ =
27701 # 31 "standard.mly"
27702 ( Some x )
27703 # 27704 "parser_cocci_menhir.ml"
27704 in
27705 _menhir_env.MenhirLib.EngineTypes.stack <- {
27706 MenhirLib.EngineTypes.state = _menhir_s;
27707 MenhirLib.EngineTypes.semv = Obj.repr _v;
27708 MenhirLib.EngineTypes.startp = _startpos;
27709 MenhirLib.EngineTypes.endp = _endpos;
27710 MenhirLib.EngineTypes.next = _menhir_stack;
27711 });
27712 (fun _menhir_env ->
27713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27714 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27715 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27716 let _endpos = _startpos in
27717 let _v : 'tv_option_TPosAny_ =
27718 # 29 "standard.mly"
27719 ( None )
27720 # 27721 "parser_cocci_menhir.ml"
27721 in
27722 _menhir_env.MenhirLib.EngineTypes.stack <- {
27723 MenhirLib.EngineTypes.state = _menhir_s;
27724 MenhirLib.EngineTypes.semv = Obj.repr _v;
27725 MenhirLib.EngineTypes.startp = _startpos;
27726 MenhirLib.EngineTypes.endp = _endpos;
27727 MenhirLib.EngineTypes.next = _menhir_stack;
27728 });
27729 (fun _menhir_env ->
27730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27731 let {
27732 MenhirLib.EngineTypes.state = _menhir_s;
27733 MenhirLib.EngineTypes.semv = x;
27734 MenhirLib.EngineTypes.startp = _startpos_x_;
27735 MenhirLib.EngineTypes.endp = _endpos_x_;
27736 MenhirLib.EngineTypes.next = _menhir_stack;
27737 } = _menhir_stack in
27738 let x : unit = Obj.magic x in
27739 let _startpos = _startpos_x_ in
27740 let _endpos = _endpos_x_ in
27741 let _v : 'tv_option_TPosAny_ =
27742 # 31 "standard.mly"
27743 ( Some x )
27744 # 27745 "parser_cocci_menhir.ml"
27745 in
27746 _menhir_env.MenhirLib.EngineTypes.stack <- {
27747 MenhirLib.EngineTypes.state = _menhir_s;
27748 MenhirLib.EngineTypes.semv = Obj.repr _v;
27749 MenhirLib.EngineTypes.startp = _startpos;
27750 MenhirLib.EngineTypes.endp = _endpos;
27751 MenhirLib.EngineTypes.next = _menhir_stack;
27752 });
27753 (fun _menhir_env ->
27754 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27755 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27756 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27757 let _endpos = _startpos in
27758 let _v : 'tv_option_eexpr_ =
27759 # 29 "standard.mly"
27760 ( None )
27761 # 27762 "parser_cocci_menhir.ml"
27762 in
27763 _menhir_env.MenhirLib.EngineTypes.stack <- {
27764 MenhirLib.EngineTypes.state = _menhir_s;
27765 MenhirLib.EngineTypes.semv = Obj.repr _v;
27766 MenhirLib.EngineTypes.startp = _startpos;
27767 MenhirLib.EngineTypes.endp = _endpos;
27768 MenhirLib.EngineTypes.next = _menhir_stack;
27769 });
27770 (fun _menhir_env ->
27771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27772 let {
27773 MenhirLib.EngineTypes.state = _menhir_s;
27774 MenhirLib.EngineTypes.semv = x;
27775 MenhirLib.EngineTypes.startp = _startpos_x_;
27776 MenhirLib.EngineTypes.endp = _endpos_x_;
27777 MenhirLib.EngineTypes.next = _menhir_stack;
27778 } = _menhir_stack in
27779 let x : 'tv_eexpr = Obj.magic x in
27780 let _startpos = _startpos_x_ in
27781 let _endpos = _endpos_x_ in
27782 let _v : 'tv_option_eexpr_ =
27783 # 31 "standard.mly"
27784 ( Some x )
27785 # 27786 "parser_cocci_menhir.ml"
27786 in
27787 _menhir_env.MenhirLib.EngineTypes.stack <- {
27788 MenhirLib.EngineTypes.state = _menhir_s;
27789 MenhirLib.EngineTypes.semv = Obj.repr _v;
27790 MenhirLib.EngineTypes.startp = _startpos;
27791 MenhirLib.EngineTypes.endp = _endpos;
27792 MenhirLib.EngineTypes.next = _menhir_stack;
27793 });
27794 (fun _menhir_env ->
27795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27796 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27797 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27798 let _endpos = _startpos in
27799 let _v : 'tv_option_not_ceq_or_sub_ =
27800 # 29 "standard.mly"
27801 ( None )
27802 # 27803 "parser_cocci_menhir.ml"
27803 in
27804 _menhir_env.MenhirLib.EngineTypes.stack <- {
27805 MenhirLib.EngineTypes.state = _menhir_s;
27806 MenhirLib.EngineTypes.semv = Obj.repr _v;
27807 MenhirLib.EngineTypes.startp = _startpos;
27808 MenhirLib.EngineTypes.endp = _endpos;
27809 MenhirLib.EngineTypes.next = _menhir_stack;
27810 });
27811 (fun _menhir_env ->
27812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27813 let {
27814 MenhirLib.EngineTypes.state = _menhir_s;
27815 MenhirLib.EngineTypes.semv = x;
27816 MenhirLib.EngineTypes.startp = _startpos_x_;
27817 MenhirLib.EngineTypes.endp = _endpos_x_;
27818 MenhirLib.EngineTypes.next = _menhir_stack;
27819 } = _menhir_stack in
27820 let x : 'tv_not_ceq_or_sub = Obj.magic x in
27821 let _startpos = _startpos_x_ in
27822 let _endpos = _endpos_x_ in
27823 let _v : 'tv_option_not_ceq_or_sub_ =
27824 # 31 "standard.mly"
27825 ( Some x )
27826 # 27827 "parser_cocci_menhir.ml"
27827 in
27828 _menhir_env.MenhirLib.EngineTypes.stack <- {
27829 MenhirLib.EngineTypes.state = _menhir_s;
27830 MenhirLib.EngineTypes.semv = Obj.repr _v;
27831 MenhirLib.EngineTypes.startp = _startpos;
27832 MenhirLib.EngineTypes.endp = _endpos;
27833 MenhirLib.EngineTypes.next = _menhir_stack;
27834 });
27835 (fun _menhir_env ->
27836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27837 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27838 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27839 let _endpos = _startpos in
27840 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
27841 # 29 "standard.mly"
27842 ( None )
27843 # 27844 "parser_cocci_menhir.ml"
27844 in
27845 _menhir_env.MenhirLib.EngineTypes.stack <- {
27846 MenhirLib.EngineTypes.state = _menhir_s;
27847 MenhirLib.EngineTypes.semv = Obj.repr _v;
27848 MenhirLib.EngineTypes.startp = _startpos;
27849 MenhirLib.EngineTypes.endp = _endpos;
27850 MenhirLib.EngineTypes.next = _menhir_stack;
27851 });
27852 (fun _menhir_env ->
27853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27854 let {
27855 MenhirLib.EngineTypes.state = _menhir_s;
27856 MenhirLib.EngineTypes.semv = x;
27857 MenhirLib.EngineTypes.startp = _startpos_x_;
27858 MenhirLib.EngineTypes.endp = _endpos_x_;
27859 MenhirLib.EngineTypes.next = _menhir_stack;
27860 } = _menhir_stack in
27861 let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
27862 let _startpos = _startpos_x_ in
27863 let _endpos = _endpos_x_ in
27864 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
27865 # 31 "standard.mly"
27866 ( Some x )
27867 # 27868 "parser_cocci_menhir.ml"
27868 in
27869 _menhir_env.MenhirLib.EngineTypes.stack <- {
27870 MenhirLib.EngineTypes.state = _menhir_s;
27871 MenhirLib.EngineTypes.semv = Obj.repr _v;
27872 MenhirLib.EngineTypes.startp = _startpos;
27873 MenhirLib.EngineTypes.endp = _endpos;
27874 MenhirLib.EngineTypes.next = _menhir_stack;
27875 });
27876 (fun _menhir_env ->
27877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27878 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27879 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27880 let _endpos = _startpos in
27881 let _v : 'tv_option_re_or_not_eqid_ =
27882 # 29 "standard.mly"
27883 ( None )
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.state = _menhir_s;
27897 MenhirLib.EngineTypes.semv = x;
27898 MenhirLib.EngineTypes.startp = _startpos_x_;
27899 MenhirLib.EngineTypes.endp = _endpos_x_;
27900 MenhirLib.EngineTypes.next = _menhir_stack;
27901 } = _menhir_stack in
27902 let x : 'tv_re_or_not_eqid = Obj.magic x in
27903 let _startpos = _startpos_x_ in
27904 let _endpos = _endpos_x_ in
27905 let _v : 'tv_option_re_or_not_eqid_ =
27906 # 31 "standard.mly"
27907 ( Some x )
27908 # 27909 "parser_cocci_menhir.ml"
27909 in
27910 _menhir_env.MenhirLib.EngineTypes.stack <- {
27911 MenhirLib.EngineTypes.state = _menhir_s;
27912 MenhirLib.EngineTypes.semv = Obj.repr _v;
27913 MenhirLib.EngineTypes.startp = _startpos;
27914 MenhirLib.EngineTypes.endp = _endpos;
27915 MenhirLib.EngineTypes.next = _menhir_stack;
27916 });
27917 (fun _menhir_env ->
27918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27919 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27920 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27921 let _endpos = _startpos in
27922 let _v : 'tv_plus_after_dots =
27923 # 2098 "parser_cocci_menhir.mly"
27924 ([])
27925 # 27926 "parser_cocci_menhir.ml"
27926 in
27927 _menhir_env.MenhirLib.EngineTypes.stack <- {
27928 MenhirLib.EngineTypes.state = _menhir_s;
27929 MenhirLib.EngineTypes.semv = Obj.repr _v;
27930 MenhirLib.EngineTypes.startp = _startpos;
27931 MenhirLib.EngineTypes.endp = _endpos;
27932 MenhirLib.EngineTypes.next = _menhir_stack;
27933 });
27934 (fun _menhir_env ->
27935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27936 let {
27937 MenhirLib.EngineTypes.semv = _2;
27938 MenhirLib.EngineTypes.startp = _startpos__2_;
27939 MenhirLib.EngineTypes.endp = _endpos__2_;
27940 MenhirLib.EngineTypes.next = {
27941 MenhirLib.EngineTypes.state = _menhir_s;
27942 MenhirLib.EngineTypes.startp = _startpos__1_;
27943 MenhirLib.EngineTypes.endp = _endpos__1_;
27944 MenhirLib.EngineTypes.next = _menhir_stack;
27945 };
27946 } = _menhir_stack in
27947 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
27948 let _startpos = _startpos__1_ in
27949 let _endpos = _endpos__2_ in
27950 let _v : 'tv_plus_after_dots =
27951 # 2099 "parser_cocci_menhir.mly"
27952 (_2)
27953 # 27954 "parser_cocci_menhir.ml"
27954 in
27955 _menhir_env.MenhirLib.EngineTypes.stack <- {
27956 MenhirLib.EngineTypes.state = _menhir_s;
27957 MenhirLib.EngineTypes.semv = Obj.repr _v;
27958 MenhirLib.EngineTypes.startp = _startpos;
27959 MenhirLib.EngineTypes.endp = _endpos;
27960 MenhirLib.EngineTypes.next = _menhir_stack;
27961 });
27962 (fun _menhir_env ->
27963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27964 let {
27965 MenhirLib.EngineTypes.semv = _2;
27966 MenhirLib.EngineTypes.startp = _startpos__2_;
27967 MenhirLib.EngineTypes.endp = _endpos__2_;
27968 MenhirLib.EngineTypes.next = {
27969 MenhirLib.EngineTypes.state = _menhir_s;
27970 MenhirLib.EngineTypes.semv = _1;
27971 MenhirLib.EngineTypes.startp = _startpos__1_;
27972 MenhirLib.EngineTypes.endp = _endpos__1_;
27973 MenhirLib.EngineTypes.next = _menhir_stack;
27974 };
27975 } = _menhir_stack in
27976 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
27977 let _1 : 'tv_expr = Obj.magic _1 in
27978 let _startpos = _startpos__1_ in
27979 let _endpos = _endpos__2_ in
27980 let _v : 'tv_plus_after_dots =
27981 # 2101 "parser_cocci_menhir.mly"
27982 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
27983 # 27984 "parser_cocci_menhir.ml"
27984 in
27985 _menhir_env.MenhirLib.EngineTypes.stack <- {
27986 MenhirLib.EngineTypes.state = _menhir_s;
27987 MenhirLib.EngineTypes.semv = Obj.repr _v;
27988 MenhirLib.EngineTypes.startp = _startpos;
27989 MenhirLib.EngineTypes.endp = _endpos;
27990 MenhirLib.EngineTypes.next = _menhir_stack;
27991 });
27992 (fun _menhir_env ->
27993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27994 let {
27995 MenhirLib.EngineTypes.semv = _2;
27996 MenhirLib.EngineTypes.startp = _startpos__2_;
27997 MenhirLib.EngineTypes.endp = _endpos__2_;
27998 MenhirLib.EngineTypes.next = {
27999 MenhirLib.EngineTypes.state = _menhir_s;
28000 MenhirLib.EngineTypes.semv = _1;
28001 MenhirLib.EngineTypes.startp = _startpos__1_;
28002 MenhirLib.EngineTypes.endp = _endpos__1_;
28003 MenhirLib.EngineTypes.next = _menhir_stack;
28004 };
28005 } = _menhir_stack in
28006 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
28007 let _1 : 'tv_fundecl = Obj.magic _1 in
28008 let _startpos = _startpos__1_ in
28009 let _endpos = _endpos__2_ in
28010 let _v : 'tv_plus_after_dots =
28011 # 2102 "parser_cocci_menhir.mly"
28012 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
28013 # 28014 "parser_cocci_menhir.ml"
28014 in
28015 _menhir_env.MenhirLib.EngineTypes.stack <- {
28016 MenhirLib.EngineTypes.state = _menhir_s;
28017 MenhirLib.EngineTypes.semv = Obj.repr _v;
28018 MenhirLib.EngineTypes.startp = _startpos;
28019 MenhirLib.EngineTypes.endp = _endpos;
28020 MenhirLib.EngineTypes.next = _menhir_stack;
28021 });
28022 (fun _menhir_env ->
28023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28024 let {
28025 MenhirLib.EngineTypes.semv = _2;
28026 MenhirLib.EngineTypes.startp = _startpos__2_;
28027 MenhirLib.EngineTypes.endp = _endpos__2_;
28028 MenhirLib.EngineTypes.next = {
28029 MenhirLib.EngineTypes.state = _menhir_s;
28030 MenhirLib.EngineTypes.semv = _1;
28031 MenhirLib.EngineTypes.startp = _startpos__1_;
28032 MenhirLib.EngineTypes.endp = _endpos__1_;
28033 MenhirLib.EngineTypes.next = _menhir_stack;
28034 };
28035 } = _menhir_stack in
28036 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
28037 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
28038 let _startpos = _startpos__1_ in
28039 let _endpos = _endpos__2_ in
28040 let _v : 'tv_plus_after_dots =
28041 # 2104 "parser_cocci_menhir.mly"
28042 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
28043 # 28044 "parser_cocci_menhir.ml"
28044 in
28045 _menhir_env.MenhirLib.EngineTypes.stack <- {
28046 MenhirLib.EngineTypes.state = _menhir_s;
28047 MenhirLib.EngineTypes.semv = Obj.repr _v;
28048 MenhirLib.EngineTypes.startp = _startpos;
28049 MenhirLib.EngineTypes.endp = _endpos;
28050 MenhirLib.EngineTypes.next = _menhir_stack;
28051 });
28052 (fun _menhir_env ->
28053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28054 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28055 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28056 let _endpos = _startpos in
28057 let _v : 'tv_plus_after_exp =
28058 # 2094 "parser_cocci_menhir.mly"
28059 ([])
28060 # 28061 "parser_cocci_menhir.ml"
28061 in
28062 _menhir_env.MenhirLib.EngineTypes.stack <- {
28063 MenhirLib.EngineTypes.state = _menhir_s;
28064 MenhirLib.EngineTypes.semv = Obj.repr _v;
28065 MenhirLib.EngineTypes.startp = _startpos;
28066 MenhirLib.EngineTypes.endp = _endpos;
28067 MenhirLib.EngineTypes.next = _menhir_stack;
28068 });
28069 (fun _menhir_env ->
28070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28071 let {
28072 MenhirLib.EngineTypes.semv = _2;
28073 MenhirLib.EngineTypes.startp = _startpos__2_;
28074 MenhirLib.EngineTypes.endp = _endpos__2_;
28075 MenhirLib.EngineTypes.next = {
28076 MenhirLib.EngineTypes.state = _menhir_s;
28077 MenhirLib.EngineTypes.semv = _1;
28078 MenhirLib.EngineTypes.startp = _startpos__1_;
28079 MenhirLib.EngineTypes.endp = _endpos__1_;
28080 MenhirLib.EngineTypes.next = _menhir_stack;
28081 };
28082 } = _menhir_stack in
28083 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
28084 let _1 : 'tv_stm_dots = Obj.magic _1 in
28085 let _startpos = _startpos__1_ in
28086 let _endpos = _endpos__2_ in
28087 let _v : 'tv_plus_after_exp =
28088 # 2095 "parser_cocci_menhir.mly"
28089 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
28090 # 28091 "parser_cocci_menhir.ml"
28091 in
28092 _menhir_env.MenhirLib.EngineTypes.stack <- {
28093 MenhirLib.EngineTypes.state = _menhir_s;
28094 MenhirLib.EngineTypes.semv = Obj.repr _v;
28095 MenhirLib.EngineTypes.startp = _startpos;
28096 MenhirLib.EngineTypes.endp = _endpos;
28097 MenhirLib.EngineTypes.next = _menhir_stack;
28098 });
28099 (fun _menhir_env ->
28100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28101 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28102 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28103 let _endpos = _startpos in
28104 let _v : 'tv_plus_after_stm =
28105 # 2107 "parser_cocci_menhir.mly"
28106 ([])
28107 # 28108 "parser_cocci_menhir.ml"
28108 in
28109 _menhir_env.MenhirLib.EngineTypes.stack <- {
28110 MenhirLib.EngineTypes.state = _menhir_s;
28111 MenhirLib.EngineTypes.semv = Obj.repr _v;
28112 MenhirLib.EngineTypes.startp = _startpos;
28113 MenhirLib.EngineTypes.endp = _endpos;
28114 MenhirLib.EngineTypes.next = _menhir_stack;
28115 });
28116 (fun _menhir_env ->
28117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28118 let {
28119 MenhirLib.EngineTypes.semv = _2;
28120 MenhirLib.EngineTypes.startp = _startpos__2_;
28121 MenhirLib.EngineTypes.endp = _endpos__2_;
28122 MenhirLib.EngineTypes.next = {
28123 MenhirLib.EngineTypes.state = _menhir_s;
28124 MenhirLib.EngineTypes.semv = _1;
28125 MenhirLib.EngineTypes.startp = _startpos__1_;
28126 MenhirLib.EngineTypes.endp = _endpos__1_;
28127 MenhirLib.EngineTypes.next = _menhir_stack;
28128 };
28129 } = _menhir_stack in
28130 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
28131 let _1 : 'tv_stm_dots = Obj.magic _1 in
28132 let _startpos = _startpos__1_ in
28133 let _endpos = _endpos__2_ in
28134 let _v : 'tv_plus_after_stm =
28135 # 2108 "parser_cocci_menhir.mly"
28136 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
28137 # 28138 "parser_cocci_menhir.ml"
28138 in
28139 _menhir_env.MenhirLib.EngineTypes.stack <- {
28140 MenhirLib.EngineTypes.state = _menhir_s;
28141 MenhirLib.EngineTypes.semv = Obj.repr _v;
28142 MenhirLib.EngineTypes.startp = _startpos;
28143 MenhirLib.EngineTypes.endp = _endpos;
28144 MenhirLib.EngineTypes.next = _menhir_stack;
28145 });
28146 (fun _menhir_env ->
28147 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28148 let {
28149 MenhirLib.EngineTypes.semv = _2;
28150 MenhirLib.EngineTypes.startp = _startpos__2_;
28151 MenhirLib.EngineTypes.endp = _endpos__2_;
28152 MenhirLib.EngineTypes.next = {
28153 MenhirLib.EngineTypes.state = _menhir_s;
28154 MenhirLib.EngineTypes.semv = _1;
28155 MenhirLib.EngineTypes.startp = _startpos__1_;
28156 MenhirLib.EngineTypes.endp = _endpos__1_;
28157 MenhirLib.EngineTypes.next = _menhir_stack;
28158 };
28159 } = _menhir_stack in
28160 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
28161 let _1 : 'tv_fundecl = Obj.magic _1 in
28162 let _startpos = _startpos__1_ in
28163 let _endpos = _endpos__2_ in
28164 let _v : 'tv_plus_after_stm =
28165 # 2109 "parser_cocci_menhir.mly"
28166 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
28167 # 28168 "parser_cocci_menhir.ml"
28168 in
28169 _menhir_env.MenhirLib.EngineTypes.stack <- {
28170 MenhirLib.EngineTypes.state = _menhir_s;
28171 MenhirLib.EngineTypes.semv = Obj.repr _v;
28172 MenhirLib.EngineTypes.startp = _startpos;
28173 MenhirLib.EngineTypes.endp = _endpos;
28174 MenhirLib.EngineTypes.next = _menhir_stack;
28175 });
28176 (fun _menhir_env ->
28177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28178 let {
28179 MenhirLib.EngineTypes.semv = _2;
28180 MenhirLib.EngineTypes.startp = _startpos__2_;
28181 MenhirLib.EngineTypes.endp = _endpos__2_;
28182 MenhirLib.EngineTypes.next = {
28183 MenhirLib.EngineTypes.state = _menhir_s;
28184 MenhirLib.EngineTypes.semv = _1;
28185 MenhirLib.EngineTypes.startp = _startpos__1_;
28186 MenhirLib.EngineTypes.endp = _endpos__1_;
28187 MenhirLib.EngineTypes.next = _menhir_stack;
28188 };
28189 } = _menhir_stack in
28190 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
28191 let _1 : 'tv_decl_statement = Obj.magic _1 in
28192 let _startpos = _startpos__1_ in
28193 let _endpos = _endpos__2_ in
28194 let _v : 'tv_plus_after_stm =
28195 # 2111 "parser_cocci_menhir.mly"
28196 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
28197 # 28198 "parser_cocci_menhir.ml"
28198 in
28199 _menhir_env.MenhirLib.EngineTypes.stack <- {
28200 MenhirLib.EngineTypes.state = _menhir_s;
28201 MenhirLib.EngineTypes.semv = Obj.repr _v;
28202 MenhirLib.EngineTypes.startp = _startpos;
28203 MenhirLib.EngineTypes.endp = _endpos;
28204 MenhirLib.EngineTypes.next = _menhir_stack;
28205 });
28206 (fun _menhir_env ->
28207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28208 let {
28209 MenhirLib.EngineTypes.semv = b;
28210 MenhirLib.EngineTypes.startp = _startpos_b_;
28211 MenhirLib.EngineTypes.endp = _endpos_b_;
28212 MenhirLib.EngineTypes.next = {
28213 MenhirLib.EngineTypes.state = _menhir_s;
28214 MenhirLib.EngineTypes.semv = f;
28215 MenhirLib.EngineTypes.startp = _startpos_f_;
28216 MenhirLib.EngineTypes.endp = _endpos_f_;
28217 MenhirLib.EngineTypes.next = _menhir_stack;
28218 };
28219 } = _menhir_stack in
28220 let b : 'tv_loption_plus_start_ = Obj.magic b in
28221 let f : 'tv_loption_filespec_ = Obj.magic f in
28222 let _startpos = _startpos_f_ in
28223 let _endpos = _endpos_b_ in
28224 let _v : 'tv_plus_body =
28225 # 810 "parser_cocci_menhir.mly"
28226 ( Top_level.top_level (f@b(*@ew*)) )
28227 # 28228 "parser_cocci_menhir.ml"
28228 in
28229 _menhir_env.MenhirLib.EngineTypes.stack <- {
28230 MenhirLib.EngineTypes.state = _menhir_s;
28231 MenhirLib.EngineTypes.semv = Obj.repr _v;
28232 MenhirLib.EngineTypes.startp = _startpos;
28233 MenhirLib.EngineTypes.endp = _endpos;
28234 MenhirLib.EngineTypes.next = _menhir_stack;
28235 });
28236 (fun _menhir_env ->
28237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28238 let {
28239 MenhirLib.EngineTypes.semv = b;
28240 MenhirLib.EngineTypes.startp = _startpos_b_;
28241 MenhirLib.EngineTypes.endp = _endpos_b_;
28242 MenhirLib.EngineTypes.next = {
28243 MenhirLib.EngineTypes.state = _menhir_s;
28244 MenhirLib.EngineTypes.semv = f;
28245 MenhirLib.EngineTypes.startp = _startpos_f_;
28246 MenhirLib.EngineTypes.endp = _endpos_f_;
28247 MenhirLib.EngineTypes.next = _menhir_stack;
28248 };
28249 } = _menhir_stack in
28250 let b : 'tv_top_eexpr = Obj.magic b in
28251 let f : 'tv_loption_filespec_ = Obj.magic f in
28252 let _startpos = _startpos_f_ in
28253 let _endpos = _endpos_b_ in
28254 let _v : 'tv_plus_exp_body =
28255 # 824 "parser_cocci_menhir.mly"
28256 ( Top_level.top_level (f@[b](*@ew*)) )
28257 # 28258 "parser_cocci_menhir.ml"
28258 in
28259 _menhir_env.MenhirLib.EngineTypes.stack <- {
28260 MenhirLib.EngineTypes.state = _menhir_s;
28261 MenhirLib.EngineTypes.semv = Obj.repr _v;
28262 MenhirLib.EngineTypes.startp = _startpos;
28263 MenhirLib.EngineTypes.endp = _endpos;
28264 MenhirLib.EngineTypes.next = _menhir_stack;
28265 });
28266 (fun _menhir_env ->
28267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28268 let {
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 } = _menhir_stack in
28279 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
28280 let _startpos = _startpos__1_ in
28281 let _endpos = _endpos__2_ in
28282 let _v : (
28283 # 213 "parser_cocci_menhir.mly"
28284 (Ast0_cocci.rule)
28285 # 28286 "parser_cocci_menhir.ml"
28286 ) =
28287 # 249 "parser_cocci_menhir.mly"
28288 ( _1 )
28289 # 28290 "parser_cocci_menhir.ml"
28290 in
28291 _menhir_env.MenhirLib.EngineTypes.stack <- {
28292 MenhirLib.EngineTypes.state = _menhir_s;
28293 MenhirLib.EngineTypes.semv = Obj.repr _v;
28294 MenhirLib.EngineTypes.startp = _startpos;
28295 MenhirLib.EngineTypes.endp = _endpos;
28296 MenhirLib.EngineTypes.next = _menhir_stack;
28297 });
28298 (fun _menhir_env ->
28299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28300 let {
28301 MenhirLib.EngineTypes.startp = _startpos__2_;
28302 MenhirLib.EngineTypes.endp = _endpos__2_;
28303 MenhirLib.EngineTypes.next = {
28304 MenhirLib.EngineTypes.state = _menhir_s;
28305 MenhirLib.EngineTypes.semv = p;
28306 MenhirLib.EngineTypes.startp = _startpos_p_;
28307 MenhirLib.EngineTypes.endp = _endpos_p_;
28308 MenhirLib.EngineTypes.next = _menhir_stack;
28309 };
28310 } = _menhir_stack in
28311 let p : 'tv_plus_exp_body = Obj.magic p in
28312 let _startpos = _startpos_p_ in
28313 let _endpos = _endpos__2_ in
28314 let _v : (
28315 # 213 "parser_cocci_menhir.mly"
28316 (Ast0_cocci.rule)
28317 # 28318 "parser_cocci_menhir.ml"
28318 ) =
28319 # 249 "parser_cocci_menhir.mly"
28320 ( p )
28321 # 28322 "parser_cocci_menhir.ml"
28322 in
28323 _menhir_env.MenhirLib.EngineTypes.stack <- {
28324 MenhirLib.EngineTypes.state = _menhir_s;
28325 MenhirLib.EngineTypes.semv = Obj.repr _v;
28326 MenhirLib.EngineTypes.startp = _startpos;
28327 MenhirLib.EngineTypes.endp = _endpos;
28328 MenhirLib.EngineTypes.next = _menhir_stack;
28329 });
28330 (fun _menhir_env ->
28331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28332 let {
28333 MenhirLib.EngineTypes.startp = _startpos__2_;
28334 MenhirLib.EngineTypes.endp = _endpos__2_;
28335 MenhirLib.EngineTypes.next = {
28336 MenhirLib.EngineTypes.state = _menhir_s;
28337 MenhirLib.EngineTypes.semv = p;
28338 MenhirLib.EngineTypes.startp = _startpos_p_;
28339 MenhirLib.EngineTypes.endp = _endpos_p_;
28340 MenhirLib.EngineTypes.next = _menhir_stack;
28341 };
28342 } = _menhir_stack in
28343 let p : 'tv_plus_exp_body = Obj.magic p in
28344 let _startpos = _startpos_p_ in
28345 let _endpos = _endpos__2_ in
28346 let _v : (
28347 # 213 "parser_cocci_menhir.mly"
28348 (Ast0_cocci.rule)
28349 # 28350 "parser_cocci_menhir.ml"
28350 ) =
28351 # 250 "parser_cocci_menhir.mly"
28352 ( p )
28353 # 28354 "parser_cocci_menhir.ml"
28354 in
28355 _menhir_env.MenhirLib.EngineTypes.stack <- {
28356 MenhirLib.EngineTypes.state = _menhir_s;
28357 MenhirLib.EngineTypes.semv = Obj.repr _v;
28358 MenhirLib.EngineTypes.startp = _startpos;
28359 MenhirLib.EngineTypes.endp = _endpos;
28360 MenhirLib.EngineTypes.next = _menhir_stack;
28361 });
28362 (fun _menhir_env ->
28363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28364 let {
28365 MenhirLib.EngineTypes.startp = _startpos__2_;
28366 MenhirLib.EngineTypes.endp = _endpos__2_;
28367 MenhirLib.EngineTypes.next = {
28368 MenhirLib.EngineTypes.state = _menhir_s;
28369 MenhirLib.EngineTypes.semv = _1;
28370 MenhirLib.EngineTypes.startp = _startpos__1_;
28371 MenhirLib.EngineTypes.endp = _endpos__1_;
28372 MenhirLib.EngineTypes.next = _menhir_stack;
28373 };
28374 } = _menhir_stack in
28375 let _1 : 'tv_plus_body = Obj.magic _1 in
28376 let _startpos = _startpos__1_ in
28377 let _endpos = _endpos__2_ in
28378 let _v : (
28379 # 210 "parser_cocci_menhir.mly"
28380 (Ast0_cocci.rule)
28381 # 28382 "parser_cocci_menhir.ml"
28382 ) =
28383 # 245 "parser_cocci_menhir.mly"
28384 ( _1 )
28385 # 28386 "parser_cocci_menhir.ml"
28386 in
28387 _menhir_env.MenhirLib.EngineTypes.stack <- {
28388 MenhirLib.EngineTypes.state = _menhir_s;
28389 MenhirLib.EngineTypes.semv = Obj.repr _v;
28390 MenhirLib.EngineTypes.startp = _startpos;
28391 MenhirLib.EngineTypes.endp = _endpos;
28392 MenhirLib.EngineTypes.next = _menhir_stack;
28393 });
28394 (fun _menhir_env ->
28395 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28396 let {
28397 MenhirLib.EngineTypes.startp = _startpos__2_;
28398 MenhirLib.EngineTypes.endp = _endpos__2_;
28399 MenhirLib.EngineTypes.next = {
28400 MenhirLib.EngineTypes.state = _menhir_s;
28401 MenhirLib.EngineTypes.semv = p;
28402 MenhirLib.EngineTypes.startp = _startpos_p_;
28403 MenhirLib.EngineTypes.endp = _endpos_p_;
28404 MenhirLib.EngineTypes.next = _menhir_stack;
28405 };
28406 } = _menhir_stack in
28407 let p : 'tv_plus_body = Obj.magic p in
28408 let _startpos = _startpos_p_ in
28409 let _endpos = _endpos__2_ in
28410 let _v : (
28411 # 210 "parser_cocci_menhir.mly"
28412 (Ast0_cocci.rule)
28413 # 28414 "parser_cocci_menhir.ml"
28414 ) =
28415 # 245 "parser_cocci_menhir.mly"
28416 ( p )
28417 # 28418 "parser_cocci_menhir.ml"
28418 in
28419 _menhir_env.MenhirLib.EngineTypes.stack <- {
28420 MenhirLib.EngineTypes.state = _menhir_s;
28421 MenhirLib.EngineTypes.semv = Obj.repr _v;
28422 MenhirLib.EngineTypes.startp = _startpos;
28423 MenhirLib.EngineTypes.endp = _endpos;
28424 MenhirLib.EngineTypes.next = _menhir_stack;
28425 });
28426 (fun _menhir_env ->
28427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28428 let {
28429 MenhirLib.EngineTypes.startp = _startpos__2_;
28430 MenhirLib.EngineTypes.endp = _endpos__2_;
28431 MenhirLib.EngineTypes.next = {
28432 MenhirLib.EngineTypes.state = _menhir_s;
28433 MenhirLib.EngineTypes.semv = p;
28434 MenhirLib.EngineTypes.startp = _startpos_p_;
28435 MenhirLib.EngineTypes.endp = _endpos_p_;
28436 MenhirLib.EngineTypes.next = _menhir_stack;
28437 };
28438 } = _menhir_stack in
28439 let p : 'tv_plus_body = Obj.magic p in
28440 let _startpos = _startpos_p_ in
28441 let _endpos = _endpos__2_ in
28442 let _v : (
28443 # 210 "parser_cocci_menhir.mly"
28444 (Ast0_cocci.rule)
28445 # 28446 "parser_cocci_menhir.ml"
28446 ) =
28447 # 246 "parser_cocci_menhir.mly"
28448 ( p )
28449 # 28450 "parser_cocci_menhir.ml"
28450 in
28451 _menhir_env.MenhirLib.EngineTypes.stack <- {
28452 MenhirLib.EngineTypes.state = _menhir_s;
28453 MenhirLib.EngineTypes.semv = Obj.repr _v;
28454 MenhirLib.EngineTypes.startp = _startpos;
28455 MenhirLib.EngineTypes.endp = _endpos;
28456 MenhirLib.EngineTypes.next = _menhir_stack;
28457 });
28458 (fun _menhir_env ->
28459 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28460 let {
28461 MenhirLib.EngineTypes.state = _menhir_s;
28462 MenhirLib.EngineTypes.semv = _1;
28463 MenhirLib.EngineTypes.startp = _startpos__1_;
28464 MenhirLib.EngineTypes.endp = _endpos__1_;
28465 MenhirLib.EngineTypes.next = _menhir_stack;
28466 } = _menhir_stack in
28467 let _1 : 'tv_ctype = Obj.magic _1 in
28468 let _startpos = _startpos__1_ in
28469 let _endpos = _endpos__1_ in
28470 let _v : 'tv_plus_start =
28471 # 2083 "parser_cocci_menhir.mly"
28472 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
28473 # 28474 "parser_cocci_menhir.ml"
28474 in
28475 _menhir_env.MenhirLib.EngineTypes.stack <- {
28476 MenhirLib.EngineTypes.state = _menhir_s;
28477 MenhirLib.EngineTypes.semv = Obj.repr _v;
28478 MenhirLib.EngineTypes.startp = _startpos;
28479 MenhirLib.EngineTypes.endp = _endpos;
28480 MenhirLib.EngineTypes.next = _menhir_stack;
28481 });
28482 (fun _menhir_env ->
28483 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28484 let {
28485 MenhirLib.EngineTypes.state = _menhir_s;
28486 MenhirLib.EngineTypes.semv = _1;
28487 MenhirLib.EngineTypes.startp = _startpos__1_;
28488 MenhirLib.EngineTypes.endp = _endpos__1_;
28489 MenhirLib.EngineTypes.next = _menhir_stack;
28490 } = _menhir_stack in
28491 let _1 : 'tv_top_init = Obj.magic _1 in
28492 let _startpos = _startpos__1_ in
28493 let _endpos = _endpos__1_ in
28494 let _v : 'tv_plus_start =
28495 # 2084 "parser_cocci_menhir.mly"
28496 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
28497 # 28498 "parser_cocci_menhir.ml"
28498 in
28499 _menhir_env.MenhirLib.EngineTypes.stack <- {
28500 MenhirLib.EngineTypes.state = _menhir_s;
28501 MenhirLib.EngineTypes.semv = Obj.repr _v;
28502 MenhirLib.EngineTypes.startp = _startpos;
28503 MenhirLib.EngineTypes.endp = _endpos;
28504 MenhirLib.EngineTypes.next = _menhir_stack;
28505 });
28506 (fun _menhir_env ->
28507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28508 let {
28509 MenhirLib.EngineTypes.semv = _2;
28510 MenhirLib.EngineTypes.startp = _startpos__2_;
28511 MenhirLib.EngineTypes.endp = _endpos__2_;
28512 MenhirLib.EngineTypes.next = {
28513 MenhirLib.EngineTypes.state = _menhir_s;
28514 MenhirLib.EngineTypes.semv = _1;
28515 MenhirLib.EngineTypes.startp = _startpos__1_;
28516 MenhirLib.EngineTypes.endp = _endpos__1_;
28517 MenhirLib.EngineTypes.next = _menhir_stack;
28518 };
28519 } = _menhir_stack in
28520 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
28521 let _1 : 'tv_stm_dots = Obj.magic _1 in
28522 let _startpos = _startpos__1_ in
28523 let _endpos = _endpos__2_ in
28524 let _v : 'tv_plus_start =
28525 # 2086 "parser_cocci_menhir.mly"
28526 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
28527 # 28528 "parser_cocci_menhir.ml"
28528 in
28529 _menhir_env.MenhirLib.EngineTypes.stack <- {
28530 MenhirLib.EngineTypes.state = _menhir_s;
28531 MenhirLib.EngineTypes.semv = Obj.repr _v;
28532 MenhirLib.EngineTypes.startp = _startpos;
28533 MenhirLib.EngineTypes.endp = _endpos;
28534 MenhirLib.EngineTypes.next = _menhir_stack;
28535 });
28536 (fun _menhir_env ->
28537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28538 let {
28539 MenhirLib.EngineTypes.semv = _2;
28540 MenhirLib.EngineTypes.startp = _startpos__2_;
28541 MenhirLib.EngineTypes.endp = _endpos__2_;
28542 MenhirLib.EngineTypes.next = {
28543 MenhirLib.EngineTypes.state = _menhir_s;
28544 MenhirLib.EngineTypes.semv = _1;
28545 MenhirLib.EngineTypes.startp = _startpos__1_;
28546 MenhirLib.EngineTypes.endp = _endpos__1_;
28547 MenhirLib.EngineTypes.next = _menhir_stack;
28548 };
28549 } = _menhir_stack in
28550 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
28551 let _1 : 'tv_expr = Obj.magic _1 in
28552 let _startpos = _startpos__1_ in
28553 let _endpos = _endpos__2_ in
28554 let _v : 'tv_plus_start =
28555 # 2088 "parser_cocci_menhir.mly"
28556 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
28557 # 28558 "parser_cocci_menhir.ml"
28558 in
28559 _menhir_env.MenhirLib.EngineTypes.stack <- {
28560 MenhirLib.EngineTypes.state = _menhir_s;
28561 MenhirLib.EngineTypes.semv = Obj.repr _v;
28562 MenhirLib.EngineTypes.startp = _startpos;
28563 MenhirLib.EngineTypes.endp = _endpos;
28564 MenhirLib.EngineTypes.next = _menhir_stack;
28565 });
28566 (fun _menhir_env ->
28567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28568 let {
28569 MenhirLib.EngineTypes.semv = _2;
28570 MenhirLib.EngineTypes.startp = _startpos__2_;
28571 MenhirLib.EngineTypes.endp = _endpos__2_;
28572 MenhirLib.EngineTypes.next = {
28573 MenhirLib.EngineTypes.state = _menhir_s;
28574 MenhirLib.EngineTypes.semv = _1;
28575 MenhirLib.EngineTypes.startp = _startpos__1_;
28576 MenhirLib.EngineTypes.endp = _endpos__1_;
28577 MenhirLib.EngineTypes.next = _menhir_stack;
28578 };
28579 } = _menhir_stack in
28580 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
28581 let _1 : 'tv_fundecl = Obj.magic _1 in
28582 let _startpos = _startpos__1_ in
28583 let _endpos = _endpos__2_ in
28584 let _v : 'tv_plus_start =
28585 # 2089 "parser_cocci_menhir.mly"
28586 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
28587 # 28588 "parser_cocci_menhir.ml"
28588 in
28589 _menhir_env.MenhirLib.EngineTypes.stack <- {
28590 MenhirLib.EngineTypes.state = _menhir_s;
28591 MenhirLib.EngineTypes.semv = Obj.repr _v;
28592 MenhirLib.EngineTypes.startp = _startpos;
28593 MenhirLib.EngineTypes.endp = _endpos;
28594 MenhirLib.EngineTypes.next = _menhir_stack;
28595 });
28596 (fun _menhir_env ->
28597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28598 let {
28599 MenhirLib.EngineTypes.semv = _2;
28600 MenhirLib.EngineTypes.startp = _startpos__2_;
28601 MenhirLib.EngineTypes.endp = _endpos__2_;
28602 MenhirLib.EngineTypes.next = {
28603 MenhirLib.EngineTypes.state = _menhir_s;
28604 MenhirLib.EngineTypes.semv = _1;
28605 MenhirLib.EngineTypes.startp = _startpos__1_;
28606 MenhirLib.EngineTypes.endp = _endpos__1_;
28607 MenhirLib.EngineTypes.next = _menhir_stack;
28608 };
28609 } = _menhir_stack in
28610 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
28611 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
28612 let _startpos = _startpos__1_ in
28613 let _endpos = _endpos__2_ in
28614 let _v : 'tv_plus_start =
28615 # 2091 "parser_cocci_menhir.mly"
28616 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
28617 # 28618 "parser_cocci_menhir.ml"
28618 in
28619 _menhir_env.MenhirLib.EngineTypes.stack <- {
28620 MenhirLib.EngineTypes.state = _menhir_s;
28621 MenhirLib.EngineTypes.semv = Obj.repr _v;
28622 MenhirLib.EngineTypes.startp = _startpos;
28623 MenhirLib.EngineTypes.endp = _endpos;
28624 MenhirLib.EngineTypes.next = _menhir_stack;
28625 });
28626 (fun _menhir_env ->
28627 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28628 let {
28629 MenhirLib.EngineTypes.state = _menhir_s;
28630 MenhirLib.EngineTypes.semv = _1;
28631 MenhirLib.EngineTypes.startp = _startpos__1_;
28632 MenhirLib.EngineTypes.endp = _endpos__1_;
28633 MenhirLib.EngineTypes.next = _menhir_stack;
28634 } = _menhir_stack in
28635 let _1 : (
28636 # 112 "parser_cocci_menhir.mly"
28637 (string)
28638 # 28639 "parser_cocci_menhir.ml"
28639 ) = Obj.magic _1 in
28640 let _startpos = _startpos__1_ in
28641 let _endpos = _endpos__1_ in
28642 let _v : 'tv_pnrule =
28643 # 300 "parser_cocci_menhir.mly"
28644 ( Ast.Dep _1 )
28645 # 28646 "parser_cocci_menhir.ml"
28646 in
28647 _menhir_env.MenhirLib.EngineTypes.stack <- {
28648 MenhirLib.EngineTypes.state = _menhir_s;
28649 MenhirLib.EngineTypes.semv = Obj.repr _v;
28650 MenhirLib.EngineTypes.startp = _startpos;
28651 MenhirLib.EngineTypes.endp = _endpos;
28652 MenhirLib.EngineTypes.next = _menhir_stack;
28653 });
28654 (fun _menhir_env ->
28655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28656 let {
28657 MenhirLib.EngineTypes.semv = _2;
28658 MenhirLib.EngineTypes.startp = _startpos__2_;
28659 MenhirLib.EngineTypes.endp = _endpos__2_;
28660 MenhirLib.EngineTypes.next = {
28661 MenhirLib.EngineTypes.state = _menhir_s;
28662 MenhirLib.EngineTypes.startp = _startpos__1_;
28663 MenhirLib.EngineTypes.endp = _endpos__1_;
28664 MenhirLib.EngineTypes.next = _menhir_stack;
28665 };
28666 } = _menhir_stack in
28667 let _2 : (
28668 # 112 "parser_cocci_menhir.mly"
28669 (string)
28670 # 28671 "parser_cocci_menhir.ml"
28671 ) = Obj.magic _2 in
28672 let _startpos = _startpos__1_ in
28673 let _endpos = _endpos__2_ in
28674 let _v : 'tv_pnrule =
28675 # 301 "parser_cocci_menhir.mly"
28676 ( Ast.AntiDep _2 )
28677 # 28678 "parser_cocci_menhir.ml"
28678 in
28679 _menhir_env.MenhirLib.EngineTypes.stack <- {
28680 MenhirLib.EngineTypes.state = _menhir_s;
28681 MenhirLib.EngineTypes.semv = Obj.repr _v;
28682 MenhirLib.EngineTypes.startp = _startpos;
28683 MenhirLib.EngineTypes.endp = _endpos;
28684 MenhirLib.EngineTypes.next = _menhir_stack;
28685 });
28686 (fun _menhir_env ->
28687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28688 let {
28689 MenhirLib.EngineTypes.semv = _2;
28690 MenhirLib.EngineTypes.startp = _startpos__2_;
28691 MenhirLib.EngineTypes.endp = _endpos__2_;
28692 MenhirLib.EngineTypes.next = {
28693 MenhirLib.EngineTypes.state = _menhir_s;
28694 MenhirLib.EngineTypes.startp = _startpos__1_;
28695 MenhirLib.EngineTypes.endp = _endpos__1_;
28696 MenhirLib.EngineTypes.next = _menhir_stack;
28697 };
28698 } = _menhir_stack in
28699 let _2 : (
28700 # 112 "parser_cocci_menhir.mly"
28701 (string)
28702 # 28703 "parser_cocci_menhir.ml"
28703 ) = Obj.magic _2 in
28704 let _startpos = _startpos__1_ in
28705 let _endpos = _endpos__2_ in
28706 let _v : 'tv_pnrule =
28707 # 302 "parser_cocci_menhir.mly"
28708 ( Ast.EverDep _2 )
28709 # 28710 "parser_cocci_menhir.ml"
28710 in
28711 _menhir_env.MenhirLib.EngineTypes.stack <- {
28712 MenhirLib.EngineTypes.state = _menhir_s;
28713 MenhirLib.EngineTypes.semv = Obj.repr _v;
28714 MenhirLib.EngineTypes.startp = _startpos;
28715 MenhirLib.EngineTypes.endp = _endpos;
28716 MenhirLib.EngineTypes.next = _menhir_stack;
28717 });
28718 (fun _menhir_env ->
28719 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28720 let {
28721 MenhirLib.EngineTypes.semv = _2;
28722 MenhirLib.EngineTypes.startp = _startpos__2_;
28723 MenhirLib.EngineTypes.endp = _endpos__2_;
28724 MenhirLib.EngineTypes.next = {
28725 MenhirLib.EngineTypes.state = _menhir_s;
28726 MenhirLib.EngineTypes.startp = _startpos__1_;
28727 MenhirLib.EngineTypes.endp = _endpos__1_;
28728 MenhirLib.EngineTypes.next = _menhir_stack;
28729 };
28730 } = _menhir_stack in
28731 let _2 : (
28732 # 112 "parser_cocci_menhir.mly"
28733 (string)
28734 # 28735 "parser_cocci_menhir.ml"
28735 ) = Obj.magic _2 in
28736 let _startpos = _startpos__1_ in
28737 let _endpos = _endpos__2_ in
28738 let _v : 'tv_pnrule =
28739 # 303 "parser_cocci_menhir.mly"
28740 ( Ast.NeverDep _2 )
28741 # 28742 "parser_cocci_menhir.ml"
28742 in
28743 _menhir_env.MenhirLib.EngineTypes.stack <- {
28744 MenhirLib.EngineTypes.state = _menhir_s;
28745 MenhirLib.EngineTypes.semv = Obj.repr _v;
28746 MenhirLib.EngineTypes.startp = _startpos;
28747 MenhirLib.EngineTypes.endp = _endpos;
28748 MenhirLib.EngineTypes.next = _menhir_stack;
28749 });
28750 (fun _menhir_env ->
28751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28752 let {
28753 MenhirLib.EngineTypes.startp = _startpos__3_;
28754 MenhirLib.EngineTypes.endp = _endpos__3_;
28755 MenhirLib.EngineTypes.next = {
28756 MenhirLib.EngineTypes.semv = _2;
28757 MenhirLib.EngineTypes.startp = _startpos__2_;
28758 MenhirLib.EngineTypes.endp = _endpos__2_;
28759 MenhirLib.EngineTypes.next = {
28760 MenhirLib.EngineTypes.state = _menhir_s;
28761 MenhirLib.EngineTypes.startp = _startpos__1_;
28762 MenhirLib.EngineTypes.endp = _endpos__1_;
28763 MenhirLib.EngineTypes.next = _menhir_stack;
28764 };
28765 };
28766 } = _menhir_stack in
28767 let _2 : 'tv_dep = Obj.magic _2 in
28768 let _startpos = _startpos__1_ in
28769 let _endpos = _endpos__3_ in
28770 let _v : 'tv_pnrule =
28771 # 304 "parser_cocci_menhir.mly"
28772 ( _2 )
28773 # 28774 "parser_cocci_menhir.ml"
28774 in
28775 _menhir_env.MenhirLib.EngineTypes.stack <- {
28776 MenhirLib.EngineTypes.state = _menhir_s;
28777 MenhirLib.EngineTypes.semv = Obj.repr _v;
28778 MenhirLib.EngineTypes.startp = _startpos;
28779 MenhirLib.EngineTypes.endp = _endpos;
28780 MenhirLib.EngineTypes.next = _menhir_stack;
28781 });
28782 (fun _menhir_env ->
28783 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28784 let {
28785 MenhirLib.EngineTypes.state = _menhir_s;
28786 MenhirLib.EngineTypes.semv = _1;
28787 MenhirLib.EngineTypes.startp = _startpos__1_;
28788 MenhirLib.EngineTypes.endp = _endpos__1_;
28789 MenhirLib.EngineTypes.next = _menhir_stack;
28790 } = _menhir_stack in
28791 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28792 let _startpos = _startpos__1_ in
28793 let _endpos = _endpos__1_ in
28794 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28795 # 1547 "parser_cocci_menhir.mly"
28796 ( _1 )
28797 # 28798 "parser_cocci_menhir.ml"
28798 in
28799 _menhir_env.MenhirLib.EngineTypes.stack <- {
28800 MenhirLib.EngineTypes.state = _menhir_s;
28801 MenhirLib.EngineTypes.semv = Obj.repr _v;
28802 MenhirLib.EngineTypes.startp = _startpos;
28803 MenhirLib.EngineTypes.endp = _endpos;
28804 MenhirLib.EngineTypes.next = _menhir_stack;
28805 });
28806 (fun _menhir_env ->
28807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28808 let {
28809 MenhirLib.EngineTypes.semv = _4;
28810 MenhirLib.EngineTypes.startp = _startpos__4_;
28811 MenhirLib.EngineTypes.endp = _endpos__4_;
28812 MenhirLib.EngineTypes.next = {
28813 MenhirLib.EngineTypes.semv = _3;
28814 MenhirLib.EngineTypes.startp = _startpos__3_;
28815 MenhirLib.EngineTypes.endp = _endpos__3_;
28816 MenhirLib.EngineTypes.next = {
28817 MenhirLib.EngineTypes.semv = _2;
28818 MenhirLib.EngineTypes.startp = _startpos__2_;
28819 MenhirLib.EngineTypes.endp = _endpos__2_;
28820 MenhirLib.EngineTypes.next = {
28821 MenhirLib.EngineTypes.state = _menhir_s;
28822 MenhirLib.EngineTypes.semv = _1;
28823 MenhirLib.EngineTypes.startp = _startpos__1_;
28824 MenhirLib.EngineTypes.endp = _endpos__1_;
28825 MenhirLib.EngineTypes.next = _menhir_stack;
28826 };
28827 };
28828 };
28829 } = _menhir_stack in
28830 let _4 : (
28831 # 170 "parser_cocci_menhir.mly"
28832 (Data.clt)
28833 # 28834 "parser_cocci_menhir.ml"
28834 ) = Obj.magic _4 in
28835 let _3 : 'tv_eexpr = Obj.magic _3 in
28836 let _2 : (
28837 # 170 "parser_cocci_menhir.mly"
28838 (Data.clt)
28839 # 28840 "parser_cocci_menhir.ml"
28840 ) = Obj.magic _2 in
28841 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28842 let _startpos = _startpos__1_ in
28843 let _endpos = _endpos__4_ in
28844 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28845 # 1549 "parser_cocci_menhir.mly"
28846 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
28847 P.clt2mcode "]" _4)) )
28848 # 28849 "parser_cocci_menhir.ml"
28849 in
28850 _menhir_env.MenhirLib.EngineTypes.stack <- {
28851 MenhirLib.EngineTypes.state = _menhir_s;
28852 MenhirLib.EngineTypes.semv = Obj.repr _v;
28853 MenhirLib.EngineTypes.startp = _startpos;
28854 MenhirLib.EngineTypes.endp = _endpos;
28855 MenhirLib.EngineTypes.next = _menhir_stack;
28856 });
28857 (fun _menhir_env ->
28858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28859 let {
28860 MenhirLib.EngineTypes.semv = _3;
28861 MenhirLib.EngineTypes.startp = _startpos__3_;
28862 MenhirLib.EngineTypes.endp = _endpos__3_;
28863 MenhirLib.EngineTypes.next = {
28864 MenhirLib.EngineTypes.semv = _2;
28865 MenhirLib.EngineTypes.startp = _startpos__2_;
28866 MenhirLib.EngineTypes.endp = _endpos__2_;
28867 MenhirLib.EngineTypes.next = {
28868 MenhirLib.EngineTypes.state = _menhir_s;
28869 MenhirLib.EngineTypes.semv = _1;
28870 MenhirLib.EngineTypes.startp = _startpos__1_;
28871 MenhirLib.EngineTypes.endp = _endpos__1_;
28872 MenhirLib.EngineTypes.next = _menhir_stack;
28873 };
28874 };
28875 } = _menhir_stack in
28876 let _3 : 'tv_disj_ident = Obj.magic _3 in
28877 let _2 : (
28878 # 175 "parser_cocci_menhir.mly"
28879 (Data.clt)
28880 # 28881 "parser_cocci_menhir.ml"
28881 ) = Obj.magic _2 in
28882 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28883 let _startpos = _startpos__1_ in
28884 let _endpos = _endpos__3_ in
28885 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28886 # 1552 "parser_cocci_menhir.mly"
28887 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
28888 # 28889 "parser_cocci_menhir.ml"
28889 in
28890 _menhir_env.MenhirLib.EngineTypes.stack <- {
28891 MenhirLib.EngineTypes.state = _menhir_s;
28892 MenhirLib.EngineTypes.semv = Obj.repr _v;
28893 MenhirLib.EngineTypes.startp = _startpos;
28894 MenhirLib.EngineTypes.endp = _endpos;
28895 MenhirLib.EngineTypes.next = _menhir_stack;
28896 });
28897 (fun _menhir_env ->
28898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28899 let {
28900 MenhirLib.EngineTypes.semv = _3;
28901 MenhirLib.EngineTypes.startp = _startpos__3_;
28902 MenhirLib.EngineTypes.endp = _endpos__3_;
28903 MenhirLib.EngineTypes.next = {
28904 MenhirLib.EngineTypes.semv = _2;
28905 MenhirLib.EngineTypes.startp = _startpos__2_;
28906 MenhirLib.EngineTypes.endp = _endpos__2_;
28907 MenhirLib.EngineTypes.next = {
28908 MenhirLib.EngineTypes.state = _menhir_s;
28909 MenhirLib.EngineTypes.semv = _1;
28910 MenhirLib.EngineTypes.startp = _startpos__1_;
28911 MenhirLib.EngineTypes.endp = _endpos__1_;
28912 MenhirLib.EngineTypes.next = _menhir_stack;
28913 };
28914 };
28915 } = _menhir_stack in
28916 let _3 : 'tv_disj_ident = Obj.magic _3 in
28917 let _2 : (
28918 # 172 "parser_cocci_menhir.mly"
28919 (Data.clt)
28920 # 28921 "parser_cocci_menhir.ml"
28921 ) = Obj.magic _2 in
28922 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28923 let _startpos = _startpos__1_ in
28924 let _endpos = _endpos__3_ in
28925 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28926 # 1554 "parser_cocci_menhir.mly"
28927 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
28928 _3)) )
28929 # 28930 "parser_cocci_menhir.ml"
28930 in
28931 _menhir_env.MenhirLib.EngineTypes.stack <- {
28932 MenhirLib.EngineTypes.state = _menhir_s;
28933 MenhirLib.EngineTypes.semv = Obj.repr _v;
28934 MenhirLib.EngineTypes.startp = _startpos;
28935 MenhirLib.EngineTypes.endp = _endpos;
28936 MenhirLib.EngineTypes.next = _menhir_stack;
28937 });
28938 (fun _menhir_env ->
28939 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28940 let {
28941 MenhirLib.EngineTypes.semv = _2;
28942 MenhirLib.EngineTypes.startp = _startpos__2_;
28943 MenhirLib.EngineTypes.endp = _endpos__2_;
28944 MenhirLib.EngineTypes.next = {
28945 MenhirLib.EngineTypes.state = _menhir_s;
28946 MenhirLib.EngineTypes.semv = _1;
28947 MenhirLib.EngineTypes.startp = _startpos__1_;
28948 MenhirLib.EngineTypes.endp = _endpos__1_;
28949 MenhirLib.EngineTypes.next = _menhir_stack;
28950 };
28951 } = _menhir_stack in
28952 let _2 : (
28953 # 153 "parser_cocci_menhir.mly"
28954 (Data.clt)
28955 # 28956 "parser_cocci_menhir.ml"
28956 ) = Obj.magic _2 in
28957 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28958 let _startpos = _startpos__1_ in
28959 let _endpos = _endpos__2_ in
28960 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28961 # 1557 "parser_cocci_menhir.mly"
28962 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
28963 # 28964 "parser_cocci_menhir.ml"
28964 in
28965 _menhir_env.MenhirLib.EngineTypes.stack <- {
28966 MenhirLib.EngineTypes.state = _menhir_s;
28967 MenhirLib.EngineTypes.semv = Obj.repr _v;
28968 MenhirLib.EngineTypes.startp = _startpos;
28969 MenhirLib.EngineTypes.endp = _endpos;
28970 MenhirLib.EngineTypes.next = _menhir_stack;
28971 });
28972 (fun _menhir_env ->
28973 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28974 let {
28975 MenhirLib.EngineTypes.semv = _2;
28976 MenhirLib.EngineTypes.startp = _startpos__2_;
28977 MenhirLib.EngineTypes.endp = _endpos__2_;
28978 MenhirLib.EngineTypes.next = {
28979 MenhirLib.EngineTypes.state = _menhir_s;
28980 MenhirLib.EngineTypes.semv = _1;
28981 MenhirLib.EngineTypes.startp = _startpos__1_;
28982 MenhirLib.EngineTypes.endp = _endpos__1_;
28983 MenhirLib.EngineTypes.next = _menhir_stack;
28984 };
28985 } = _menhir_stack in
28986 let _2 : (
28987 # 153 "parser_cocci_menhir.mly"
28988 (Data.clt)
28989 # 28990 "parser_cocci_menhir.ml"
28990 ) = Obj.magic _2 in
28991 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28992 let _startpos = _startpos__1_ in
28993 let _endpos = _endpos__2_ in
28994 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28995 # 1559 "parser_cocci_menhir.mly"
28996 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
28997 # 28998 "parser_cocci_menhir.ml"
28998 in
28999 _menhir_env.MenhirLib.EngineTypes.stack <- {
29000 MenhirLib.EngineTypes.state = _menhir_s;
29001 MenhirLib.EngineTypes.semv = Obj.repr _v;
29002 MenhirLib.EngineTypes.startp = _startpos;
29003 MenhirLib.EngineTypes.endp = _endpos;
29004 MenhirLib.EngineTypes.next = _menhir_stack;
29005 });
29006 (fun _menhir_env ->
29007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29008 let {
29009 MenhirLib.EngineTypes.semv = _4;
29010 MenhirLib.EngineTypes.startp = _startpos__4_;
29011 MenhirLib.EngineTypes.endp = _endpos__4_;
29012 MenhirLib.EngineTypes.next = {
29013 MenhirLib.EngineTypes.semv = _3;
29014 MenhirLib.EngineTypes.startp = _startpos__3_;
29015 MenhirLib.EngineTypes.endp = _endpos__3_;
29016 MenhirLib.EngineTypes.next = {
29017 MenhirLib.EngineTypes.semv = _2;
29018 MenhirLib.EngineTypes.startp = _startpos__2_;
29019 MenhirLib.EngineTypes.endp = _endpos__2_;
29020 MenhirLib.EngineTypes.next = {
29021 MenhirLib.EngineTypes.state = _menhir_s;
29022 MenhirLib.EngineTypes.semv = _1;
29023 MenhirLib.EngineTypes.startp = _startpos__1_;
29024 MenhirLib.EngineTypes.endp = _endpos__1_;
29025 MenhirLib.EngineTypes.next = _menhir_stack;
29026 };
29027 };
29028 };
29029 } = _menhir_stack in
29030 let _4 : (
29031 # 145 "parser_cocci_menhir.mly"
29032 (Data.clt)
29033 # 29034 "parser_cocci_menhir.ml"
29034 ) = Obj.magic _4 in
29035 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
29036 let _2 : (
29037 # 144 "parser_cocci_menhir.mly"
29038 (Data.clt)
29039 # 29040 "parser_cocci_menhir.ml"
29040 ) = Obj.magic _2 in
29041 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
29042 let _startpos = _startpos__1_ in
29043 let _endpos = _endpos__4_ in
29044 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
29045 # 1561 "parser_cocci_menhir.mly"
29046 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
29047 _3,
29048 P.clt2mcode ")" _4)) )
29049 # 29050 "parser_cocci_menhir.ml"
29050 in
29051 _menhir_env.MenhirLib.EngineTypes.stack <- {
29052 MenhirLib.EngineTypes.state = _menhir_s;
29053 MenhirLib.EngineTypes.semv = Obj.repr _v;
29054 MenhirLib.EngineTypes.startp = _startpos;
29055 MenhirLib.EngineTypes.endp = _endpos;
29056 MenhirLib.EngineTypes.next = _menhir_stack;
29057 });
29058 (fun _menhir_env ->
29059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29060 let {
29061 MenhirLib.EngineTypes.state = _menhir_s;
29062 MenhirLib.EngineTypes.semv = _1;
29063 MenhirLib.EngineTypes.startp = _startpos__1_;
29064 MenhirLib.EngineTypes.endp = _endpos__1_;
29065 MenhirLib.EngineTypes.next = _menhir_stack;
29066 } = _menhir_stack in
29067 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
29068 let _startpos = _startpos__1_ in
29069 let _endpos = _endpos__1_ in
29070 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29071 # 1547 "parser_cocci_menhir.mly"
29072 ( _1 )
29073 # 29074 "parser_cocci_menhir.ml"
29074 in
29075 _menhir_env.MenhirLib.EngineTypes.stack <- {
29076 MenhirLib.EngineTypes.state = _menhir_s;
29077 MenhirLib.EngineTypes.semv = Obj.repr _v;
29078 MenhirLib.EngineTypes.startp = _startpos;
29079 MenhirLib.EngineTypes.endp = _endpos;
29080 MenhirLib.EngineTypes.next = _menhir_stack;
29081 });
29082 (fun _menhir_env ->
29083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29084 let {
29085 MenhirLib.EngineTypes.semv = _4;
29086 MenhirLib.EngineTypes.startp = _startpos__4_;
29087 MenhirLib.EngineTypes.endp = _endpos__4_;
29088 MenhirLib.EngineTypes.next = {
29089 MenhirLib.EngineTypes.semv = _3;
29090 MenhirLib.EngineTypes.startp = _startpos__3_;
29091 MenhirLib.EngineTypes.endp = _endpos__3_;
29092 MenhirLib.EngineTypes.next = {
29093 MenhirLib.EngineTypes.semv = _2;
29094 MenhirLib.EngineTypes.startp = _startpos__2_;
29095 MenhirLib.EngineTypes.endp = _endpos__2_;
29096 MenhirLib.EngineTypes.next = {
29097 MenhirLib.EngineTypes.state = _menhir_s;
29098 MenhirLib.EngineTypes.semv = _1;
29099 MenhirLib.EngineTypes.startp = _startpos__1_;
29100 MenhirLib.EngineTypes.endp = _endpos__1_;
29101 MenhirLib.EngineTypes.next = _menhir_stack;
29102 };
29103 };
29104 };
29105 } = _menhir_stack in
29106 let _4 : (
29107 # 170 "parser_cocci_menhir.mly"
29108 (Data.clt)
29109 # 29110 "parser_cocci_menhir.ml"
29110 ) = Obj.magic _4 in
29111 let _3 : 'tv_eexpr = Obj.magic _3 in
29112 let _2 : (
29113 # 170 "parser_cocci_menhir.mly"
29114 (Data.clt)
29115 # 29116 "parser_cocci_menhir.ml"
29116 ) = Obj.magic _2 in
29117 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29118 let _startpos = _startpos__1_ in
29119 let _endpos = _endpos__4_ in
29120 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29121 # 1549 "parser_cocci_menhir.mly"
29122 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
29123 P.clt2mcode "]" _4)) )
29124 # 29125 "parser_cocci_menhir.ml"
29125 in
29126 _menhir_env.MenhirLib.EngineTypes.stack <- {
29127 MenhirLib.EngineTypes.state = _menhir_s;
29128 MenhirLib.EngineTypes.semv = Obj.repr _v;
29129 MenhirLib.EngineTypes.startp = _startpos;
29130 MenhirLib.EngineTypes.endp = _endpos;
29131 MenhirLib.EngineTypes.next = _menhir_stack;
29132 });
29133 (fun _menhir_env ->
29134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29135 let {
29136 MenhirLib.EngineTypes.semv = _3;
29137 MenhirLib.EngineTypes.startp = _startpos__3_;
29138 MenhirLib.EngineTypes.endp = _endpos__3_;
29139 MenhirLib.EngineTypes.next = {
29140 MenhirLib.EngineTypes.semv = _2;
29141 MenhirLib.EngineTypes.startp = _startpos__2_;
29142 MenhirLib.EngineTypes.endp = _endpos__2_;
29143 MenhirLib.EngineTypes.next = {
29144 MenhirLib.EngineTypes.state = _menhir_s;
29145 MenhirLib.EngineTypes.semv = _1;
29146 MenhirLib.EngineTypes.startp = _startpos__1_;
29147 MenhirLib.EngineTypes.endp = _endpos__1_;
29148 MenhirLib.EngineTypes.next = _menhir_stack;
29149 };
29150 };
29151 } = _menhir_stack in
29152 let _3 : 'tv_disj_ident = Obj.magic _3 in
29153 let _2 : (
29154 # 175 "parser_cocci_menhir.mly"
29155 (Data.clt)
29156 # 29157 "parser_cocci_menhir.ml"
29157 ) = Obj.magic _2 in
29158 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29159 let _startpos = _startpos__1_ in
29160 let _endpos = _endpos__3_ in
29161 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29162 # 1552 "parser_cocci_menhir.mly"
29163 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
29164 # 29165 "parser_cocci_menhir.ml"
29165 in
29166 _menhir_env.MenhirLib.EngineTypes.stack <- {
29167 MenhirLib.EngineTypes.state = _menhir_s;
29168 MenhirLib.EngineTypes.semv = Obj.repr _v;
29169 MenhirLib.EngineTypes.startp = _startpos;
29170 MenhirLib.EngineTypes.endp = _endpos;
29171 MenhirLib.EngineTypes.next = _menhir_stack;
29172 });
29173 (fun _menhir_env ->
29174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29175 let {
29176 MenhirLib.EngineTypes.semv = _3;
29177 MenhirLib.EngineTypes.startp = _startpos__3_;
29178 MenhirLib.EngineTypes.endp = _endpos__3_;
29179 MenhirLib.EngineTypes.next = {
29180 MenhirLib.EngineTypes.semv = _2;
29181 MenhirLib.EngineTypes.startp = _startpos__2_;
29182 MenhirLib.EngineTypes.endp = _endpos__2_;
29183 MenhirLib.EngineTypes.next = {
29184 MenhirLib.EngineTypes.state = _menhir_s;
29185 MenhirLib.EngineTypes.semv = _1;
29186 MenhirLib.EngineTypes.startp = _startpos__1_;
29187 MenhirLib.EngineTypes.endp = _endpos__1_;
29188 MenhirLib.EngineTypes.next = _menhir_stack;
29189 };
29190 };
29191 } = _menhir_stack in
29192 let _3 : 'tv_disj_ident = Obj.magic _3 in
29193 let _2 : (
29194 # 172 "parser_cocci_menhir.mly"
29195 (Data.clt)
29196 # 29197 "parser_cocci_menhir.ml"
29197 ) = Obj.magic _2 in
29198 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29199 let _startpos = _startpos__1_ in
29200 let _endpos = _endpos__3_ in
29201 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29202 # 1554 "parser_cocci_menhir.mly"
29203 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
29204 _3)) )
29205 # 29206 "parser_cocci_menhir.ml"
29206 in
29207 _menhir_env.MenhirLib.EngineTypes.stack <- {
29208 MenhirLib.EngineTypes.state = _menhir_s;
29209 MenhirLib.EngineTypes.semv = Obj.repr _v;
29210 MenhirLib.EngineTypes.startp = _startpos;
29211 MenhirLib.EngineTypes.endp = _endpos;
29212 MenhirLib.EngineTypes.next = _menhir_stack;
29213 });
29214 (fun _menhir_env ->
29215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29216 let {
29217 MenhirLib.EngineTypes.semv = _2;
29218 MenhirLib.EngineTypes.startp = _startpos__2_;
29219 MenhirLib.EngineTypes.endp = _endpos__2_;
29220 MenhirLib.EngineTypes.next = {
29221 MenhirLib.EngineTypes.state = _menhir_s;
29222 MenhirLib.EngineTypes.semv = _1;
29223 MenhirLib.EngineTypes.startp = _startpos__1_;
29224 MenhirLib.EngineTypes.endp = _endpos__1_;
29225 MenhirLib.EngineTypes.next = _menhir_stack;
29226 };
29227 } = _menhir_stack in
29228 let _2 : (
29229 # 153 "parser_cocci_menhir.mly"
29230 (Data.clt)
29231 # 29232 "parser_cocci_menhir.ml"
29232 ) = Obj.magic _2 in
29233 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29234 let _startpos = _startpos__1_ in
29235 let _endpos = _endpos__2_ in
29236 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29237 # 1557 "parser_cocci_menhir.mly"
29238 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
29239 # 29240 "parser_cocci_menhir.ml"
29240 in
29241 _menhir_env.MenhirLib.EngineTypes.stack <- {
29242 MenhirLib.EngineTypes.state = _menhir_s;
29243 MenhirLib.EngineTypes.semv = Obj.repr _v;
29244 MenhirLib.EngineTypes.startp = _startpos;
29245 MenhirLib.EngineTypes.endp = _endpos;
29246 MenhirLib.EngineTypes.next = _menhir_stack;
29247 });
29248 (fun _menhir_env ->
29249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29250 let {
29251 MenhirLib.EngineTypes.semv = _2;
29252 MenhirLib.EngineTypes.startp = _startpos__2_;
29253 MenhirLib.EngineTypes.endp = _endpos__2_;
29254 MenhirLib.EngineTypes.next = {
29255 MenhirLib.EngineTypes.state = _menhir_s;
29256 MenhirLib.EngineTypes.semv = _1;
29257 MenhirLib.EngineTypes.startp = _startpos__1_;
29258 MenhirLib.EngineTypes.endp = _endpos__1_;
29259 MenhirLib.EngineTypes.next = _menhir_stack;
29260 };
29261 } = _menhir_stack in
29262 let _2 : (
29263 # 153 "parser_cocci_menhir.mly"
29264 (Data.clt)
29265 # 29266 "parser_cocci_menhir.ml"
29266 ) = Obj.magic _2 in
29267 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29268 let _startpos = _startpos__1_ in
29269 let _endpos = _endpos__2_ in
29270 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29271 # 1559 "parser_cocci_menhir.mly"
29272 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
29273 # 29274 "parser_cocci_menhir.ml"
29274 in
29275 _menhir_env.MenhirLib.EngineTypes.stack <- {
29276 MenhirLib.EngineTypes.state = _menhir_s;
29277 MenhirLib.EngineTypes.semv = Obj.repr _v;
29278 MenhirLib.EngineTypes.startp = _startpos;
29279 MenhirLib.EngineTypes.endp = _endpos;
29280 MenhirLib.EngineTypes.next = _menhir_stack;
29281 });
29282 (fun _menhir_env ->
29283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29284 let {
29285 MenhirLib.EngineTypes.semv = _4;
29286 MenhirLib.EngineTypes.startp = _startpos__4_;
29287 MenhirLib.EngineTypes.endp = _endpos__4_;
29288 MenhirLib.EngineTypes.next = {
29289 MenhirLib.EngineTypes.semv = _3;
29290 MenhirLib.EngineTypes.startp = _startpos__3_;
29291 MenhirLib.EngineTypes.endp = _endpos__3_;
29292 MenhirLib.EngineTypes.next = {
29293 MenhirLib.EngineTypes.semv = _2;
29294 MenhirLib.EngineTypes.startp = _startpos__2_;
29295 MenhirLib.EngineTypes.endp = _endpos__2_;
29296 MenhirLib.EngineTypes.next = {
29297 MenhirLib.EngineTypes.state = _menhir_s;
29298 MenhirLib.EngineTypes.semv = _1;
29299 MenhirLib.EngineTypes.startp = _startpos__1_;
29300 MenhirLib.EngineTypes.endp = _endpos__1_;
29301 MenhirLib.EngineTypes.next = _menhir_stack;
29302 };
29303 };
29304 };
29305 } = _menhir_stack in
29306 let _4 : (
29307 # 145 "parser_cocci_menhir.mly"
29308 (Data.clt)
29309 # 29310 "parser_cocci_menhir.ml"
29310 ) = Obj.magic _4 in
29311 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
29312 let _2 : (
29313 # 144 "parser_cocci_menhir.mly"
29314 (Data.clt)
29315 # 29316 "parser_cocci_menhir.ml"
29316 ) = Obj.magic _2 in
29317 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29318 let _startpos = _startpos__1_ in
29319 let _endpos = _endpos__4_ in
29320 let _v : 'tv_postfix_expr_eexpr_invalid_ =
29321 # 1561 "parser_cocci_menhir.mly"
29322 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
29323 _3,
29324 P.clt2mcode ")" _4)) )
29325 # 29326 "parser_cocci_menhir.ml"
29326 in
29327 _menhir_env.MenhirLib.EngineTypes.stack <- {
29328 MenhirLib.EngineTypes.state = _menhir_s;
29329 MenhirLib.EngineTypes.semv = Obj.repr _v;
29330 MenhirLib.EngineTypes.startp = _startpos;
29331 MenhirLib.EngineTypes.endp = _endpos;
29332 MenhirLib.EngineTypes.next = _menhir_stack;
29333 });
29334 (fun _menhir_env ->
29335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29336 let {
29337 MenhirLib.EngineTypes.state = _menhir_s;
29338 MenhirLib.EngineTypes.semv = _1;
29339 MenhirLib.EngineTypes.startp = _startpos__1_;
29340 MenhirLib.EngineTypes.endp = _endpos__1_;
29341 MenhirLib.EngineTypes.next = _menhir_stack;
29342 } = _menhir_stack in
29343 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29344 let _startpos = _startpos__1_ in
29345 let _endpos = _endpos__1_ in
29346 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29347 # 1547 "parser_cocci_menhir.mly"
29348 ( _1 )
29349 # 29350 "parser_cocci_menhir.ml"
29350 in
29351 _menhir_env.MenhirLib.EngineTypes.stack <- {
29352 MenhirLib.EngineTypes.state = _menhir_s;
29353 MenhirLib.EngineTypes.semv = Obj.repr _v;
29354 MenhirLib.EngineTypes.startp = _startpos;
29355 MenhirLib.EngineTypes.endp = _endpos;
29356 MenhirLib.EngineTypes.next = _menhir_stack;
29357 });
29358 (fun _menhir_env ->
29359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29360 let {
29361 MenhirLib.EngineTypes.semv = _4;
29362 MenhirLib.EngineTypes.startp = _startpos__4_;
29363 MenhirLib.EngineTypes.endp = _endpos__4_;
29364 MenhirLib.EngineTypes.next = {
29365 MenhirLib.EngineTypes.semv = _3;
29366 MenhirLib.EngineTypes.startp = _startpos__3_;
29367 MenhirLib.EngineTypes.endp = _endpos__3_;
29368 MenhirLib.EngineTypes.next = {
29369 MenhirLib.EngineTypes.semv = _2;
29370 MenhirLib.EngineTypes.startp = _startpos__2_;
29371 MenhirLib.EngineTypes.endp = _endpos__2_;
29372 MenhirLib.EngineTypes.next = {
29373 MenhirLib.EngineTypes.state = _menhir_s;
29374 MenhirLib.EngineTypes.semv = _1;
29375 MenhirLib.EngineTypes.startp = _startpos__1_;
29376 MenhirLib.EngineTypes.endp = _endpos__1_;
29377 MenhirLib.EngineTypes.next = _menhir_stack;
29378 };
29379 };
29380 };
29381 } = _menhir_stack in
29382 let _4 : (
29383 # 170 "parser_cocci_menhir.mly"
29384 (Data.clt)
29385 # 29386 "parser_cocci_menhir.ml"
29386 ) = Obj.magic _4 in
29387 let _3 : 'tv_eexpr = Obj.magic _3 in
29388 let _2 : (
29389 # 170 "parser_cocci_menhir.mly"
29390 (Data.clt)
29391 # 29392 "parser_cocci_menhir.ml"
29392 ) = Obj.magic _2 in
29393 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29394 let _startpos = _startpos__1_ in
29395 let _endpos = _endpos__4_ in
29396 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29397 # 1549 "parser_cocci_menhir.mly"
29398 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
29399 P.clt2mcode "]" _4)) )
29400 # 29401 "parser_cocci_menhir.ml"
29401 in
29402 _menhir_env.MenhirLib.EngineTypes.stack <- {
29403 MenhirLib.EngineTypes.state = _menhir_s;
29404 MenhirLib.EngineTypes.semv = Obj.repr _v;
29405 MenhirLib.EngineTypes.startp = _startpos;
29406 MenhirLib.EngineTypes.endp = _endpos;
29407 MenhirLib.EngineTypes.next = _menhir_stack;
29408 });
29409 (fun _menhir_env ->
29410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29411 let {
29412 MenhirLib.EngineTypes.semv = _3;
29413 MenhirLib.EngineTypes.startp = _startpos__3_;
29414 MenhirLib.EngineTypes.endp = _endpos__3_;
29415 MenhirLib.EngineTypes.next = {
29416 MenhirLib.EngineTypes.semv = _2;
29417 MenhirLib.EngineTypes.startp = _startpos__2_;
29418 MenhirLib.EngineTypes.endp = _endpos__2_;
29419 MenhirLib.EngineTypes.next = {
29420 MenhirLib.EngineTypes.state = _menhir_s;
29421 MenhirLib.EngineTypes.semv = _1;
29422 MenhirLib.EngineTypes.startp = _startpos__1_;
29423 MenhirLib.EngineTypes.endp = _endpos__1_;
29424 MenhirLib.EngineTypes.next = _menhir_stack;
29425 };
29426 };
29427 } = _menhir_stack in
29428 let _3 : 'tv_disj_ident = Obj.magic _3 in
29429 let _2 : (
29430 # 175 "parser_cocci_menhir.mly"
29431 (Data.clt)
29432 # 29433 "parser_cocci_menhir.ml"
29433 ) = Obj.magic _2 in
29434 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29435 let _startpos = _startpos__1_ in
29436 let _endpos = _endpos__3_ in
29437 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29438 # 1552 "parser_cocci_menhir.mly"
29439 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
29440 # 29441 "parser_cocci_menhir.ml"
29441 in
29442 _menhir_env.MenhirLib.EngineTypes.stack <- {
29443 MenhirLib.EngineTypes.state = _menhir_s;
29444 MenhirLib.EngineTypes.semv = Obj.repr _v;
29445 MenhirLib.EngineTypes.startp = _startpos;
29446 MenhirLib.EngineTypes.endp = _endpos;
29447 MenhirLib.EngineTypes.next = _menhir_stack;
29448 });
29449 (fun _menhir_env ->
29450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29451 let {
29452 MenhirLib.EngineTypes.semv = _3;
29453 MenhirLib.EngineTypes.startp = _startpos__3_;
29454 MenhirLib.EngineTypes.endp = _endpos__3_;
29455 MenhirLib.EngineTypes.next = {
29456 MenhirLib.EngineTypes.semv = _2;
29457 MenhirLib.EngineTypes.startp = _startpos__2_;
29458 MenhirLib.EngineTypes.endp = _endpos__2_;
29459 MenhirLib.EngineTypes.next = {
29460 MenhirLib.EngineTypes.state = _menhir_s;
29461 MenhirLib.EngineTypes.semv = _1;
29462 MenhirLib.EngineTypes.startp = _startpos__1_;
29463 MenhirLib.EngineTypes.endp = _endpos__1_;
29464 MenhirLib.EngineTypes.next = _menhir_stack;
29465 };
29466 };
29467 } = _menhir_stack in
29468 let _3 : 'tv_disj_ident = Obj.magic _3 in
29469 let _2 : (
29470 # 172 "parser_cocci_menhir.mly"
29471 (Data.clt)
29472 # 29473 "parser_cocci_menhir.ml"
29473 ) = Obj.magic _2 in
29474 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29475 let _startpos = _startpos__1_ in
29476 let _endpos = _endpos__3_ in
29477 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29478 # 1554 "parser_cocci_menhir.mly"
29479 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
29480 _3)) )
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.semv = _2;
29494 MenhirLib.EngineTypes.startp = _startpos__2_;
29495 MenhirLib.EngineTypes.endp = _endpos__2_;
29496 MenhirLib.EngineTypes.next = {
29497 MenhirLib.EngineTypes.state = _menhir_s;
29498 MenhirLib.EngineTypes.semv = _1;
29499 MenhirLib.EngineTypes.startp = _startpos__1_;
29500 MenhirLib.EngineTypes.endp = _endpos__1_;
29501 MenhirLib.EngineTypes.next = _menhir_stack;
29502 };
29503 } = _menhir_stack in
29504 let _2 : (
29505 # 153 "parser_cocci_menhir.mly"
29506 (Data.clt)
29507 # 29508 "parser_cocci_menhir.ml"
29508 ) = Obj.magic _2 in
29509 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29510 let _startpos = _startpos__1_ in
29511 let _endpos = _endpos__2_ in
29512 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29513 # 1557 "parser_cocci_menhir.mly"
29514 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
29515 # 29516 "parser_cocci_menhir.ml"
29516 in
29517 _menhir_env.MenhirLib.EngineTypes.stack <- {
29518 MenhirLib.EngineTypes.state = _menhir_s;
29519 MenhirLib.EngineTypes.semv = Obj.repr _v;
29520 MenhirLib.EngineTypes.startp = _startpos;
29521 MenhirLib.EngineTypes.endp = _endpos;
29522 MenhirLib.EngineTypes.next = _menhir_stack;
29523 });
29524 (fun _menhir_env ->
29525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29526 let {
29527 MenhirLib.EngineTypes.semv = _2;
29528 MenhirLib.EngineTypes.startp = _startpos__2_;
29529 MenhirLib.EngineTypes.endp = _endpos__2_;
29530 MenhirLib.EngineTypes.next = {
29531 MenhirLib.EngineTypes.state = _menhir_s;
29532 MenhirLib.EngineTypes.semv = _1;
29533 MenhirLib.EngineTypes.startp = _startpos__1_;
29534 MenhirLib.EngineTypes.endp = _endpos__1_;
29535 MenhirLib.EngineTypes.next = _menhir_stack;
29536 };
29537 } = _menhir_stack in
29538 let _2 : (
29539 # 153 "parser_cocci_menhir.mly"
29540 (Data.clt)
29541 # 29542 "parser_cocci_menhir.ml"
29542 ) = Obj.magic _2 in
29543 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29544 let _startpos = _startpos__1_ in
29545 let _endpos = _endpos__2_ in
29546 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29547 # 1559 "parser_cocci_menhir.mly"
29548 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
29549 # 29550 "parser_cocci_menhir.ml"
29550 in
29551 _menhir_env.MenhirLib.EngineTypes.stack <- {
29552 MenhirLib.EngineTypes.state = _menhir_s;
29553 MenhirLib.EngineTypes.semv = Obj.repr _v;
29554 MenhirLib.EngineTypes.startp = _startpos;
29555 MenhirLib.EngineTypes.endp = _endpos;
29556 MenhirLib.EngineTypes.next = _menhir_stack;
29557 });
29558 (fun _menhir_env ->
29559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29560 let {
29561 MenhirLib.EngineTypes.semv = _4;
29562 MenhirLib.EngineTypes.startp = _startpos__4_;
29563 MenhirLib.EngineTypes.endp = _endpos__4_;
29564 MenhirLib.EngineTypes.next = {
29565 MenhirLib.EngineTypes.semv = _3;
29566 MenhirLib.EngineTypes.startp = _startpos__3_;
29567 MenhirLib.EngineTypes.endp = _endpos__3_;
29568 MenhirLib.EngineTypes.next = {
29569 MenhirLib.EngineTypes.semv = _2;
29570 MenhirLib.EngineTypes.startp = _startpos__2_;
29571 MenhirLib.EngineTypes.endp = _endpos__2_;
29572 MenhirLib.EngineTypes.next = {
29573 MenhirLib.EngineTypes.state = _menhir_s;
29574 MenhirLib.EngineTypes.semv = _1;
29575 MenhirLib.EngineTypes.startp = _startpos__1_;
29576 MenhirLib.EngineTypes.endp = _endpos__1_;
29577 MenhirLib.EngineTypes.next = _menhir_stack;
29578 };
29579 };
29580 };
29581 } = _menhir_stack in
29582 let _4 : (
29583 # 145 "parser_cocci_menhir.mly"
29584 (Data.clt)
29585 # 29586 "parser_cocci_menhir.ml"
29586 ) = Obj.magic _4 in
29587 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
29588 let _2 : (
29589 # 144 "parser_cocci_menhir.mly"
29590 (Data.clt)
29591 # 29592 "parser_cocci_menhir.ml"
29592 ) = Obj.magic _2 in
29593 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29594 let _startpos = _startpos__1_ in
29595 let _endpos = _endpos__4_ in
29596 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
29597 # 1561 "parser_cocci_menhir.mly"
29598 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
29599 _3,
29600 P.clt2mcode ")" _4)) )
29601 # 29602 "parser_cocci_menhir.ml"
29602 in
29603 _menhir_env.MenhirLib.EngineTypes.stack <- {
29604 MenhirLib.EngineTypes.state = _menhir_s;
29605 MenhirLib.EngineTypes.semv = Obj.repr _v;
29606 MenhirLib.EngineTypes.startp = _startpos;
29607 MenhirLib.EngineTypes.endp = _endpos;
29608 MenhirLib.EngineTypes.next = _menhir_stack;
29609 });
29610 (fun _menhir_env ->
29611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29612 let {
29613 MenhirLib.EngineTypes.state = _menhir_s;
29614 MenhirLib.EngineTypes.semv = _1;
29615 MenhirLib.EngineTypes.startp = _startpos__1_;
29616 MenhirLib.EngineTypes.endp = _endpos__1_;
29617 MenhirLib.EngineTypes.next = _menhir_stack;
29618 } = _menhir_stack in
29619 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
29620 let _startpos = _startpos__1_ in
29621 let _endpos = _endpos__1_ in
29622 let _v : 'tv_postfix_expr_expr_invalid_ =
29623 # 1547 "parser_cocci_menhir.mly"
29624 ( _1 )
29625 # 29626 "parser_cocci_menhir.ml"
29626 in
29627 _menhir_env.MenhirLib.EngineTypes.stack <- {
29628 MenhirLib.EngineTypes.state = _menhir_s;
29629 MenhirLib.EngineTypes.semv = Obj.repr _v;
29630 MenhirLib.EngineTypes.startp = _startpos;
29631 MenhirLib.EngineTypes.endp = _endpos;
29632 MenhirLib.EngineTypes.next = _menhir_stack;
29633 });
29634 (fun _menhir_env ->
29635 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29636 let {
29637 MenhirLib.EngineTypes.semv = _4;
29638 MenhirLib.EngineTypes.startp = _startpos__4_;
29639 MenhirLib.EngineTypes.endp = _endpos__4_;
29640 MenhirLib.EngineTypes.next = {
29641 MenhirLib.EngineTypes.semv = _3;
29642 MenhirLib.EngineTypes.startp = _startpos__3_;
29643 MenhirLib.EngineTypes.endp = _endpos__3_;
29644 MenhirLib.EngineTypes.next = {
29645 MenhirLib.EngineTypes.semv = _2;
29646 MenhirLib.EngineTypes.startp = _startpos__2_;
29647 MenhirLib.EngineTypes.endp = _endpos__2_;
29648 MenhirLib.EngineTypes.next = {
29649 MenhirLib.EngineTypes.state = _menhir_s;
29650 MenhirLib.EngineTypes.semv = _1;
29651 MenhirLib.EngineTypes.startp = _startpos__1_;
29652 MenhirLib.EngineTypes.endp = _endpos__1_;
29653 MenhirLib.EngineTypes.next = _menhir_stack;
29654 };
29655 };
29656 };
29657 } = _menhir_stack in
29658 let _4 : (
29659 # 170 "parser_cocci_menhir.mly"
29660 (Data.clt)
29661 # 29662 "parser_cocci_menhir.ml"
29662 ) = Obj.magic _4 in
29663 let _3 : 'tv_eexpr = Obj.magic _3 in
29664 let _2 : (
29665 # 170 "parser_cocci_menhir.mly"
29666 (Data.clt)
29667 # 29668 "parser_cocci_menhir.ml"
29668 ) = Obj.magic _2 in
29669 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29670 let _startpos = _startpos__1_ in
29671 let _endpos = _endpos__4_ in
29672 let _v : 'tv_postfix_expr_expr_invalid_ =
29673 # 1549 "parser_cocci_menhir.mly"
29674 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
29675 P.clt2mcode "]" _4)) )
29676 # 29677 "parser_cocci_menhir.ml"
29677 in
29678 _menhir_env.MenhirLib.EngineTypes.stack <- {
29679 MenhirLib.EngineTypes.state = _menhir_s;
29680 MenhirLib.EngineTypes.semv = Obj.repr _v;
29681 MenhirLib.EngineTypes.startp = _startpos;
29682 MenhirLib.EngineTypes.endp = _endpos;
29683 MenhirLib.EngineTypes.next = _menhir_stack;
29684 });
29685 (fun _menhir_env ->
29686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29687 let {
29688 MenhirLib.EngineTypes.semv = _3;
29689 MenhirLib.EngineTypes.startp = _startpos__3_;
29690 MenhirLib.EngineTypes.endp = _endpos__3_;
29691 MenhirLib.EngineTypes.next = {
29692 MenhirLib.EngineTypes.semv = _2;
29693 MenhirLib.EngineTypes.startp = _startpos__2_;
29694 MenhirLib.EngineTypes.endp = _endpos__2_;
29695 MenhirLib.EngineTypes.next = {
29696 MenhirLib.EngineTypes.state = _menhir_s;
29697 MenhirLib.EngineTypes.semv = _1;
29698 MenhirLib.EngineTypes.startp = _startpos__1_;
29699 MenhirLib.EngineTypes.endp = _endpos__1_;
29700 MenhirLib.EngineTypes.next = _menhir_stack;
29701 };
29702 };
29703 } = _menhir_stack in
29704 let _3 : 'tv_disj_ident = Obj.magic _3 in
29705 let _2 : (
29706 # 175 "parser_cocci_menhir.mly"
29707 (Data.clt)
29708 # 29709 "parser_cocci_menhir.ml"
29709 ) = Obj.magic _2 in
29710 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29711 let _startpos = _startpos__1_ in
29712 let _endpos = _endpos__3_ in
29713 let _v : 'tv_postfix_expr_expr_invalid_ =
29714 # 1552 "parser_cocci_menhir.mly"
29715 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
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.semv = _3;
29729 MenhirLib.EngineTypes.startp = _startpos__3_;
29730 MenhirLib.EngineTypes.endp = _endpos__3_;
29731 MenhirLib.EngineTypes.next = {
29732 MenhirLib.EngineTypes.semv = _2;
29733 MenhirLib.EngineTypes.startp = _startpos__2_;
29734 MenhirLib.EngineTypes.endp = _endpos__2_;
29735 MenhirLib.EngineTypes.next = {
29736 MenhirLib.EngineTypes.state = _menhir_s;
29737 MenhirLib.EngineTypes.semv = _1;
29738 MenhirLib.EngineTypes.startp = _startpos__1_;
29739 MenhirLib.EngineTypes.endp = _endpos__1_;
29740 MenhirLib.EngineTypes.next = _menhir_stack;
29741 };
29742 };
29743 } = _menhir_stack in
29744 let _3 : 'tv_disj_ident = Obj.magic _3 in
29745 let _2 : (
29746 # 172 "parser_cocci_menhir.mly"
29747 (Data.clt)
29748 # 29749 "parser_cocci_menhir.ml"
29749 ) = Obj.magic _2 in
29750 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29751 let _startpos = _startpos__1_ in
29752 let _endpos = _endpos__3_ in
29753 let _v : 'tv_postfix_expr_expr_invalid_ =
29754 # 1554 "parser_cocci_menhir.mly"
29755 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
29756 _3)) )
29757 # 29758 "parser_cocci_menhir.ml"
29758 in
29759 _menhir_env.MenhirLib.EngineTypes.stack <- {
29760 MenhirLib.EngineTypes.state = _menhir_s;
29761 MenhirLib.EngineTypes.semv = Obj.repr _v;
29762 MenhirLib.EngineTypes.startp = _startpos;
29763 MenhirLib.EngineTypes.endp = _endpos;
29764 MenhirLib.EngineTypes.next = _menhir_stack;
29765 });
29766 (fun _menhir_env ->
29767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29768 let {
29769 MenhirLib.EngineTypes.semv = _2;
29770 MenhirLib.EngineTypes.startp = _startpos__2_;
29771 MenhirLib.EngineTypes.endp = _endpos__2_;
29772 MenhirLib.EngineTypes.next = {
29773 MenhirLib.EngineTypes.state = _menhir_s;
29774 MenhirLib.EngineTypes.semv = _1;
29775 MenhirLib.EngineTypes.startp = _startpos__1_;
29776 MenhirLib.EngineTypes.endp = _endpos__1_;
29777 MenhirLib.EngineTypes.next = _menhir_stack;
29778 };
29779 } = _menhir_stack in
29780 let _2 : (
29781 # 153 "parser_cocci_menhir.mly"
29782 (Data.clt)
29783 # 29784 "parser_cocci_menhir.ml"
29784 ) = Obj.magic _2 in
29785 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29786 let _startpos = _startpos__1_ in
29787 let _endpos = _endpos__2_ in
29788 let _v : 'tv_postfix_expr_expr_invalid_ =
29789 # 1557 "parser_cocci_menhir.mly"
29790 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
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 = _2;
29804 MenhirLib.EngineTypes.startp = _startpos__2_;
29805 MenhirLib.EngineTypes.endp = _endpos__2_;
29806 MenhirLib.EngineTypes.next = {
29807 MenhirLib.EngineTypes.state = _menhir_s;
29808 MenhirLib.EngineTypes.semv = _1;
29809 MenhirLib.EngineTypes.startp = _startpos__1_;
29810 MenhirLib.EngineTypes.endp = _endpos__1_;
29811 MenhirLib.EngineTypes.next = _menhir_stack;
29812 };
29813 } = _menhir_stack in
29814 let _2 : (
29815 # 153 "parser_cocci_menhir.mly"
29816 (Data.clt)
29817 # 29818 "parser_cocci_menhir.ml"
29818 ) = Obj.magic _2 in
29819 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29820 let _startpos = _startpos__1_ in
29821 let _endpos = _endpos__2_ in
29822 let _v : 'tv_postfix_expr_expr_invalid_ =
29823 # 1559 "parser_cocci_menhir.mly"
29824 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
29825 # 29826 "parser_cocci_menhir.ml"
29826 in
29827 _menhir_env.MenhirLib.EngineTypes.stack <- {
29828 MenhirLib.EngineTypes.state = _menhir_s;
29829 MenhirLib.EngineTypes.semv = Obj.repr _v;
29830 MenhirLib.EngineTypes.startp = _startpos;
29831 MenhirLib.EngineTypes.endp = _endpos;
29832 MenhirLib.EngineTypes.next = _menhir_stack;
29833 });
29834 (fun _menhir_env ->
29835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29836 let {
29837 MenhirLib.EngineTypes.semv = _4;
29838 MenhirLib.EngineTypes.startp = _startpos__4_;
29839 MenhirLib.EngineTypes.endp = _endpos__4_;
29840 MenhirLib.EngineTypes.next = {
29841 MenhirLib.EngineTypes.semv = _3;
29842 MenhirLib.EngineTypes.startp = _startpos__3_;
29843 MenhirLib.EngineTypes.endp = _endpos__3_;
29844 MenhirLib.EngineTypes.next = {
29845 MenhirLib.EngineTypes.semv = _2;
29846 MenhirLib.EngineTypes.startp = _startpos__2_;
29847 MenhirLib.EngineTypes.endp = _endpos__2_;
29848 MenhirLib.EngineTypes.next = {
29849 MenhirLib.EngineTypes.state = _menhir_s;
29850 MenhirLib.EngineTypes.semv = _1;
29851 MenhirLib.EngineTypes.startp = _startpos__1_;
29852 MenhirLib.EngineTypes.endp = _endpos__1_;
29853 MenhirLib.EngineTypes.next = _menhir_stack;
29854 };
29855 };
29856 };
29857 } = _menhir_stack in
29858 let _4 : (
29859 # 145 "parser_cocci_menhir.mly"
29860 (Data.clt)
29861 # 29862 "parser_cocci_menhir.ml"
29862 ) = Obj.magic _4 in
29863 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
29864 let _2 : (
29865 # 144 "parser_cocci_menhir.mly"
29866 (Data.clt)
29867 # 29868 "parser_cocci_menhir.ml"
29868 ) = Obj.magic _2 in
29869 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29870 let _startpos = _startpos__1_ in
29871 let _endpos = _endpos__4_ in
29872 let _v : 'tv_postfix_expr_expr_invalid_ =
29873 # 1561 "parser_cocci_menhir.mly"
29874 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
29875 _3,
29876 P.clt2mcode ")" _4)) )
29877 # 29878 "parser_cocci_menhir.ml"
29878 in
29879 _menhir_env.MenhirLib.EngineTypes.stack <- {
29880 MenhirLib.EngineTypes.state = _menhir_s;
29881 MenhirLib.EngineTypes.semv = Obj.repr _v;
29882 MenhirLib.EngineTypes.startp = _startpos;
29883 MenhirLib.EngineTypes.endp = _endpos;
29884 MenhirLib.EngineTypes.next = _menhir_stack;
29885 });
29886 (fun _menhir_env ->
29887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29888 let {
29889 MenhirLib.EngineTypes.state = _menhir_s;
29890 MenhirLib.EngineTypes.semv = _1;
29891 MenhirLib.EngineTypes.startp = _startpos__1_;
29892 MenhirLib.EngineTypes.endp = _endpos__1_;
29893 MenhirLib.EngineTypes.next = _menhir_stack;
29894 } = _menhir_stack in
29895 let _1 : 'tv_func_ident = Obj.magic _1 in
29896 let _startpos = _startpos__1_ in
29897 let _endpos = _endpos__1_ in
29898 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29899 # 1566 "parser_cocci_menhir.mly"
29900 ( Ast0.wrap(Ast0.Ident(_1)) )
29901 # 29902 "parser_cocci_menhir.ml"
29902 in
29903 _menhir_env.MenhirLib.EngineTypes.stack <- {
29904 MenhirLib.EngineTypes.state = _menhir_s;
29905 MenhirLib.EngineTypes.semv = Obj.repr _v;
29906 MenhirLib.EngineTypes.startp = _startpos;
29907 MenhirLib.EngineTypes.endp = _endpos;
29908 MenhirLib.EngineTypes.next = _menhir_stack;
29909 });
29910 (fun _menhir_env ->
29911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29912 let {
29913 MenhirLib.EngineTypes.state = _menhir_s;
29914 MenhirLib.EngineTypes.semv = _1;
29915 MenhirLib.EngineTypes.startp = _startpos__1_;
29916 MenhirLib.EngineTypes.endp = _endpos__1_;
29917 MenhirLib.EngineTypes.next = _menhir_stack;
29918 } = _menhir_stack in
29919 let _1 : (
29920 # 155 "parser_cocci_menhir.mly"
29921 (string * Data.clt)
29922 # 29923 "parser_cocci_menhir.ml"
29923 ) = Obj.magic _1 in
29924 let _startpos = _startpos__1_ in
29925 let _endpos = _endpos__1_ in
29926 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29927 # 1568 "parser_cocci_menhir.mly"
29928 ( let (x,clt) = _1 in
29929 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
29930 # 29931 "parser_cocci_menhir.ml"
29931 in
29932 _menhir_env.MenhirLib.EngineTypes.stack <- {
29933 MenhirLib.EngineTypes.state = _menhir_s;
29934 MenhirLib.EngineTypes.semv = Obj.repr _v;
29935 MenhirLib.EngineTypes.startp = _startpos;
29936 MenhirLib.EngineTypes.endp = _endpos;
29937 MenhirLib.EngineTypes.next = _menhir_stack;
29938 });
29939 (fun _menhir_env ->
29940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29941 let {
29942 MenhirLib.EngineTypes.state = _menhir_s;
29943 MenhirLib.EngineTypes.semv = _1;
29944 MenhirLib.EngineTypes.startp = _startpos__1_;
29945 MenhirLib.EngineTypes.endp = _endpos__1_;
29946 MenhirLib.EngineTypes.next = _menhir_stack;
29947 } = _menhir_stack in
29948 let _1 : (
29949 # 155 "parser_cocci_menhir.mly"
29950 (string * Data.clt)
29951 # 29952 "parser_cocci_menhir.ml"
29952 ) = Obj.magic _1 in
29953 let _startpos = _startpos__1_ in
29954 let _endpos = _endpos__1_ in
29955 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29956 # 1571 "parser_cocci_menhir.mly"
29957 ( let (x,clt) = _1 in
29958 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
29959 # 29960 "parser_cocci_menhir.ml"
29960 in
29961 _menhir_env.MenhirLib.EngineTypes.stack <- {
29962 MenhirLib.EngineTypes.state = _menhir_s;
29963 MenhirLib.EngineTypes.semv = Obj.repr _v;
29964 MenhirLib.EngineTypes.startp = _startpos;
29965 MenhirLib.EngineTypes.endp = _endpos;
29966 MenhirLib.EngineTypes.next = _menhir_stack;
29967 });
29968 (fun _menhir_env ->
29969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29970 let {
29971 MenhirLib.EngineTypes.state = _menhir_s;
29972 MenhirLib.EngineTypes.semv = _1;
29973 MenhirLib.EngineTypes.startp = _startpos__1_;
29974 MenhirLib.EngineTypes.endp = _endpos__1_;
29975 MenhirLib.EngineTypes.next = _menhir_stack;
29976 } = _menhir_stack in
29977 let _1 : (
29978 # 155 "parser_cocci_menhir.mly"
29979 (string * Data.clt)
29980 # 29981 "parser_cocci_menhir.ml"
29981 ) = Obj.magic _1 in
29982 let _startpos = _startpos__1_ in
29983 let _endpos = _endpos__1_ in
29984 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29985 # 1574 "parser_cocci_menhir.mly"
29986 ( let (x,clt) = _1 in
29987 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
29988 # 29989 "parser_cocci_menhir.ml"
29989 in
29990 _menhir_env.MenhirLib.EngineTypes.stack <- {
29991 MenhirLib.EngineTypes.state = _menhir_s;
29992 MenhirLib.EngineTypes.semv = Obj.repr _v;
29993 MenhirLib.EngineTypes.startp = _startpos;
29994 MenhirLib.EngineTypes.endp = _endpos;
29995 MenhirLib.EngineTypes.next = _menhir_stack;
29996 });
29997 (fun _menhir_env ->
29998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29999 let {
30000 MenhirLib.EngineTypes.state = _menhir_s;
30001 MenhirLib.EngineTypes.semv = _1;
30002 MenhirLib.EngineTypes.startp = _startpos__1_;
30003 MenhirLib.EngineTypes.endp = _endpos__1_;
30004 MenhirLib.EngineTypes.next = _menhir_stack;
30005 } = _menhir_stack in
30006 let _1 : (
30007 # 155 "parser_cocci_menhir.mly"
30008 (string * Data.clt)
30009 # 30010 "parser_cocci_menhir.ml"
30010 ) = Obj.magic _1 in
30011 let _startpos = _startpos__1_ in
30012 let _endpos = _endpos__1_ in
30013 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30014 # 1577 "parser_cocci_menhir.mly"
30015 ( let (x,clt) = _1 in
30016 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
30017 # 30018 "parser_cocci_menhir.ml"
30018 in
30019 _menhir_env.MenhirLib.EngineTypes.stack <- {
30020 MenhirLib.EngineTypes.state = _menhir_s;
30021 MenhirLib.EngineTypes.semv = Obj.repr _v;
30022 MenhirLib.EngineTypes.startp = _startpos;
30023 MenhirLib.EngineTypes.endp = _endpos;
30024 MenhirLib.EngineTypes.next = _menhir_stack;
30025 });
30026 (fun _menhir_env ->
30027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30028 let {
30029 MenhirLib.EngineTypes.state = _menhir_s;
30030 MenhirLib.EngineTypes.semv = _1;
30031 MenhirLib.EngineTypes.startp = _startpos__1_;
30032 MenhirLib.EngineTypes.endp = _endpos__1_;
30033 MenhirLib.EngineTypes.next = _menhir_stack;
30034 } = _menhir_stack in
30035 let _1 : (
30036 # 135 "parser_cocci_menhir.mly"
30037 (Parse_aux.typed_expinfo)
30038 # 30039 "parser_cocci_menhir.ml"
30039 ) = Obj.magic _1 in
30040 let _startpos = _startpos__1_ in
30041 let _endpos = _endpos__1_ in
30042 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30043 # 1580 "parser_cocci_menhir.mly"
30044 ( let (nm,constraints,pure,ty,clt) = _1 in
30045 Ast0.wrap
30046 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
30047 # 30048 "parser_cocci_menhir.ml"
30048 in
30049 _menhir_env.MenhirLib.EngineTypes.stack <- {
30050 MenhirLib.EngineTypes.state = _menhir_s;
30051 MenhirLib.EngineTypes.semv = Obj.repr _v;
30052 MenhirLib.EngineTypes.startp = _startpos;
30053 MenhirLib.EngineTypes.endp = _endpos;
30054 MenhirLib.EngineTypes.next = _menhir_stack;
30055 });
30056 (fun _menhir_env ->
30057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30058 let {
30059 MenhirLib.EngineTypes.state = _menhir_s;
30060 MenhirLib.EngineTypes.semv = _1;
30061 MenhirLib.EngineTypes.startp = _startpos__1_;
30062 MenhirLib.EngineTypes.endp = _endpos__1_;
30063 MenhirLib.EngineTypes.next = _menhir_stack;
30064 } = _menhir_stack in
30065 let _1 : (
30066 # 130 "parser_cocci_menhir.mly"
30067 (Parse_aux.expinfo)
30068 # 30069 "parser_cocci_menhir.ml"
30069 ) = Obj.magic _1 in
30070 let _startpos = _startpos__1_ in
30071 let _endpos = _endpos__1_ in
30072 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30073 # 1584 "parser_cocci_menhir.mly"
30074 ( let (nm,constraints,pure,clt) = _1 in
30075 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
30076 # 30077 "parser_cocci_menhir.ml"
30077 in
30078 _menhir_env.MenhirLib.EngineTypes.stack <- {
30079 MenhirLib.EngineTypes.state = _menhir_s;
30080 MenhirLib.EngineTypes.semv = Obj.repr _v;
30081 MenhirLib.EngineTypes.startp = _startpos;
30082 MenhirLib.EngineTypes.endp = _endpos;
30083 MenhirLib.EngineTypes.next = _menhir_stack;
30084 });
30085 (fun _menhir_env ->
30086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30087 let {
30088 MenhirLib.EngineTypes.state = _menhir_s;
30089 MenhirLib.EngineTypes.semv = _1;
30090 MenhirLib.EngineTypes.startp = _startpos__1_;
30091 MenhirLib.EngineTypes.endp = _endpos__1_;
30092 MenhirLib.EngineTypes.next = _menhir_stack;
30093 } = _menhir_stack in
30094 let _1 : (
30095 # 135 "parser_cocci_menhir.mly"
30096 (Parse_aux.typed_expinfo)
30097 # 30098 "parser_cocci_menhir.ml"
30098 ) = Obj.magic _1 in
30099 let _startpos = _startpos__1_ in
30100 let _endpos = _endpos__1_ in
30101 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30102 # 1587 "parser_cocci_menhir.mly"
30103 ( let (nm,constraints,pure,ty,clt) = _1 in
30104 Ast0.wrap
30105 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
30106 # 30107 "parser_cocci_menhir.ml"
30107 in
30108 _menhir_env.MenhirLib.EngineTypes.stack <- {
30109 MenhirLib.EngineTypes.state = _menhir_s;
30110 MenhirLib.EngineTypes.semv = Obj.repr _v;
30111 MenhirLib.EngineTypes.startp = _startpos;
30112 MenhirLib.EngineTypes.endp = _endpos;
30113 MenhirLib.EngineTypes.next = _menhir_stack;
30114 });
30115 (fun _menhir_env ->
30116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30117 let {
30118 MenhirLib.EngineTypes.state = _menhir_s;
30119 MenhirLib.EngineTypes.semv = _1;
30120 MenhirLib.EngineTypes.startp = _startpos__1_;
30121 MenhirLib.EngineTypes.endp = _endpos__1_;
30122 MenhirLib.EngineTypes.next = _menhir_stack;
30123 } = _menhir_stack in
30124 let _1 : (
30125 # 135 "parser_cocci_menhir.mly"
30126 (Parse_aux.typed_expinfo)
30127 # 30128 "parser_cocci_menhir.ml"
30128 ) = Obj.magic _1 in
30129 let _startpos = _startpos__1_ in
30130 let _endpos = _endpos__1_ in
30131 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30132 # 1591 "parser_cocci_menhir.mly"
30133 ( let (nm,constraints,pure,ty,clt) = _1 in
30134 Ast0.wrap
30135 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
30136 # 30137 "parser_cocci_menhir.ml"
30137 in
30138 _menhir_env.MenhirLib.EngineTypes.stack <- {
30139 MenhirLib.EngineTypes.state = _menhir_s;
30140 MenhirLib.EngineTypes.semv = Obj.repr _v;
30141 MenhirLib.EngineTypes.startp = _startpos;
30142 MenhirLib.EngineTypes.endp = _endpos;
30143 MenhirLib.EngineTypes.next = _menhir_stack;
30144 });
30145 (fun _menhir_env ->
30146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30147 let {
30148 MenhirLib.EngineTypes.state = _menhir_s;
30149 MenhirLib.EngineTypes.semv = _1;
30150 MenhirLib.EngineTypes.startp = _startpos__1_;
30151 MenhirLib.EngineTypes.endp = _endpos__1_;
30152 MenhirLib.EngineTypes.next = _menhir_stack;
30153 } = _menhir_stack in
30154 let _1 : (
30155 # 135 "parser_cocci_menhir.mly"
30156 (Parse_aux.typed_expinfo)
30157 # 30158 "parser_cocci_menhir.ml"
30158 ) = Obj.magic _1 in
30159 let _startpos = _startpos__1_ in
30160 let _endpos = _endpos__1_ in
30161 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30162 # 1595 "parser_cocci_menhir.mly"
30163 ( let (nm,constraints,pure,ty,clt) = _1 in
30164 Ast0.wrap
30165 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
30166 # 30167 "parser_cocci_menhir.ml"
30167 in
30168 _menhir_env.MenhirLib.EngineTypes.stack <- {
30169 MenhirLib.EngineTypes.state = _menhir_s;
30170 MenhirLib.EngineTypes.semv = Obj.repr _v;
30171 MenhirLib.EngineTypes.startp = _startpos;
30172 MenhirLib.EngineTypes.endp = _endpos;
30173 MenhirLib.EngineTypes.next = _menhir_stack;
30174 });
30175 (fun _menhir_env ->
30176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30177 let {
30178 MenhirLib.EngineTypes.semv = _3;
30179 MenhirLib.EngineTypes.startp = _startpos__3_;
30180 MenhirLib.EngineTypes.endp = _endpos__3_;
30181 MenhirLib.EngineTypes.next = {
30182 MenhirLib.EngineTypes.semv = _2;
30183 MenhirLib.EngineTypes.startp = _startpos__2_;
30184 MenhirLib.EngineTypes.endp = _endpos__2_;
30185 MenhirLib.EngineTypes.next = {
30186 MenhirLib.EngineTypes.state = _menhir_s;
30187 MenhirLib.EngineTypes.semv = _1;
30188 MenhirLib.EngineTypes.startp = _startpos__1_;
30189 MenhirLib.EngineTypes.endp = _endpos__1_;
30190 MenhirLib.EngineTypes.next = _menhir_stack;
30191 };
30192 };
30193 } = _menhir_stack in
30194 let _3 : (
30195 # 145 "parser_cocci_menhir.mly"
30196 (Data.clt)
30197 # 30198 "parser_cocci_menhir.ml"
30198 ) = Obj.magic _3 in
30199 let _2 : 'tv_eexpr = Obj.magic _2 in
30200 let _1 : (
30201 # 144 "parser_cocci_menhir.mly"
30202 (Data.clt)
30203 # 30204 "parser_cocci_menhir.ml"
30204 ) = Obj.magic _1 in
30205 let _startpos = _startpos__1_ in
30206 let _endpos = _endpos__3_ in
30207 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30208 # 1599 "parser_cocci_menhir.mly"
30209 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
30210 P.clt2mcode ")" _3)) )
30211 # 30212 "parser_cocci_menhir.ml"
30212 in
30213 _menhir_env.MenhirLib.EngineTypes.stack <- {
30214 MenhirLib.EngineTypes.state = _menhir_s;
30215 MenhirLib.EngineTypes.semv = Obj.repr _v;
30216 MenhirLib.EngineTypes.startp = _startpos;
30217 MenhirLib.EngineTypes.endp = _endpos;
30218 MenhirLib.EngineTypes.next = _menhir_stack;
30219 });
30220 (fun _menhir_env ->
30221 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30222 let {
30223 MenhirLib.EngineTypes.semv = _3;
30224 MenhirLib.EngineTypes.startp = _startpos__3_;
30225 MenhirLib.EngineTypes.endp = _endpos__3_;
30226 MenhirLib.EngineTypes.next = {
30227 MenhirLib.EngineTypes.semv = _2;
30228 MenhirLib.EngineTypes.startp = _startpos__2_;
30229 MenhirLib.EngineTypes.endp = _endpos__2_;
30230 MenhirLib.EngineTypes.next = {
30231 MenhirLib.EngineTypes.state = _menhir_s;
30232 MenhirLib.EngineTypes.semv = _1;
30233 MenhirLib.EngineTypes.startp = _startpos__1_;
30234 MenhirLib.EngineTypes.endp = _endpos__1_;
30235 MenhirLib.EngineTypes.next = _menhir_stack;
30236 };
30237 };
30238 } = _menhir_stack in
30239 let _3 : (
30240 # 145 "parser_cocci_menhir.mly"
30241 (Data.clt)
30242 # 30243 "parser_cocci_menhir.ml"
30243 ) = Obj.magic _3 in
30244 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
30245 let _1 : (
30246 # 144 "parser_cocci_menhir.mly"
30247 (Data.clt)
30248 # 30249 "parser_cocci_menhir.ml"
30249 ) = Obj.magic _1 in
30250 let _startpos = _startpos__1_ in
30251 let _endpos = _endpos__3_ in
30252 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30253 # 1602 "parser_cocci_menhir.mly"
30254 ( let (mids,code) = _2 in
30255 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
30256 code, mids,
30257 P.clt2mcode ")" _3)) )
30258 # 30259 "parser_cocci_menhir.ml"
30259 in
30260 _menhir_env.MenhirLib.EngineTypes.stack <- {
30261 MenhirLib.EngineTypes.state = _menhir_s;
30262 MenhirLib.EngineTypes.semv = Obj.repr _v;
30263 MenhirLib.EngineTypes.startp = _startpos;
30264 MenhirLib.EngineTypes.endp = _endpos;
30265 MenhirLib.EngineTypes.next = _menhir_stack;
30266 });
30267 (fun _menhir_env ->
30268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30269 let {
30270 MenhirLib.EngineTypes.state = _menhir_s;
30271 MenhirLib.EngineTypes.semv = _1;
30272 MenhirLib.EngineTypes.startp = _startpos__1_;
30273 MenhirLib.EngineTypes.endp = _endpos__1_;
30274 MenhirLib.EngineTypes.next = _menhir_stack;
30275 } = _menhir_stack in
30276 let _1 : 'tv_dot_expressions = Obj.magic _1 in
30277 let _startpos = _startpos__1_ in
30278 let _endpos = _endpos__1_ in
30279 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
30280 # 1606 "parser_cocci_menhir.mly"
30281 ( _1 )
30282 # 30283 "parser_cocci_menhir.ml"
30283 in
30284 _menhir_env.MenhirLib.EngineTypes.stack <- {
30285 MenhirLib.EngineTypes.state = _menhir_s;
30286 MenhirLib.EngineTypes.semv = Obj.repr _v;
30287 MenhirLib.EngineTypes.startp = _startpos;
30288 MenhirLib.EngineTypes.endp = _endpos;
30289 MenhirLib.EngineTypes.next = _menhir_stack;
30290 });
30291 (fun _menhir_env ->
30292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30293 let {
30294 MenhirLib.EngineTypes.state = _menhir_s;
30295 MenhirLib.EngineTypes.semv = _1;
30296 MenhirLib.EngineTypes.startp = _startpos__1_;
30297 MenhirLib.EngineTypes.endp = _endpos__1_;
30298 MenhirLib.EngineTypes.next = _menhir_stack;
30299 } = _menhir_stack in
30300 let _1 : 'tv_func_ident = Obj.magic _1 in
30301 let _startpos = _startpos__1_ in
30302 let _endpos = _endpos__1_ in
30303 let _v : 'tv_primary_expr_eexpr_invalid_ =
30304 # 1566 "parser_cocci_menhir.mly"
30305 ( Ast0.wrap(Ast0.Ident(_1)) )
30306 # 30307 "parser_cocci_menhir.ml"
30307 in
30308 _menhir_env.MenhirLib.EngineTypes.stack <- {
30309 MenhirLib.EngineTypes.state = _menhir_s;
30310 MenhirLib.EngineTypes.semv = Obj.repr _v;
30311 MenhirLib.EngineTypes.startp = _startpos;
30312 MenhirLib.EngineTypes.endp = _endpos;
30313 MenhirLib.EngineTypes.next = _menhir_stack;
30314 });
30315 (fun _menhir_env ->
30316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30317 let {
30318 MenhirLib.EngineTypes.state = _menhir_s;
30319 MenhirLib.EngineTypes.semv = _1;
30320 MenhirLib.EngineTypes.startp = _startpos__1_;
30321 MenhirLib.EngineTypes.endp = _endpos__1_;
30322 MenhirLib.EngineTypes.next = _menhir_stack;
30323 } = _menhir_stack in
30324 let _1 : (
30325 # 155 "parser_cocci_menhir.mly"
30326 (string * Data.clt)
30327 # 30328 "parser_cocci_menhir.ml"
30328 ) = Obj.magic _1 in
30329 let _startpos = _startpos__1_ in
30330 let _endpos = _endpos__1_ in
30331 let _v : 'tv_primary_expr_eexpr_invalid_ =
30332 # 1568 "parser_cocci_menhir.mly"
30333 ( let (x,clt) = _1 in
30334 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
30335 # 30336 "parser_cocci_menhir.ml"
30336 in
30337 _menhir_env.MenhirLib.EngineTypes.stack <- {
30338 MenhirLib.EngineTypes.state = _menhir_s;
30339 MenhirLib.EngineTypes.semv = Obj.repr _v;
30340 MenhirLib.EngineTypes.startp = _startpos;
30341 MenhirLib.EngineTypes.endp = _endpos;
30342 MenhirLib.EngineTypes.next = _menhir_stack;
30343 });
30344 (fun _menhir_env ->
30345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30346 let {
30347 MenhirLib.EngineTypes.state = _menhir_s;
30348 MenhirLib.EngineTypes.semv = _1;
30349 MenhirLib.EngineTypes.startp = _startpos__1_;
30350 MenhirLib.EngineTypes.endp = _endpos__1_;
30351 MenhirLib.EngineTypes.next = _menhir_stack;
30352 } = _menhir_stack in
30353 let _1 : (
30354 # 155 "parser_cocci_menhir.mly"
30355 (string * Data.clt)
30356 # 30357 "parser_cocci_menhir.ml"
30357 ) = Obj.magic _1 in
30358 let _startpos = _startpos__1_ in
30359 let _endpos = _endpos__1_ in
30360 let _v : 'tv_primary_expr_eexpr_invalid_ =
30361 # 1571 "parser_cocci_menhir.mly"
30362 ( let (x,clt) = _1 in
30363 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
30364 # 30365 "parser_cocci_menhir.ml"
30365 in
30366 _menhir_env.MenhirLib.EngineTypes.stack <- {
30367 MenhirLib.EngineTypes.state = _menhir_s;
30368 MenhirLib.EngineTypes.semv = Obj.repr _v;
30369 MenhirLib.EngineTypes.startp = _startpos;
30370 MenhirLib.EngineTypes.endp = _endpos;
30371 MenhirLib.EngineTypes.next = _menhir_stack;
30372 });
30373 (fun _menhir_env ->
30374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30375 let {
30376 MenhirLib.EngineTypes.state = _menhir_s;
30377 MenhirLib.EngineTypes.semv = _1;
30378 MenhirLib.EngineTypes.startp = _startpos__1_;
30379 MenhirLib.EngineTypes.endp = _endpos__1_;
30380 MenhirLib.EngineTypes.next = _menhir_stack;
30381 } = _menhir_stack in
30382 let _1 : (
30383 # 155 "parser_cocci_menhir.mly"
30384 (string * Data.clt)
30385 # 30386 "parser_cocci_menhir.ml"
30386 ) = Obj.magic _1 in
30387 let _startpos = _startpos__1_ in
30388 let _endpos = _endpos__1_ in
30389 let _v : 'tv_primary_expr_eexpr_invalid_ =
30390 # 1574 "parser_cocci_menhir.mly"
30391 ( let (x,clt) = _1 in
30392 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
30393 # 30394 "parser_cocci_menhir.ml"
30394 in
30395 _menhir_env.MenhirLib.EngineTypes.stack <- {
30396 MenhirLib.EngineTypes.state = _menhir_s;
30397 MenhirLib.EngineTypes.semv = Obj.repr _v;
30398 MenhirLib.EngineTypes.startp = _startpos;
30399 MenhirLib.EngineTypes.endp = _endpos;
30400 MenhirLib.EngineTypes.next = _menhir_stack;
30401 });
30402 (fun _menhir_env ->
30403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30404 let {
30405 MenhirLib.EngineTypes.state = _menhir_s;
30406 MenhirLib.EngineTypes.semv = _1;
30407 MenhirLib.EngineTypes.startp = _startpos__1_;
30408 MenhirLib.EngineTypes.endp = _endpos__1_;
30409 MenhirLib.EngineTypes.next = _menhir_stack;
30410 } = _menhir_stack in
30411 let _1 : (
30412 # 155 "parser_cocci_menhir.mly"
30413 (string * Data.clt)
30414 # 30415 "parser_cocci_menhir.ml"
30415 ) = Obj.magic _1 in
30416 let _startpos = _startpos__1_ in
30417 let _endpos = _endpos__1_ in
30418 let _v : 'tv_primary_expr_eexpr_invalid_ =
30419 # 1577 "parser_cocci_menhir.mly"
30420 ( let (x,clt) = _1 in
30421 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
30422 # 30423 "parser_cocci_menhir.ml"
30423 in
30424 _menhir_env.MenhirLib.EngineTypes.stack <- {
30425 MenhirLib.EngineTypes.state = _menhir_s;
30426 MenhirLib.EngineTypes.semv = Obj.repr _v;
30427 MenhirLib.EngineTypes.startp = _startpos;
30428 MenhirLib.EngineTypes.endp = _endpos;
30429 MenhirLib.EngineTypes.next = _menhir_stack;
30430 });
30431 (fun _menhir_env ->
30432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30433 let {
30434 MenhirLib.EngineTypes.state = _menhir_s;
30435 MenhirLib.EngineTypes.semv = _1;
30436 MenhirLib.EngineTypes.startp = _startpos__1_;
30437 MenhirLib.EngineTypes.endp = _endpos__1_;
30438 MenhirLib.EngineTypes.next = _menhir_stack;
30439 } = _menhir_stack in
30440 let _1 : (
30441 # 135 "parser_cocci_menhir.mly"
30442 (Parse_aux.typed_expinfo)
30443 # 30444 "parser_cocci_menhir.ml"
30444 ) = Obj.magic _1 in
30445 let _startpos = _startpos__1_ in
30446 let _endpos = _endpos__1_ in
30447 let _v : 'tv_primary_expr_eexpr_invalid_ =
30448 # 1580 "parser_cocci_menhir.mly"
30449 ( let (nm,constraints,pure,ty,clt) = _1 in
30450 Ast0.wrap
30451 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
30452 # 30453 "parser_cocci_menhir.ml"
30453 in
30454 _menhir_env.MenhirLib.EngineTypes.stack <- {
30455 MenhirLib.EngineTypes.state = _menhir_s;
30456 MenhirLib.EngineTypes.semv = Obj.repr _v;
30457 MenhirLib.EngineTypes.startp = _startpos;
30458 MenhirLib.EngineTypes.endp = _endpos;
30459 MenhirLib.EngineTypes.next = _menhir_stack;
30460 });
30461 (fun _menhir_env ->
30462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30463 let {
30464 MenhirLib.EngineTypes.state = _menhir_s;
30465 MenhirLib.EngineTypes.semv = _1;
30466 MenhirLib.EngineTypes.startp = _startpos__1_;
30467 MenhirLib.EngineTypes.endp = _endpos__1_;
30468 MenhirLib.EngineTypes.next = _menhir_stack;
30469 } = _menhir_stack in
30470 let _1 : (
30471 # 130 "parser_cocci_menhir.mly"
30472 (Parse_aux.expinfo)
30473 # 30474 "parser_cocci_menhir.ml"
30474 ) = Obj.magic _1 in
30475 let _startpos = _startpos__1_ in
30476 let _endpos = _endpos__1_ in
30477 let _v : 'tv_primary_expr_eexpr_invalid_ =
30478 # 1584 "parser_cocci_menhir.mly"
30479 ( let (nm,constraints,pure,clt) = _1 in
30480 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
30481 # 30482 "parser_cocci_menhir.ml"
30482 in
30483 _menhir_env.MenhirLib.EngineTypes.stack <- {
30484 MenhirLib.EngineTypes.state = _menhir_s;
30485 MenhirLib.EngineTypes.semv = Obj.repr _v;
30486 MenhirLib.EngineTypes.startp = _startpos;
30487 MenhirLib.EngineTypes.endp = _endpos;
30488 MenhirLib.EngineTypes.next = _menhir_stack;
30489 });
30490 (fun _menhir_env ->
30491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30492 let {
30493 MenhirLib.EngineTypes.state = _menhir_s;
30494 MenhirLib.EngineTypes.semv = _1;
30495 MenhirLib.EngineTypes.startp = _startpos__1_;
30496 MenhirLib.EngineTypes.endp = _endpos__1_;
30497 MenhirLib.EngineTypes.next = _menhir_stack;
30498 } = _menhir_stack in
30499 let _1 : (
30500 # 135 "parser_cocci_menhir.mly"
30501 (Parse_aux.typed_expinfo)
30502 # 30503 "parser_cocci_menhir.ml"
30503 ) = Obj.magic _1 in
30504 let _startpos = _startpos__1_ in
30505 let _endpos = _endpos__1_ in
30506 let _v : 'tv_primary_expr_eexpr_invalid_ =
30507 # 1587 "parser_cocci_menhir.mly"
30508 ( let (nm,constraints,pure,ty,clt) = _1 in
30509 Ast0.wrap
30510 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
30511 # 30512 "parser_cocci_menhir.ml"
30512 in
30513 _menhir_env.MenhirLib.EngineTypes.stack <- {
30514 MenhirLib.EngineTypes.state = _menhir_s;
30515 MenhirLib.EngineTypes.semv = Obj.repr _v;
30516 MenhirLib.EngineTypes.startp = _startpos;
30517 MenhirLib.EngineTypes.endp = _endpos;
30518 MenhirLib.EngineTypes.next = _menhir_stack;
30519 });
30520 (fun _menhir_env ->
30521 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30522 let {
30523 MenhirLib.EngineTypes.state = _menhir_s;
30524 MenhirLib.EngineTypes.semv = _1;
30525 MenhirLib.EngineTypes.startp = _startpos__1_;
30526 MenhirLib.EngineTypes.endp = _endpos__1_;
30527 MenhirLib.EngineTypes.next = _menhir_stack;
30528 } = _menhir_stack in
30529 let _1 : (
30530 # 135 "parser_cocci_menhir.mly"
30531 (Parse_aux.typed_expinfo)
30532 # 30533 "parser_cocci_menhir.ml"
30533 ) = Obj.magic _1 in
30534 let _startpos = _startpos__1_ in
30535 let _endpos = _endpos__1_ in
30536 let _v : 'tv_primary_expr_eexpr_invalid_ =
30537 # 1591 "parser_cocci_menhir.mly"
30538 ( let (nm,constraints,pure,ty,clt) = _1 in
30539 Ast0.wrap
30540 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
30541 # 30542 "parser_cocci_menhir.ml"
30542 in
30543 _menhir_env.MenhirLib.EngineTypes.stack <- {
30544 MenhirLib.EngineTypes.state = _menhir_s;
30545 MenhirLib.EngineTypes.semv = Obj.repr _v;
30546 MenhirLib.EngineTypes.startp = _startpos;
30547 MenhirLib.EngineTypes.endp = _endpos;
30548 MenhirLib.EngineTypes.next = _menhir_stack;
30549 });
30550 (fun _menhir_env ->
30551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30552 let {
30553 MenhirLib.EngineTypes.state = _menhir_s;
30554 MenhirLib.EngineTypes.semv = _1;
30555 MenhirLib.EngineTypes.startp = _startpos__1_;
30556 MenhirLib.EngineTypes.endp = _endpos__1_;
30557 MenhirLib.EngineTypes.next = _menhir_stack;
30558 } = _menhir_stack in
30559 let _1 : (
30560 # 135 "parser_cocci_menhir.mly"
30561 (Parse_aux.typed_expinfo)
30562 # 30563 "parser_cocci_menhir.ml"
30563 ) = Obj.magic _1 in
30564 let _startpos = _startpos__1_ in
30565 let _endpos = _endpos__1_ in
30566 let _v : 'tv_primary_expr_eexpr_invalid_ =
30567 # 1595 "parser_cocci_menhir.mly"
30568 ( let (nm,constraints,pure,ty,clt) = _1 in
30569 Ast0.wrap
30570 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
30571 # 30572 "parser_cocci_menhir.ml"
30572 in
30573 _menhir_env.MenhirLib.EngineTypes.stack <- {
30574 MenhirLib.EngineTypes.state = _menhir_s;
30575 MenhirLib.EngineTypes.semv = Obj.repr _v;
30576 MenhirLib.EngineTypes.startp = _startpos;
30577 MenhirLib.EngineTypes.endp = _endpos;
30578 MenhirLib.EngineTypes.next = _menhir_stack;
30579 });
30580 (fun _menhir_env ->
30581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30582 let {
30583 MenhirLib.EngineTypes.semv = _3;
30584 MenhirLib.EngineTypes.startp = _startpos__3_;
30585 MenhirLib.EngineTypes.endp = _endpos__3_;
30586 MenhirLib.EngineTypes.next = {
30587 MenhirLib.EngineTypes.semv = _2;
30588 MenhirLib.EngineTypes.startp = _startpos__2_;
30589 MenhirLib.EngineTypes.endp = _endpos__2_;
30590 MenhirLib.EngineTypes.next = {
30591 MenhirLib.EngineTypes.state = _menhir_s;
30592 MenhirLib.EngineTypes.semv = _1;
30593 MenhirLib.EngineTypes.startp = _startpos__1_;
30594 MenhirLib.EngineTypes.endp = _endpos__1_;
30595 MenhirLib.EngineTypes.next = _menhir_stack;
30596 };
30597 };
30598 } = _menhir_stack in
30599 let _3 : (
30600 # 145 "parser_cocci_menhir.mly"
30601 (Data.clt)
30602 # 30603 "parser_cocci_menhir.ml"
30603 ) = Obj.magic _3 in
30604 let _2 : 'tv_eexpr = Obj.magic _2 in
30605 let _1 : (
30606 # 144 "parser_cocci_menhir.mly"
30607 (Data.clt)
30608 # 30609 "parser_cocci_menhir.ml"
30609 ) = Obj.magic _1 in
30610 let _startpos = _startpos__1_ in
30611 let _endpos = _endpos__3_ in
30612 let _v : 'tv_primary_expr_eexpr_invalid_ =
30613 # 1599 "parser_cocci_menhir.mly"
30614 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
30615 P.clt2mcode ")" _3)) )
30616 # 30617 "parser_cocci_menhir.ml"
30617 in
30618 _menhir_env.MenhirLib.EngineTypes.stack <- {
30619 MenhirLib.EngineTypes.state = _menhir_s;
30620 MenhirLib.EngineTypes.semv = Obj.repr _v;
30621 MenhirLib.EngineTypes.startp = _startpos;
30622 MenhirLib.EngineTypes.endp = _endpos;
30623 MenhirLib.EngineTypes.next = _menhir_stack;
30624 });
30625 (fun _menhir_env ->
30626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30627 let {
30628 MenhirLib.EngineTypes.semv = _3;
30629 MenhirLib.EngineTypes.startp = _startpos__3_;
30630 MenhirLib.EngineTypes.endp = _endpos__3_;
30631 MenhirLib.EngineTypes.next = {
30632 MenhirLib.EngineTypes.semv = _2;
30633 MenhirLib.EngineTypes.startp = _startpos__2_;
30634 MenhirLib.EngineTypes.endp = _endpos__2_;
30635 MenhirLib.EngineTypes.next = {
30636 MenhirLib.EngineTypes.state = _menhir_s;
30637 MenhirLib.EngineTypes.semv = _1;
30638 MenhirLib.EngineTypes.startp = _startpos__1_;
30639 MenhirLib.EngineTypes.endp = _endpos__1_;
30640 MenhirLib.EngineTypes.next = _menhir_stack;
30641 };
30642 };
30643 } = _menhir_stack in
30644 let _3 : (
30645 # 145 "parser_cocci_menhir.mly"
30646 (Data.clt)
30647 # 30648 "parser_cocci_menhir.ml"
30648 ) = Obj.magic _3 in
30649 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
30650 let _1 : (
30651 # 144 "parser_cocci_menhir.mly"
30652 (Data.clt)
30653 # 30654 "parser_cocci_menhir.ml"
30654 ) = Obj.magic _1 in
30655 let _startpos = _startpos__1_ in
30656 let _endpos = _endpos__3_ in
30657 let _v : 'tv_primary_expr_eexpr_invalid_ =
30658 # 1602 "parser_cocci_menhir.mly"
30659 ( let (mids,code) = _2 in
30660 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
30661 code, mids,
30662 P.clt2mcode ")" _3)) )
30663 # 30664 "parser_cocci_menhir.ml"
30664 in
30665 _menhir_env.MenhirLib.EngineTypes.stack <- {
30666 MenhirLib.EngineTypes.state = _menhir_s;
30667 MenhirLib.EngineTypes.semv = Obj.repr _v;
30668 MenhirLib.EngineTypes.startp = _startpos;
30669 MenhirLib.EngineTypes.endp = _endpos;
30670 MenhirLib.EngineTypes.next = _menhir_stack;
30671 });
30672 (fun _menhir_env ->
30673 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30674 let {
30675 MenhirLib.EngineTypes.state = _menhir_s;
30676 MenhirLib.EngineTypes.semv = _1;
30677 MenhirLib.EngineTypes.startp = _startpos__1_;
30678 MenhirLib.EngineTypes.endp = _endpos__1_;
30679 MenhirLib.EngineTypes.next = _menhir_stack;
30680 } = _menhir_stack in
30681 let _1 : 'tv_invalid = Obj.magic _1 in
30682 let _startpos = _startpos__1_ in
30683 let _endpos = _endpos__1_ in
30684 let _v : 'tv_primary_expr_eexpr_invalid_ =
30685 # 1606 "parser_cocci_menhir.mly"
30686 ( _1 )
30687 # 30688 "parser_cocci_menhir.ml"
30688 in
30689 _menhir_env.MenhirLib.EngineTypes.stack <- {
30690 MenhirLib.EngineTypes.state = _menhir_s;
30691 MenhirLib.EngineTypes.semv = Obj.repr _v;
30692 MenhirLib.EngineTypes.startp = _startpos;
30693 MenhirLib.EngineTypes.endp = _endpos;
30694 MenhirLib.EngineTypes.next = _menhir_stack;
30695 });
30696 (fun _menhir_env ->
30697 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30698 let {
30699 MenhirLib.EngineTypes.state = _menhir_s;
30700 MenhirLib.EngineTypes.semv = _1;
30701 MenhirLib.EngineTypes.startp = _startpos__1_;
30702 MenhirLib.EngineTypes.endp = _endpos__1_;
30703 MenhirLib.EngineTypes.next = _menhir_stack;
30704 } = _menhir_stack in
30705 let _1 : 'tv_func_ident = Obj.magic _1 in
30706 let _startpos = _startpos__1_ in
30707 let _endpos = _endpos__1_ in
30708 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30709 # 1566 "parser_cocci_menhir.mly"
30710 ( Ast0.wrap(Ast0.Ident(_1)) )
30711 # 30712 "parser_cocci_menhir.ml"
30712 in
30713 _menhir_env.MenhirLib.EngineTypes.stack <- {
30714 MenhirLib.EngineTypes.state = _menhir_s;
30715 MenhirLib.EngineTypes.semv = Obj.repr _v;
30716 MenhirLib.EngineTypes.startp = _startpos;
30717 MenhirLib.EngineTypes.endp = _endpos;
30718 MenhirLib.EngineTypes.next = _menhir_stack;
30719 });
30720 (fun _menhir_env ->
30721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30722 let {
30723 MenhirLib.EngineTypes.state = _menhir_s;
30724 MenhirLib.EngineTypes.semv = _1;
30725 MenhirLib.EngineTypes.startp = _startpos__1_;
30726 MenhirLib.EngineTypes.endp = _endpos__1_;
30727 MenhirLib.EngineTypes.next = _menhir_stack;
30728 } = _menhir_stack in
30729 let _1 : (
30730 # 155 "parser_cocci_menhir.mly"
30731 (string * Data.clt)
30732 # 30733 "parser_cocci_menhir.ml"
30733 ) = Obj.magic _1 in
30734 let _startpos = _startpos__1_ in
30735 let _endpos = _endpos__1_ in
30736 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30737 # 1568 "parser_cocci_menhir.mly"
30738 ( let (x,clt) = _1 in
30739 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
30740 # 30741 "parser_cocci_menhir.ml"
30741 in
30742 _menhir_env.MenhirLib.EngineTypes.stack <- {
30743 MenhirLib.EngineTypes.state = _menhir_s;
30744 MenhirLib.EngineTypes.semv = Obj.repr _v;
30745 MenhirLib.EngineTypes.startp = _startpos;
30746 MenhirLib.EngineTypes.endp = _endpos;
30747 MenhirLib.EngineTypes.next = _menhir_stack;
30748 });
30749 (fun _menhir_env ->
30750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30751 let {
30752 MenhirLib.EngineTypes.state = _menhir_s;
30753 MenhirLib.EngineTypes.semv = _1;
30754 MenhirLib.EngineTypes.startp = _startpos__1_;
30755 MenhirLib.EngineTypes.endp = _endpos__1_;
30756 MenhirLib.EngineTypes.next = _menhir_stack;
30757 } = _menhir_stack in
30758 let _1 : (
30759 # 155 "parser_cocci_menhir.mly"
30760 (string * Data.clt)
30761 # 30762 "parser_cocci_menhir.ml"
30762 ) = Obj.magic _1 in
30763 let _startpos = _startpos__1_ in
30764 let _endpos = _endpos__1_ in
30765 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30766 # 1571 "parser_cocci_menhir.mly"
30767 ( let (x,clt) = _1 in
30768 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
30769 # 30770 "parser_cocci_menhir.ml"
30770 in
30771 _menhir_env.MenhirLib.EngineTypes.stack <- {
30772 MenhirLib.EngineTypes.state = _menhir_s;
30773 MenhirLib.EngineTypes.semv = Obj.repr _v;
30774 MenhirLib.EngineTypes.startp = _startpos;
30775 MenhirLib.EngineTypes.endp = _endpos;
30776 MenhirLib.EngineTypes.next = _menhir_stack;
30777 });
30778 (fun _menhir_env ->
30779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30780 let {
30781 MenhirLib.EngineTypes.state = _menhir_s;
30782 MenhirLib.EngineTypes.semv = _1;
30783 MenhirLib.EngineTypes.startp = _startpos__1_;
30784 MenhirLib.EngineTypes.endp = _endpos__1_;
30785 MenhirLib.EngineTypes.next = _menhir_stack;
30786 } = _menhir_stack in
30787 let _1 : (
30788 # 155 "parser_cocci_menhir.mly"
30789 (string * Data.clt)
30790 # 30791 "parser_cocci_menhir.ml"
30791 ) = Obj.magic _1 in
30792 let _startpos = _startpos__1_ in
30793 let _endpos = _endpos__1_ in
30794 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30795 # 1574 "parser_cocci_menhir.mly"
30796 ( let (x,clt) = _1 in
30797 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
30798 # 30799 "parser_cocci_menhir.ml"
30799 in
30800 _menhir_env.MenhirLib.EngineTypes.stack <- {
30801 MenhirLib.EngineTypes.state = _menhir_s;
30802 MenhirLib.EngineTypes.semv = Obj.repr _v;
30803 MenhirLib.EngineTypes.startp = _startpos;
30804 MenhirLib.EngineTypes.endp = _endpos;
30805 MenhirLib.EngineTypes.next = _menhir_stack;
30806 });
30807 (fun _menhir_env ->
30808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30809 let {
30810 MenhirLib.EngineTypes.state = _menhir_s;
30811 MenhirLib.EngineTypes.semv = _1;
30812 MenhirLib.EngineTypes.startp = _startpos__1_;
30813 MenhirLib.EngineTypes.endp = _endpos__1_;
30814 MenhirLib.EngineTypes.next = _menhir_stack;
30815 } = _menhir_stack in
30816 let _1 : (
30817 # 155 "parser_cocci_menhir.mly"
30818 (string * Data.clt)
30819 # 30820 "parser_cocci_menhir.ml"
30820 ) = Obj.magic _1 in
30821 let _startpos = _startpos__1_ in
30822 let _endpos = _endpos__1_ in
30823 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30824 # 1577 "parser_cocci_menhir.mly"
30825 ( let (x,clt) = _1 in
30826 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
30827 # 30828 "parser_cocci_menhir.ml"
30828 in
30829 _menhir_env.MenhirLib.EngineTypes.stack <- {
30830 MenhirLib.EngineTypes.state = _menhir_s;
30831 MenhirLib.EngineTypes.semv = Obj.repr _v;
30832 MenhirLib.EngineTypes.startp = _startpos;
30833 MenhirLib.EngineTypes.endp = _endpos;
30834 MenhirLib.EngineTypes.next = _menhir_stack;
30835 });
30836 (fun _menhir_env ->
30837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30838 let {
30839 MenhirLib.EngineTypes.state = _menhir_s;
30840 MenhirLib.EngineTypes.semv = _1;
30841 MenhirLib.EngineTypes.startp = _startpos__1_;
30842 MenhirLib.EngineTypes.endp = _endpos__1_;
30843 MenhirLib.EngineTypes.next = _menhir_stack;
30844 } = _menhir_stack in
30845 let _1 : (
30846 # 135 "parser_cocci_menhir.mly"
30847 (Parse_aux.typed_expinfo)
30848 # 30849 "parser_cocci_menhir.ml"
30849 ) = Obj.magic _1 in
30850 let _startpos = _startpos__1_ in
30851 let _endpos = _endpos__1_ in
30852 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30853 # 1580 "parser_cocci_menhir.mly"
30854 ( let (nm,constraints,pure,ty,clt) = _1 in
30855 Ast0.wrap
30856 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
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.semv = _1;
30871 MenhirLib.EngineTypes.startp = _startpos__1_;
30872 MenhirLib.EngineTypes.endp = _endpos__1_;
30873 MenhirLib.EngineTypes.next = _menhir_stack;
30874 } = _menhir_stack in
30875 let _1 : (
30876 # 130 "parser_cocci_menhir.mly"
30877 (Parse_aux.expinfo)
30878 # 30879 "parser_cocci_menhir.ml"
30879 ) = Obj.magic _1 in
30880 let _startpos = _startpos__1_ in
30881 let _endpos = _endpos__1_ in
30882 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30883 # 1584 "parser_cocci_menhir.mly"
30884 ( let (nm,constraints,pure,clt) = _1 in
30885 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
30886 # 30887 "parser_cocci_menhir.ml"
30887 in
30888 _menhir_env.MenhirLib.EngineTypes.stack <- {
30889 MenhirLib.EngineTypes.state = _menhir_s;
30890 MenhirLib.EngineTypes.semv = Obj.repr _v;
30891 MenhirLib.EngineTypes.startp = _startpos;
30892 MenhirLib.EngineTypes.endp = _endpos;
30893 MenhirLib.EngineTypes.next = _menhir_stack;
30894 });
30895 (fun _menhir_env ->
30896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30897 let {
30898 MenhirLib.EngineTypes.state = _menhir_s;
30899 MenhirLib.EngineTypes.semv = _1;
30900 MenhirLib.EngineTypes.startp = _startpos__1_;
30901 MenhirLib.EngineTypes.endp = _endpos__1_;
30902 MenhirLib.EngineTypes.next = _menhir_stack;
30903 } = _menhir_stack in
30904 let _1 : (
30905 # 135 "parser_cocci_menhir.mly"
30906 (Parse_aux.typed_expinfo)
30907 # 30908 "parser_cocci_menhir.ml"
30908 ) = Obj.magic _1 in
30909 let _startpos = _startpos__1_ in
30910 let _endpos = _endpos__1_ in
30911 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30912 # 1587 "parser_cocci_menhir.mly"
30913 ( let (nm,constraints,pure,ty,clt) = _1 in
30914 Ast0.wrap
30915 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
30916 # 30917 "parser_cocci_menhir.ml"
30917 in
30918 _menhir_env.MenhirLib.EngineTypes.stack <- {
30919 MenhirLib.EngineTypes.state = _menhir_s;
30920 MenhirLib.EngineTypes.semv = Obj.repr _v;
30921 MenhirLib.EngineTypes.startp = _startpos;
30922 MenhirLib.EngineTypes.endp = _endpos;
30923 MenhirLib.EngineTypes.next = _menhir_stack;
30924 });
30925 (fun _menhir_env ->
30926 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30927 let {
30928 MenhirLib.EngineTypes.state = _menhir_s;
30929 MenhirLib.EngineTypes.semv = _1;
30930 MenhirLib.EngineTypes.startp = _startpos__1_;
30931 MenhirLib.EngineTypes.endp = _endpos__1_;
30932 MenhirLib.EngineTypes.next = _menhir_stack;
30933 } = _menhir_stack in
30934 let _1 : (
30935 # 135 "parser_cocci_menhir.mly"
30936 (Parse_aux.typed_expinfo)
30937 # 30938 "parser_cocci_menhir.ml"
30938 ) = Obj.magic _1 in
30939 let _startpos = _startpos__1_ in
30940 let _endpos = _endpos__1_ in
30941 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30942 # 1591 "parser_cocci_menhir.mly"
30943 ( let (nm,constraints,pure,ty,clt) = _1 in
30944 Ast0.wrap
30945 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
30946 # 30947 "parser_cocci_menhir.ml"
30947 in
30948 _menhir_env.MenhirLib.EngineTypes.stack <- {
30949 MenhirLib.EngineTypes.state = _menhir_s;
30950 MenhirLib.EngineTypes.semv = Obj.repr _v;
30951 MenhirLib.EngineTypes.startp = _startpos;
30952 MenhirLib.EngineTypes.endp = _endpos;
30953 MenhirLib.EngineTypes.next = _menhir_stack;
30954 });
30955 (fun _menhir_env ->
30956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30957 let {
30958 MenhirLib.EngineTypes.state = _menhir_s;
30959 MenhirLib.EngineTypes.semv = _1;
30960 MenhirLib.EngineTypes.startp = _startpos__1_;
30961 MenhirLib.EngineTypes.endp = _endpos__1_;
30962 MenhirLib.EngineTypes.next = _menhir_stack;
30963 } = _menhir_stack in
30964 let _1 : (
30965 # 135 "parser_cocci_menhir.mly"
30966 (Parse_aux.typed_expinfo)
30967 # 30968 "parser_cocci_menhir.ml"
30968 ) = Obj.magic _1 in
30969 let _startpos = _startpos__1_ in
30970 let _endpos = _endpos__1_ in
30971 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30972 # 1595 "parser_cocci_menhir.mly"
30973 ( let (nm,constraints,pure,ty,clt) = _1 in
30974 Ast0.wrap
30975 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
30976 # 30977 "parser_cocci_menhir.ml"
30977 in
30978 _menhir_env.MenhirLib.EngineTypes.stack <- {
30979 MenhirLib.EngineTypes.state = _menhir_s;
30980 MenhirLib.EngineTypes.semv = Obj.repr _v;
30981 MenhirLib.EngineTypes.startp = _startpos;
30982 MenhirLib.EngineTypes.endp = _endpos;
30983 MenhirLib.EngineTypes.next = _menhir_stack;
30984 });
30985 (fun _menhir_env ->
30986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30987 let {
30988 MenhirLib.EngineTypes.semv = _3;
30989 MenhirLib.EngineTypes.startp = _startpos__3_;
30990 MenhirLib.EngineTypes.endp = _endpos__3_;
30991 MenhirLib.EngineTypes.next = {
30992 MenhirLib.EngineTypes.semv = _2;
30993 MenhirLib.EngineTypes.startp = _startpos__2_;
30994 MenhirLib.EngineTypes.endp = _endpos__2_;
30995 MenhirLib.EngineTypes.next = {
30996 MenhirLib.EngineTypes.state = _menhir_s;
30997 MenhirLib.EngineTypes.semv = _1;
30998 MenhirLib.EngineTypes.startp = _startpos__1_;
30999 MenhirLib.EngineTypes.endp = _endpos__1_;
31000 MenhirLib.EngineTypes.next = _menhir_stack;
31001 };
31002 };
31003 } = _menhir_stack in
31004 let _3 : (
31005 # 145 "parser_cocci_menhir.mly"
31006 (Data.clt)
31007 # 31008 "parser_cocci_menhir.ml"
31008 ) = Obj.magic _3 in
31009 let _2 : 'tv_eexpr = Obj.magic _2 in
31010 let _1 : (
31011 # 144 "parser_cocci_menhir.mly"
31012 (Data.clt)
31013 # 31014 "parser_cocci_menhir.ml"
31014 ) = Obj.magic _1 in
31015 let _startpos = _startpos__1_ in
31016 let _endpos = _endpos__3_ in
31017 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
31018 # 1599 "parser_cocci_menhir.mly"
31019 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
31020 P.clt2mcode ")" _3)) )
31021 # 31022 "parser_cocci_menhir.ml"
31022 in
31023 _menhir_env.MenhirLib.EngineTypes.stack <- {
31024 MenhirLib.EngineTypes.state = _menhir_s;
31025 MenhirLib.EngineTypes.semv = Obj.repr _v;
31026 MenhirLib.EngineTypes.startp = _startpos;
31027 MenhirLib.EngineTypes.endp = _endpos;
31028 MenhirLib.EngineTypes.next = _menhir_stack;
31029 });
31030 (fun _menhir_env ->
31031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31032 let {
31033 MenhirLib.EngineTypes.semv = _3;
31034 MenhirLib.EngineTypes.startp = _startpos__3_;
31035 MenhirLib.EngineTypes.endp = _endpos__3_;
31036 MenhirLib.EngineTypes.next = {
31037 MenhirLib.EngineTypes.semv = _2;
31038 MenhirLib.EngineTypes.startp = _startpos__2_;
31039 MenhirLib.EngineTypes.endp = _endpos__2_;
31040 MenhirLib.EngineTypes.next = {
31041 MenhirLib.EngineTypes.state = _menhir_s;
31042 MenhirLib.EngineTypes.semv = _1;
31043 MenhirLib.EngineTypes.startp = _startpos__1_;
31044 MenhirLib.EngineTypes.endp = _endpos__1_;
31045 MenhirLib.EngineTypes.next = _menhir_stack;
31046 };
31047 };
31048 } = _menhir_stack in
31049 let _3 : (
31050 # 145 "parser_cocci_menhir.mly"
31051 (Data.clt)
31052 # 31053 "parser_cocci_menhir.ml"
31053 ) = Obj.magic _3 in
31054 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
31055 let _1 : (
31056 # 144 "parser_cocci_menhir.mly"
31057 (Data.clt)
31058 # 31059 "parser_cocci_menhir.ml"
31059 ) = Obj.magic _1 in
31060 let _startpos = _startpos__1_ in
31061 let _endpos = _endpos__3_ in
31062 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
31063 # 1602 "parser_cocci_menhir.mly"
31064 ( let (mids,code) = _2 in
31065 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
31066 code, mids,
31067 P.clt2mcode ")" _3)) )
31068 # 31069 "parser_cocci_menhir.ml"
31069 in
31070 _menhir_env.MenhirLib.EngineTypes.stack <- {
31071 MenhirLib.EngineTypes.state = _menhir_s;
31072 MenhirLib.EngineTypes.semv = Obj.repr _v;
31073 MenhirLib.EngineTypes.startp = _startpos;
31074 MenhirLib.EngineTypes.endp = _endpos;
31075 MenhirLib.EngineTypes.next = _menhir_stack;
31076 });
31077 (fun _menhir_env ->
31078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31079 let {
31080 MenhirLib.EngineTypes.state = _menhir_s;
31081 MenhirLib.EngineTypes.semv = _1;
31082 MenhirLib.EngineTypes.startp = _startpos__1_;
31083 MenhirLib.EngineTypes.endp = _endpos__1_;
31084 MenhirLib.EngineTypes.next = _menhir_stack;
31085 } = _menhir_stack in
31086 let _1 : 'tv_nest_expressions = Obj.magic _1 in
31087 let _startpos = _startpos__1_ in
31088 let _endpos = _endpos__1_ in
31089 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
31090 # 1606 "parser_cocci_menhir.mly"
31091 ( _1 )
31092 # 31093 "parser_cocci_menhir.ml"
31093 in
31094 _menhir_env.MenhirLib.EngineTypes.stack <- {
31095 MenhirLib.EngineTypes.state = _menhir_s;
31096 MenhirLib.EngineTypes.semv = Obj.repr _v;
31097 MenhirLib.EngineTypes.startp = _startpos;
31098 MenhirLib.EngineTypes.endp = _endpos;
31099 MenhirLib.EngineTypes.next = _menhir_stack;
31100 });
31101 (fun _menhir_env ->
31102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31103 let {
31104 MenhirLib.EngineTypes.state = _menhir_s;
31105 MenhirLib.EngineTypes.semv = _1;
31106 MenhirLib.EngineTypes.startp = _startpos__1_;
31107 MenhirLib.EngineTypes.endp = _endpos__1_;
31108 MenhirLib.EngineTypes.next = _menhir_stack;
31109 } = _menhir_stack in
31110 let _1 : 'tv_func_ident = Obj.magic _1 in
31111 let _startpos = _startpos__1_ in
31112 let _endpos = _endpos__1_ in
31113 let _v : 'tv_primary_expr_expr_invalid_ =
31114 # 1566 "parser_cocci_menhir.mly"
31115 ( Ast0.wrap(Ast0.Ident(_1)) )
31116 # 31117 "parser_cocci_menhir.ml"
31117 in
31118 _menhir_env.MenhirLib.EngineTypes.stack <- {
31119 MenhirLib.EngineTypes.state = _menhir_s;
31120 MenhirLib.EngineTypes.semv = Obj.repr _v;
31121 MenhirLib.EngineTypes.startp = _startpos;
31122 MenhirLib.EngineTypes.endp = _endpos;
31123 MenhirLib.EngineTypes.next = _menhir_stack;
31124 });
31125 (fun _menhir_env ->
31126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31127 let {
31128 MenhirLib.EngineTypes.state = _menhir_s;
31129 MenhirLib.EngineTypes.semv = _1;
31130 MenhirLib.EngineTypes.startp = _startpos__1_;
31131 MenhirLib.EngineTypes.endp = _endpos__1_;
31132 MenhirLib.EngineTypes.next = _menhir_stack;
31133 } = _menhir_stack in
31134 let _1 : (
31135 # 155 "parser_cocci_menhir.mly"
31136 (string * Data.clt)
31137 # 31138 "parser_cocci_menhir.ml"
31138 ) = Obj.magic _1 in
31139 let _startpos = _startpos__1_ in
31140 let _endpos = _endpos__1_ in
31141 let _v : 'tv_primary_expr_expr_invalid_ =
31142 # 1568 "parser_cocci_menhir.mly"
31143 ( let (x,clt) = _1 in
31144 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
31145 # 31146 "parser_cocci_menhir.ml"
31146 in
31147 _menhir_env.MenhirLib.EngineTypes.stack <- {
31148 MenhirLib.EngineTypes.state = _menhir_s;
31149 MenhirLib.EngineTypes.semv = Obj.repr _v;
31150 MenhirLib.EngineTypes.startp = _startpos;
31151 MenhirLib.EngineTypes.endp = _endpos;
31152 MenhirLib.EngineTypes.next = _menhir_stack;
31153 });
31154 (fun _menhir_env ->
31155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31156 let {
31157 MenhirLib.EngineTypes.state = _menhir_s;
31158 MenhirLib.EngineTypes.semv = _1;
31159 MenhirLib.EngineTypes.startp = _startpos__1_;
31160 MenhirLib.EngineTypes.endp = _endpos__1_;
31161 MenhirLib.EngineTypes.next = _menhir_stack;
31162 } = _menhir_stack in
31163 let _1 : (
31164 # 155 "parser_cocci_menhir.mly"
31165 (string * Data.clt)
31166 # 31167 "parser_cocci_menhir.ml"
31167 ) = Obj.magic _1 in
31168 let _startpos = _startpos__1_ in
31169 let _endpos = _endpos__1_ in
31170 let _v : 'tv_primary_expr_expr_invalid_ =
31171 # 1571 "parser_cocci_menhir.mly"
31172 ( let (x,clt) = _1 in
31173 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
31174 # 31175 "parser_cocci_menhir.ml"
31175 in
31176 _menhir_env.MenhirLib.EngineTypes.stack <- {
31177 MenhirLib.EngineTypes.state = _menhir_s;
31178 MenhirLib.EngineTypes.semv = Obj.repr _v;
31179 MenhirLib.EngineTypes.startp = _startpos;
31180 MenhirLib.EngineTypes.endp = _endpos;
31181 MenhirLib.EngineTypes.next = _menhir_stack;
31182 });
31183 (fun _menhir_env ->
31184 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31185 let {
31186 MenhirLib.EngineTypes.state = _menhir_s;
31187 MenhirLib.EngineTypes.semv = _1;
31188 MenhirLib.EngineTypes.startp = _startpos__1_;
31189 MenhirLib.EngineTypes.endp = _endpos__1_;
31190 MenhirLib.EngineTypes.next = _menhir_stack;
31191 } = _menhir_stack in
31192 let _1 : (
31193 # 155 "parser_cocci_menhir.mly"
31194 (string * Data.clt)
31195 # 31196 "parser_cocci_menhir.ml"
31196 ) = Obj.magic _1 in
31197 let _startpos = _startpos__1_ in
31198 let _endpos = _endpos__1_ in
31199 let _v : 'tv_primary_expr_expr_invalid_ =
31200 # 1574 "parser_cocci_menhir.mly"
31201 ( let (x,clt) = _1 in
31202 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
31203 # 31204 "parser_cocci_menhir.ml"
31204 in
31205 _menhir_env.MenhirLib.EngineTypes.stack <- {
31206 MenhirLib.EngineTypes.state = _menhir_s;
31207 MenhirLib.EngineTypes.semv = Obj.repr _v;
31208 MenhirLib.EngineTypes.startp = _startpos;
31209 MenhirLib.EngineTypes.endp = _endpos;
31210 MenhirLib.EngineTypes.next = _menhir_stack;
31211 });
31212 (fun _menhir_env ->
31213 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31214 let {
31215 MenhirLib.EngineTypes.state = _menhir_s;
31216 MenhirLib.EngineTypes.semv = _1;
31217 MenhirLib.EngineTypes.startp = _startpos__1_;
31218 MenhirLib.EngineTypes.endp = _endpos__1_;
31219 MenhirLib.EngineTypes.next = _menhir_stack;
31220 } = _menhir_stack in
31221 let _1 : (
31222 # 155 "parser_cocci_menhir.mly"
31223 (string * Data.clt)
31224 # 31225 "parser_cocci_menhir.ml"
31225 ) = Obj.magic _1 in
31226 let _startpos = _startpos__1_ in
31227 let _endpos = _endpos__1_ in
31228 let _v : 'tv_primary_expr_expr_invalid_ =
31229 # 1577 "parser_cocci_menhir.mly"
31230 ( let (x,clt) = _1 in
31231 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
31232 # 31233 "parser_cocci_menhir.ml"
31233 in
31234 _menhir_env.MenhirLib.EngineTypes.stack <- {
31235 MenhirLib.EngineTypes.state = _menhir_s;
31236 MenhirLib.EngineTypes.semv = Obj.repr _v;
31237 MenhirLib.EngineTypes.startp = _startpos;
31238 MenhirLib.EngineTypes.endp = _endpos;
31239 MenhirLib.EngineTypes.next = _menhir_stack;
31240 });
31241 (fun _menhir_env ->
31242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31243 let {
31244 MenhirLib.EngineTypes.state = _menhir_s;
31245 MenhirLib.EngineTypes.semv = _1;
31246 MenhirLib.EngineTypes.startp = _startpos__1_;
31247 MenhirLib.EngineTypes.endp = _endpos__1_;
31248 MenhirLib.EngineTypes.next = _menhir_stack;
31249 } = _menhir_stack in
31250 let _1 : (
31251 # 135 "parser_cocci_menhir.mly"
31252 (Parse_aux.typed_expinfo)
31253 # 31254 "parser_cocci_menhir.ml"
31254 ) = Obj.magic _1 in
31255 let _startpos = _startpos__1_ in
31256 let _endpos = _endpos__1_ in
31257 let _v : 'tv_primary_expr_expr_invalid_ =
31258 # 1580 "parser_cocci_menhir.mly"
31259 ( let (nm,constraints,pure,ty,clt) = _1 in
31260 Ast0.wrap
31261 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
31262 # 31263 "parser_cocci_menhir.ml"
31263 in
31264 _menhir_env.MenhirLib.EngineTypes.stack <- {
31265 MenhirLib.EngineTypes.state = _menhir_s;
31266 MenhirLib.EngineTypes.semv = Obj.repr _v;
31267 MenhirLib.EngineTypes.startp = _startpos;
31268 MenhirLib.EngineTypes.endp = _endpos;
31269 MenhirLib.EngineTypes.next = _menhir_stack;
31270 });
31271 (fun _menhir_env ->
31272 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31273 let {
31274 MenhirLib.EngineTypes.state = _menhir_s;
31275 MenhirLib.EngineTypes.semv = _1;
31276 MenhirLib.EngineTypes.startp = _startpos__1_;
31277 MenhirLib.EngineTypes.endp = _endpos__1_;
31278 MenhirLib.EngineTypes.next = _menhir_stack;
31279 } = _menhir_stack in
31280 let _1 : (
31281 # 130 "parser_cocci_menhir.mly"
31282 (Parse_aux.expinfo)
31283 # 31284 "parser_cocci_menhir.ml"
31284 ) = Obj.magic _1 in
31285 let _startpos = _startpos__1_ in
31286 let _endpos = _endpos__1_ in
31287 let _v : 'tv_primary_expr_expr_invalid_ =
31288 # 1584 "parser_cocci_menhir.mly"
31289 ( let (nm,constraints,pure,clt) = _1 in
31290 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
31291 # 31292 "parser_cocci_menhir.ml"
31292 in
31293 _menhir_env.MenhirLib.EngineTypes.stack <- {
31294 MenhirLib.EngineTypes.state = _menhir_s;
31295 MenhirLib.EngineTypes.semv = Obj.repr _v;
31296 MenhirLib.EngineTypes.startp = _startpos;
31297 MenhirLib.EngineTypes.endp = _endpos;
31298 MenhirLib.EngineTypes.next = _menhir_stack;
31299 });
31300 (fun _menhir_env ->
31301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31302 let {
31303 MenhirLib.EngineTypes.state = _menhir_s;
31304 MenhirLib.EngineTypes.semv = _1;
31305 MenhirLib.EngineTypes.startp = _startpos__1_;
31306 MenhirLib.EngineTypes.endp = _endpos__1_;
31307 MenhirLib.EngineTypes.next = _menhir_stack;
31308 } = _menhir_stack in
31309 let _1 : (
31310 # 135 "parser_cocci_menhir.mly"
31311 (Parse_aux.typed_expinfo)
31312 # 31313 "parser_cocci_menhir.ml"
31313 ) = Obj.magic _1 in
31314 let _startpos = _startpos__1_ in
31315 let _endpos = _endpos__1_ in
31316 let _v : 'tv_primary_expr_expr_invalid_ =
31317 # 1587 "parser_cocci_menhir.mly"
31318 ( let (nm,constraints,pure,ty,clt) = _1 in
31319 Ast0.wrap
31320 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
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 : (
31340 # 135 "parser_cocci_menhir.mly"
31341 (Parse_aux.typed_expinfo)
31342 # 31343 "parser_cocci_menhir.ml"
31343 ) = Obj.magic _1 in
31344 let _startpos = _startpos__1_ in
31345 let _endpos = _endpos__1_ in
31346 let _v : 'tv_primary_expr_expr_invalid_ =
31347 # 1591 "parser_cocci_menhir.mly"
31348 ( let (nm,constraints,pure,ty,clt) = _1 in
31349 Ast0.wrap
31350 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
31351 # 31352 "parser_cocci_menhir.ml"
31352 in
31353 _menhir_env.MenhirLib.EngineTypes.stack <- {
31354 MenhirLib.EngineTypes.state = _menhir_s;
31355 MenhirLib.EngineTypes.semv = Obj.repr _v;
31356 MenhirLib.EngineTypes.startp = _startpos;
31357 MenhirLib.EngineTypes.endp = _endpos;
31358 MenhirLib.EngineTypes.next = _menhir_stack;
31359 });
31360 (fun _menhir_env ->
31361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31362 let {
31363 MenhirLib.EngineTypes.state = _menhir_s;
31364 MenhirLib.EngineTypes.semv = _1;
31365 MenhirLib.EngineTypes.startp = _startpos__1_;
31366 MenhirLib.EngineTypes.endp = _endpos__1_;
31367 MenhirLib.EngineTypes.next = _menhir_stack;
31368 } = _menhir_stack in
31369 let _1 : (
31370 # 135 "parser_cocci_menhir.mly"
31371 (Parse_aux.typed_expinfo)
31372 # 31373 "parser_cocci_menhir.ml"
31373 ) = Obj.magic _1 in
31374 let _startpos = _startpos__1_ in
31375 let _endpos = _endpos__1_ in
31376 let _v : 'tv_primary_expr_expr_invalid_ =
31377 # 1595 "parser_cocci_menhir.mly"
31378 ( let (nm,constraints,pure,ty,clt) = _1 in
31379 Ast0.wrap
31380 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
31381 # 31382 "parser_cocci_menhir.ml"
31382 in
31383 _menhir_env.MenhirLib.EngineTypes.stack <- {
31384 MenhirLib.EngineTypes.state = _menhir_s;
31385 MenhirLib.EngineTypes.semv = Obj.repr _v;
31386 MenhirLib.EngineTypes.startp = _startpos;
31387 MenhirLib.EngineTypes.endp = _endpos;
31388 MenhirLib.EngineTypes.next = _menhir_stack;
31389 });
31390 (fun _menhir_env ->
31391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31392 let {
31393 MenhirLib.EngineTypes.semv = _3;
31394 MenhirLib.EngineTypes.startp = _startpos__3_;
31395 MenhirLib.EngineTypes.endp = _endpos__3_;
31396 MenhirLib.EngineTypes.next = {
31397 MenhirLib.EngineTypes.semv = _2;
31398 MenhirLib.EngineTypes.startp = _startpos__2_;
31399 MenhirLib.EngineTypes.endp = _endpos__2_;
31400 MenhirLib.EngineTypes.next = {
31401 MenhirLib.EngineTypes.state = _menhir_s;
31402 MenhirLib.EngineTypes.semv = _1;
31403 MenhirLib.EngineTypes.startp = _startpos__1_;
31404 MenhirLib.EngineTypes.endp = _endpos__1_;
31405 MenhirLib.EngineTypes.next = _menhir_stack;
31406 };
31407 };
31408 } = _menhir_stack in
31409 let _3 : (
31410 # 145 "parser_cocci_menhir.mly"
31411 (Data.clt)
31412 # 31413 "parser_cocci_menhir.ml"
31413 ) = Obj.magic _3 in
31414 let _2 : 'tv_eexpr = Obj.magic _2 in
31415 let _1 : (
31416 # 144 "parser_cocci_menhir.mly"
31417 (Data.clt)
31418 # 31419 "parser_cocci_menhir.ml"
31419 ) = Obj.magic _1 in
31420 let _startpos = _startpos__1_ in
31421 let _endpos = _endpos__3_ in
31422 let _v : 'tv_primary_expr_expr_invalid_ =
31423 # 1599 "parser_cocci_menhir.mly"
31424 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
31425 P.clt2mcode ")" _3)) )
31426 # 31427 "parser_cocci_menhir.ml"
31427 in
31428 _menhir_env.MenhirLib.EngineTypes.stack <- {
31429 MenhirLib.EngineTypes.state = _menhir_s;
31430 MenhirLib.EngineTypes.semv = Obj.repr _v;
31431 MenhirLib.EngineTypes.startp = _startpos;
31432 MenhirLib.EngineTypes.endp = _endpos;
31433 MenhirLib.EngineTypes.next = _menhir_stack;
31434 });
31435 (fun _menhir_env ->
31436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31437 let {
31438 MenhirLib.EngineTypes.semv = _3;
31439 MenhirLib.EngineTypes.startp = _startpos__3_;
31440 MenhirLib.EngineTypes.endp = _endpos__3_;
31441 MenhirLib.EngineTypes.next = {
31442 MenhirLib.EngineTypes.semv = _2;
31443 MenhirLib.EngineTypes.startp = _startpos__2_;
31444 MenhirLib.EngineTypes.endp = _endpos__2_;
31445 MenhirLib.EngineTypes.next = {
31446 MenhirLib.EngineTypes.state = _menhir_s;
31447 MenhirLib.EngineTypes.semv = _1;
31448 MenhirLib.EngineTypes.startp = _startpos__1_;
31449 MenhirLib.EngineTypes.endp = _endpos__1_;
31450 MenhirLib.EngineTypes.next = _menhir_stack;
31451 };
31452 };
31453 } = _menhir_stack in
31454 let _3 : (
31455 # 145 "parser_cocci_menhir.mly"
31456 (Data.clt)
31457 # 31458 "parser_cocci_menhir.ml"
31458 ) = Obj.magic _3 in
31459 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
31460 let _1 : (
31461 # 144 "parser_cocci_menhir.mly"
31462 (Data.clt)
31463 # 31464 "parser_cocci_menhir.ml"
31464 ) = Obj.magic _1 in
31465 let _startpos = _startpos__1_ in
31466 let _endpos = _endpos__3_ in
31467 let _v : 'tv_primary_expr_expr_invalid_ =
31468 # 1602 "parser_cocci_menhir.mly"
31469 ( let (mids,code) = _2 in
31470 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
31471 code, mids,
31472 P.clt2mcode ")" _3)) )
31473 # 31474 "parser_cocci_menhir.ml"
31474 in
31475 _menhir_env.MenhirLib.EngineTypes.stack <- {
31476 MenhirLib.EngineTypes.state = _menhir_s;
31477 MenhirLib.EngineTypes.semv = Obj.repr _v;
31478 MenhirLib.EngineTypes.startp = _startpos;
31479 MenhirLib.EngineTypes.endp = _endpos;
31480 MenhirLib.EngineTypes.next = _menhir_stack;
31481 });
31482 (fun _menhir_env ->
31483 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31484 let {
31485 MenhirLib.EngineTypes.state = _menhir_s;
31486 MenhirLib.EngineTypes.semv = _1;
31487 MenhirLib.EngineTypes.startp = _startpos__1_;
31488 MenhirLib.EngineTypes.endp = _endpos__1_;
31489 MenhirLib.EngineTypes.next = _menhir_stack;
31490 } = _menhir_stack in
31491 let _1 : 'tv_invalid = Obj.magic _1 in
31492 let _startpos = _startpos__1_ in
31493 let _endpos = _endpos__1_ in
31494 let _v : 'tv_primary_expr_expr_invalid_ =
31495 # 1606 "parser_cocci_menhir.mly"
31496 ( _1 )
31497 # 31498 "parser_cocci_menhir.ml"
31498 in
31499 _menhir_env.MenhirLib.EngineTypes.stack <- {
31500 MenhirLib.EngineTypes.state = _menhir_s;
31501 MenhirLib.EngineTypes.semv = Obj.repr _v;
31502 MenhirLib.EngineTypes.startp = _startpos;
31503 MenhirLib.EngineTypes.endp = _endpos;
31504 MenhirLib.EngineTypes.next = _menhir_stack;
31505 });
31506 (fun _menhir_env ->
31507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31508 let {
31509 MenhirLib.EngineTypes.state = _menhir_s;
31510 MenhirLib.EngineTypes.startp = _startpos__1_;
31511 MenhirLib.EngineTypes.endp = _endpos__1_;
31512 MenhirLib.EngineTypes.next = _menhir_stack;
31513 } = _menhir_stack in
31514 let _startpos = _startpos__1_ in
31515 let _endpos = _endpos__1_ in
31516 let _v : 'tv_pure =
31517 # 260 "parser_cocci_menhir.mly"
31518 ( Ast0.Pure )
31519 # 31520 "parser_cocci_menhir.ml"
31520 in
31521 _menhir_env.MenhirLib.EngineTypes.stack <- {
31522 MenhirLib.EngineTypes.state = _menhir_s;
31523 MenhirLib.EngineTypes.semv = Obj.repr _v;
31524 MenhirLib.EngineTypes.startp = _startpos;
31525 MenhirLib.EngineTypes.endp = _endpos;
31526 MenhirLib.EngineTypes.next = _menhir_stack;
31527 });
31528 (fun _menhir_env ->
31529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31530 let {
31531 MenhirLib.EngineTypes.state = _menhir_s;
31532 MenhirLib.EngineTypes.startp = _startpos__1_;
31533 MenhirLib.EngineTypes.endp = _endpos__1_;
31534 MenhirLib.EngineTypes.next = _menhir_stack;
31535 } = _menhir_stack in
31536 let _startpos = _startpos__1_ in
31537 let _endpos = _endpos__1_ in
31538 let _v : 'tv_pure =
31539 # 261 "parser_cocci_menhir.mly"
31540 ( Ast0.Context )
31541 # 31542 "parser_cocci_menhir.ml"
31542 in
31543 _menhir_env.MenhirLib.EngineTypes.stack <- {
31544 MenhirLib.EngineTypes.state = _menhir_s;
31545 MenhirLib.EngineTypes.semv = Obj.repr _v;
31546 MenhirLib.EngineTypes.startp = _startpos;
31547 MenhirLib.EngineTypes.endp = _endpos;
31548 MenhirLib.EngineTypes.next = _menhir_stack;
31549 });
31550 (fun _menhir_env ->
31551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31552 let {
31553 MenhirLib.EngineTypes.startp = _startpos__2_;
31554 MenhirLib.EngineTypes.endp = _endpos__2_;
31555 MenhirLib.EngineTypes.next = {
31556 MenhirLib.EngineTypes.state = _menhir_s;
31557 MenhirLib.EngineTypes.startp = _startpos__1_;
31558 MenhirLib.EngineTypes.endp = _endpos__1_;
31559 MenhirLib.EngineTypes.next = _menhir_stack;
31560 };
31561 } = _menhir_stack in
31562 let _startpos = _startpos__1_ in
31563 let _endpos = _endpos__2_ in
31564 let _v : 'tv_pure =
31565 # 262 "parser_cocci_menhir.mly"
31566 ( Ast0.PureContext )
31567 # 31568 "parser_cocci_menhir.ml"
31568 in
31569 _menhir_env.MenhirLib.EngineTypes.stack <- {
31570 MenhirLib.EngineTypes.state = _menhir_s;
31571 MenhirLib.EngineTypes.semv = Obj.repr _v;
31572 MenhirLib.EngineTypes.startp = _startpos;
31573 MenhirLib.EngineTypes.endp = _endpos;
31574 MenhirLib.EngineTypes.next = _menhir_stack;
31575 });
31576 (fun _menhir_env ->
31577 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31578 let {
31579 MenhirLib.EngineTypes.startp = _startpos__2_;
31580 MenhirLib.EngineTypes.endp = _endpos__2_;
31581 MenhirLib.EngineTypes.next = {
31582 MenhirLib.EngineTypes.state = _menhir_s;
31583 MenhirLib.EngineTypes.startp = _startpos__1_;
31584 MenhirLib.EngineTypes.endp = _endpos__1_;
31585 MenhirLib.EngineTypes.next = _menhir_stack;
31586 };
31587 } = _menhir_stack in
31588 let _startpos = _startpos__1_ in
31589 let _endpos = _endpos__2_ in
31590 let _v : 'tv_pure =
31591 # 263 "parser_cocci_menhir.mly"
31592 ( Ast0.PureContext )
31593 # 31594 "parser_cocci_menhir.ml"
31594 in
31595 _menhir_env.MenhirLib.EngineTypes.stack <- {
31596 MenhirLib.EngineTypes.state = _menhir_s;
31597 MenhirLib.EngineTypes.semv = Obj.repr _v;
31598 MenhirLib.EngineTypes.startp = _startpos;
31599 MenhirLib.EngineTypes.endp = _endpos;
31600 MenhirLib.EngineTypes.next = _menhir_stack;
31601 });
31602 (fun _menhir_env ->
31603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31604 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31605 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31606 let _endpos = _startpos in
31607 let _v : 'tv_pure =
31608 # 264 "parser_cocci_menhir.mly"
31609 ( Ast0.Impure )
31610 # 31611 "parser_cocci_menhir.ml"
31611 in
31612 _menhir_env.MenhirLib.EngineTypes.stack <- {
31613 MenhirLib.EngineTypes.state = _menhir_s;
31614 MenhirLib.EngineTypes.semv = Obj.repr _v;
31615 MenhirLib.EngineTypes.startp = _startpos;
31616 MenhirLib.EngineTypes.endp = _endpos;
31617 MenhirLib.EngineTypes.next = _menhir_stack;
31618 });
31619 (fun _menhir_env ->
31620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31621 let {
31622 MenhirLib.EngineTypes.state = _menhir_s;
31623 MenhirLib.EngineTypes.semv = _1;
31624 MenhirLib.EngineTypes.startp = _startpos__1_;
31625 MenhirLib.EngineTypes.endp = _endpos__1_;
31626 MenhirLib.EngineTypes.next = _menhir_stack;
31627 } = _menhir_stack in
31628 let _1 : (
31629 # 125 "parser_cocci_menhir.mly"
31630 (string * Data.clt)
31631 # 31632 "parser_cocci_menhir.ml"
31632 ) = Obj.magic _1 in
31633 let _startpos = _startpos__1_ in
31634 let _endpos = _endpos__1_ in
31635 let _v : 'tv_pure_ident =
31636 # 1620 "parser_cocci_menhir.mly"
31637 ( _1 )
31638 # 31639 "parser_cocci_menhir.ml"
31639 in
31640 _menhir_env.MenhirLib.EngineTypes.stack <- {
31641 MenhirLib.EngineTypes.state = _menhir_s;
31642 MenhirLib.EngineTypes.semv = Obj.repr _v;
31643 MenhirLib.EngineTypes.startp = _startpos;
31644 MenhirLib.EngineTypes.endp = _endpos;
31645 MenhirLib.EngineTypes.next = _menhir_stack;
31646 });
31647 (fun _menhir_env ->
31648 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31649 let {
31650 MenhirLib.EngineTypes.state = _menhir_s;
31651 MenhirLib.EngineTypes.startp = _startpos__1_;
31652 MenhirLib.EngineTypes.endp = _endpos__1_;
31653 MenhirLib.EngineTypes.next = _menhir_stack;
31654 } = _menhir_stack in
31655 let _startpos = _startpos__1_ in
31656 let _endpos = _endpos__1_ in
31657 let _v : 'tv_pure_ident_kwd =
31658 # 1623 "parser_cocci_menhir.mly"
31659 ( "identifier" )
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.startp = _startpos__1_;
31674 MenhirLib.EngineTypes.endp = _endpos__1_;
31675 MenhirLib.EngineTypes.next = _menhir_stack;
31676 } = _menhir_stack in
31677 let _startpos = _startpos__1_ in
31678 let _endpos = _endpos__1_ in
31679 let _v : 'tv_pure_ident_kwd =
31680 # 1624 "parser_cocci_menhir.mly"
31681 ( "expression" )
31682 # 31683 "parser_cocci_menhir.ml"
31683 in
31684 _menhir_env.MenhirLib.EngineTypes.stack <- {
31685 MenhirLib.EngineTypes.state = _menhir_s;
31686 MenhirLib.EngineTypes.semv = Obj.repr _v;
31687 MenhirLib.EngineTypes.startp = _startpos;
31688 MenhirLib.EngineTypes.endp = _endpos;
31689 MenhirLib.EngineTypes.next = _menhir_stack;
31690 });
31691 (fun _menhir_env ->
31692 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31693 let {
31694 MenhirLib.EngineTypes.state = _menhir_s;
31695 MenhirLib.EngineTypes.startp = _startpos__1_;
31696 MenhirLib.EngineTypes.endp = _endpos__1_;
31697 MenhirLib.EngineTypes.next = _menhir_stack;
31698 } = _menhir_stack in
31699 let _startpos = _startpos__1_ in
31700 let _endpos = _endpos__1_ in
31701 let _v : 'tv_pure_ident_kwd =
31702 # 1625 "parser_cocci_menhir.mly"
31703 ( "statement" )
31704 # 31705 "parser_cocci_menhir.ml"
31705 in
31706 _menhir_env.MenhirLib.EngineTypes.stack <- {
31707 MenhirLib.EngineTypes.state = _menhir_s;
31708 MenhirLib.EngineTypes.semv = Obj.repr _v;
31709 MenhirLib.EngineTypes.startp = _startpos;
31710 MenhirLib.EngineTypes.endp = _endpos;
31711 MenhirLib.EngineTypes.next = _menhir_stack;
31712 });
31713 (fun _menhir_env ->
31714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31715 let {
31716 MenhirLib.EngineTypes.state = _menhir_s;
31717 MenhirLib.EngineTypes.startp = _startpos__1_;
31718 MenhirLib.EngineTypes.endp = _endpos__1_;
31719 MenhirLib.EngineTypes.next = _menhir_stack;
31720 } = _menhir_stack in
31721 let _startpos = _startpos__1_ in
31722 let _endpos = _endpos__1_ in
31723 let _v : 'tv_pure_ident_kwd =
31724 # 1626 "parser_cocci_menhir.mly"
31725 ( "function" )
31726 # 31727 "parser_cocci_menhir.ml"
31727 in
31728 _menhir_env.MenhirLib.EngineTypes.stack <- {
31729 MenhirLib.EngineTypes.state = _menhir_s;
31730 MenhirLib.EngineTypes.semv = Obj.repr _v;
31731 MenhirLib.EngineTypes.startp = _startpos;
31732 MenhirLib.EngineTypes.endp = _endpos;
31733 MenhirLib.EngineTypes.next = _menhir_stack;
31734 });
31735 (fun _menhir_env ->
31736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31737 let {
31738 MenhirLib.EngineTypes.state = _menhir_s;
31739 MenhirLib.EngineTypes.startp = _startpos__1_;
31740 MenhirLib.EngineTypes.endp = _endpos__1_;
31741 MenhirLib.EngineTypes.next = _menhir_stack;
31742 } = _menhir_stack in
31743 let _startpos = _startpos__1_ in
31744 let _endpos = _endpos__1_ in
31745 let _v : 'tv_pure_ident_kwd =
31746 # 1627 "parser_cocci_menhir.mly"
31747 ( "local" )
31748 # 31749 "parser_cocci_menhir.ml"
31749 in
31750 _menhir_env.MenhirLib.EngineTypes.stack <- {
31751 MenhirLib.EngineTypes.state = _menhir_s;
31752 MenhirLib.EngineTypes.semv = Obj.repr _v;
31753 MenhirLib.EngineTypes.startp = _startpos;
31754 MenhirLib.EngineTypes.endp = _endpos;
31755 MenhirLib.EngineTypes.next = _menhir_stack;
31756 });
31757 (fun _menhir_env ->
31758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31759 let {
31760 MenhirLib.EngineTypes.state = _menhir_s;
31761 MenhirLib.EngineTypes.startp = _startpos__1_;
31762 MenhirLib.EngineTypes.endp = _endpos__1_;
31763 MenhirLib.EngineTypes.next = _menhir_stack;
31764 } = _menhir_stack in
31765 let _startpos = _startpos__1_ in
31766 let _endpos = _endpos__1_ in
31767 let _v : 'tv_pure_ident_kwd =
31768 # 1628 "parser_cocci_menhir.mly"
31769 ( "type" )
31770 # 31771 "parser_cocci_menhir.ml"
31771 in
31772 _menhir_env.MenhirLib.EngineTypes.stack <- {
31773 MenhirLib.EngineTypes.state = _menhir_s;
31774 MenhirLib.EngineTypes.semv = Obj.repr _v;
31775 MenhirLib.EngineTypes.startp = _startpos;
31776 MenhirLib.EngineTypes.endp = _endpos;
31777 MenhirLib.EngineTypes.next = _menhir_stack;
31778 });
31779 (fun _menhir_env ->
31780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31781 let {
31782 MenhirLib.EngineTypes.state = _menhir_s;
31783 MenhirLib.EngineTypes.startp = _startpos__1_;
31784 MenhirLib.EngineTypes.endp = _endpos__1_;
31785 MenhirLib.EngineTypes.next = _menhir_stack;
31786 } = _menhir_stack in
31787 let _startpos = _startpos__1_ in
31788 let _endpos = _endpos__1_ in
31789 let _v : 'tv_pure_ident_kwd =
31790 # 1629 "parser_cocci_menhir.mly"
31791 ( "parameter" )
31792 # 31793 "parser_cocci_menhir.ml"
31793 in
31794 _menhir_env.MenhirLib.EngineTypes.stack <- {
31795 MenhirLib.EngineTypes.state = _menhir_s;
31796 MenhirLib.EngineTypes.semv = Obj.repr _v;
31797 MenhirLib.EngineTypes.startp = _startpos;
31798 MenhirLib.EngineTypes.endp = _endpos;
31799 MenhirLib.EngineTypes.next = _menhir_stack;
31800 });
31801 (fun _menhir_env ->
31802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31803 let {
31804 MenhirLib.EngineTypes.state = _menhir_s;
31805 MenhirLib.EngineTypes.startp = _startpos__1_;
31806 MenhirLib.EngineTypes.endp = _endpos__1_;
31807 MenhirLib.EngineTypes.next = _menhir_stack;
31808 } = _menhir_stack in
31809 let _startpos = _startpos__1_ in
31810 let _endpos = _endpos__1_ in
31811 let _v : 'tv_pure_ident_kwd =
31812 # 1630 "parser_cocci_menhir.mly"
31813 ( "idexpression" )
31814 # 31815 "parser_cocci_menhir.ml"
31815 in
31816 _menhir_env.MenhirLib.EngineTypes.stack <- {
31817 MenhirLib.EngineTypes.state = _menhir_s;
31818 MenhirLib.EngineTypes.semv = Obj.repr _v;
31819 MenhirLib.EngineTypes.startp = _startpos;
31820 MenhirLib.EngineTypes.endp = _endpos;
31821 MenhirLib.EngineTypes.next = _menhir_stack;
31822 });
31823 (fun _menhir_env ->
31824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31825 let {
31826 MenhirLib.EngineTypes.state = _menhir_s;
31827 MenhirLib.EngineTypes.startp = _startpos__1_;
31828 MenhirLib.EngineTypes.endp = _endpos__1_;
31829 MenhirLib.EngineTypes.next = _menhir_stack;
31830 } = _menhir_stack in
31831 let _startpos = _startpos__1_ in
31832 let _endpos = _endpos__1_ in
31833 let _v : 'tv_pure_ident_kwd =
31834 # 1631 "parser_cocci_menhir.mly"
31835 ( "initialiser" )
31836 # 31837 "parser_cocci_menhir.ml"
31837 in
31838 _menhir_env.MenhirLib.EngineTypes.stack <- {
31839 MenhirLib.EngineTypes.state = _menhir_s;
31840 MenhirLib.EngineTypes.semv = Obj.repr _v;
31841 MenhirLib.EngineTypes.startp = _startpos;
31842 MenhirLib.EngineTypes.endp = _endpos;
31843 MenhirLib.EngineTypes.next = _menhir_stack;
31844 });
31845 (fun _menhir_env ->
31846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31847 let {
31848 MenhirLib.EngineTypes.state = _menhir_s;
31849 MenhirLib.EngineTypes.startp = _startpos__1_;
31850 MenhirLib.EngineTypes.endp = _endpos__1_;
31851 MenhirLib.EngineTypes.next = _menhir_stack;
31852 } = _menhir_stack in
31853 let _startpos = _startpos__1_ in
31854 let _endpos = _endpos__1_ in
31855 let _v : 'tv_pure_ident_kwd =
31856 # 1632 "parser_cocci_menhir.mly"
31857 ( "list" )
31858 # 31859 "parser_cocci_menhir.ml"
31859 in
31860 _menhir_env.MenhirLib.EngineTypes.stack <- {
31861 MenhirLib.EngineTypes.state = _menhir_s;
31862 MenhirLib.EngineTypes.semv = Obj.repr _v;
31863 MenhirLib.EngineTypes.startp = _startpos;
31864 MenhirLib.EngineTypes.endp = _endpos;
31865 MenhirLib.EngineTypes.next = _menhir_stack;
31866 });
31867 (fun _menhir_env ->
31868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31869 let {
31870 MenhirLib.EngineTypes.state = _menhir_s;
31871 MenhirLib.EngineTypes.startp = _startpos__1_;
31872 MenhirLib.EngineTypes.endp = _endpos__1_;
31873 MenhirLib.EngineTypes.next = _menhir_stack;
31874 } = _menhir_stack in
31875 let _startpos = _startpos__1_ in
31876 let _endpos = _endpos__1_ in
31877 let _v : 'tv_pure_ident_kwd =
31878 # 1633 "parser_cocci_menhir.mly"
31879 ( "fresh" )
31880 # 31881 "parser_cocci_menhir.ml"
31881 in
31882 _menhir_env.MenhirLib.EngineTypes.stack <- {
31883 MenhirLib.EngineTypes.state = _menhir_s;
31884 MenhirLib.EngineTypes.semv = Obj.repr _v;
31885 MenhirLib.EngineTypes.startp = _startpos;
31886 MenhirLib.EngineTypes.endp = _endpos;
31887 MenhirLib.EngineTypes.next = _menhir_stack;
31888 });
31889 (fun _menhir_env ->
31890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31891 let {
31892 MenhirLib.EngineTypes.state = _menhir_s;
31893 MenhirLib.EngineTypes.startp = _startpos__1_;
31894 MenhirLib.EngineTypes.endp = _endpos__1_;
31895 MenhirLib.EngineTypes.next = _menhir_stack;
31896 } = _menhir_stack in
31897 let _startpos = _startpos__1_ in
31898 let _endpos = _endpos__1_ in
31899 let _v : 'tv_pure_ident_kwd =
31900 # 1634 "parser_cocci_menhir.mly"
31901 ( "constant" )
31902 # 31903 "parser_cocci_menhir.ml"
31903 in
31904 _menhir_env.MenhirLib.EngineTypes.stack <- {
31905 MenhirLib.EngineTypes.state = _menhir_s;
31906 MenhirLib.EngineTypes.semv = Obj.repr _v;
31907 MenhirLib.EngineTypes.startp = _startpos;
31908 MenhirLib.EngineTypes.endp = _endpos;
31909 MenhirLib.EngineTypes.next = _menhir_stack;
31910 });
31911 (fun _menhir_env ->
31912 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31913 let {
31914 MenhirLib.EngineTypes.state = _menhir_s;
31915 MenhirLib.EngineTypes.startp = _startpos__1_;
31916 MenhirLib.EngineTypes.endp = _endpos__1_;
31917 MenhirLib.EngineTypes.next = _menhir_stack;
31918 } = _menhir_stack in
31919 let _startpos = _startpos__1_ in
31920 let _endpos = _endpos__1_ in
31921 let _v : 'tv_pure_ident_kwd =
31922 # 1635 "parser_cocci_menhir.mly"
31923 ( "error" )
31924 # 31925 "parser_cocci_menhir.ml"
31925 in
31926 _menhir_env.MenhirLib.EngineTypes.stack <- {
31927 MenhirLib.EngineTypes.state = _menhir_s;
31928 MenhirLib.EngineTypes.semv = Obj.repr _v;
31929 MenhirLib.EngineTypes.startp = _startpos;
31930 MenhirLib.EngineTypes.endp = _endpos;
31931 MenhirLib.EngineTypes.next = _menhir_stack;
31932 });
31933 (fun _menhir_env ->
31934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31935 let {
31936 MenhirLib.EngineTypes.state = _menhir_s;
31937 MenhirLib.EngineTypes.startp = _startpos__1_;
31938 MenhirLib.EngineTypes.endp = _endpos__1_;
31939 MenhirLib.EngineTypes.next = _menhir_stack;
31940 } = _menhir_stack in
31941 let _startpos = _startpos__1_ in
31942 let _endpos = _endpos__1_ in
31943 let _v : 'tv_pure_ident_kwd =
31944 # 1636 "parser_cocci_menhir.mly"
31945 ( "words" )
31946 # 31947 "parser_cocci_menhir.ml"
31947 in
31948 _menhir_env.MenhirLib.EngineTypes.stack <- {
31949 MenhirLib.EngineTypes.state = _menhir_s;
31950 MenhirLib.EngineTypes.semv = Obj.repr _v;
31951 MenhirLib.EngineTypes.startp = _startpos;
31952 MenhirLib.EngineTypes.endp = _endpos;
31953 MenhirLib.EngineTypes.next = _menhir_stack;
31954 });
31955 (fun _menhir_env ->
31956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31957 let {
31958 MenhirLib.EngineTypes.state = _menhir_s;
31959 MenhirLib.EngineTypes.startp = _startpos__1_;
31960 MenhirLib.EngineTypes.endp = _endpos__1_;
31961 MenhirLib.EngineTypes.next = _menhir_stack;
31962 } = _menhir_stack in
31963 let _startpos = _startpos__1_ in
31964 let _endpos = _endpos__1_ in
31965 let _v : 'tv_pure_ident_kwd =
31966 # 1637 "parser_cocci_menhir.mly"
31967 ( "pure" )
31968 # 31969 "parser_cocci_menhir.ml"
31969 in
31970 _menhir_env.MenhirLib.EngineTypes.stack <- {
31971 MenhirLib.EngineTypes.state = _menhir_s;
31972 MenhirLib.EngineTypes.semv = Obj.repr _v;
31973 MenhirLib.EngineTypes.startp = _startpos;
31974 MenhirLib.EngineTypes.endp = _endpos;
31975 MenhirLib.EngineTypes.next = _menhir_stack;
31976 });
31977 (fun _menhir_env ->
31978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31979 let {
31980 MenhirLib.EngineTypes.state = _menhir_s;
31981 MenhirLib.EngineTypes.startp = _startpos__1_;
31982 MenhirLib.EngineTypes.endp = _endpos__1_;
31983 MenhirLib.EngineTypes.next = _menhir_stack;
31984 } = _menhir_stack in
31985 let _startpos = _startpos__1_ in
31986 let _endpos = _endpos__1_ in
31987 let _v : 'tv_pure_ident_kwd =
31988 # 1638 "parser_cocci_menhir.mly"
31989 ( "context" )
31990 # 31991 "parser_cocci_menhir.ml"
31991 in
31992 _menhir_env.MenhirLib.EngineTypes.stack <- {
31993 MenhirLib.EngineTypes.state = _menhir_s;
31994 MenhirLib.EngineTypes.semv = Obj.repr _v;
31995 MenhirLib.EngineTypes.startp = _startpos;
31996 MenhirLib.EngineTypes.endp = _endpos;
31997 MenhirLib.EngineTypes.next = _menhir_stack;
31998 });
31999 (fun _menhir_env ->
32000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32001 let {
32002 MenhirLib.EngineTypes.state = _menhir_s;
32003 MenhirLib.EngineTypes.startp = _startpos__1_;
32004 MenhirLib.EngineTypes.endp = _endpos__1_;
32005 MenhirLib.EngineTypes.next = _menhir_stack;
32006 } = _menhir_stack in
32007 let _startpos = _startpos__1_ in
32008 let _endpos = _endpos__1_ in
32009 let _v : 'tv_pure_ident_kwd =
32010 # 1639 "parser_cocci_menhir.mly"
32011 ( "generated" )
32012 # 32013 "parser_cocci_menhir.ml"
32013 in
32014 _menhir_env.MenhirLib.EngineTypes.stack <- {
32015 MenhirLib.EngineTypes.state = _menhir_s;
32016 MenhirLib.EngineTypes.semv = Obj.repr _v;
32017 MenhirLib.EngineTypes.startp = _startpos;
32018 MenhirLib.EngineTypes.endp = _endpos;
32019 MenhirLib.EngineTypes.next = _menhir_stack;
32020 });
32021 (fun _menhir_env ->
32022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32023 let {
32024 MenhirLib.EngineTypes.state = _menhir_s;
32025 MenhirLib.EngineTypes.startp = _startpos__1_;
32026 MenhirLib.EngineTypes.endp = _endpos__1_;
32027 MenhirLib.EngineTypes.next = _menhir_stack;
32028 } = _menhir_stack in
32029 let _startpos = _startpos__1_ in
32030 let _endpos = _endpos__1_ in
32031 let _v : 'tv_pure_ident_kwd =
32032 # 1640 "parser_cocci_menhir.mly"
32033 ( "typedef" )
32034 # 32035 "parser_cocci_menhir.ml"
32035 in
32036 _menhir_env.MenhirLib.EngineTypes.stack <- {
32037 MenhirLib.EngineTypes.state = _menhir_s;
32038 MenhirLib.EngineTypes.semv = Obj.repr _v;
32039 MenhirLib.EngineTypes.startp = _startpos;
32040 MenhirLib.EngineTypes.endp = _endpos;
32041 MenhirLib.EngineTypes.next = _menhir_stack;
32042 });
32043 (fun _menhir_env ->
32044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32045 let {
32046 MenhirLib.EngineTypes.state = _menhir_s;
32047 MenhirLib.EngineTypes.startp = _startpos__1_;
32048 MenhirLib.EngineTypes.endp = _endpos__1_;
32049 MenhirLib.EngineTypes.next = _menhir_stack;
32050 } = _menhir_stack in
32051 let _startpos = _startpos__1_ in
32052 let _endpos = _endpos__1_ in
32053 let _v : 'tv_pure_ident_kwd =
32054 # 1641 "parser_cocci_menhir.mly"
32055 ( "declarer" )
32056 # 32057 "parser_cocci_menhir.ml"
32057 in
32058 _menhir_env.MenhirLib.EngineTypes.stack <- {
32059 MenhirLib.EngineTypes.state = _menhir_s;
32060 MenhirLib.EngineTypes.semv = Obj.repr _v;
32061 MenhirLib.EngineTypes.startp = _startpos;
32062 MenhirLib.EngineTypes.endp = _endpos;
32063 MenhirLib.EngineTypes.next = _menhir_stack;
32064 });
32065 (fun _menhir_env ->
32066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32067 let {
32068 MenhirLib.EngineTypes.state = _menhir_s;
32069 MenhirLib.EngineTypes.startp = _startpos__1_;
32070 MenhirLib.EngineTypes.endp = _endpos__1_;
32071 MenhirLib.EngineTypes.next = _menhir_stack;
32072 } = _menhir_stack in
32073 let _startpos = _startpos__1_ in
32074 let _endpos = _endpos__1_ in
32075 let _v : 'tv_pure_ident_kwd =
32076 # 1642 "parser_cocci_menhir.mly"
32077 ( "iterator" )
32078 # 32079 "parser_cocci_menhir.ml"
32079 in
32080 _menhir_env.MenhirLib.EngineTypes.stack <- {
32081 MenhirLib.EngineTypes.state = _menhir_s;
32082 MenhirLib.EngineTypes.semv = Obj.repr _v;
32083 MenhirLib.EngineTypes.startp = _startpos;
32084 MenhirLib.EngineTypes.endp = _endpos;
32085 MenhirLib.EngineTypes.next = _menhir_stack;
32086 });
32087 (fun _menhir_env ->
32088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32089 let {
32090 MenhirLib.EngineTypes.state = _menhir_s;
32091 MenhirLib.EngineTypes.startp = _startpos__1_;
32092 MenhirLib.EngineTypes.endp = _endpos__1_;
32093 MenhirLib.EngineTypes.next = _menhir_stack;
32094 } = _menhir_stack in
32095 let _startpos = _startpos__1_ in
32096 let _endpos = _endpos__1_ in
32097 let _v : 'tv_pure_ident_kwd =
32098 # 1643 "parser_cocci_menhir.mly"
32099 ( "name" )
32100 # 32101 "parser_cocci_menhir.ml"
32101 in
32102 _menhir_env.MenhirLib.EngineTypes.stack <- {
32103 MenhirLib.EngineTypes.state = _menhir_s;
32104 MenhirLib.EngineTypes.semv = Obj.repr _v;
32105 MenhirLib.EngineTypes.startp = _startpos;
32106 MenhirLib.EngineTypes.endp = _endpos;
32107 MenhirLib.EngineTypes.next = _menhir_stack;
32108 });
32109 (fun _menhir_env ->
32110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32111 let {
32112 MenhirLib.EngineTypes.state = _menhir_s;
32113 MenhirLib.EngineTypes.startp = _startpos__1_;
32114 MenhirLib.EngineTypes.endp = _endpos__1_;
32115 MenhirLib.EngineTypes.next = _menhir_stack;
32116 } = _menhir_stack in
32117 let _startpos = _startpos__1_ in
32118 let _endpos = _endpos__1_ in
32119 let _v : 'tv_pure_ident_kwd =
32120 # 1644 "parser_cocci_menhir.mly"
32121 ( "position" )
32122 # 32123 "parser_cocci_menhir.ml"
32123 in
32124 _menhir_env.MenhirLib.EngineTypes.stack <- {
32125 MenhirLib.EngineTypes.state = _menhir_s;
32126 MenhirLib.EngineTypes.semv = Obj.repr _v;
32127 MenhirLib.EngineTypes.startp = _startpos;
32128 MenhirLib.EngineTypes.endp = _endpos;
32129 MenhirLib.EngineTypes.next = _menhir_stack;
32130 });
32131 (fun _menhir_env ->
32132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32133 let {
32134 MenhirLib.EngineTypes.state = _menhir_s;
32135 MenhirLib.EngineTypes.semv = _1;
32136 MenhirLib.EngineTypes.startp = _startpos__1_;
32137 MenhirLib.EngineTypes.endp = _endpos__1_;
32138 MenhirLib.EngineTypes.next = _menhir_stack;
32139 } = _menhir_stack in
32140 let _1 : 'tv_pure_ident = Obj.magic _1 in
32141 let _startpos = _startpos__1_ in
32142 let _endpos = _endpos__1_ in
32143 let _v : 'tv_pure_ident_or_meta_ident =
32144 # 1651 "parser_cocci_menhir.mly"
32145 ( (None,P.id2name _1) )
32146 # 32147 "parser_cocci_menhir.ml"
32147 in
32148 _menhir_env.MenhirLib.EngineTypes.stack <- {
32149 MenhirLib.EngineTypes.state = _menhir_s;
32150 MenhirLib.EngineTypes.semv = Obj.repr _v;
32151 MenhirLib.EngineTypes.startp = _startpos;
32152 MenhirLib.EngineTypes.endp = _endpos;
32153 MenhirLib.EngineTypes.next = _menhir_stack;
32154 });
32155 (fun _menhir_env ->
32156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32157 let {
32158 MenhirLib.EngineTypes.state = _menhir_s;
32159 MenhirLib.EngineTypes.semv = _1;
32160 MenhirLib.EngineTypes.startp = _startpos__1_;
32161 MenhirLib.EngineTypes.endp = _endpos__1_;
32162 MenhirLib.EngineTypes.next = _menhir_stack;
32163 } = _menhir_stack in
32164 let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
32165 let _startpos = _startpos__1_ in
32166 let _endpos = _endpos__1_ in
32167 let _v : 'tv_pure_ident_or_meta_ident =
32168 # 1652 "parser_cocci_menhir.mly"
32169 ( (None,_1) )
32170 # 32171 "parser_cocci_menhir.ml"
32171 in
32172 _menhir_env.MenhirLib.EngineTypes.stack <- {
32173 MenhirLib.EngineTypes.state = _menhir_s;
32174 MenhirLib.EngineTypes.semv = Obj.repr _v;
32175 MenhirLib.EngineTypes.startp = _startpos;
32176 MenhirLib.EngineTypes.endp = _endpos;
32177 MenhirLib.EngineTypes.next = _menhir_stack;
32178 });
32179 (fun _menhir_env ->
32180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32181 let {
32182 MenhirLib.EngineTypes.state = _menhir_s;
32183 MenhirLib.EngineTypes.semv = _1;
32184 MenhirLib.EngineTypes.startp = _startpos__1_;
32185 MenhirLib.EngineTypes.endp = _endpos__1_;
32186 MenhirLib.EngineTypes.next = _menhir_stack;
32187 } = _menhir_stack in
32188 let _1 : 'tv_meta_ident = Obj.magic _1 in
32189 let _startpos = _startpos__1_ in
32190 let _endpos = _endpos__1_ in
32191 let _v : 'tv_pure_ident_or_meta_ident =
32192 # 1653 "parser_cocci_menhir.mly"
32193 ( _1 )
32194 # 32195 "parser_cocci_menhir.ml"
32195 in
32196 _menhir_env.MenhirLib.EngineTypes.stack <- {
32197 MenhirLib.EngineTypes.state = _menhir_s;
32198 MenhirLib.EngineTypes.semv = Obj.repr _v;
32199 MenhirLib.EngineTypes.startp = _startpos;
32200 MenhirLib.EngineTypes.endp = _endpos;
32201 MenhirLib.EngineTypes.next = _menhir_stack;
32202 });
32203 (fun _menhir_env ->
32204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32205 let {
32206 MenhirLib.EngineTypes.semv = optc;
32207 MenhirLib.EngineTypes.startp = _startpos_optc_;
32208 MenhirLib.EngineTypes.endp = _endpos_optc_;
32209 MenhirLib.EngineTypes.next = {
32210 MenhirLib.EngineTypes.state = _menhir_s;
32211 MenhirLib.EngineTypes.semv = i;
32212 MenhirLib.EngineTypes.startp = _startpos_i_;
32213 MenhirLib.EngineTypes.endp = _endpos_i_;
32214 MenhirLib.EngineTypes.next = _menhir_stack;
32215 };
32216 } = _menhir_stack in
32217 let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
32218 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
32219 let _startpos = _startpos_i_ in
32220 let _endpos = _endpos_optc_ in
32221 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
32222 # 1680 "parser_cocci_menhir.mly"
32223 (
32224 match optc with
32225 None -> (i, Ast0.NoConstraint)
32226 | Some c -> (i, c)
32227 )
32228 # 32229 "parser_cocci_menhir.ml"
32229 in
32230 _menhir_env.MenhirLib.EngineTypes.stack <- {
32231 MenhirLib.EngineTypes.state = _menhir_s;
32232 MenhirLib.EngineTypes.semv = Obj.repr _v;
32233 MenhirLib.EngineTypes.startp = _startpos;
32234 MenhirLib.EngineTypes.endp = _endpos;
32235 MenhirLib.EngineTypes.next = _menhir_stack;
32236 });
32237 (fun _menhir_env ->
32238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32239 let {
32240 MenhirLib.EngineTypes.semv = optc;
32241 MenhirLib.EngineTypes.startp = _startpos_optc_;
32242 MenhirLib.EngineTypes.endp = _endpos_optc_;
32243 MenhirLib.EngineTypes.next = {
32244 MenhirLib.EngineTypes.state = _menhir_s;
32245 MenhirLib.EngineTypes.semv = i;
32246 MenhirLib.EngineTypes.startp = _startpos_i_;
32247 MenhirLib.EngineTypes.endp = _endpos_i_;
32248 MenhirLib.EngineTypes.next = _menhir_stack;
32249 };
32250 } = _menhir_stack in
32251 let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
32252 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
32253 let _startpos = _startpos_i_ in
32254 let _endpos = _endpos_optc_ in
32255 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
32256 # 1680 "parser_cocci_menhir.mly"
32257 (
32258 match optc with
32259 None -> (i, Ast0.NoConstraint)
32260 | Some c -> (i, c)
32261 )
32262 # 32263 "parser_cocci_menhir.ml"
32263 in
32264 _menhir_env.MenhirLib.EngineTypes.stack <- {
32265 MenhirLib.EngineTypes.state = _menhir_s;
32266 MenhirLib.EngineTypes.semv = Obj.repr _v;
32267 MenhirLib.EngineTypes.startp = _startpos;
32268 MenhirLib.EngineTypes.endp = _endpos;
32269 MenhirLib.EngineTypes.next = _menhir_stack;
32270 });
32271 (fun _menhir_env ->
32272 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32273 let {
32274 MenhirLib.EngineTypes.semv = c;
32275 MenhirLib.EngineTypes.startp = _startpos_c_;
32276 MenhirLib.EngineTypes.endp = _endpos_c_;
32277 MenhirLib.EngineTypes.next = {
32278 MenhirLib.EngineTypes.state = _menhir_s;
32279 MenhirLib.EngineTypes.semv = i;
32280 MenhirLib.EngineTypes.startp = _startpos_i_;
32281 MenhirLib.EngineTypes.endp = _endpos_i_;
32282 MenhirLib.EngineTypes.next = _menhir_stack;
32283 };
32284 } = _menhir_stack in
32285 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
32286 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
32287 let _startpos = _startpos_i_ in
32288 let _endpos = _endpos_c_ in
32289 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
32290 # 1705 "parser_cocci_menhir.mly"
32291 (
32292 match c with
32293 None -> (i, Ast.IdNoConstraint)
32294 | Some constraint_ -> (i,constraint_)
32295 )
32296 # 32297 "parser_cocci_menhir.ml"
32297 in
32298 _menhir_env.MenhirLib.EngineTypes.stack <- {
32299 MenhirLib.EngineTypes.state = _menhir_s;
32300 MenhirLib.EngineTypes.semv = Obj.repr _v;
32301 MenhirLib.EngineTypes.startp = _startpos;
32302 MenhirLib.EngineTypes.endp = _endpos;
32303 MenhirLib.EngineTypes.next = _menhir_stack;
32304 });
32305 (fun _menhir_env ->
32306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32307 let {
32308 MenhirLib.EngineTypes.semv = c;
32309 MenhirLib.EngineTypes.startp = _startpos_c_;
32310 MenhirLib.EngineTypes.endp = _endpos_c_;
32311 MenhirLib.EngineTypes.next = {
32312 MenhirLib.EngineTypes.state = _menhir_s;
32313 MenhirLib.EngineTypes.semv = i;
32314 MenhirLib.EngineTypes.startp = _startpos_i_;
32315 MenhirLib.EngineTypes.endp = _endpos_i_;
32316 MenhirLib.EngineTypes.next = _menhir_stack;
32317 };
32318 } = _menhir_stack in
32319 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
32320 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
32321 let _startpos = _startpos_i_ in
32322 let _endpos = _endpos_c_ in
32323 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
32324 # 1688 "parser_cocci_menhir.mly"
32325 (
32326 Common.Left
32327 (match c with
32328 None -> (i, Ast.IdNoConstraint)
32329 | Some constraint_ -> (i,constraint_))
32330 )
32331 # 32332 "parser_cocci_menhir.ml"
32332 in
32333 _menhir_env.MenhirLib.EngineTypes.stack <- {
32334 MenhirLib.EngineTypes.state = _menhir_s;
32335 MenhirLib.EngineTypes.semv = Obj.repr _v;
32336 MenhirLib.EngineTypes.startp = _startpos;
32337 MenhirLib.EngineTypes.endp = _endpos;
32338 MenhirLib.EngineTypes.next = _menhir_stack;
32339 });
32340 (fun _menhir_env ->
32341 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32342 let {
32343 MenhirLib.EngineTypes.semv = _3;
32344 MenhirLib.EngineTypes.startp = _startpos__3_;
32345 MenhirLib.EngineTypes.endp = _endpos__3_;
32346 MenhirLib.EngineTypes.next = {
32347 MenhirLib.EngineTypes.startp = _startpos__2_;
32348 MenhirLib.EngineTypes.endp = _endpos__2_;
32349 MenhirLib.EngineTypes.next = {
32350 MenhirLib.EngineTypes.state = _menhir_s;
32351 MenhirLib.EngineTypes.startp = _startpos__1_;
32352 MenhirLib.EngineTypes.endp = _endpos__1_;
32353 MenhirLib.EngineTypes.next = _menhir_stack;
32354 };
32355 };
32356 } = _menhir_stack in
32357 let _3 : 'tv_pure_ident = Obj.magic _3 in
32358 let _startpos = _startpos__1_ in
32359 let _endpos = _endpos__3_ in
32360 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
32361 # 1695 "parser_cocci_menhir.mly"
32362 (
32363 let nm = P.id2name _3 in
32364 Iteration.parsed_virtual_identifiers :=
32365 Common.union_set [nm]
32366 !Iteration.parsed_virtual_identifiers;
32367 Common.Right nm
32368 )
32369 # 32370 "parser_cocci_menhir.ml"
32370 in
32371 _menhir_env.MenhirLib.EngineTypes.stack <- {
32372 MenhirLib.EngineTypes.state = _menhir_s;
32373 MenhirLib.EngineTypes.semv = Obj.repr _v;
32374 MenhirLib.EngineTypes.startp = _startpos;
32375 MenhirLib.EngineTypes.endp = _endpos;
32376 MenhirLib.EngineTypes.next = _menhir_stack;
32377 });
32378 (fun _menhir_env ->
32379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32380 let {
32381 MenhirLib.EngineTypes.state = _menhir_s;
32382 MenhirLib.EngineTypes.semv = _1;
32383 MenhirLib.EngineTypes.startp = _startpos__1_;
32384 MenhirLib.EngineTypes.endp = _endpos__1_;
32385 MenhirLib.EngineTypes.next = _menhir_stack;
32386 } = _menhir_stack in
32387 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
32388 let _startpos = _startpos__1_ in
32389 let _endpos = _endpos__1_ in
32390 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
32391 # 1656 "parser_cocci_menhir.mly"
32392 ( (_1,Ast.NoVal) )
32393 # 32394 "parser_cocci_menhir.ml"
32394 in
32395 _menhir_env.MenhirLib.EngineTypes.stack <- {
32396 MenhirLib.EngineTypes.state = _menhir_s;
32397 MenhirLib.EngineTypes.semv = Obj.repr _v;
32398 MenhirLib.EngineTypes.startp = _startpos;
32399 MenhirLib.EngineTypes.endp = _endpos;
32400 MenhirLib.EngineTypes.next = _menhir_stack;
32401 });
32402 (fun _menhir_env ->
32403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32404 let {
32405 MenhirLib.EngineTypes.semv = _3;
32406 MenhirLib.EngineTypes.startp = _startpos__3_;
32407 MenhirLib.EngineTypes.endp = _endpos__3_;
32408 MenhirLib.EngineTypes.next = {
32409 MenhirLib.EngineTypes.startp = _startpos__2_;
32410 MenhirLib.EngineTypes.endp = _endpos__2_;
32411 MenhirLib.EngineTypes.next = {
32412 MenhirLib.EngineTypes.state = _menhir_s;
32413 MenhirLib.EngineTypes.semv = _1;
32414 MenhirLib.EngineTypes.startp = _startpos__1_;
32415 MenhirLib.EngineTypes.endp = _endpos__1_;
32416 MenhirLib.EngineTypes.next = _menhir_stack;
32417 };
32418 };
32419 } = _menhir_stack in
32420 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
32421 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
32422 let _startpos = _startpos__1_ in
32423 let _endpos = _endpos__3_ in
32424 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
32425 # 1659 "parser_cocci_menhir.mly"
32426 ( match _3 with
32427 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
32428 | _ -> (_1,Ast.ListSeed _3) )
32429 # 32430 "parser_cocci_menhir.ml"
32430 in
32431 _menhir_env.MenhirLib.EngineTypes.stack <- {
32432 MenhirLib.EngineTypes.state = _menhir_s;
32433 MenhirLib.EngineTypes.semv = Obj.repr _v;
32434 MenhirLib.EngineTypes.startp = _startpos;
32435 MenhirLib.EngineTypes.endp = _endpos;
32436 MenhirLib.EngineTypes.next = _menhir_stack;
32437 });
32438 (fun _menhir_env ->
32439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32440 let {
32441 MenhirLib.EngineTypes.semv = l;
32442 MenhirLib.EngineTypes.startp = _startpos_l_;
32443 MenhirLib.EngineTypes.endp = _endpos_l_;
32444 MenhirLib.EngineTypes.next = {
32445 MenhirLib.EngineTypes.state = _menhir_s;
32446 MenhirLib.EngineTypes.semv = i;
32447 MenhirLib.EngineTypes.startp = _startpos_i_;
32448 MenhirLib.EngineTypes.endp = _endpos_i_;
32449 MenhirLib.EngineTypes.next = _menhir_stack;
32450 };
32451 } = _menhir_stack in
32452 let l : 'tv_loption_not_pos_ = Obj.magic l in
32453 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
32454 let _startpos = _startpos_i_ in
32455 let _endpos = _endpos_l_ in
32456 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
32457 # 1674 "parser_cocci_menhir.mly"
32458 (
32459 (i, l)
32460 )
32461 # 32462 "parser_cocci_menhir.ml"
32462 in
32463 _menhir_env.MenhirLib.EngineTypes.stack <- {
32464 MenhirLib.EngineTypes.state = _menhir_s;
32465 MenhirLib.EngineTypes.semv = Obj.repr _v;
32466 MenhirLib.EngineTypes.startp = _startpos;
32467 MenhirLib.EngineTypes.endp = _endpos;
32468 MenhirLib.EngineTypes.next = _menhir_stack;
32469 });
32470 (fun _menhir_env ->
32471 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32472 let {
32473 MenhirLib.EngineTypes.state = _menhir_s;
32474 MenhirLib.EngineTypes.semv = re;
32475 MenhirLib.EngineTypes.startp = _startpos_re_;
32476 MenhirLib.EngineTypes.endp = _endpos_re_;
32477 MenhirLib.EngineTypes.next = _menhir_stack;
32478 } = _menhir_stack in
32479 let re : 'tv_regexp_eqid = Obj.magic re in
32480 let _startpos = _startpos_re_ in
32481 let _endpos = _endpos_re_ in
32482 let _v : 'tv_re_or_not_eqe_or_sub =
32483 # 1766 "parser_cocci_menhir.mly"
32484 (Ast0.NotIdCstrt re)
32485 # 32486 "parser_cocci_menhir.ml"
32486 in
32487 _menhir_env.MenhirLib.EngineTypes.stack <- {
32488 MenhirLib.EngineTypes.state = _menhir_s;
32489 MenhirLib.EngineTypes.semv = Obj.repr _v;
32490 MenhirLib.EngineTypes.startp = _startpos;
32491 MenhirLib.EngineTypes.endp = _endpos;
32492 MenhirLib.EngineTypes.next = _menhir_stack;
32493 });
32494 (fun _menhir_env ->
32495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32496 let {
32497 MenhirLib.EngineTypes.state = _menhir_s;
32498 MenhirLib.EngineTypes.semv = ne;
32499 MenhirLib.EngineTypes.startp = _startpos_ne_;
32500 MenhirLib.EngineTypes.endp = _endpos_ne_;
32501 MenhirLib.EngineTypes.next = _menhir_stack;
32502 } = _menhir_stack in
32503 let ne : 'tv_not_eqe = Obj.magic ne in
32504 let _startpos = _startpos_ne_ in
32505 let _endpos = _endpos_ne_ in
32506 let _v : 'tv_re_or_not_eqe_or_sub =
32507 # 1767 "parser_cocci_menhir.mly"
32508 (Ast0.NotExpCstrt ne)
32509 # 32510 "parser_cocci_menhir.ml"
32510 in
32511 _menhir_env.MenhirLib.EngineTypes.stack <- {
32512 MenhirLib.EngineTypes.state = _menhir_s;
32513 MenhirLib.EngineTypes.semv = Obj.repr _v;
32514 MenhirLib.EngineTypes.startp = _startpos;
32515 MenhirLib.EngineTypes.endp = _endpos;
32516 MenhirLib.EngineTypes.next = _menhir_stack;
32517 });
32518 (fun _menhir_env ->
32519 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32520 let {
32521 MenhirLib.EngineTypes.state = _menhir_s;
32522 MenhirLib.EngineTypes.semv = s;
32523 MenhirLib.EngineTypes.startp = _startpos_s_;
32524 MenhirLib.EngineTypes.endp = _endpos_s_;
32525 MenhirLib.EngineTypes.next = _menhir_stack;
32526 } = _menhir_stack in
32527 let s : 'tv_sub = Obj.magic s in
32528 let _startpos = _startpos_s_ in
32529 let _endpos = _endpos_s_ in
32530 let _v : 'tv_re_or_not_eqe_or_sub =
32531 # 1768 "parser_cocci_menhir.mly"
32532 (Ast0.SubExpCstrt s)
32533 # 32534 "parser_cocci_menhir.ml"
32534 in
32535 _menhir_env.MenhirLib.EngineTypes.stack <- {
32536 MenhirLib.EngineTypes.state = _menhir_s;
32537 MenhirLib.EngineTypes.semv = Obj.repr _v;
32538 MenhirLib.EngineTypes.startp = _startpos;
32539 MenhirLib.EngineTypes.endp = _endpos;
32540 MenhirLib.EngineTypes.next = _menhir_stack;
32541 });
32542 (fun _menhir_env ->
32543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32544 let {
32545 MenhirLib.EngineTypes.state = _menhir_s;
32546 MenhirLib.EngineTypes.semv = re;
32547 MenhirLib.EngineTypes.startp = _startpos_re_;
32548 MenhirLib.EngineTypes.endp = _endpos_re_;
32549 MenhirLib.EngineTypes.next = _menhir_stack;
32550 } = _menhir_stack in
32551 let re : 'tv_regexp_eqid = Obj.magic re in
32552 let _startpos = _startpos_re_ in
32553 let _endpos = _endpos_re_ in
32554 let _v : 'tv_re_or_not_eqid =
32555 # 1712 "parser_cocci_menhir.mly"
32556 (Ast.IdRegExpConstraint re)
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.state = _menhir_s;
32570 MenhirLib.EngineTypes.semv = ne;
32571 MenhirLib.EngineTypes.startp = _startpos_ne_;
32572 MenhirLib.EngineTypes.endp = _endpos_ne_;
32573 MenhirLib.EngineTypes.next = _menhir_stack;
32574 } = _menhir_stack in
32575 let ne : 'tv_not_eqid = Obj.magic ne in
32576 let _startpos = _startpos_ne_ in
32577 let _endpos = _endpos_ne_ in
32578 let _v : 'tv_re_or_not_eqid =
32579 # 1713 "parser_cocci_menhir.mly"
32580 (ne)
32581 # 32582 "parser_cocci_menhir.ml"
32582 in
32583 _menhir_env.MenhirLib.EngineTypes.stack <- {
32584 MenhirLib.EngineTypes.state = _menhir_s;
32585 MenhirLib.EngineTypes.semv = Obj.repr _v;
32586 MenhirLib.EngineTypes.startp = _startpos;
32587 MenhirLib.EngineTypes.endp = _endpos;
32588 MenhirLib.EngineTypes.next = _menhir_stack;
32589 });
32590 (fun _menhir_env ->
32591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32592 let {
32593 MenhirLib.EngineTypes.semv = re;
32594 MenhirLib.EngineTypes.startp = _startpos_re_;
32595 MenhirLib.EngineTypes.endp = _endpos_re_;
32596 MenhirLib.EngineTypes.next = {
32597 MenhirLib.EngineTypes.state = _menhir_s;
32598 MenhirLib.EngineTypes.startp = _startpos__1_;
32599 MenhirLib.EngineTypes.endp = _endpos__1_;
32600 MenhirLib.EngineTypes.next = _menhir_stack;
32601 };
32602 } = _menhir_stack in
32603 let re : (
32604 # 155 "parser_cocci_menhir.mly"
32605 (string * Data.clt)
32606 # 32607 "parser_cocci_menhir.ml"
32607 ) = Obj.magic re in
32608 let _startpos = _startpos__1_ in
32609 let _endpos = _endpos_re_ in
32610 let _v : 'tv_regexp_eqid =
32611 # 1717 "parser_cocci_menhir.mly"
32612 ( (if !Data.in_iso
32613 then failwith "constraints not allowed in iso file");
32614 (if !Data.in_generating
32615 then failwith "constraints not allowed in a generated rule file");
32616 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
32617 )
32618 # 32619 "parser_cocci_menhir.ml"
32619 in
32620 _menhir_env.MenhirLib.EngineTypes.stack <- {
32621 MenhirLib.EngineTypes.state = _menhir_s;
32622 MenhirLib.EngineTypes.semv = Obj.repr _v;
32623 MenhirLib.EngineTypes.startp = _startpos;
32624 MenhirLib.EngineTypes.endp = _endpos;
32625 MenhirLib.EngineTypes.next = _menhir_stack;
32626 });
32627 (fun _menhir_env ->
32628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32629 let {
32630 MenhirLib.EngineTypes.semv = re;
32631 MenhirLib.EngineTypes.startp = _startpos_re_;
32632 MenhirLib.EngineTypes.endp = _endpos_re_;
32633 MenhirLib.EngineTypes.next = {
32634 MenhirLib.EngineTypes.state = _menhir_s;
32635 MenhirLib.EngineTypes.startp = _startpos__1_;
32636 MenhirLib.EngineTypes.endp = _endpos__1_;
32637 MenhirLib.EngineTypes.next = _menhir_stack;
32638 };
32639 } = _menhir_stack in
32640 let re : (
32641 # 155 "parser_cocci_menhir.mly"
32642 (string * Data.clt)
32643 # 32644 "parser_cocci_menhir.ml"
32644 ) = Obj.magic re in
32645 let _startpos = _startpos__1_ in
32646 let _endpos = _endpos_re_ in
32647 let _v : 'tv_regexp_eqid =
32648 # 1724 "parser_cocci_menhir.mly"
32649 ( (if !Data.in_iso
32650 then failwith "constraints not allowed in iso file");
32651 (if !Data.in_generating
32652 then failwith "constraints not allowed in a generated rule file");
32653 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
32654 )
32655 # 32656 "parser_cocci_menhir.ml"
32656 in
32657 _menhir_env.MenhirLib.EngineTypes.stack <- {
32658 MenhirLib.EngineTypes.state = _menhir_s;
32659 MenhirLib.EngineTypes.semv = Obj.repr _v;
32660 MenhirLib.EngineTypes.startp = _startpos;
32661 MenhirLib.EngineTypes.endp = _endpos;
32662 MenhirLib.EngineTypes.next = _menhir_stack;
32663 });
32664 (fun _menhir_env ->
32665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32666 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
32667 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
32668 let _endpos = _startpos in
32669 let _v : (
32670 # 201 "parser_cocci_menhir.mly"
32671 (unit)
32672 # 32673 "parser_cocci_menhir.ml"
32673 ) =
32674 # 242 "parser_cocci_menhir.mly"
32675 ( )
32676 # 32677 "parser_cocci_menhir.ml"
32677 in
32678 _menhir_env.MenhirLib.EngineTypes.stack <- {
32679 MenhirLib.EngineTypes.state = _menhir_s;
32680 MenhirLib.EngineTypes.semv = Obj.repr _v;
32681 MenhirLib.EngineTypes.startp = _startpos;
32682 MenhirLib.EngineTypes.endp = _endpos;
32683 MenhirLib.EngineTypes.next = _menhir_stack;
32684 });
32685 (fun _menhir_env ->
32686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32687 let {
32688 MenhirLib.EngineTypes.state = _menhir_s;
32689 MenhirLib.EngineTypes.semv = _1;
32690 MenhirLib.EngineTypes.startp = _startpos__1_;
32691 MenhirLib.EngineTypes.endp = _endpos__1_;
32692 MenhirLib.EngineTypes.next = _menhir_stack;
32693 } = _menhir_stack in
32694 let _1 : 'tv_one_decl_var = Obj.magic _1 in
32695 let _startpos = _startpos__1_ in
32696 let _endpos = _endpos__1_ in
32697 let _v : 'tv_rule_elem_statement =
32698 # 1100 "parser_cocci_menhir.mly"
32699 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
32700 # 32701 "parser_cocci_menhir.ml"
32701 in
32702 _menhir_env.MenhirLib.EngineTypes.stack <- {
32703 MenhirLib.EngineTypes.state = _menhir_s;
32704 MenhirLib.EngineTypes.semv = Obj.repr _v;
32705 MenhirLib.EngineTypes.startp = _startpos;
32706 MenhirLib.EngineTypes.endp = _endpos;
32707 MenhirLib.EngineTypes.next = _menhir_stack;
32708 });
32709 (fun _menhir_env ->
32710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32711 let {
32712 MenhirLib.EngineTypes.semv = _2;
32713 MenhirLib.EngineTypes.startp = _startpos__2_;
32714 MenhirLib.EngineTypes.endp = _endpos__2_;
32715 MenhirLib.EngineTypes.next = {
32716 MenhirLib.EngineTypes.state = _menhir_s;
32717 MenhirLib.EngineTypes.semv = _1;
32718 MenhirLib.EngineTypes.startp = _startpos__1_;
32719 MenhirLib.EngineTypes.endp = _endpos__1_;
32720 MenhirLib.EngineTypes.next = _menhir_stack;
32721 };
32722 } = _menhir_stack in
32723 let _2 : (
32724 # 175 "parser_cocci_menhir.mly"
32725 (Data.clt)
32726 # 32727 "parser_cocci_menhir.ml"
32727 ) = Obj.magic _2 in
32728 let _1 : 'tv_expr = Obj.magic _1 in
32729 let _startpos = _startpos__1_ in
32730 let _endpos = _endpos__2_ in
32731 let _v : 'tv_rule_elem_statement =
32732 # 1101 "parser_cocci_menhir.mly"
32733 ( P.exp_stm _1 _2 )
32734 # 32735 "parser_cocci_menhir.ml"
32735 in
32736 _menhir_env.MenhirLib.EngineTypes.stack <- {
32737 MenhirLib.EngineTypes.state = _menhir_s;
32738 MenhirLib.EngineTypes.semv = Obj.repr _v;
32739 MenhirLib.EngineTypes.startp = _startpos;
32740 MenhirLib.EngineTypes.endp = _endpos;
32741 MenhirLib.EngineTypes.next = _menhir_stack;
32742 });
32743 (fun _menhir_env ->
32744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32745 let {
32746 MenhirLib.EngineTypes.semv = _3;
32747 MenhirLib.EngineTypes.startp = _startpos__3_;
32748 MenhirLib.EngineTypes.endp = _endpos__3_;
32749 MenhirLib.EngineTypes.next = {
32750 MenhirLib.EngineTypes.semv = _2;
32751 MenhirLib.EngineTypes.startp = _startpos__2_;
32752 MenhirLib.EngineTypes.endp = _endpos__2_;
32753 MenhirLib.EngineTypes.next = {
32754 MenhirLib.EngineTypes.state = _menhir_s;
32755 MenhirLib.EngineTypes.semv = _1;
32756 MenhirLib.EngineTypes.startp = _startpos__1_;
32757 MenhirLib.EngineTypes.endp = _endpos__1_;
32758 MenhirLib.EngineTypes.next = _menhir_stack;
32759 };
32760 };
32761 } = _menhir_stack in
32762 let _3 : (
32763 # 175 "parser_cocci_menhir.mly"
32764 (Data.clt)
32765 # 32766 "parser_cocci_menhir.ml"
32766 ) = Obj.magic _3 in
32767 let _2 : 'tv_eexpr = Obj.magic _2 in
32768 let _1 : (
32769 # 123 "parser_cocci_menhir.mly"
32770 (Data.clt)
32771 # 32772 "parser_cocci_menhir.ml"
32772 ) = Obj.magic _1 in
32773 let _startpos = _startpos__1_ in
32774 let _endpos = _endpos__3_ in
32775 let _v : 'tv_rule_elem_statement =
32776 # 1102 "parser_cocci_menhir.mly"
32777 ( P.ret_exp _1 _2 _3 )
32778 # 32779 "parser_cocci_menhir.ml"
32779 in
32780 _menhir_env.MenhirLib.EngineTypes.stack <- {
32781 MenhirLib.EngineTypes.state = _menhir_s;
32782 MenhirLib.EngineTypes.semv = Obj.repr _v;
32783 MenhirLib.EngineTypes.startp = _startpos;
32784 MenhirLib.EngineTypes.endp = _endpos;
32785 MenhirLib.EngineTypes.next = _menhir_stack;
32786 });
32787 (fun _menhir_env ->
32788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32789 let {
32790 MenhirLib.EngineTypes.semv = _2;
32791 MenhirLib.EngineTypes.startp = _startpos__2_;
32792 MenhirLib.EngineTypes.endp = _endpos__2_;
32793 MenhirLib.EngineTypes.next = {
32794 MenhirLib.EngineTypes.state = _menhir_s;
32795 MenhirLib.EngineTypes.semv = _1;
32796 MenhirLib.EngineTypes.startp = _startpos__1_;
32797 MenhirLib.EngineTypes.endp = _endpos__1_;
32798 MenhirLib.EngineTypes.next = _menhir_stack;
32799 };
32800 } = _menhir_stack in
32801 let _2 : (
32802 # 175 "parser_cocci_menhir.mly"
32803 (Data.clt)
32804 # 32805 "parser_cocci_menhir.ml"
32805 ) = Obj.magic _2 in
32806 let _1 : (
32807 # 123 "parser_cocci_menhir.mly"
32808 (Data.clt)
32809 # 32810 "parser_cocci_menhir.ml"
32810 ) = Obj.magic _1 in
32811 let _startpos = _startpos__1_ in
32812 let _endpos = _endpos__2_ in
32813 let _v : 'tv_rule_elem_statement =
32814 # 1103 "parser_cocci_menhir.mly"
32815 ( P.ret _1 _2 )
32816 # 32817 "parser_cocci_menhir.ml"
32817 in
32818 _menhir_env.MenhirLib.EngineTypes.stack <- {
32819 MenhirLib.EngineTypes.state = _menhir_s;
32820 MenhirLib.EngineTypes.semv = Obj.repr _v;
32821 MenhirLib.EngineTypes.startp = _startpos;
32822 MenhirLib.EngineTypes.endp = _endpos;
32823 MenhirLib.EngineTypes.next = _menhir_stack;
32824 });
32825 (fun _menhir_env ->
32826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32827 let {
32828 MenhirLib.EngineTypes.semv = _2;
32829 MenhirLib.EngineTypes.startp = _startpos__2_;
32830 MenhirLib.EngineTypes.endp = _endpos__2_;
32831 MenhirLib.EngineTypes.next = {
32832 MenhirLib.EngineTypes.state = _menhir_s;
32833 MenhirLib.EngineTypes.semv = _1;
32834 MenhirLib.EngineTypes.startp = _startpos__1_;
32835 MenhirLib.EngineTypes.endp = _endpos__1_;
32836 MenhirLib.EngineTypes.next = _menhir_stack;
32837 };
32838 } = _menhir_stack in
32839 let _2 : (
32840 # 175 "parser_cocci_menhir.mly"
32841 (Data.clt)
32842 # 32843 "parser_cocci_menhir.ml"
32843 ) = Obj.magic _2 in
32844 let _1 : (
32845 # 124 "parser_cocci_menhir.mly"
32846 (Data.clt)
32847 # 32848 "parser_cocci_menhir.ml"
32848 ) = Obj.magic _1 in
32849 let _startpos = _startpos__1_ in
32850 let _endpos = _endpos__2_ in
32851 let _v : 'tv_rule_elem_statement =
32852 # 1104 "parser_cocci_menhir.mly"
32853 ( P.break _1 _2 )
32854 # 32855 "parser_cocci_menhir.ml"
32855 in
32856 _menhir_env.MenhirLib.EngineTypes.stack <- {
32857 MenhirLib.EngineTypes.state = _menhir_s;
32858 MenhirLib.EngineTypes.semv = Obj.repr _v;
32859 MenhirLib.EngineTypes.startp = _startpos;
32860 MenhirLib.EngineTypes.endp = _endpos;
32861 MenhirLib.EngineTypes.next = _menhir_stack;
32862 });
32863 (fun _menhir_env ->
32864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32865 let {
32866 MenhirLib.EngineTypes.semv = _2;
32867 MenhirLib.EngineTypes.startp = _startpos__2_;
32868 MenhirLib.EngineTypes.endp = _endpos__2_;
32869 MenhirLib.EngineTypes.next = {
32870 MenhirLib.EngineTypes.state = _menhir_s;
32871 MenhirLib.EngineTypes.semv = _1;
32872 MenhirLib.EngineTypes.startp = _startpos__1_;
32873 MenhirLib.EngineTypes.endp = _endpos__1_;
32874 MenhirLib.EngineTypes.next = _menhir_stack;
32875 };
32876 } = _menhir_stack in
32877 let _2 : (
32878 # 175 "parser_cocci_menhir.mly"
32879 (Data.clt)
32880 # 32881 "parser_cocci_menhir.ml"
32881 ) = Obj.magic _2 in
32882 let _1 : (
32883 # 124 "parser_cocci_menhir.mly"
32884 (Data.clt)
32885 # 32886 "parser_cocci_menhir.ml"
32886 ) = Obj.magic _1 in
32887 let _startpos = _startpos__1_ in
32888 let _endpos = _endpos__2_ in
32889 let _v : 'tv_rule_elem_statement =
32890 # 1105 "parser_cocci_menhir.mly"
32891 ( P.cont _1 _2 )
32892 # 32893 "parser_cocci_menhir.ml"
32893 in
32894 _menhir_env.MenhirLib.EngineTypes.stack <- {
32895 MenhirLib.EngineTypes.state = _menhir_s;
32896 MenhirLib.EngineTypes.semv = Obj.repr _v;
32897 MenhirLib.EngineTypes.startp = _startpos;
32898 MenhirLib.EngineTypes.endp = _endpos;
32899 MenhirLib.EngineTypes.next = _menhir_stack;
32900 });
32901 (fun _menhir_env ->
32902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32903 let {
32904 MenhirLib.EngineTypes.semv = _3;
32905 MenhirLib.EngineTypes.startp = _startpos__3_;
32906 MenhirLib.EngineTypes.endp = _endpos__3_;
32907 MenhirLib.EngineTypes.next = {
32908 MenhirLib.EngineTypes.semv = _2;
32909 MenhirLib.EngineTypes.startp = _startpos__2_;
32910 MenhirLib.EngineTypes.endp = _endpos__2_;
32911 MenhirLib.EngineTypes.next = {
32912 MenhirLib.EngineTypes.state = _menhir_s;
32913 MenhirLib.EngineTypes.semv = _1;
32914 MenhirLib.EngineTypes.startp = _startpos__1_;
32915 MenhirLib.EngineTypes.endp = _endpos__1_;
32916 MenhirLib.EngineTypes.next = _menhir_stack;
32917 };
32918 };
32919 } = _menhir_stack in
32920 let _3 : (
32921 # 145 "parser_cocci_menhir.mly"
32922 (Data.clt)
32923 # 32924 "parser_cocci_menhir.ml"
32924 ) = Obj.magic _3 in
32925 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
32926 let _1 : (
32927 # 144 "parser_cocci_menhir.mly"
32928 (Data.clt)
32929 # 32930 "parser_cocci_menhir.ml"
32930 ) = Obj.magic _1 in
32931 let _startpos = _startpos__1_ in
32932 let _endpos = _endpos__3_ in
32933 let _v : 'tv_rule_elem_statement =
32934 # 1107 "parser_cocci_menhir.mly"
32935 ( let (mids,code) = _2 in
32936 Ast0.wrap
32937 (Ast0.Disj(P.clt2mcode "(" _1,
32938 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
32939 mids, P.clt2mcode ")" _3)) )
32940 # 32941 "parser_cocci_menhir.ml"
32941 in
32942 _menhir_env.MenhirLib.EngineTypes.stack <- {
32943 MenhirLib.EngineTypes.state = _menhir_s;
32944 MenhirLib.EngineTypes.semv = Obj.repr _v;
32945 MenhirLib.EngineTypes.startp = _startpos;
32946 MenhirLib.EngineTypes.endp = _endpos;
32947 MenhirLib.EngineTypes.next = _menhir_stack;
32948 });
32949 (fun _menhir_env ->
32950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32951 let {
32952 MenhirLib.EngineTypes.startp = _startpos__7_;
32953 MenhirLib.EngineTypes.endp = _endpos__7_;
32954 MenhirLib.EngineTypes.next = {
32955 MenhirLib.EngineTypes.semv = ee;
32956 MenhirLib.EngineTypes.startp = _startpos_ee_;
32957 MenhirLib.EngineTypes.endp = _endpos_ee_;
32958 MenhirLib.EngineTypes.next = {
32959 MenhirLib.EngineTypes.semv = e;
32960 MenhirLib.EngineTypes.startp = _startpos_e_;
32961 MenhirLib.EngineTypes.endp = _endpos_e_;
32962 MenhirLib.EngineTypes.next = {
32963 MenhirLib.EngineTypes.semv = a;
32964 MenhirLib.EngineTypes.startp = _startpos_a_;
32965 MenhirLib.EngineTypes.endp = _endpos_a_;
32966 MenhirLib.EngineTypes.next = {
32967 MenhirLib.EngineTypes.semv = i;
32968 MenhirLib.EngineTypes.startp = _startpos_i_;
32969 MenhirLib.EngineTypes.endp = _endpos_i_;
32970 MenhirLib.EngineTypes.next = {
32971 MenhirLib.EngineTypes.semv = d;
32972 MenhirLib.EngineTypes.startp = _startpos_d_;
32973 MenhirLib.EngineTypes.endp = _endpos_d_;
32974 MenhirLib.EngineTypes.next = {
32975 MenhirLib.EngineTypes.state = _menhir_s;
32976 MenhirLib.EngineTypes.startp = _startpos__1_;
32977 MenhirLib.EngineTypes.endp = _endpos__1_;
32978 MenhirLib.EngineTypes.next = _menhir_stack;
32979 };
32980 };
32981 };
32982 };
32983 };
32984 };
32985 } = _menhir_stack in
32986 let ee : 'tv_is_expression = Obj.magic ee in
32987 let e : 'tv_exists = Obj.magic e in
32988 let a : 'tv_loption_disable_ = Obj.magic a in
32989 let i : 'tv_loption_choose_iso_ = Obj.magic i in
32990 let d : 'tv_depends = Obj.magic d in
32991 let _startpos = _startpos__1_ in
32992 let _endpos = _endpos__7_ in
32993 let _v : (
32994 # 223 "parser_cocci_menhir.mly"
32995 (Ast_cocci.rulename)
32996 # 32997 "parser_cocci_menhir.ml"
32997 ) = let nm =
32998
32999 # 39 "standard.mly"
33000 ( None )
33001 # 33002 "parser_cocci_menhir.ml"
33002
33003 in
33004
33005 # 272 "parser_cocci_menhir.mly"
33006 ( P.make_cocci_rule_name_result nm d i a e ee )
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.startp = _startpos__8_;
33020 MenhirLib.EngineTypes.endp = _endpos__8_;
33021 MenhirLib.EngineTypes.next = {
33022 MenhirLib.EngineTypes.semv = ee;
33023 MenhirLib.EngineTypes.startp = _startpos_ee_;
33024 MenhirLib.EngineTypes.endp = _endpos_ee_;
33025 MenhirLib.EngineTypes.next = {
33026 MenhirLib.EngineTypes.semv = e;
33027 MenhirLib.EngineTypes.startp = _startpos_e_;
33028 MenhirLib.EngineTypes.endp = _endpos_e_;
33029 MenhirLib.EngineTypes.next = {
33030 MenhirLib.EngineTypes.semv = a;
33031 MenhirLib.EngineTypes.startp = _startpos_a_;
33032 MenhirLib.EngineTypes.endp = _endpos_a_;
33033 MenhirLib.EngineTypes.next = {
33034 MenhirLib.EngineTypes.semv = i;
33035 MenhirLib.EngineTypes.startp = _startpos_i_;
33036 MenhirLib.EngineTypes.endp = _endpos_i_;
33037 MenhirLib.EngineTypes.next = {
33038 MenhirLib.EngineTypes.semv = d;
33039 MenhirLib.EngineTypes.startp = _startpos_d_;
33040 MenhirLib.EngineTypes.endp = _endpos_d_;
33041 MenhirLib.EngineTypes.next = {
33042 MenhirLib.EngineTypes.startp = _startpos__2_;
33043 MenhirLib.EngineTypes.endp = _endpos__2_;
33044 MenhirLib.EngineTypes.next = {
33045 MenhirLib.EngineTypes.state = _menhir_s;
33046 MenhirLib.EngineTypes.semv = x0;
33047 MenhirLib.EngineTypes.startp = _startpos_x0_;
33048 MenhirLib.EngineTypes.endp = _endpos_x0_;
33049 MenhirLib.EngineTypes.next = _menhir_stack;
33050 };
33051 };
33052 };
33053 };
33054 };
33055 };
33056 };
33057 } = _menhir_stack in
33058 let ee : 'tv_is_expression = Obj.magic ee in
33059 let e : 'tv_exists = Obj.magic e in
33060 let a : 'tv_loption_disable_ = Obj.magic a in
33061 let i : 'tv_loption_choose_iso_ = Obj.magic i in
33062 let d : 'tv_depends = Obj.magic d in
33063 let x0 : 'tv_pure_ident = Obj.magic x0 in
33064 let _startpos = _startpos_x0_ in
33065 let _endpos = _endpos__8_ in
33066 let _v : (
33067 # 223 "parser_cocci_menhir.mly"
33068 (Ast_cocci.rulename)
33069 # 33070 "parser_cocci_menhir.ml"
33070 ) = let nm =
33071 let x = x0 in
33072
33073 # 41 "standard.mly"
33074 ( Some x )
33075 # 33076 "parser_cocci_menhir.ml"
33076
33077 in
33078
33079 # 272 "parser_cocci_menhir.mly"
33080 ( P.make_cocci_rule_name_result nm d i a e ee )
33081 # 33082 "parser_cocci_menhir.ml"
33082 in
33083 _menhir_env.MenhirLib.EngineTypes.stack <- {
33084 MenhirLib.EngineTypes.state = _menhir_s;
33085 MenhirLib.EngineTypes.semv = Obj.repr _v;
33086 MenhirLib.EngineTypes.startp = _startpos;
33087 MenhirLib.EngineTypes.endp = _endpos;
33088 MenhirLib.EngineTypes.next = _menhir_stack;
33089 });
33090 (fun _menhir_env ->
33091 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33092 let {
33093 MenhirLib.EngineTypes.startp = _startpos__8_;
33094 MenhirLib.EngineTypes.endp = _endpos__8_;
33095 MenhirLib.EngineTypes.next = {
33096 MenhirLib.EngineTypes.semv = ee;
33097 MenhirLib.EngineTypes.startp = _startpos_ee_;
33098 MenhirLib.EngineTypes.endp = _endpos_ee_;
33099 MenhirLib.EngineTypes.next = {
33100 MenhirLib.EngineTypes.semv = e;
33101 MenhirLib.EngineTypes.startp = _startpos_e_;
33102 MenhirLib.EngineTypes.endp = _endpos_e_;
33103 MenhirLib.EngineTypes.next = {
33104 MenhirLib.EngineTypes.semv = a;
33105 MenhirLib.EngineTypes.startp = _startpos_a_;
33106 MenhirLib.EngineTypes.endp = _endpos_a_;
33107 MenhirLib.EngineTypes.next = {
33108 MenhirLib.EngineTypes.semv = i;
33109 MenhirLib.EngineTypes.startp = _startpos_i_;
33110 MenhirLib.EngineTypes.endp = _endpos_i_;
33111 MenhirLib.EngineTypes.next = {
33112 MenhirLib.EngineTypes.semv = d;
33113 MenhirLib.EngineTypes.startp = _startpos_d_;
33114 MenhirLib.EngineTypes.endp = _endpos_d_;
33115 MenhirLib.EngineTypes.next = {
33116 MenhirLib.EngineTypes.startp = _startpos__2_;
33117 MenhirLib.EngineTypes.endp = _endpos__2_;
33118 MenhirLib.EngineTypes.next = {
33119 MenhirLib.EngineTypes.state = _menhir_s;
33120 MenhirLib.EngineTypes.startp = _startpos__1_;
33121 MenhirLib.EngineTypes.endp = _endpos__1_;
33122 MenhirLib.EngineTypes.next = _menhir_stack;
33123 };
33124 };
33125 };
33126 };
33127 };
33128 };
33129 };
33130 } = _menhir_stack in
33131 let ee : 'tv_is_expression = Obj.magic ee in
33132 let e : 'tv_exists = Obj.magic e in
33133 let a : 'tv_loption_disable_ = Obj.magic a in
33134 let i : 'tv_loption_choose_iso_ = Obj.magic i in
33135 let d : 'tv_depends = Obj.magic d in
33136 let _startpos = _startpos__1_ in
33137 let _endpos = _endpos__8_ in
33138 let _v : (
33139 # 223 "parser_cocci_menhir.mly"
33140 (Ast_cocci.rulename)
33141 # 33142 "parser_cocci_menhir.ml"
33142 ) =
33143 # 277 "parser_cocci_menhir.mly"
33144 ( P.make_generated_rule_name_result None d i a e ee )
33145 # 33146 "parser_cocci_menhir.ml"
33146 in
33147 _menhir_env.MenhirLib.EngineTypes.stack <- {
33148 MenhirLib.EngineTypes.state = _menhir_s;
33149 MenhirLib.EngineTypes.semv = Obj.repr _v;
33150 MenhirLib.EngineTypes.startp = _startpos;
33151 MenhirLib.EngineTypes.endp = _endpos;
33152 MenhirLib.EngineTypes.next = _menhir_stack;
33153 });
33154 (fun _menhir_env ->
33155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33156 let {
33157 MenhirLib.EngineTypes.startp = _startpos__5_;
33158 MenhirLib.EngineTypes.endp = _endpos__5_;
33159 MenhirLib.EngineTypes.next = {
33160 MenhirLib.EngineTypes.semv = d;
33161 MenhirLib.EngineTypes.startp = _startpos_d_;
33162 MenhirLib.EngineTypes.endp = _endpos_d_;
33163 MenhirLib.EngineTypes.next = {
33164 MenhirLib.EngineTypes.semv = lang;
33165 MenhirLib.EngineTypes.startp = _startpos_lang_;
33166 MenhirLib.EngineTypes.endp = _endpos_lang_;
33167 MenhirLib.EngineTypes.next = {
33168 MenhirLib.EngineTypes.startp = _startpos__2_;
33169 MenhirLib.EngineTypes.endp = _endpos__2_;
33170 MenhirLib.EngineTypes.next = {
33171 MenhirLib.EngineTypes.state = _menhir_s;
33172 MenhirLib.EngineTypes.startp = _startpos__1_;
33173 MenhirLib.EngineTypes.endp = _endpos__1_;
33174 MenhirLib.EngineTypes.next = _menhir_stack;
33175 };
33176 };
33177 };
33178 };
33179 } = _menhir_stack in
33180 let d : 'tv_depends = Obj.magic d in
33181 let lang : 'tv_pure_ident = Obj.magic lang in
33182 let _startpos = _startpos__1_ in
33183 let _endpos = _endpos__5_ in
33184 let _v : (
33185 # 223 "parser_cocci_menhir.mly"
33186 (Ast_cocci.rulename)
33187 # 33188 "parser_cocci_menhir.ml"
33188 ) = let nm =
33189
33190 # 39 "standard.mly"
33191 ( None )
33192 # 33193 "parser_cocci_menhir.ml"
33193
33194 in
33195
33196 # 279 "parser_cocci_menhir.mly"
33197 ( P.make_script_rule_name_result lang nm d )
33198 # 33199 "parser_cocci_menhir.ml"
33199 in
33200 _menhir_env.MenhirLib.EngineTypes.stack <- {
33201 MenhirLib.EngineTypes.state = _menhir_s;
33202 MenhirLib.EngineTypes.semv = Obj.repr _v;
33203 MenhirLib.EngineTypes.startp = _startpos;
33204 MenhirLib.EngineTypes.endp = _endpos;
33205 MenhirLib.EngineTypes.next = _menhir_stack;
33206 });
33207 (fun _menhir_env ->
33208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33209 let {
33210 MenhirLib.EngineTypes.startp = _startpos__6_;
33211 MenhirLib.EngineTypes.endp = _endpos__6_;
33212 MenhirLib.EngineTypes.next = {
33213 MenhirLib.EngineTypes.semv = d;
33214 MenhirLib.EngineTypes.startp = _startpos_d_;
33215 MenhirLib.EngineTypes.endp = _endpos_d_;
33216 MenhirLib.EngineTypes.next = {
33217 MenhirLib.EngineTypes.semv = x0;
33218 MenhirLib.EngineTypes.startp = _startpos_x0_;
33219 MenhirLib.EngineTypes.endp = _endpos_x0_;
33220 MenhirLib.EngineTypes.next = {
33221 MenhirLib.EngineTypes.semv = lang;
33222 MenhirLib.EngineTypes.startp = _startpos_lang_;
33223 MenhirLib.EngineTypes.endp = _endpos_lang_;
33224 MenhirLib.EngineTypes.next = {
33225 MenhirLib.EngineTypes.startp = _startpos__2_;
33226 MenhirLib.EngineTypes.endp = _endpos__2_;
33227 MenhirLib.EngineTypes.next = {
33228 MenhirLib.EngineTypes.state = _menhir_s;
33229 MenhirLib.EngineTypes.startp = _startpos__1_;
33230 MenhirLib.EngineTypes.endp = _endpos__1_;
33231 MenhirLib.EngineTypes.next = _menhir_stack;
33232 };
33233 };
33234 };
33235 };
33236 };
33237 } = _menhir_stack in
33238 let d : 'tv_depends = Obj.magic d in
33239 let x0 : 'tv_pure_ident = Obj.magic x0 in
33240 let lang : 'tv_pure_ident = Obj.magic lang in
33241 let _startpos = _startpos__1_ in
33242 let _endpos = _endpos__6_ in
33243 let _v : (
33244 # 223 "parser_cocci_menhir.mly"
33245 (Ast_cocci.rulename)
33246 # 33247 "parser_cocci_menhir.ml"
33247 ) = let nm =
33248 let x = x0 in
33249
33250 # 41 "standard.mly"
33251 ( Some x )
33252 # 33253 "parser_cocci_menhir.ml"
33253
33254 in
33255
33256 # 279 "parser_cocci_menhir.mly"
33257 ( P.make_script_rule_name_result lang nm d )
33258 # 33259 "parser_cocci_menhir.ml"
33259 in
33260 _menhir_env.MenhirLib.EngineTypes.stack <- {
33261 MenhirLib.EngineTypes.state = _menhir_s;
33262 MenhirLib.EngineTypes.semv = Obj.repr _v;
33263 MenhirLib.EngineTypes.startp = _startpos;
33264 MenhirLib.EngineTypes.endp = _endpos;
33265 MenhirLib.EngineTypes.next = _menhir_stack;
33266 });
33267 (fun _menhir_env ->
33268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33269 let {
33270 MenhirLib.EngineTypes.startp = _startpos__5_;
33271 MenhirLib.EngineTypes.endp = _endpos__5_;
33272 MenhirLib.EngineTypes.next = {
33273 MenhirLib.EngineTypes.semv = d;
33274 MenhirLib.EngineTypes.startp = _startpos_d_;
33275 MenhirLib.EngineTypes.endp = _endpos_d_;
33276 MenhirLib.EngineTypes.next = {
33277 MenhirLib.EngineTypes.semv = lang;
33278 MenhirLib.EngineTypes.startp = _startpos_lang_;
33279 MenhirLib.EngineTypes.endp = _endpos_lang_;
33280 MenhirLib.EngineTypes.next = {
33281 MenhirLib.EngineTypes.startp = _startpos__2_;
33282 MenhirLib.EngineTypes.endp = _endpos__2_;
33283 MenhirLib.EngineTypes.next = {
33284 MenhirLib.EngineTypes.state = _menhir_s;
33285 MenhirLib.EngineTypes.startp = _startpos__1_;
33286 MenhirLib.EngineTypes.endp = _endpos__1_;
33287 MenhirLib.EngineTypes.next = _menhir_stack;
33288 };
33289 };
33290 };
33291 };
33292 } = _menhir_stack in
33293 let d : 'tv_depends = Obj.magic d in
33294 let lang : 'tv_pure_ident = Obj.magic lang in
33295 let _startpos = _startpos__1_ in
33296 let _endpos = _endpos__5_ in
33297 let _v : (
33298 # 223 "parser_cocci_menhir.mly"
33299 (Ast_cocci.rulename)
33300 # 33301 "parser_cocci_menhir.ml"
33301 ) =
33302 # 281 "parser_cocci_menhir.mly"
33303 ( P.make_initial_script_rule_name_result lang d )
33304 # 33305 "parser_cocci_menhir.ml"
33305 in
33306 _menhir_env.MenhirLib.EngineTypes.stack <- {
33307 MenhirLib.EngineTypes.state = _menhir_s;
33308 MenhirLib.EngineTypes.semv = Obj.repr _v;
33309 MenhirLib.EngineTypes.startp = _startpos;
33310 MenhirLib.EngineTypes.endp = _endpos;
33311 MenhirLib.EngineTypes.next = _menhir_stack;
33312 });
33313 (fun _menhir_env ->
33314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33315 let {
33316 MenhirLib.EngineTypes.startp = _startpos__5_;
33317 MenhirLib.EngineTypes.endp = _endpos__5_;
33318 MenhirLib.EngineTypes.next = {
33319 MenhirLib.EngineTypes.semv = d;
33320 MenhirLib.EngineTypes.startp = _startpos_d_;
33321 MenhirLib.EngineTypes.endp = _endpos_d_;
33322 MenhirLib.EngineTypes.next = {
33323 MenhirLib.EngineTypes.semv = lang;
33324 MenhirLib.EngineTypes.startp = _startpos_lang_;
33325 MenhirLib.EngineTypes.endp = _endpos_lang_;
33326 MenhirLib.EngineTypes.next = {
33327 MenhirLib.EngineTypes.startp = _startpos__2_;
33328 MenhirLib.EngineTypes.endp = _endpos__2_;
33329 MenhirLib.EngineTypes.next = {
33330 MenhirLib.EngineTypes.state = _menhir_s;
33331 MenhirLib.EngineTypes.startp = _startpos__1_;
33332 MenhirLib.EngineTypes.endp = _endpos__1_;
33333 MenhirLib.EngineTypes.next = _menhir_stack;
33334 };
33335 };
33336 };
33337 };
33338 } = _menhir_stack in
33339 let d : 'tv_depends = Obj.magic d in
33340 let lang : 'tv_pure_ident = Obj.magic lang in
33341 let _startpos = _startpos__1_ in
33342 let _endpos = _endpos__5_ in
33343 let _v : (
33344 # 223 "parser_cocci_menhir.mly"
33345 (Ast_cocci.rulename)
33346 # 33347 "parser_cocci_menhir.ml"
33347 ) =
33348 # 283 "parser_cocci_menhir.mly"
33349 ( P.make_final_script_rule_name_result lang d )
33350 # 33351 "parser_cocci_menhir.ml"
33351 in
33352 _menhir_env.MenhirLib.EngineTypes.stack <- {
33353 MenhirLib.EngineTypes.state = _menhir_s;
33354 MenhirLib.EngineTypes.semv = Obj.repr _v;
33355 MenhirLib.EngineTypes.startp = _startpos;
33356 MenhirLib.EngineTypes.endp = _endpos;
33357 MenhirLib.EngineTypes.next = _menhir_stack;
33358 });
33359 (fun _menhir_env ->
33360 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33361 let {
33362 MenhirLib.EngineTypes.startp = _startpos__2_;
33363 MenhirLib.EngineTypes.endp = _endpos__2_;
33364 MenhirLib.EngineTypes.next = {
33365 MenhirLib.EngineTypes.state = _menhir_s;
33366 MenhirLib.EngineTypes.semv = py;
33367 MenhirLib.EngineTypes.startp = _startpos_py_;
33368 MenhirLib.EngineTypes.endp = _endpos_py_;
33369 MenhirLib.EngineTypes.next = _menhir_stack;
33370 };
33371 } = _menhir_stack in
33372 let py : 'tv_pure_ident = Obj.magic py in
33373 let _startpos = _startpos_py_ in
33374 let _endpos = _endpos__2_ in
33375 let _v : (
33376 # 229 "parser_cocci_menhir.mly"
33377 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
33378 # 33379 "parser_cocci_menhir.ml"
33379 ) =
33380 # 2282 "parser_cocci_menhir.mly"
33381 ( ((Some (P.id2name py), None), None) )
33382 # 33383 "parser_cocci_menhir.ml"
33383 in
33384 _menhir_env.MenhirLib.EngineTypes.stack <- {
33385 MenhirLib.EngineTypes.state = _menhir_s;
33386 MenhirLib.EngineTypes.semv = Obj.repr _v;
33387 MenhirLib.EngineTypes.startp = _startpos;
33388 MenhirLib.EngineTypes.endp = _endpos;
33389 MenhirLib.EngineTypes.next = _menhir_stack;
33390 });
33391 (fun _menhir_env ->
33392 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33393 let {
33394 MenhirLib.EngineTypes.startp = _startpos__3_;
33395 MenhirLib.EngineTypes.endp = _endpos__3_;
33396 MenhirLib.EngineTypes.next = {
33397 MenhirLib.EngineTypes.semv = _2;
33398 MenhirLib.EngineTypes.startp = _startpos__2_;
33399 MenhirLib.EngineTypes.endp = _endpos__2_;
33400 MenhirLib.EngineTypes.next = {
33401 MenhirLib.EngineTypes.state = _menhir_s;
33402 MenhirLib.EngineTypes.semv = py;
33403 MenhirLib.EngineTypes.startp = _startpos_py_;
33404 MenhirLib.EngineTypes.endp = _endpos_py_;
33405 MenhirLib.EngineTypes.next = _menhir_stack;
33406 };
33407 };
33408 } = _menhir_stack in
33409 let _2 : 'tv_script_name_decl = Obj.magic _2 in
33410 let py : 'tv_pure_ident = Obj.magic py in
33411 let _startpos = _startpos_py_ in
33412 let _endpos = _endpos__3_ in
33413 let _v : (
33414 # 229 "parser_cocci_menhir.mly"
33415 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
33416 # 33417 "parser_cocci_menhir.ml"
33417 ) =
33418 # 2284 "parser_cocci_menhir.mly"
33419 ( ((Some (P.id2name py), None), Some _2) )
33420 # 33421 "parser_cocci_menhir.ml"
33421 in
33422 _menhir_env.MenhirLib.EngineTypes.stack <- {
33423 MenhirLib.EngineTypes.state = _menhir_s;
33424 MenhirLib.EngineTypes.semv = Obj.repr _v;
33425 MenhirLib.EngineTypes.startp = _startpos;
33426 MenhirLib.EngineTypes.endp = _endpos;
33427 MenhirLib.EngineTypes.next = _menhir_stack;
33428 });
33429 (fun _menhir_env ->
33430 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33431 let {
33432 MenhirLib.EngineTypes.startp = _startpos__7_;
33433 MenhirLib.EngineTypes.endp = _endpos__7_;
33434 MenhirLib.EngineTypes.next = {
33435 MenhirLib.EngineTypes.semv = _6;
33436 MenhirLib.EngineTypes.startp = _startpos__6_;
33437 MenhirLib.EngineTypes.endp = _endpos__6_;
33438 MenhirLib.EngineTypes.next = {
33439 MenhirLib.EngineTypes.startp = _startpos__5_;
33440 MenhirLib.EngineTypes.endp = _endpos__5_;
33441 MenhirLib.EngineTypes.next = {
33442 MenhirLib.EngineTypes.semv = ast;
33443 MenhirLib.EngineTypes.startp = _startpos_ast_;
33444 MenhirLib.EngineTypes.endp = _endpos_ast_;
33445 MenhirLib.EngineTypes.next = {
33446 MenhirLib.EngineTypes.startp = _startpos__3_;
33447 MenhirLib.EngineTypes.endp = _endpos__3_;
33448 MenhirLib.EngineTypes.next = {
33449 MenhirLib.EngineTypes.startp = _startpos__2_;
33450 MenhirLib.EngineTypes.endp = _endpos__2_;
33451 MenhirLib.EngineTypes.next = {
33452 MenhirLib.EngineTypes.state = _menhir_s;
33453 MenhirLib.EngineTypes.startp = _startpos__1_;
33454 MenhirLib.EngineTypes.endp = _endpos__1_;
33455 MenhirLib.EngineTypes.next = _menhir_stack;
33456 };
33457 };
33458 };
33459 };
33460 };
33461 };
33462 } = _menhir_stack in
33463 let _6 : 'tv_script_name_decl = Obj.magic _6 in
33464 let ast : 'tv_pure_ident = Obj.magic ast in
33465 let _startpos = _startpos__1_ in
33466 let _endpos = _endpos__7_ in
33467 let _v : (
33468 # 229 "parser_cocci_menhir.mly"
33469 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
33470 # 33471 "parser_cocci_menhir.ml"
33471 ) =
33472 # 2286 "parser_cocci_menhir.mly"
33473 ( ((None, Some (P.id2name ast)), Some _6) )
33474 # 33475 "parser_cocci_menhir.ml"
33475 in
33476 _menhir_env.MenhirLib.EngineTypes.stack <- {
33477 MenhirLib.EngineTypes.state = _menhir_s;
33478 MenhirLib.EngineTypes.semv = Obj.repr _v;
33479 MenhirLib.EngineTypes.startp = _startpos;
33480 MenhirLib.EngineTypes.endp = _endpos;
33481 MenhirLib.EngineTypes.next = _menhir_stack;
33482 });
33483 (fun _menhir_env ->
33484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33485 let {
33486 MenhirLib.EngineTypes.startp = _startpos__7_;
33487 MenhirLib.EngineTypes.endp = _endpos__7_;
33488 MenhirLib.EngineTypes.next = {
33489 MenhirLib.EngineTypes.semv = _6;
33490 MenhirLib.EngineTypes.startp = _startpos__6_;
33491 MenhirLib.EngineTypes.endp = _endpos__6_;
33492 MenhirLib.EngineTypes.next = {
33493 MenhirLib.EngineTypes.startp = _startpos__5_;
33494 MenhirLib.EngineTypes.endp = _endpos__5_;
33495 MenhirLib.EngineTypes.next = {
33496 MenhirLib.EngineTypes.startp = _startpos__4_;
33497 MenhirLib.EngineTypes.endp = _endpos__4_;
33498 MenhirLib.EngineTypes.next = {
33499 MenhirLib.EngineTypes.startp = _startpos__3_;
33500 MenhirLib.EngineTypes.endp = _endpos__3_;
33501 MenhirLib.EngineTypes.next = {
33502 MenhirLib.EngineTypes.semv = str;
33503 MenhirLib.EngineTypes.startp = _startpos_str_;
33504 MenhirLib.EngineTypes.endp = _endpos_str_;
33505 MenhirLib.EngineTypes.next = {
33506 MenhirLib.EngineTypes.state = _menhir_s;
33507 MenhirLib.EngineTypes.startp = _startpos__1_;
33508 MenhirLib.EngineTypes.endp = _endpos__1_;
33509 MenhirLib.EngineTypes.next = _menhir_stack;
33510 };
33511 };
33512 };
33513 };
33514 };
33515 };
33516 } = _menhir_stack in
33517 let _6 : 'tv_script_name_decl = Obj.magic _6 in
33518 let str : 'tv_pure_ident = Obj.magic str in
33519 let _startpos = _startpos__1_ in
33520 let _endpos = _endpos__7_ in
33521 let _v : (
33522 # 229 "parser_cocci_menhir.mly"
33523 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
33524 # 33525 "parser_cocci_menhir.ml"
33525 ) =
33526 # 2288 "parser_cocci_menhir.mly"
33527 ( ((Some (P.id2name str), None), Some _6) )
33528 # 33529 "parser_cocci_menhir.ml"
33529 in
33530 _menhir_env.MenhirLib.EngineTypes.stack <- {
33531 MenhirLib.EngineTypes.state = _menhir_s;
33532 MenhirLib.EngineTypes.semv = Obj.repr _v;
33533 MenhirLib.EngineTypes.startp = _startpos;
33534 MenhirLib.EngineTypes.endp = _endpos;
33535 MenhirLib.EngineTypes.next = _menhir_stack;
33536 });
33537 (fun _menhir_env ->
33538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33539 let {
33540 MenhirLib.EngineTypes.startp = _startpos__7_;
33541 MenhirLib.EngineTypes.endp = _endpos__7_;
33542 MenhirLib.EngineTypes.next = {
33543 MenhirLib.EngineTypes.semv = _6;
33544 MenhirLib.EngineTypes.startp = _startpos__6_;
33545 MenhirLib.EngineTypes.endp = _endpos__6_;
33546 MenhirLib.EngineTypes.next = {
33547 MenhirLib.EngineTypes.startp = _startpos__5_;
33548 MenhirLib.EngineTypes.endp = _endpos__5_;
33549 MenhirLib.EngineTypes.next = {
33550 MenhirLib.EngineTypes.semv = ast;
33551 MenhirLib.EngineTypes.startp = _startpos_ast_;
33552 MenhirLib.EngineTypes.endp = _endpos_ast_;
33553 MenhirLib.EngineTypes.next = {
33554 MenhirLib.EngineTypes.startp = _startpos__3_;
33555 MenhirLib.EngineTypes.endp = _endpos__3_;
33556 MenhirLib.EngineTypes.next = {
33557 MenhirLib.EngineTypes.semv = str;
33558 MenhirLib.EngineTypes.startp = _startpos_str_;
33559 MenhirLib.EngineTypes.endp = _endpos_str_;
33560 MenhirLib.EngineTypes.next = {
33561 MenhirLib.EngineTypes.state = _menhir_s;
33562 MenhirLib.EngineTypes.startp = _startpos__1_;
33563 MenhirLib.EngineTypes.endp = _endpos__1_;
33564 MenhirLib.EngineTypes.next = _menhir_stack;
33565 };
33566 };
33567 };
33568 };
33569 };
33570 };
33571 } = _menhir_stack in
33572 let _6 : 'tv_script_name_decl = Obj.magic _6 in
33573 let ast : 'tv_pure_ident = Obj.magic ast in
33574 let str : 'tv_pure_ident = Obj.magic str in
33575 let _startpos = _startpos__1_ in
33576 let _endpos = _endpos__7_ in
33577 let _v : (
33578 # 229 "parser_cocci_menhir.mly"
33579 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
33580 # 33581 "parser_cocci_menhir.ml"
33581 ) =
33582 # 2290 "parser_cocci_menhir.mly"
33583 ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
33584 # 33585 "parser_cocci_menhir.ml"
33585 in
33586 _menhir_env.MenhirLib.EngineTypes.stack <- {
33587 MenhirLib.EngineTypes.state = _menhir_s;
33588 MenhirLib.EngineTypes.semv = Obj.repr _v;
33589 MenhirLib.EngineTypes.startp = _startpos;
33590 MenhirLib.EngineTypes.endp = _endpos;
33591 MenhirLib.EngineTypes.next = _menhir_stack;
33592 });
33593 (fun _menhir_env ->
33594 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33595 let {
33596 MenhirLib.EngineTypes.semv = cocci;
33597 MenhirLib.EngineTypes.startp = _startpos_cocci_;
33598 MenhirLib.EngineTypes.endp = _endpos_cocci_;
33599 MenhirLib.EngineTypes.next = {
33600 MenhirLib.EngineTypes.startp = _startpos__3_;
33601 MenhirLib.EngineTypes.endp = _endpos__3_;
33602 MenhirLib.EngineTypes.next = {
33603 MenhirLib.EngineTypes.semv = _2;
33604 MenhirLib.EngineTypes.startp = _startpos__2_;
33605 MenhirLib.EngineTypes.endp = _endpos__2_;
33606 MenhirLib.EngineTypes.next = {
33607 MenhirLib.EngineTypes.state = _menhir_s;
33608 MenhirLib.EngineTypes.startp = _startpos__1_;
33609 MenhirLib.EngineTypes.endp = _endpos__1_;
33610 MenhirLib.EngineTypes.next = _menhir_stack;
33611 };
33612 };
33613 };
33614 } = _menhir_stack in
33615 let cocci : 'tv_pure_ident = Obj.magic cocci in
33616 let _2 : (
33617 # 112 "parser_cocci_menhir.mly"
33618 (string)
33619 # 33620 "parser_cocci_menhir.ml"
33620 ) = Obj.magic _2 in
33621 let _startpos = _startpos__1_ in
33622 let _endpos = _endpos_cocci_ in
33623 let _v : 'tv_script_name_decl =
33624 # 2294 "parser_cocci_menhir.mly"
33625 ( let nm = P.id2name cocci in
33626 let mv = Parse_aux.lookup _2 nm in
33627 ((_2, nm), mv) )
33628 # 33629 "parser_cocci_menhir.ml"
33629 in
33630 _menhir_env.MenhirLib.EngineTypes.stack <- {
33631 MenhirLib.EngineTypes.state = _menhir_s;
33632 MenhirLib.EngineTypes.semv = Obj.repr _v;
33633 MenhirLib.EngineTypes.startp = _startpos;
33634 MenhirLib.EngineTypes.endp = _endpos;
33635 MenhirLib.EngineTypes.next = _menhir_stack;
33636 });
33637 (fun _menhir_env ->
33638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33639 let {
33640 MenhirLib.EngineTypes.semv = cocci;
33641 MenhirLib.EngineTypes.startp = _startpos_cocci_;
33642 MenhirLib.EngineTypes.endp = _endpos_cocci_;
33643 MenhirLib.EngineTypes.next = {
33644 MenhirLib.EngineTypes.startp = _startpos__3_;
33645 MenhirLib.EngineTypes.endp = _endpos__3_;
33646 MenhirLib.EngineTypes.next = {
33647 MenhirLib.EngineTypes.startp = _startpos__2_;
33648 MenhirLib.EngineTypes.endp = _endpos__2_;
33649 MenhirLib.EngineTypes.next = {
33650 MenhirLib.EngineTypes.state = _menhir_s;
33651 MenhirLib.EngineTypes.startp = _startpos__1_;
33652 MenhirLib.EngineTypes.endp = _endpos__1_;
33653 MenhirLib.EngineTypes.next = _menhir_stack;
33654 };
33655 };
33656 };
33657 } = _menhir_stack in
33658 let cocci : 'tv_pure_ident = Obj.magic cocci in
33659 let _startpos = _startpos__1_ in
33660 let _endpos = _endpos_cocci_ in
33661 let _v : 'tv_script_name_decl =
33662 # 2298 "parser_cocci_menhir.mly"
33663 ( let nm = P.id2name cocci in
33664 Iteration.parsed_virtual_identifiers :=
33665 Common.union_set [nm]
33666 !Iteration.parsed_virtual_identifiers;
33667 let name = ("virtual", nm) in
33668 let mv = Ast.MetaIdDecl(Ast.NONE,name) in
33669 (name,mv) )
33670 # 33671 "parser_cocci_menhir.ml"
33671 in
33672 _menhir_env.MenhirLib.EngineTypes.stack <- {
33673 MenhirLib.EngineTypes.state = _menhir_s;
33674 MenhirLib.EngineTypes.semv = Obj.repr _v;
33675 MenhirLib.EngineTypes.startp = _startpos;
33676 MenhirLib.EngineTypes.endp = _endpos;
33677 MenhirLib.EngineTypes.next = _menhir_stack;
33678 });
33679 (fun _menhir_env ->
33680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33681 let {
33682 MenhirLib.EngineTypes.state = _menhir_s;
33683 MenhirLib.EngineTypes.semv = _1;
33684 MenhirLib.EngineTypes.startp = _startpos__1_;
33685 MenhirLib.EngineTypes.endp = _endpos__1_;
33686 MenhirLib.EngineTypes.next = _menhir_stack;
33687 } = _menhir_stack in
33688 let _1 : (
33689 # 155 "parser_cocci_menhir.mly"
33690 (string * Data.clt)
33691 # 33692 "parser_cocci_menhir.ml"
33692 ) = Obj.magic _1 in
33693 let _startpos = _startpos__1_ in
33694 let _endpos = _endpos__1_ in
33695 let _v : 'tv_seed_elem =
33696 # 1664 "parser_cocci_menhir.mly"
33697 ( let (x,_) = _1 in Ast.SeedString x )
33698 # 33699 "parser_cocci_menhir.ml"
33699 in
33700 _menhir_env.MenhirLib.EngineTypes.stack <- {
33701 MenhirLib.EngineTypes.state = _menhir_s;
33702 MenhirLib.EngineTypes.semv = Obj.repr _v;
33703 MenhirLib.EngineTypes.startp = _startpos;
33704 MenhirLib.EngineTypes.endp = _endpos;
33705 MenhirLib.EngineTypes.next = _menhir_stack;
33706 });
33707 (fun _menhir_env ->
33708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33709 let {
33710 MenhirLib.EngineTypes.state = _menhir_s;
33711 MenhirLib.EngineTypes.semv = _1;
33712 MenhirLib.EngineTypes.startp = _startpos__1_;
33713 MenhirLib.EngineTypes.endp = _endpos__1_;
33714 MenhirLib.EngineTypes.next = _menhir_stack;
33715 } = _menhir_stack in
33716 let _1 : (
33717 # 128 "parser_cocci_menhir.mly"
33718 (Parse_aux.idinfo)
33719 # 33720 "parser_cocci_menhir.ml"
33720 ) = Obj.magic _1 in
33721 let _startpos = _startpos__1_ in
33722 let _endpos = _endpos__1_ in
33723 let _v : 'tv_seed_elem =
33724 # 1665 "parser_cocci_menhir.mly"
33725 ( let (x,_,_,_) = _1 in Ast.SeedId x )
33726 # 33727 "parser_cocci_menhir.ml"
33727 in
33728 _menhir_env.MenhirLib.EngineTypes.stack <- {
33729 MenhirLib.EngineTypes.state = _menhir_s;
33730 MenhirLib.EngineTypes.semv = Obj.repr _v;
33731 MenhirLib.EngineTypes.startp = _startpos;
33732 MenhirLib.EngineTypes.endp = _endpos;
33733 MenhirLib.EngineTypes.next = _menhir_stack;
33734 });
33735 (fun _menhir_env ->
33736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33737 let {
33738 MenhirLib.EngineTypes.state = _menhir_s;
33739 MenhirLib.EngineTypes.startp = _startpos__1_;
33740 MenhirLib.EngineTypes.endp = _endpos__1_;
33741 MenhirLib.EngineTypes.next = _menhir_stack;
33742 } = _menhir_stack in
33743 let _startpos = _startpos__1_ in
33744 let _endpos = _endpos__1_ in
33745 let _v : 'tv_seed_elem =
33746 # 1666 "parser_cocci_menhir.mly"
33747 (failwith "tmeta")
33748 # 33749 "parser_cocci_menhir.ml"
33749 in
33750 _menhir_env.MenhirLib.EngineTypes.stack <- {
33751 MenhirLib.EngineTypes.state = _menhir_s;
33752 MenhirLib.EngineTypes.semv = Obj.repr _v;
33753 MenhirLib.EngineTypes.startp = _startpos;
33754 MenhirLib.EngineTypes.endp = _endpos;
33755 MenhirLib.EngineTypes.next = _menhir_stack;
33756 });
33757 (fun _menhir_env ->
33758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33759 let {
33760 MenhirLib.EngineTypes.semv = _3;
33761 MenhirLib.EngineTypes.startp = _startpos__3_;
33762 MenhirLib.EngineTypes.endp = _endpos__3_;
33763 MenhirLib.EngineTypes.next = {
33764 MenhirLib.EngineTypes.startp = _startpos__2_;
33765 MenhirLib.EngineTypes.endp = _endpos__2_;
33766 MenhirLib.EngineTypes.next = {
33767 MenhirLib.EngineTypes.state = _menhir_s;
33768 MenhirLib.EngineTypes.semv = _1;
33769 MenhirLib.EngineTypes.startp = _startpos__1_;
33770 MenhirLib.EngineTypes.endp = _endpos__1_;
33771 MenhirLib.EngineTypes.next = _menhir_stack;
33772 };
33773 };
33774 } = _menhir_stack in
33775 let _3 : 'tv_pure_ident = Obj.magic _3 in
33776 let _1 : (
33777 # 112 "parser_cocci_menhir.mly"
33778 (string)
33779 # 33780 "parser_cocci_menhir.ml"
33780 ) = Obj.magic _1 in
33781 let _startpos = _startpos__1_ in
33782 let _endpos = _endpos__3_ in
33783 let _v : 'tv_seed_elem =
33784 # 1668 "parser_cocci_menhir.mly"
33785 ( let nm = (_1,P.id2name _3) in
33786 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
33787 Ast.SeedId nm )
33788 # 33789 "parser_cocci_menhir.ml"
33789 in
33790 _menhir_env.MenhirLib.EngineTypes.stack <- {
33791 MenhirLib.EngineTypes.state = _menhir_s;
33792 MenhirLib.EngineTypes.semv = Obj.repr _v;
33793 MenhirLib.EngineTypes.startp = _startpos;
33794 MenhirLib.EngineTypes.endp = _endpos;
33795 MenhirLib.EngineTypes.next = _menhir_stack;
33796 });
33797 (fun _menhir_env ->
33798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33799 let {
33800 MenhirLib.EngineTypes.state = _menhir_s;
33801 MenhirLib.EngineTypes.semv = x;
33802 MenhirLib.EngineTypes.startp = _startpos_x_;
33803 MenhirLib.EngineTypes.endp = _endpos_x_;
33804 MenhirLib.EngineTypes.next = _menhir_stack;
33805 } = _menhir_stack in
33806 let x : (
33807 # 155 "parser_cocci_menhir.mly"
33808 (string * Data.clt)
33809 # 33810 "parser_cocci_menhir.ml"
33810 ) = Obj.magic x in
33811 let _startpos = _startpos_x_ in
33812 let _endpos = _endpos_x_ in
33813 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
33814 # 144 "standard.mly"
33815 ( [ x ] )
33816 # 33817 "parser_cocci_menhir.ml"
33817 in
33818 _menhir_env.MenhirLib.EngineTypes.stack <- {
33819 MenhirLib.EngineTypes.state = _menhir_s;
33820 MenhirLib.EngineTypes.semv = Obj.repr _v;
33821 MenhirLib.EngineTypes.startp = _startpos;
33822 MenhirLib.EngineTypes.endp = _endpos;
33823 MenhirLib.EngineTypes.next = _menhir_stack;
33824 });
33825 (fun _menhir_env ->
33826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33827 let {
33828 MenhirLib.EngineTypes.semv = xs;
33829 MenhirLib.EngineTypes.startp = _startpos_xs_;
33830 MenhirLib.EngineTypes.endp = _endpos_xs_;
33831 MenhirLib.EngineTypes.next = {
33832 MenhirLib.EngineTypes.startp = _startpos__2_;
33833 MenhirLib.EngineTypes.endp = _endpos__2_;
33834 MenhirLib.EngineTypes.next = {
33835 MenhirLib.EngineTypes.state = _menhir_s;
33836 MenhirLib.EngineTypes.semv = x;
33837 MenhirLib.EngineTypes.startp = _startpos_x_;
33838 MenhirLib.EngineTypes.endp = _endpos_x_;
33839 MenhirLib.EngineTypes.next = _menhir_stack;
33840 };
33841 };
33842 } = _menhir_stack in
33843 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
33844 let x : (
33845 # 155 "parser_cocci_menhir.mly"
33846 (string * Data.clt)
33847 # 33848 "parser_cocci_menhir.ml"
33848 ) = Obj.magic x in
33849 let _startpos = _startpos_x_ in
33850 let _endpos = _endpos_xs_ in
33851 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
33852 # 146 "standard.mly"
33853 ( x :: xs )
33854 # 33855 "parser_cocci_menhir.ml"
33855 in
33856 _menhir_env.MenhirLib.EngineTypes.stack <- {
33857 MenhirLib.EngineTypes.state = _menhir_s;
33858 MenhirLib.EngineTypes.semv = Obj.repr _v;
33859 MenhirLib.EngineTypes.startp = _startpos;
33860 MenhirLib.EngineTypes.endp = _endpos;
33861 MenhirLib.EngineTypes.next = _menhir_stack;
33862 });
33863 (fun _menhir_env ->
33864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33865 let {
33866 MenhirLib.EngineTypes.state = _menhir_s;
33867 MenhirLib.EngineTypes.semv = x;
33868 MenhirLib.EngineTypes.startp = _startpos_x_;
33869 MenhirLib.EngineTypes.endp = _endpos_x_;
33870 MenhirLib.EngineTypes.next = _menhir_stack;
33871 } = _menhir_stack in
33872 let x : 'tv_any_strict = Obj.magic x in
33873 let _startpos = _startpos_x_ in
33874 let _endpos = _endpos_x_ in
33875 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
33876 # 144 "standard.mly"
33877 ( [ x ] )
33878 # 33879 "parser_cocci_menhir.ml"
33879 in
33880 _menhir_env.MenhirLib.EngineTypes.stack <- {
33881 MenhirLib.EngineTypes.state = _menhir_s;
33882 MenhirLib.EngineTypes.semv = Obj.repr _v;
33883 MenhirLib.EngineTypes.startp = _startpos;
33884 MenhirLib.EngineTypes.endp = _endpos;
33885 MenhirLib.EngineTypes.next = _menhir_stack;
33886 });
33887 (fun _menhir_env ->
33888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33889 let {
33890 MenhirLib.EngineTypes.semv = xs;
33891 MenhirLib.EngineTypes.startp = _startpos_xs_;
33892 MenhirLib.EngineTypes.endp = _endpos_xs_;
33893 MenhirLib.EngineTypes.next = {
33894 MenhirLib.EngineTypes.startp = _startpos__2_;
33895 MenhirLib.EngineTypes.endp = _endpos__2_;
33896 MenhirLib.EngineTypes.next = {
33897 MenhirLib.EngineTypes.state = _menhir_s;
33898 MenhirLib.EngineTypes.semv = x;
33899 MenhirLib.EngineTypes.startp = _startpos_x_;
33900 MenhirLib.EngineTypes.endp = _endpos_x_;
33901 MenhirLib.EngineTypes.next = _menhir_stack;
33902 };
33903 };
33904 } = _menhir_stack in
33905 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
33906 let x : 'tv_any_strict = Obj.magic x in
33907 let _startpos = _startpos_x_ in
33908 let _endpos = _endpos_xs_ in
33909 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
33910 # 146 "standard.mly"
33911 ( x :: xs )
33912 # 33913 "parser_cocci_menhir.ml"
33913 in
33914 _menhir_env.MenhirLib.EngineTypes.stack <- {
33915 MenhirLib.EngineTypes.state = _menhir_s;
33916 MenhirLib.EngineTypes.semv = Obj.repr _v;
33917 MenhirLib.EngineTypes.startp = _startpos;
33918 MenhirLib.EngineTypes.endp = _endpos;
33919 MenhirLib.EngineTypes.next = _menhir_stack;
33920 });
33921 (fun _menhir_env ->
33922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33923 let {
33924 MenhirLib.EngineTypes.state = _menhir_s;
33925 MenhirLib.EngineTypes.semv = x;
33926 MenhirLib.EngineTypes.startp = _startpos_x_;
33927 MenhirLib.EngineTypes.endp = _endpos_x_;
33928 MenhirLib.EngineTypes.next = _menhir_stack;
33929 } = _menhir_stack in
33930 let x : 'tv_ctype = Obj.magic x in
33931 let _startpos = _startpos_x_ in
33932 let _endpos = _endpos_x_ in
33933 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
33934 # 144 "standard.mly"
33935 ( [ x ] )
33936 # 33937 "parser_cocci_menhir.ml"
33937 in
33938 _menhir_env.MenhirLib.EngineTypes.stack <- {
33939 MenhirLib.EngineTypes.state = _menhir_s;
33940 MenhirLib.EngineTypes.semv = Obj.repr _v;
33941 MenhirLib.EngineTypes.startp = _startpos;
33942 MenhirLib.EngineTypes.endp = _endpos;
33943 MenhirLib.EngineTypes.next = _menhir_stack;
33944 });
33945 (fun _menhir_env ->
33946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33947 let {
33948 MenhirLib.EngineTypes.semv = xs;
33949 MenhirLib.EngineTypes.startp = _startpos_xs_;
33950 MenhirLib.EngineTypes.endp = _endpos_xs_;
33951 MenhirLib.EngineTypes.next = {
33952 MenhirLib.EngineTypes.startp = _startpos__2_;
33953 MenhirLib.EngineTypes.endp = _endpos__2_;
33954 MenhirLib.EngineTypes.next = {
33955 MenhirLib.EngineTypes.state = _menhir_s;
33956 MenhirLib.EngineTypes.semv = x;
33957 MenhirLib.EngineTypes.startp = _startpos_x_;
33958 MenhirLib.EngineTypes.endp = _endpos_x_;
33959 MenhirLib.EngineTypes.next = _menhir_stack;
33960 };
33961 };
33962 } = _menhir_stack in
33963 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
33964 let x : 'tv_ctype = Obj.magic x in
33965 let _startpos = _startpos_x_ in
33966 let _endpos = _endpos_xs_ in
33967 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
33968 # 146 "standard.mly"
33969 ( x :: xs )
33970 # 33971 "parser_cocci_menhir.ml"
33971 in
33972 _menhir_env.MenhirLib.EngineTypes.stack <- {
33973 MenhirLib.EngineTypes.state = _menhir_s;
33974 MenhirLib.EngineTypes.semv = Obj.repr _v;
33975 MenhirLib.EngineTypes.startp = _startpos;
33976 MenhirLib.EngineTypes.endp = _endpos;
33977 MenhirLib.EngineTypes.next = _menhir_stack;
33978 });
33979 (fun _menhir_env ->
33980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33981 let {
33982 MenhirLib.EngineTypes.state = _menhir_s;
33983 MenhirLib.EngineTypes.semv = x;
33984 MenhirLib.EngineTypes.startp = _startpos_x_;
33985 MenhirLib.EngineTypes.endp = _endpos_x_;
33986 MenhirLib.EngineTypes.next = _menhir_stack;
33987 } = _menhir_stack in
33988 let x : 'tv_d_ident = Obj.magic x in
33989 let _startpos = _startpos_x_ in
33990 let _endpos = _endpos_x_ in
33991 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
33992 # 144 "standard.mly"
33993 ( [ x ] )
33994 # 33995 "parser_cocci_menhir.ml"
33995 in
33996 _menhir_env.MenhirLib.EngineTypes.stack <- {
33997 MenhirLib.EngineTypes.state = _menhir_s;
33998 MenhirLib.EngineTypes.semv = Obj.repr _v;
33999 MenhirLib.EngineTypes.startp = _startpos;
34000 MenhirLib.EngineTypes.endp = _endpos;
34001 MenhirLib.EngineTypes.next = _menhir_stack;
34002 });
34003 (fun _menhir_env ->
34004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34005 let {
34006 MenhirLib.EngineTypes.semv = xs;
34007 MenhirLib.EngineTypes.startp = _startpos_xs_;
34008 MenhirLib.EngineTypes.endp = _endpos_xs_;
34009 MenhirLib.EngineTypes.next = {
34010 MenhirLib.EngineTypes.startp = _startpos__2_;
34011 MenhirLib.EngineTypes.endp = _endpos__2_;
34012 MenhirLib.EngineTypes.next = {
34013 MenhirLib.EngineTypes.state = _menhir_s;
34014 MenhirLib.EngineTypes.semv = x;
34015 MenhirLib.EngineTypes.startp = _startpos_x_;
34016 MenhirLib.EngineTypes.endp = _endpos_x_;
34017 MenhirLib.EngineTypes.next = _menhir_stack;
34018 };
34019 };
34020 } = _menhir_stack in
34021 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
34022 let x : 'tv_d_ident = Obj.magic x in
34023 let _startpos = _startpos_x_ in
34024 let _endpos = _endpos_xs_ in
34025 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
34026 # 146 "standard.mly"
34027 ( x :: xs )
34028 # 34029 "parser_cocci_menhir.ml"
34029 in
34030 _menhir_env.MenhirLib.EngineTypes.stack <- {
34031 MenhirLib.EngineTypes.state = _menhir_s;
34032 MenhirLib.EngineTypes.semv = Obj.repr _v;
34033 MenhirLib.EngineTypes.startp = _startpos;
34034 MenhirLib.EngineTypes.endp = _endpos;
34035 MenhirLib.EngineTypes.next = _menhir_stack;
34036 });
34037 (fun _menhir_env ->
34038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34039 let {
34040 MenhirLib.EngineTypes.state = _menhir_s;
34041 MenhirLib.EngineTypes.semv = x;
34042 MenhirLib.EngineTypes.startp = _startpos_x_;
34043 MenhirLib.EngineTypes.endp = _endpos_x_;
34044 MenhirLib.EngineTypes.next = _menhir_stack;
34045 } = _menhir_stack in
34046 let x : 'tv_ident_or_const = Obj.magic x in
34047 let _startpos = _startpos_x_ in
34048 let _endpos = _endpos_x_ in
34049 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
34050 # 144 "standard.mly"
34051 ( [ x ] )
34052 # 34053 "parser_cocci_menhir.ml"
34053 in
34054 _menhir_env.MenhirLib.EngineTypes.stack <- {
34055 MenhirLib.EngineTypes.state = _menhir_s;
34056 MenhirLib.EngineTypes.semv = Obj.repr _v;
34057 MenhirLib.EngineTypes.startp = _startpos;
34058 MenhirLib.EngineTypes.endp = _endpos;
34059 MenhirLib.EngineTypes.next = _menhir_stack;
34060 });
34061 (fun _menhir_env ->
34062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34063 let {
34064 MenhirLib.EngineTypes.semv = xs;
34065 MenhirLib.EngineTypes.startp = _startpos_xs_;
34066 MenhirLib.EngineTypes.endp = _endpos_xs_;
34067 MenhirLib.EngineTypes.next = {
34068 MenhirLib.EngineTypes.startp = _startpos__2_;
34069 MenhirLib.EngineTypes.endp = _endpos__2_;
34070 MenhirLib.EngineTypes.next = {
34071 MenhirLib.EngineTypes.state = _menhir_s;
34072 MenhirLib.EngineTypes.semv = x;
34073 MenhirLib.EngineTypes.startp = _startpos_x_;
34074 MenhirLib.EngineTypes.endp = _endpos_x_;
34075 MenhirLib.EngineTypes.next = _menhir_stack;
34076 };
34077 };
34078 } = _menhir_stack in
34079 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
34080 let x : 'tv_ident_or_const = Obj.magic x in
34081 let _startpos = _startpos_x_ in
34082 let _endpos = _endpos_xs_ in
34083 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
34084 # 146 "standard.mly"
34085 ( x :: xs )
34086 # 34087 "parser_cocci_menhir.ml"
34087 in
34088 _menhir_env.MenhirLib.EngineTypes.stack <- {
34089 MenhirLib.EngineTypes.state = _menhir_s;
34090 MenhirLib.EngineTypes.semv = Obj.repr _v;
34091 MenhirLib.EngineTypes.startp = _startpos;
34092 MenhirLib.EngineTypes.endp = _endpos;
34093 MenhirLib.EngineTypes.next = _menhir_stack;
34094 });
34095 (fun _menhir_env ->
34096 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34097 let {
34098 MenhirLib.EngineTypes.state = _menhir_s;
34099 MenhirLib.EngineTypes.semv = x;
34100 MenhirLib.EngineTypes.startp = _startpos_x_;
34101 MenhirLib.EngineTypes.endp = _endpos_x_;
34102 MenhirLib.EngineTypes.next = _menhir_stack;
34103 } = _menhir_stack in
34104 let x : 'tv_meta_ident = Obj.magic x in
34105 let _startpos = _startpos_x_ in
34106 let _endpos = _endpos_x_ in
34107 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
34108 # 144 "standard.mly"
34109 ( [ x ] )
34110 # 34111 "parser_cocci_menhir.ml"
34111 in
34112 _menhir_env.MenhirLib.EngineTypes.stack <- {
34113 MenhirLib.EngineTypes.state = _menhir_s;
34114 MenhirLib.EngineTypes.semv = Obj.repr _v;
34115 MenhirLib.EngineTypes.startp = _startpos;
34116 MenhirLib.EngineTypes.endp = _endpos;
34117 MenhirLib.EngineTypes.next = _menhir_stack;
34118 });
34119 (fun _menhir_env ->
34120 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34121 let {
34122 MenhirLib.EngineTypes.semv = xs;
34123 MenhirLib.EngineTypes.startp = _startpos_xs_;
34124 MenhirLib.EngineTypes.endp = _endpos_xs_;
34125 MenhirLib.EngineTypes.next = {
34126 MenhirLib.EngineTypes.startp = _startpos__2_;
34127 MenhirLib.EngineTypes.endp = _endpos__2_;
34128 MenhirLib.EngineTypes.next = {
34129 MenhirLib.EngineTypes.state = _menhir_s;
34130 MenhirLib.EngineTypes.semv = x;
34131 MenhirLib.EngineTypes.startp = _startpos_x_;
34132 MenhirLib.EngineTypes.endp = _endpos_x_;
34133 MenhirLib.EngineTypes.next = _menhir_stack;
34134 };
34135 };
34136 } = _menhir_stack in
34137 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
34138 let x : 'tv_meta_ident = Obj.magic x in
34139 let _startpos = _startpos_x_ in
34140 let _endpos = _endpos_xs_ in
34141 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
34142 # 146 "standard.mly"
34143 ( x :: xs )
34144 # 34145 "parser_cocci_menhir.ml"
34145 in
34146 _menhir_env.MenhirLib.EngineTypes.stack <- {
34147 MenhirLib.EngineTypes.state = _menhir_s;
34148 MenhirLib.EngineTypes.semv = Obj.repr _v;
34149 MenhirLib.EngineTypes.startp = _startpos;
34150 MenhirLib.EngineTypes.endp = _endpos;
34151 MenhirLib.EngineTypes.next = _menhir_stack;
34152 });
34153 (fun _menhir_env ->
34154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34155 let {
34156 MenhirLib.EngineTypes.state = _menhir_s;
34157 MenhirLib.EngineTypes.semv = x;
34158 MenhirLib.EngineTypes.startp = _startpos_x_;
34159 MenhirLib.EngineTypes.endp = _endpos_x_;
34160 MenhirLib.EngineTypes.next = _menhir_stack;
34161 } = _menhir_stack in
34162 let x : 'tv_pure_ident = Obj.magic x in
34163 let _startpos = _startpos_x_ in
34164 let _endpos = _endpos_x_ in
34165 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
34166 # 144 "standard.mly"
34167 ( [ x ] )
34168 # 34169 "parser_cocci_menhir.ml"
34169 in
34170 _menhir_env.MenhirLib.EngineTypes.stack <- {
34171 MenhirLib.EngineTypes.state = _menhir_s;
34172 MenhirLib.EngineTypes.semv = Obj.repr _v;
34173 MenhirLib.EngineTypes.startp = _startpos;
34174 MenhirLib.EngineTypes.endp = _endpos;
34175 MenhirLib.EngineTypes.next = _menhir_stack;
34176 });
34177 (fun _menhir_env ->
34178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34179 let {
34180 MenhirLib.EngineTypes.semv = xs;
34181 MenhirLib.EngineTypes.startp = _startpos_xs_;
34182 MenhirLib.EngineTypes.endp = _endpos_xs_;
34183 MenhirLib.EngineTypes.next = {
34184 MenhirLib.EngineTypes.startp = _startpos__2_;
34185 MenhirLib.EngineTypes.endp = _endpos__2_;
34186 MenhirLib.EngineTypes.next = {
34187 MenhirLib.EngineTypes.state = _menhir_s;
34188 MenhirLib.EngineTypes.semv = x;
34189 MenhirLib.EngineTypes.startp = _startpos_x_;
34190 MenhirLib.EngineTypes.endp = _endpos_x_;
34191 MenhirLib.EngineTypes.next = _menhir_stack;
34192 };
34193 };
34194 } = _menhir_stack in
34195 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
34196 let x : 'tv_pure_ident = Obj.magic x in
34197 let _startpos = _startpos_x_ in
34198 let _endpos = _endpos_xs_ in
34199 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
34200 # 146 "standard.mly"
34201 ( x :: xs )
34202 # 34203 "parser_cocci_menhir.ml"
34203 in
34204 _menhir_env.MenhirLib.EngineTypes.stack <- {
34205 MenhirLib.EngineTypes.state = _menhir_s;
34206 MenhirLib.EngineTypes.semv = Obj.repr _v;
34207 MenhirLib.EngineTypes.startp = _startpos;
34208 MenhirLib.EngineTypes.endp = _endpos;
34209 MenhirLib.EngineTypes.next = _menhir_stack;
34210 });
34211 (fun _menhir_env ->
34212 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34213 let {
34214 MenhirLib.EngineTypes.state = _menhir_s;
34215 MenhirLib.EngineTypes.semv = x;
34216 MenhirLib.EngineTypes.startp = _startpos_x_;
34217 MenhirLib.EngineTypes.endp = _endpos_x_;
34218 MenhirLib.EngineTypes.next = _menhir_stack;
34219 } = _menhir_stack in
34220 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
34221 let _startpos = _startpos_x_ in
34222 let _endpos = _endpos_x_ in
34223 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
34224 # 144 "standard.mly"
34225 ( [ x ] )
34226 # 34227 "parser_cocci_menhir.ml"
34227 in
34228 _menhir_env.MenhirLib.EngineTypes.stack <- {
34229 MenhirLib.EngineTypes.state = _menhir_s;
34230 MenhirLib.EngineTypes.semv = Obj.repr _v;
34231 MenhirLib.EngineTypes.startp = _startpos;
34232 MenhirLib.EngineTypes.endp = _endpos;
34233 MenhirLib.EngineTypes.next = _menhir_stack;
34234 });
34235 (fun _menhir_env ->
34236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34237 let {
34238 MenhirLib.EngineTypes.semv = xs;
34239 MenhirLib.EngineTypes.startp = _startpos_xs_;
34240 MenhirLib.EngineTypes.endp = _endpos_xs_;
34241 MenhirLib.EngineTypes.next = {
34242 MenhirLib.EngineTypes.startp = _startpos__2_;
34243 MenhirLib.EngineTypes.endp = _endpos__2_;
34244 MenhirLib.EngineTypes.next = {
34245 MenhirLib.EngineTypes.state = _menhir_s;
34246 MenhirLib.EngineTypes.semv = x;
34247 MenhirLib.EngineTypes.startp = _startpos_x_;
34248 MenhirLib.EngineTypes.endp = _endpos_x_;
34249 MenhirLib.EngineTypes.next = _menhir_stack;
34250 };
34251 };
34252 } = _menhir_stack in
34253 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
34254 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
34255 let _startpos = _startpos_x_ in
34256 let _endpos = _endpos_xs_ in
34257 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
34258 # 146 "standard.mly"
34259 ( x :: xs )
34260 # 34261 "parser_cocci_menhir.ml"
34261 in
34262 _menhir_env.MenhirLib.EngineTypes.stack <- {
34263 MenhirLib.EngineTypes.state = _menhir_s;
34264 MenhirLib.EngineTypes.semv = Obj.repr _v;
34265 MenhirLib.EngineTypes.startp = _startpos;
34266 MenhirLib.EngineTypes.endp = _endpos;
34267 MenhirLib.EngineTypes.next = _menhir_stack;
34268 });
34269 (fun _menhir_env ->
34270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34271 let {
34272 MenhirLib.EngineTypes.state = _menhir_s;
34273 MenhirLib.EngineTypes.semv = x;
34274 MenhirLib.EngineTypes.startp = _startpos_x_;
34275 MenhirLib.EngineTypes.endp = _endpos_x_;
34276 MenhirLib.EngineTypes.next = _menhir_stack;
34277 } = _menhir_stack in
34278 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
34279 let _startpos = _startpos_x_ in
34280 let _endpos = _endpos_x_ in
34281 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
34282 # 144 "standard.mly"
34283 ( [ x ] )
34284 # 34285 "parser_cocci_menhir.ml"
34285 in
34286 _menhir_env.MenhirLib.EngineTypes.stack <- {
34287 MenhirLib.EngineTypes.state = _menhir_s;
34288 MenhirLib.EngineTypes.semv = Obj.repr _v;
34289 MenhirLib.EngineTypes.startp = _startpos;
34290 MenhirLib.EngineTypes.endp = _endpos;
34291 MenhirLib.EngineTypes.next = _menhir_stack;
34292 });
34293 (fun _menhir_env ->
34294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34295 let {
34296 MenhirLib.EngineTypes.semv = xs;
34297 MenhirLib.EngineTypes.startp = _startpos_xs_;
34298 MenhirLib.EngineTypes.endp = _endpos_xs_;
34299 MenhirLib.EngineTypes.next = {
34300 MenhirLib.EngineTypes.startp = _startpos__2_;
34301 MenhirLib.EngineTypes.endp = _endpos__2_;
34302 MenhirLib.EngineTypes.next = {
34303 MenhirLib.EngineTypes.state = _menhir_s;
34304 MenhirLib.EngineTypes.semv = x;
34305 MenhirLib.EngineTypes.startp = _startpos_x_;
34306 MenhirLib.EngineTypes.endp = _endpos_x_;
34307 MenhirLib.EngineTypes.next = _menhir_stack;
34308 };
34309 };
34310 } = _menhir_stack in
34311 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
34312 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
34313 let _startpos = _startpos_x_ in
34314 let _endpos = _endpos_xs_ in
34315 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
34316 # 146 "standard.mly"
34317 ( x :: xs )
34318 # 34319 "parser_cocci_menhir.ml"
34319 in
34320 _menhir_env.MenhirLib.EngineTypes.stack <- {
34321 MenhirLib.EngineTypes.state = _menhir_s;
34322 MenhirLib.EngineTypes.semv = Obj.repr _v;
34323 MenhirLib.EngineTypes.startp = _startpos;
34324 MenhirLib.EngineTypes.endp = _endpos;
34325 MenhirLib.EngineTypes.next = _menhir_stack;
34326 });
34327 (fun _menhir_env ->
34328 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34329 let {
34330 MenhirLib.EngineTypes.state = _menhir_s;
34331 MenhirLib.EngineTypes.semv = x;
34332 MenhirLib.EngineTypes.startp = _startpos_x_;
34333 MenhirLib.EngineTypes.endp = _endpos_x_;
34334 MenhirLib.EngineTypes.next = _menhir_stack;
34335 } = _menhir_stack in
34336 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
34337 let _startpos = _startpos_x_ in
34338 let _endpos = _endpos_x_ in
34339 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
34340 # 144 "standard.mly"
34341 ( [ x ] )
34342 # 34343 "parser_cocci_menhir.ml"
34343 in
34344 _menhir_env.MenhirLib.EngineTypes.stack <- {
34345 MenhirLib.EngineTypes.state = _menhir_s;
34346 MenhirLib.EngineTypes.semv = Obj.repr _v;
34347 MenhirLib.EngineTypes.startp = _startpos;
34348 MenhirLib.EngineTypes.endp = _endpos;
34349 MenhirLib.EngineTypes.next = _menhir_stack;
34350 });
34351 (fun _menhir_env ->
34352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34353 let {
34354 MenhirLib.EngineTypes.semv = xs;
34355 MenhirLib.EngineTypes.startp = _startpos_xs_;
34356 MenhirLib.EngineTypes.endp = _endpos_xs_;
34357 MenhirLib.EngineTypes.next = {
34358 MenhirLib.EngineTypes.startp = _startpos__2_;
34359 MenhirLib.EngineTypes.endp = _endpos__2_;
34360 MenhirLib.EngineTypes.next = {
34361 MenhirLib.EngineTypes.state = _menhir_s;
34362 MenhirLib.EngineTypes.semv = x;
34363 MenhirLib.EngineTypes.startp = _startpos_x_;
34364 MenhirLib.EngineTypes.endp = _endpos_x_;
34365 MenhirLib.EngineTypes.next = _menhir_stack;
34366 };
34367 };
34368 } = _menhir_stack in
34369 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
34370 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
34371 let _startpos = _startpos_x_ in
34372 let _endpos = _endpos_xs_ in
34373 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
34374 # 146 "standard.mly"
34375 ( x :: xs )
34376 # 34377 "parser_cocci_menhir.ml"
34377 in
34378 _menhir_env.MenhirLib.EngineTypes.stack <- {
34379 MenhirLib.EngineTypes.state = _menhir_s;
34380 MenhirLib.EngineTypes.semv = Obj.repr _v;
34381 MenhirLib.EngineTypes.startp = _startpos;
34382 MenhirLib.EngineTypes.endp = _endpos;
34383 MenhirLib.EngineTypes.next = _menhir_stack;
34384 });
34385 (fun _menhir_env ->
34386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34387 let {
34388 MenhirLib.EngineTypes.state = _menhir_s;
34389 MenhirLib.EngineTypes.semv = x;
34390 MenhirLib.EngineTypes.startp = _startpos_x_;
34391 MenhirLib.EngineTypes.endp = _endpos_x_;
34392 MenhirLib.EngineTypes.next = _menhir_stack;
34393 } = _menhir_stack in
34394 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
34395 let _startpos = _startpos_x_ in
34396 let _endpos = _endpos_x_ in
34397 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
34398 # 144 "standard.mly"
34399 ( [ x ] )
34400 # 34401 "parser_cocci_menhir.ml"
34401 in
34402 _menhir_env.MenhirLib.EngineTypes.stack <- {
34403 MenhirLib.EngineTypes.state = _menhir_s;
34404 MenhirLib.EngineTypes.semv = Obj.repr _v;
34405 MenhirLib.EngineTypes.startp = _startpos;
34406 MenhirLib.EngineTypes.endp = _endpos;
34407 MenhirLib.EngineTypes.next = _menhir_stack;
34408 });
34409 (fun _menhir_env ->
34410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34411 let {
34412 MenhirLib.EngineTypes.semv = xs;
34413 MenhirLib.EngineTypes.startp = _startpos_xs_;
34414 MenhirLib.EngineTypes.endp = _endpos_xs_;
34415 MenhirLib.EngineTypes.next = {
34416 MenhirLib.EngineTypes.startp = _startpos__2_;
34417 MenhirLib.EngineTypes.endp = _endpos__2_;
34418 MenhirLib.EngineTypes.next = {
34419 MenhirLib.EngineTypes.state = _menhir_s;
34420 MenhirLib.EngineTypes.semv = x;
34421 MenhirLib.EngineTypes.startp = _startpos_x_;
34422 MenhirLib.EngineTypes.endp = _endpos_x_;
34423 MenhirLib.EngineTypes.next = _menhir_stack;
34424 };
34425 };
34426 } = _menhir_stack in
34427 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
34428 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
34429 let _startpos = _startpos_x_ in
34430 let _endpos = _endpos_xs_ in
34431 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
34432 # 146 "standard.mly"
34433 ( x :: xs )
34434 # 34435 "parser_cocci_menhir.ml"
34435 in
34436 _menhir_env.MenhirLib.EngineTypes.stack <- {
34437 MenhirLib.EngineTypes.state = _menhir_s;
34438 MenhirLib.EngineTypes.semv = Obj.repr _v;
34439 MenhirLib.EngineTypes.startp = _startpos;
34440 MenhirLib.EngineTypes.endp = _endpos;
34441 MenhirLib.EngineTypes.next = _menhir_stack;
34442 });
34443 (fun _menhir_env ->
34444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34445 let {
34446 MenhirLib.EngineTypes.state = _menhir_s;
34447 MenhirLib.EngineTypes.semv = x;
34448 MenhirLib.EngineTypes.startp = _startpos_x_;
34449 MenhirLib.EngineTypes.endp = _endpos_x_;
34450 MenhirLib.EngineTypes.next = _menhir_stack;
34451 } = _menhir_stack in
34452 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
34453 let _startpos = _startpos_x_ in
34454 let _endpos = _endpos_x_ in
34455 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
34456 # 144 "standard.mly"
34457 ( [ x ] )
34458 # 34459 "parser_cocci_menhir.ml"
34459 in
34460 _menhir_env.MenhirLib.EngineTypes.stack <- {
34461 MenhirLib.EngineTypes.state = _menhir_s;
34462 MenhirLib.EngineTypes.semv = Obj.repr _v;
34463 MenhirLib.EngineTypes.startp = _startpos;
34464 MenhirLib.EngineTypes.endp = _endpos;
34465 MenhirLib.EngineTypes.next = _menhir_stack;
34466 });
34467 (fun _menhir_env ->
34468 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34469 let {
34470 MenhirLib.EngineTypes.semv = xs;
34471 MenhirLib.EngineTypes.startp = _startpos_xs_;
34472 MenhirLib.EngineTypes.endp = _endpos_xs_;
34473 MenhirLib.EngineTypes.next = {
34474 MenhirLib.EngineTypes.startp = _startpos__2_;
34475 MenhirLib.EngineTypes.endp = _endpos__2_;
34476 MenhirLib.EngineTypes.next = {
34477 MenhirLib.EngineTypes.state = _menhir_s;
34478 MenhirLib.EngineTypes.semv = x;
34479 MenhirLib.EngineTypes.startp = _startpos_x_;
34480 MenhirLib.EngineTypes.endp = _endpos_x_;
34481 MenhirLib.EngineTypes.next = _menhir_stack;
34482 };
34483 };
34484 } = _menhir_stack in
34485 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
34486 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
34487 let _startpos = _startpos_x_ in
34488 let _endpos = _endpos_xs_ in
34489 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
34490 # 146 "standard.mly"
34491 ( x :: xs )
34492 # 34493 "parser_cocci_menhir.ml"
34493 in
34494 _menhir_env.MenhirLib.EngineTypes.stack <- {
34495 MenhirLib.EngineTypes.state = _menhir_s;
34496 MenhirLib.EngineTypes.semv = Obj.repr _v;
34497 MenhirLib.EngineTypes.startp = _startpos;
34498 MenhirLib.EngineTypes.endp = _endpos;
34499 MenhirLib.EngineTypes.next = _menhir_stack;
34500 });
34501 (fun _menhir_env ->
34502 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34503 let {
34504 MenhirLib.EngineTypes.state = _menhir_s;
34505 MenhirLib.EngineTypes.semv = x;
34506 MenhirLib.EngineTypes.startp = _startpos_x_;
34507 MenhirLib.EngineTypes.endp = _endpos_x_;
34508 MenhirLib.EngineTypes.next = _menhir_stack;
34509 } = _menhir_stack in
34510 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
34511 let _startpos = _startpos_x_ in
34512 let _endpos = _endpos_x_ in
34513 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
34514 # 144 "standard.mly"
34515 ( [ x ] )
34516 # 34517 "parser_cocci_menhir.ml"
34517 in
34518 _menhir_env.MenhirLib.EngineTypes.stack <- {
34519 MenhirLib.EngineTypes.state = _menhir_s;
34520 MenhirLib.EngineTypes.semv = Obj.repr _v;
34521 MenhirLib.EngineTypes.startp = _startpos;
34522 MenhirLib.EngineTypes.endp = _endpos;
34523 MenhirLib.EngineTypes.next = _menhir_stack;
34524 });
34525 (fun _menhir_env ->
34526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34527 let {
34528 MenhirLib.EngineTypes.semv = xs;
34529 MenhirLib.EngineTypes.startp = _startpos_xs_;
34530 MenhirLib.EngineTypes.endp = _endpos_xs_;
34531 MenhirLib.EngineTypes.next = {
34532 MenhirLib.EngineTypes.startp = _startpos__2_;
34533 MenhirLib.EngineTypes.endp = _endpos__2_;
34534 MenhirLib.EngineTypes.next = {
34535 MenhirLib.EngineTypes.state = _menhir_s;
34536 MenhirLib.EngineTypes.semv = x;
34537 MenhirLib.EngineTypes.startp = _startpos_x_;
34538 MenhirLib.EngineTypes.endp = _endpos_x_;
34539 MenhirLib.EngineTypes.next = _menhir_stack;
34540 };
34541 };
34542 } = _menhir_stack in
34543 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
34544 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
34545 let _startpos = _startpos_x_ in
34546 let _endpos = _endpos_xs_ in
34547 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
34548 # 146 "standard.mly"
34549 ( x :: xs )
34550 # 34551 "parser_cocci_menhir.ml"
34551 in
34552 _menhir_env.MenhirLib.EngineTypes.stack <- {
34553 MenhirLib.EngineTypes.state = _menhir_s;
34554 MenhirLib.EngineTypes.semv = Obj.repr _v;
34555 MenhirLib.EngineTypes.startp = _startpos;
34556 MenhirLib.EngineTypes.endp = _endpos;
34557 MenhirLib.EngineTypes.next = _menhir_stack;
34558 });
34559 (fun _menhir_env ->
34560 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34561 let {
34562 MenhirLib.EngineTypes.state = _menhir_s;
34563 MenhirLib.EngineTypes.semv = x;
34564 MenhirLib.EngineTypes.startp = _startpos_x_;
34565 MenhirLib.EngineTypes.endp = _endpos_x_;
34566 MenhirLib.EngineTypes.next = _menhir_stack;
34567 } = _menhir_stack in
34568 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
34569 let _startpos = _startpos_x_ in
34570 let _endpos = _endpos_x_ in
34571 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
34572 # 144 "standard.mly"
34573 ( [ x ] )
34574 # 34575 "parser_cocci_menhir.ml"
34575 in
34576 _menhir_env.MenhirLib.EngineTypes.stack <- {
34577 MenhirLib.EngineTypes.state = _menhir_s;
34578 MenhirLib.EngineTypes.semv = Obj.repr _v;
34579 MenhirLib.EngineTypes.startp = _startpos;
34580 MenhirLib.EngineTypes.endp = _endpos;
34581 MenhirLib.EngineTypes.next = _menhir_stack;
34582 });
34583 (fun _menhir_env ->
34584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34585 let {
34586 MenhirLib.EngineTypes.semv = xs;
34587 MenhirLib.EngineTypes.startp = _startpos_xs_;
34588 MenhirLib.EngineTypes.endp = _endpos_xs_;
34589 MenhirLib.EngineTypes.next = {
34590 MenhirLib.EngineTypes.startp = _startpos__2_;
34591 MenhirLib.EngineTypes.endp = _endpos__2_;
34592 MenhirLib.EngineTypes.next = {
34593 MenhirLib.EngineTypes.state = _menhir_s;
34594 MenhirLib.EngineTypes.semv = x;
34595 MenhirLib.EngineTypes.startp = _startpos_x_;
34596 MenhirLib.EngineTypes.endp = _endpos_x_;
34597 MenhirLib.EngineTypes.next = _menhir_stack;
34598 };
34599 };
34600 } = _menhir_stack in
34601 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
34602 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
34603 let _startpos = _startpos_x_ in
34604 let _endpos = _endpos_xs_ in
34605 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
34606 # 146 "standard.mly"
34607 ( x :: xs )
34608 # 34609 "parser_cocci_menhir.ml"
34609 in
34610 _menhir_env.MenhirLib.EngineTypes.stack <- {
34611 MenhirLib.EngineTypes.state = _menhir_s;
34612 MenhirLib.EngineTypes.semv = Obj.repr _v;
34613 MenhirLib.EngineTypes.startp = _startpos;
34614 MenhirLib.EngineTypes.endp = _endpos;
34615 MenhirLib.EngineTypes.next = _menhir_stack;
34616 });
34617 (fun _menhir_env ->
34618 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34619 let {
34620 MenhirLib.EngineTypes.state = _menhir_s;
34621 MenhirLib.EngineTypes.semv = x;
34622 MenhirLib.EngineTypes.startp = _startpos_x_;
34623 MenhirLib.EngineTypes.endp = _endpos_x_;
34624 MenhirLib.EngineTypes.next = _menhir_stack;
34625 } = _menhir_stack in
34626 let x : 'tv_typedef_ident = Obj.magic x in
34627 let _startpos = _startpos_x_ in
34628 let _endpos = _endpos_x_ in
34629 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
34630 # 144 "standard.mly"
34631 ( [ x ] )
34632 # 34633 "parser_cocci_menhir.ml"
34633 in
34634 _menhir_env.MenhirLib.EngineTypes.stack <- {
34635 MenhirLib.EngineTypes.state = _menhir_s;
34636 MenhirLib.EngineTypes.semv = Obj.repr _v;
34637 MenhirLib.EngineTypes.startp = _startpos;
34638 MenhirLib.EngineTypes.endp = _endpos;
34639 MenhirLib.EngineTypes.next = _menhir_stack;
34640 });
34641 (fun _menhir_env ->
34642 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34643 let {
34644 MenhirLib.EngineTypes.semv = xs;
34645 MenhirLib.EngineTypes.startp = _startpos_xs_;
34646 MenhirLib.EngineTypes.endp = _endpos_xs_;
34647 MenhirLib.EngineTypes.next = {
34648 MenhirLib.EngineTypes.startp = _startpos__2_;
34649 MenhirLib.EngineTypes.endp = _endpos__2_;
34650 MenhirLib.EngineTypes.next = {
34651 MenhirLib.EngineTypes.state = _menhir_s;
34652 MenhirLib.EngineTypes.semv = x;
34653 MenhirLib.EngineTypes.startp = _startpos_x_;
34654 MenhirLib.EngineTypes.endp = _endpos_x_;
34655 MenhirLib.EngineTypes.next = _menhir_stack;
34656 };
34657 };
34658 } = _menhir_stack in
34659 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
34660 let x : 'tv_typedef_ident = Obj.magic x in
34661 let _startpos = _startpos_x_ in
34662 let _endpos = _endpos_xs_ in
34663 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
34664 # 146 "standard.mly"
34665 ( x :: xs )
34666 # 34667 "parser_cocci_menhir.ml"
34667 in
34668 _menhir_env.MenhirLib.EngineTypes.stack <- {
34669 MenhirLib.EngineTypes.state = _menhir_s;
34670 MenhirLib.EngineTypes.semv = Obj.repr _v;
34671 MenhirLib.EngineTypes.startp = _startpos;
34672 MenhirLib.EngineTypes.endp = _endpos;
34673 MenhirLib.EngineTypes.next = _menhir_stack;
34674 });
34675 (fun _menhir_env ->
34676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34677 let {
34678 MenhirLib.EngineTypes.state = _menhir_s;
34679 MenhirLib.EngineTypes.semv = x;
34680 MenhirLib.EngineTypes.startp = _startpos_x_;
34681 MenhirLib.EngineTypes.endp = _endpos_x_;
34682 MenhirLib.EngineTypes.next = _menhir_stack;
34683 } = _menhir_stack in
34684 let x : 'tv_seed_elem = Obj.magic x in
34685 let _startpos = _startpos_x_ in
34686 let _endpos = _endpos_x_ in
34687 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
34688 # 144 "standard.mly"
34689 ( [ x ] )
34690 # 34691 "parser_cocci_menhir.ml"
34691 in
34692 _menhir_env.MenhirLib.EngineTypes.stack <- {
34693 MenhirLib.EngineTypes.state = _menhir_s;
34694 MenhirLib.EngineTypes.semv = Obj.repr _v;
34695 MenhirLib.EngineTypes.startp = _startpos;
34696 MenhirLib.EngineTypes.endp = _endpos;
34697 MenhirLib.EngineTypes.next = _menhir_stack;
34698 });
34699 (fun _menhir_env ->
34700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34701 let {
34702 MenhirLib.EngineTypes.semv = xs;
34703 MenhirLib.EngineTypes.startp = _startpos_xs_;
34704 MenhirLib.EngineTypes.endp = _endpos_xs_;
34705 MenhirLib.EngineTypes.next = {
34706 MenhirLib.EngineTypes.startp = _startpos__2_;
34707 MenhirLib.EngineTypes.endp = _endpos__2_;
34708 MenhirLib.EngineTypes.next = {
34709 MenhirLib.EngineTypes.state = _menhir_s;
34710 MenhirLib.EngineTypes.semv = x;
34711 MenhirLib.EngineTypes.startp = _startpos_x_;
34712 MenhirLib.EngineTypes.endp = _endpos_x_;
34713 MenhirLib.EngineTypes.next = _menhir_stack;
34714 };
34715 };
34716 } = _menhir_stack in
34717 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
34718 let x : 'tv_seed_elem = Obj.magic x in
34719 let _startpos = _startpos_x_ in
34720 let _endpos = _endpos_xs_ in
34721 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
34722 # 146 "standard.mly"
34723 ( x :: xs )
34724 # 34725 "parser_cocci_menhir.ml"
34725 in
34726 _menhir_env.MenhirLib.EngineTypes.stack <- {
34727 MenhirLib.EngineTypes.state = _menhir_s;
34728 MenhirLib.EngineTypes.semv = Obj.repr _v;
34729 MenhirLib.EngineTypes.startp = _startpos;
34730 MenhirLib.EngineTypes.endp = _endpos;
34731 MenhirLib.EngineTypes.next = _menhir_stack;
34732 });
34733 (fun _menhir_env ->
34734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34735 let {
34736 MenhirLib.EngineTypes.state = _menhir_s;
34737 MenhirLib.EngineTypes.semv = _1;
34738 MenhirLib.EngineTypes.startp = _startpos__1_;
34739 MenhirLib.EngineTypes.endp = _endpos__1_;
34740 MenhirLib.EngineTypes.next = _menhir_stack;
34741 } = _menhir_stack in
34742 let _1 : 'tv_statement = Obj.magic _1 in
34743 let _startpos = _startpos__1_ in
34744 let _endpos = _endpos__1_ in
34745 let _v : 'tv_single_statement =
34746 # 1115 "parser_cocci_menhir.mly"
34747 ( _1 )
34748 # 34749 "parser_cocci_menhir.ml"
34749 in
34750 _menhir_env.MenhirLib.EngineTypes.stack <- {
34751 MenhirLib.EngineTypes.state = _menhir_s;
34752 MenhirLib.EngineTypes.semv = Obj.repr _v;
34753 MenhirLib.EngineTypes.startp = _startpos;
34754 MenhirLib.EngineTypes.endp = _endpos;
34755 MenhirLib.EngineTypes.next = _menhir_stack;
34756 });
34757 (fun _menhir_env ->
34758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34759 let {
34760 MenhirLib.EngineTypes.semv = _3;
34761 MenhirLib.EngineTypes.startp = _startpos__3_;
34762 MenhirLib.EngineTypes.endp = _endpos__3_;
34763 MenhirLib.EngineTypes.next = {
34764 MenhirLib.EngineTypes.semv = _2;
34765 MenhirLib.EngineTypes.startp = _startpos__2_;
34766 MenhirLib.EngineTypes.endp = _endpos__2_;
34767 MenhirLib.EngineTypes.next = {
34768 MenhirLib.EngineTypes.state = _menhir_s;
34769 MenhirLib.EngineTypes.semv = _1;
34770 MenhirLib.EngineTypes.startp = _startpos__1_;
34771 MenhirLib.EngineTypes.endp = _endpos__1_;
34772 MenhirLib.EngineTypes.next = _menhir_stack;
34773 };
34774 };
34775 } = _menhir_stack in
34776 let _3 : (
34777 # 145 "parser_cocci_menhir.mly"
34778 (Data.clt)
34779 # 34780 "parser_cocci_menhir.ml"
34780 ) = Obj.magic _3 in
34781 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
34782 let _1 : (
34783 # 144 "parser_cocci_menhir.mly"
34784 (Data.clt)
34785 # 34786 "parser_cocci_menhir.ml"
34786 ) = Obj.magic _1 in
34787 let _startpos = _startpos__1_ in
34788 let _endpos = _endpos__3_ in
34789 let _v : 'tv_single_statement =
34790 # 1119 "parser_cocci_menhir.mly"
34791 ( let (mids,code) = _2 in
34792 Ast0.wrap
34793 (Ast0.Disj(P.clt2mcode "(" _1,
34794 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
34795 mids, P.clt2mcode ")" _3)) )
34796 # 34797 "parser_cocci_menhir.ml"
34797 in
34798 _menhir_env.MenhirLib.EngineTypes.stack <- {
34799 MenhirLib.EngineTypes.state = _menhir_s;
34800 MenhirLib.EngineTypes.semv = Obj.repr _v;
34801 MenhirLib.EngineTypes.startp = _startpos;
34802 MenhirLib.EngineTypes.endp = _endpos;
34803 MenhirLib.EngineTypes.next = _menhir_stack;
34804 });
34805 (fun _menhir_env ->
34806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34807 let {
34808 MenhirLib.EngineTypes.state = _menhir_s;
34809 MenhirLib.EngineTypes.semv = _1;
34810 MenhirLib.EngineTypes.startp = _startpos__1_;
34811 MenhirLib.EngineTypes.endp = _endpos__1_;
34812 MenhirLib.EngineTypes.next = _menhir_stack;
34813 } = _menhir_stack in
34814 let _1 : 'tv_includes = Obj.magic _1 in
34815 let _startpos = _startpos__1_ in
34816 let _endpos = _endpos__1_ in
34817 let _v : 'tv_statement =
34818 # 1041 "parser_cocci_menhir.mly"
34819 ( _1 )
34820 # 34821 "parser_cocci_menhir.ml"
34821 in
34822 _menhir_env.MenhirLib.EngineTypes.stack <- {
34823 MenhirLib.EngineTypes.state = _menhir_s;
34824 MenhirLib.EngineTypes.semv = Obj.repr _v;
34825 MenhirLib.EngineTypes.startp = _startpos;
34826 MenhirLib.EngineTypes.endp = _endpos;
34827 MenhirLib.EngineTypes.next = _menhir_stack;
34828 });
34829 (fun _menhir_env ->
34830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34831 let {
34832 MenhirLib.EngineTypes.state = _menhir_s;
34833 MenhirLib.EngineTypes.semv = _1;
34834 MenhirLib.EngineTypes.startp = _startpos__1_;
34835 MenhirLib.EngineTypes.endp = _endpos__1_;
34836 MenhirLib.EngineTypes.next = _menhir_stack;
34837 } = _menhir_stack in
34838 let _1 : (
34839 # 132 "parser_cocci_menhir.mly"
34840 (Parse_aux.info)
34841 # 34842 "parser_cocci_menhir.ml"
34842 ) = Obj.magic _1 in
34843 let _startpos = _startpos__1_ in
34844 let _endpos = _endpos__1_ in
34845 let _v : 'tv_statement =
34846 # 1042 "parser_cocci_menhir.mly"
34847 ( tmeta_to_statement _1)
34848 # 34849 "parser_cocci_menhir.ml"
34849 in
34850 _menhir_env.MenhirLib.EngineTypes.stack <- {
34851 MenhirLib.EngineTypes.state = _menhir_s;
34852 MenhirLib.EngineTypes.semv = Obj.repr _v;
34853 MenhirLib.EngineTypes.startp = _startpos;
34854 MenhirLib.EngineTypes.endp = _endpos;
34855 MenhirLib.EngineTypes.next = _menhir_stack;
34856 });
34857 (fun _menhir_env ->
34858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34859 let {
34860 MenhirLib.EngineTypes.state = _menhir_s;
34861 MenhirLib.EngineTypes.semv = _1;
34862 MenhirLib.EngineTypes.startp = _startpos__1_;
34863 MenhirLib.EngineTypes.endp = _endpos__1_;
34864 MenhirLib.EngineTypes.next = _menhir_stack;
34865 } = _menhir_stack in
34866 let _1 : (
34867 # 131 "parser_cocci_menhir.mly"
34868 (Parse_aux.info)
34869 # 34870 "parser_cocci_menhir.ml"
34870 ) = Obj.magic _1 in
34871 let _startpos = _startpos__1_ in
34872 let _endpos = _endpos__1_ in
34873 let _v : 'tv_statement =
34874 # 1044 "parser_cocci_menhir.mly"
34875 ( P.meta_stm _1 )
34876 # 34877 "parser_cocci_menhir.ml"
34877 in
34878 _menhir_env.MenhirLib.EngineTypes.stack <- {
34879 MenhirLib.EngineTypes.state = _menhir_s;
34880 MenhirLib.EngineTypes.semv = Obj.repr _v;
34881 MenhirLib.EngineTypes.startp = _startpos;
34882 MenhirLib.EngineTypes.endp = _endpos;
34883 MenhirLib.EngineTypes.next = _menhir_stack;
34884 });
34885 (fun _menhir_env ->
34886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34887 let {
34888 MenhirLib.EngineTypes.semv = _2;
34889 MenhirLib.EngineTypes.startp = _startpos__2_;
34890 MenhirLib.EngineTypes.endp = _endpos__2_;
34891 MenhirLib.EngineTypes.next = {
34892 MenhirLib.EngineTypes.state = _menhir_s;
34893 MenhirLib.EngineTypes.semv = _1;
34894 MenhirLib.EngineTypes.startp = _startpos__1_;
34895 MenhirLib.EngineTypes.endp = _endpos__1_;
34896 MenhirLib.EngineTypes.next = _menhir_stack;
34897 };
34898 } = _menhir_stack in
34899 let _2 : (
34900 # 175 "parser_cocci_menhir.mly"
34901 (Data.clt)
34902 # 34903 "parser_cocci_menhir.ml"
34903 ) = Obj.magic _2 in
34904 let _1 : 'tv_expr = Obj.magic _1 in
34905 let _startpos = _startpos__1_ in
34906 let _endpos = _endpos__2_ in
34907 let _v : 'tv_statement =
34908 # 1046 "parser_cocci_menhir.mly"
34909 ( P.exp_stm _1 _2 )
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 = _5;
34923 MenhirLib.EngineTypes.startp = _startpos__5_;
34924 MenhirLib.EngineTypes.endp = _endpos__5_;
34925 MenhirLib.EngineTypes.next = {
34926 MenhirLib.EngineTypes.semv = _4;
34927 MenhirLib.EngineTypes.startp = _startpos__4_;
34928 MenhirLib.EngineTypes.endp = _endpos__4_;
34929 MenhirLib.EngineTypes.next = {
34930 MenhirLib.EngineTypes.semv = _3;
34931 MenhirLib.EngineTypes.startp = _startpos__3_;
34932 MenhirLib.EngineTypes.endp = _endpos__3_;
34933 MenhirLib.EngineTypes.next = {
34934 MenhirLib.EngineTypes.semv = _2;
34935 MenhirLib.EngineTypes.startp = _startpos__2_;
34936 MenhirLib.EngineTypes.endp = _endpos__2_;
34937 MenhirLib.EngineTypes.next = {
34938 MenhirLib.EngineTypes.state = _menhir_s;
34939 MenhirLib.EngineTypes.semv = _1;
34940 MenhirLib.EngineTypes.startp = _startpos__1_;
34941 MenhirLib.EngineTypes.endp = _endpos__1_;
34942 MenhirLib.EngineTypes.next = _menhir_stack;
34943 };
34944 };
34945 };
34946 };
34947 } = _menhir_stack in
34948 let _5 : 'tv_single_statement = Obj.magic _5 in
34949 let _4 : (
34950 # 145 "parser_cocci_menhir.mly"
34951 (Data.clt)
34952 # 34953 "parser_cocci_menhir.ml"
34953 ) = Obj.magic _4 in
34954 let _3 : 'tv_eexpr = Obj.magic _3 in
34955 let _2 : (
34956 # 144 "parser_cocci_menhir.mly"
34957 (Data.clt)
34958 # 34959 "parser_cocci_menhir.ml"
34959 ) = Obj.magic _2 in
34960 let _1 : (
34961 # 123 "parser_cocci_menhir.mly"
34962 (Data.clt)
34963 # 34964 "parser_cocci_menhir.ml"
34964 ) = Obj.magic _1 in
34965 let _startpos = _startpos__1_ in
34966 let _endpos = _endpos__5_ in
34967 let _v : 'tv_statement =
34968 # 1048 "parser_cocci_menhir.mly"
34969 ( P.ifthen _1 _2 _3 _4 _5 )
34970 # 34971 "parser_cocci_menhir.ml"
34971 in
34972 _menhir_env.MenhirLib.EngineTypes.stack <- {
34973 MenhirLib.EngineTypes.state = _menhir_s;
34974 MenhirLib.EngineTypes.semv = Obj.repr _v;
34975 MenhirLib.EngineTypes.startp = _startpos;
34976 MenhirLib.EngineTypes.endp = _endpos;
34977 MenhirLib.EngineTypes.next = _menhir_stack;
34978 });
34979 (fun _menhir_env ->
34980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34981 let {
34982 MenhirLib.EngineTypes.semv = _7;
34983 MenhirLib.EngineTypes.startp = _startpos__7_;
34984 MenhirLib.EngineTypes.endp = _endpos__7_;
34985 MenhirLib.EngineTypes.next = {
34986 MenhirLib.EngineTypes.semv = _6;
34987 MenhirLib.EngineTypes.startp = _startpos__6_;
34988 MenhirLib.EngineTypes.endp = _endpos__6_;
34989 MenhirLib.EngineTypes.next = {
34990 MenhirLib.EngineTypes.semv = _5;
34991 MenhirLib.EngineTypes.startp = _startpos__5_;
34992 MenhirLib.EngineTypes.endp = _endpos__5_;
34993 MenhirLib.EngineTypes.next = {
34994 MenhirLib.EngineTypes.semv = _4;
34995 MenhirLib.EngineTypes.startp = _startpos__4_;
34996 MenhirLib.EngineTypes.endp = _endpos__4_;
34997 MenhirLib.EngineTypes.next = {
34998 MenhirLib.EngineTypes.semv = _3;
34999 MenhirLib.EngineTypes.startp = _startpos__3_;
35000 MenhirLib.EngineTypes.endp = _endpos__3_;
35001 MenhirLib.EngineTypes.next = {
35002 MenhirLib.EngineTypes.semv = _2;
35003 MenhirLib.EngineTypes.startp = _startpos__2_;
35004 MenhirLib.EngineTypes.endp = _endpos__2_;
35005 MenhirLib.EngineTypes.next = {
35006 MenhirLib.EngineTypes.state = _menhir_s;
35007 MenhirLib.EngineTypes.semv = _1;
35008 MenhirLib.EngineTypes.startp = _startpos__1_;
35009 MenhirLib.EngineTypes.endp = _endpos__1_;
35010 MenhirLib.EngineTypes.next = _menhir_stack;
35011 };
35012 };
35013 };
35014 };
35015 };
35016 };
35017 } = _menhir_stack in
35018 let _7 : 'tv_single_statement = Obj.magic _7 in
35019 let _6 : (
35020 # 123 "parser_cocci_menhir.mly"
35021 (Data.clt)
35022 # 35023 "parser_cocci_menhir.ml"
35023 ) = Obj.magic _6 in
35024 let _5 : 'tv_single_statement = Obj.magic _5 in
35025 let _4 : (
35026 # 145 "parser_cocci_menhir.mly"
35027 (Data.clt)
35028 # 35029 "parser_cocci_menhir.ml"
35029 ) = Obj.magic _4 in
35030 let _3 : 'tv_eexpr = Obj.magic _3 in
35031 let _2 : (
35032 # 144 "parser_cocci_menhir.mly"
35033 (Data.clt)
35034 # 35035 "parser_cocci_menhir.ml"
35035 ) = Obj.magic _2 in
35036 let _1 : (
35037 # 123 "parser_cocci_menhir.mly"
35038 (Data.clt)
35039 # 35040 "parser_cocci_menhir.ml"
35040 ) = Obj.magic _1 in
35041 let _startpos = _startpos__1_ in
35042 let _endpos = _endpos__7_ in
35043 let _v : 'tv_statement =
35044 # 1050 "parser_cocci_menhir.mly"
35045 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
35046 # 35047 "parser_cocci_menhir.ml"
35047 in
35048 _menhir_env.MenhirLib.EngineTypes.stack <- {
35049 MenhirLib.EngineTypes.state = _menhir_s;
35050 MenhirLib.EngineTypes.semv = Obj.repr _v;
35051 MenhirLib.EngineTypes.startp = _startpos;
35052 MenhirLib.EngineTypes.endp = _endpos;
35053 MenhirLib.EngineTypes.next = _menhir_stack;
35054 });
35055 (fun _menhir_env ->
35056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35057 let {
35058 MenhirLib.EngineTypes.semv = _9;
35059 MenhirLib.EngineTypes.startp = _startpos__9_;
35060 MenhirLib.EngineTypes.endp = _endpos__9_;
35061 MenhirLib.EngineTypes.next = {
35062 MenhirLib.EngineTypes.semv = _8;
35063 MenhirLib.EngineTypes.startp = _startpos__8_;
35064 MenhirLib.EngineTypes.endp = _endpos__8_;
35065 MenhirLib.EngineTypes.next = {
35066 MenhirLib.EngineTypes.semv = _7;
35067 MenhirLib.EngineTypes.startp = _startpos__7_;
35068 MenhirLib.EngineTypes.endp = _endpos__7_;
35069 MenhirLib.EngineTypes.next = {
35070 MenhirLib.EngineTypes.semv = _6;
35071 MenhirLib.EngineTypes.startp = _startpos__6_;
35072 MenhirLib.EngineTypes.endp = _endpos__6_;
35073 MenhirLib.EngineTypes.next = {
35074 MenhirLib.EngineTypes.semv = _5;
35075 MenhirLib.EngineTypes.startp = _startpos__5_;
35076 MenhirLib.EngineTypes.endp = _endpos__5_;
35077 MenhirLib.EngineTypes.next = {
35078 MenhirLib.EngineTypes.semv = _4;
35079 MenhirLib.EngineTypes.startp = _startpos__4_;
35080 MenhirLib.EngineTypes.endp = _endpos__4_;
35081 MenhirLib.EngineTypes.next = {
35082 MenhirLib.EngineTypes.semv = _3;
35083 MenhirLib.EngineTypes.startp = _startpos__3_;
35084 MenhirLib.EngineTypes.endp = _endpos__3_;
35085 MenhirLib.EngineTypes.next = {
35086 MenhirLib.EngineTypes.semv = _2;
35087 MenhirLib.EngineTypes.startp = _startpos__2_;
35088 MenhirLib.EngineTypes.endp = _endpos__2_;
35089 MenhirLib.EngineTypes.next = {
35090 MenhirLib.EngineTypes.state = _menhir_s;
35091 MenhirLib.EngineTypes.semv = _1;
35092 MenhirLib.EngineTypes.startp = _startpos__1_;
35093 MenhirLib.EngineTypes.endp = _endpos__1_;
35094 MenhirLib.EngineTypes.next = _menhir_stack;
35095 };
35096 };
35097 };
35098 };
35099 };
35100 };
35101 };
35102 };
35103 } = _menhir_stack in
35104 let _9 : 'tv_single_statement = Obj.magic _9 in
35105 let _8 : (
35106 # 145 "parser_cocci_menhir.mly"
35107 (Data.clt)
35108 # 35109 "parser_cocci_menhir.ml"
35109 ) = Obj.magic _8 in
35110 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
35111 let _6 : (
35112 # 175 "parser_cocci_menhir.mly"
35113 (Data.clt)
35114 # 35115 "parser_cocci_menhir.ml"
35115 ) = Obj.magic _6 in
35116 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
35117 let _4 : (
35118 # 175 "parser_cocci_menhir.mly"
35119 (Data.clt)
35120 # 35121 "parser_cocci_menhir.ml"
35121 ) = Obj.magic _4 in
35122 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
35123 let _2 : (
35124 # 144 "parser_cocci_menhir.mly"
35125 (Data.clt)
35126 # 35127 "parser_cocci_menhir.ml"
35127 ) = Obj.magic _2 in
35128 let _1 : (
35129 # 123 "parser_cocci_menhir.mly"
35130 (Data.clt)
35131 # 35132 "parser_cocci_menhir.ml"
35132 ) = Obj.magic _1 in
35133 let _startpos = _startpos__1_ in
35134 let _endpos = _endpos__9_ in
35135 let _v : 'tv_statement =
35136 # 1053 "parser_cocci_menhir.mly"
35137 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
35138 # 35139 "parser_cocci_menhir.ml"
35139 in
35140 _menhir_env.MenhirLib.EngineTypes.stack <- {
35141 MenhirLib.EngineTypes.state = _menhir_s;
35142 MenhirLib.EngineTypes.semv = Obj.repr _v;
35143 MenhirLib.EngineTypes.startp = _startpos;
35144 MenhirLib.EngineTypes.endp = _endpos;
35145 MenhirLib.EngineTypes.next = _menhir_stack;
35146 });
35147 (fun _menhir_env ->
35148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35149 let {
35150 MenhirLib.EngineTypes.semv = _5;
35151 MenhirLib.EngineTypes.startp = _startpos__5_;
35152 MenhirLib.EngineTypes.endp = _endpos__5_;
35153 MenhirLib.EngineTypes.next = {
35154 MenhirLib.EngineTypes.semv = _4;
35155 MenhirLib.EngineTypes.startp = _startpos__4_;
35156 MenhirLib.EngineTypes.endp = _endpos__4_;
35157 MenhirLib.EngineTypes.next = {
35158 MenhirLib.EngineTypes.semv = _3;
35159 MenhirLib.EngineTypes.startp = _startpos__3_;
35160 MenhirLib.EngineTypes.endp = _endpos__3_;
35161 MenhirLib.EngineTypes.next = {
35162 MenhirLib.EngineTypes.semv = _2;
35163 MenhirLib.EngineTypes.startp = _startpos__2_;
35164 MenhirLib.EngineTypes.endp = _endpos__2_;
35165 MenhirLib.EngineTypes.next = {
35166 MenhirLib.EngineTypes.state = _menhir_s;
35167 MenhirLib.EngineTypes.semv = _1;
35168 MenhirLib.EngineTypes.startp = _startpos__1_;
35169 MenhirLib.EngineTypes.endp = _endpos__1_;
35170 MenhirLib.EngineTypes.next = _menhir_stack;
35171 };
35172 };
35173 };
35174 };
35175 } = _menhir_stack in
35176 let _5 : 'tv_single_statement = Obj.magic _5 in
35177 let _4 : (
35178 # 145 "parser_cocci_menhir.mly"
35179 (Data.clt)
35180 # 35181 "parser_cocci_menhir.ml"
35181 ) = Obj.magic _4 in
35182 let _3 : 'tv_eexpr = Obj.magic _3 in
35183 let _2 : (
35184 # 144 "parser_cocci_menhir.mly"
35185 (Data.clt)
35186 # 35187 "parser_cocci_menhir.ml"
35187 ) = Obj.magic _2 in
35188 let _1 : (
35189 # 123 "parser_cocci_menhir.mly"
35190 (Data.clt)
35191 # 35192 "parser_cocci_menhir.ml"
35192 ) = Obj.magic _1 in
35193 let _startpos = _startpos__1_ in
35194 let _endpos = _endpos__5_ in
35195 let _v : 'tv_statement =
35196 # 1055 "parser_cocci_menhir.mly"
35197 ( P.whileloop _1 _2 _3 _4 _5 )
35198 # 35199 "parser_cocci_menhir.ml"
35199 in
35200 _menhir_env.MenhirLib.EngineTypes.stack <- {
35201 MenhirLib.EngineTypes.state = _menhir_s;
35202 MenhirLib.EngineTypes.semv = Obj.repr _v;
35203 MenhirLib.EngineTypes.startp = _startpos;
35204 MenhirLib.EngineTypes.endp = _endpos;
35205 MenhirLib.EngineTypes.next = _menhir_stack;
35206 });
35207 (fun _menhir_env ->
35208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35209 let {
35210 MenhirLib.EngineTypes.semv = _7;
35211 MenhirLib.EngineTypes.startp = _startpos__7_;
35212 MenhirLib.EngineTypes.endp = _endpos__7_;
35213 MenhirLib.EngineTypes.next = {
35214 MenhirLib.EngineTypes.semv = _6;
35215 MenhirLib.EngineTypes.startp = _startpos__6_;
35216 MenhirLib.EngineTypes.endp = _endpos__6_;
35217 MenhirLib.EngineTypes.next = {
35218 MenhirLib.EngineTypes.semv = _5;
35219 MenhirLib.EngineTypes.startp = _startpos__5_;
35220 MenhirLib.EngineTypes.endp = _endpos__5_;
35221 MenhirLib.EngineTypes.next = {
35222 MenhirLib.EngineTypes.semv = _4;
35223 MenhirLib.EngineTypes.startp = _startpos__4_;
35224 MenhirLib.EngineTypes.endp = _endpos__4_;
35225 MenhirLib.EngineTypes.next = {
35226 MenhirLib.EngineTypes.semv = _3;
35227 MenhirLib.EngineTypes.startp = _startpos__3_;
35228 MenhirLib.EngineTypes.endp = _endpos__3_;
35229 MenhirLib.EngineTypes.next = {
35230 MenhirLib.EngineTypes.semv = _2;
35231 MenhirLib.EngineTypes.startp = _startpos__2_;
35232 MenhirLib.EngineTypes.endp = _endpos__2_;
35233 MenhirLib.EngineTypes.next = {
35234 MenhirLib.EngineTypes.state = _menhir_s;
35235 MenhirLib.EngineTypes.semv = _1;
35236 MenhirLib.EngineTypes.startp = _startpos__1_;
35237 MenhirLib.EngineTypes.endp = _endpos__1_;
35238 MenhirLib.EngineTypes.next = _menhir_stack;
35239 };
35240 };
35241 };
35242 };
35243 };
35244 };
35245 } = _menhir_stack in
35246 let _7 : (
35247 # 175 "parser_cocci_menhir.mly"
35248 (Data.clt)
35249 # 35250 "parser_cocci_menhir.ml"
35250 ) = Obj.magic _7 in
35251 let _6 : (
35252 # 145 "parser_cocci_menhir.mly"
35253 (Data.clt)
35254 # 35255 "parser_cocci_menhir.ml"
35255 ) = Obj.magic _6 in
35256 let _5 : 'tv_eexpr = Obj.magic _5 in
35257 let _4 : (
35258 # 144 "parser_cocci_menhir.mly"
35259 (Data.clt)
35260 # 35261 "parser_cocci_menhir.ml"
35261 ) = Obj.magic _4 in
35262 let _3 : (
35263 # 123 "parser_cocci_menhir.mly"
35264 (Data.clt)
35265 # 35266 "parser_cocci_menhir.ml"
35266 ) = Obj.magic _3 in
35267 let _2 : 'tv_single_statement = Obj.magic _2 in
35268 let _1 : (
35269 # 123 "parser_cocci_menhir.mly"
35270 (Data.clt)
35271 # 35272 "parser_cocci_menhir.ml"
35272 ) = Obj.magic _1 in
35273 let _startpos = _startpos__1_ in
35274 let _endpos = _endpos__7_ in
35275 let _v : 'tv_statement =
35276 # 1057 "parser_cocci_menhir.mly"
35277 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
35278 # 35279 "parser_cocci_menhir.ml"
35279 in
35280 _menhir_env.MenhirLib.EngineTypes.stack <- {
35281 MenhirLib.EngineTypes.state = _menhir_s;
35282 MenhirLib.EngineTypes.semv = Obj.repr _v;
35283 MenhirLib.EngineTypes.startp = _startpos;
35284 MenhirLib.EngineTypes.endp = _endpos;
35285 MenhirLib.EngineTypes.next = _menhir_stack;
35286 });
35287 (fun _menhir_env ->
35288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35289 let {
35290 MenhirLib.EngineTypes.semv = _5;
35291 MenhirLib.EngineTypes.startp = _startpos__5_;
35292 MenhirLib.EngineTypes.endp = _endpos__5_;
35293 MenhirLib.EngineTypes.next = {
35294 MenhirLib.EngineTypes.semv = _4;
35295 MenhirLib.EngineTypes.startp = _startpos__4_;
35296 MenhirLib.EngineTypes.endp = _endpos__4_;
35297 MenhirLib.EngineTypes.next = {
35298 MenhirLib.EngineTypes.semv = _3;
35299 MenhirLib.EngineTypes.startp = _startpos__3_;
35300 MenhirLib.EngineTypes.endp = _endpos__3_;
35301 MenhirLib.EngineTypes.next = {
35302 MenhirLib.EngineTypes.semv = _2;
35303 MenhirLib.EngineTypes.startp = _startpos__2_;
35304 MenhirLib.EngineTypes.endp = _endpos__2_;
35305 MenhirLib.EngineTypes.next = {
35306 MenhirLib.EngineTypes.state = _menhir_s;
35307 MenhirLib.EngineTypes.semv = _1;
35308 MenhirLib.EngineTypes.startp = _startpos__1_;
35309 MenhirLib.EngineTypes.endp = _endpos__1_;
35310 MenhirLib.EngineTypes.next = _menhir_stack;
35311 };
35312 };
35313 };
35314 };
35315 } = _menhir_stack in
35316 let _5 : 'tv_single_statement = Obj.magic _5 in
35317 let _4 : (
35318 # 145 "parser_cocci_menhir.mly"
35319 (Data.clt)
35320 # 35321 "parser_cocci_menhir.ml"
35321 ) = Obj.magic _4 in
35322 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
35323 let _2 : (
35324 # 144 "parser_cocci_menhir.mly"
35325 (Data.clt)
35326 # 35327 "parser_cocci_menhir.ml"
35327 ) = Obj.magic _2 in
35328 let _1 : 'tv_iter_ident = Obj.magic _1 in
35329 let _startpos = _startpos__1_ in
35330 let _endpos = _endpos__5_ in
35331 let _v : 'tv_statement =
35332 # 1059 "parser_cocci_menhir.mly"
35333 ( P.iterator _1 _2 _3 _4 _5 )
35334 # 35335 "parser_cocci_menhir.ml"
35335 in
35336 _menhir_env.MenhirLib.EngineTypes.stack <- {
35337 MenhirLib.EngineTypes.state = _menhir_s;
35338 MenhirLib.EngineTypes.semv = Obj.repr _v;
35339 MenhirLib.EngineTypes.startp = _startpos;
35340 MenhirLib.EngineTypes.endp = _endpos;
35341 MenhirLib.EngineTypes.next = _menhir_stack;
35342 });
35343 (fun _menhir_env ->
35344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35345 let {
35346 MenhirLib.EngineTypes.semv = _8;
35347 MenhirLib.EngineTypes.startp = _startpos__8_;
35348 MenhirLib.EngineTypes.endp = _endpos__8_;
35349 MenhirLib.EngineTypes.next = {
35350 MenhirLib.EngineTypes.semv = _7;
35351 MenhirLib.EngineTypes.startp = _startpos__7_;
35352 MenhirLib.EngineTypes.endp = _endpos__7_;
35353 MenhirLib.EngineTypes.next = {
35354 MenhirLib.EngineTypes.semv = _6;
35355 MenhirLib.EngineTypes.startp = _startpos__6_;
35356 MenhirLib.EngineTypes.endp = _endpos__6_;
35357 MenhirLib.EngineTypes.next = {
35358 MenhirLib.EngineTypes.semv = _5;
35359 MenhirLib.EngineTypes.startp = _startpos__5_;
35360 MenhirLib.EngineTypes.endp = _endpos__5_;
35361 MenhirLib.EngineTypes.next = {
35362 MenhirLib.EngineTypes.semv = _4;
35363 MenhirLib.EngineTypes.startp = _startpos__4_;
35364 MenhirLib.EngineTypes.endp = _endpos__4_;
35365 MenhirLib.EngineTypes.next = {
35366 MenhirLib.EngineTypes.semv = _3;
35367 MenhirLib.EngineTypes.startp = _startpos__3_;
35368 MenhirLib.EngineTypes.endp = _endpos__3_;
35369 MenhirLib.EngineTypes.next = {
35370 MenhirLib.EngineTypes.semv = _2;
35371 MenhirLib.EngineTypes.startp = _startpos__2_;
35372 MenhirLib.EngineTypes.endp = _endpos__2_;
35373 MenhirLib.EngineTypes.next = {
35374 MenhirLib.EngineTypes.state = _menhir_s;
35375 MenhirLib.EngineTypes.semv = _1;
35376 MenhirLib.EngineTypes.startp = _startpos__1_;
35377 MenhirLib.EngineTypes.endp = _endpos__1_;
35378 MenhirLib.EngineTypes.next = _menhir_stack;
35379 };
35380 };
35381 };
35382 };
35383 };
35384 };
35385 };
35386 } = _menhir_stack in
35387 let _8 : (
35388 # 169 "parser_cocci_menhir.mly"
35389 (Data.clt)
35390 # 35391 "parser_cocci_menhir.ml"
35391 ) = Obj.magic _8 in
35392 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
35393 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
35394 let _5 : (
35395 # 169 "parser_cocci_menhir.mly"
35396 (Data.clt)
35397 # 35398 "parser_cocci_menhir.ml"
35398 ) = Obj.magic _5 in
35399 let _4 : (
35400 # 145 "parser_cocci_menhir.mly"
35401 (Data.clt)
35402 # 35403 "parser_cocci_menhir.ml"
35403 ) = Obj.magic _4 in
35404 let _3 : 'tv_eexpr = Obj.magic _3 in
35405 let _2 : (
35406 # 144 "parser_cocci_menhir.mly"
35407 (Data.clt)
35408 # 35409 "parser_cocci_menhir.ml"
35409 ) = Obj.magic _2 in
35410 let _1 : (
35411 # 123 "parser_cocci_menhir.mly"
35412 (Data.clt)
35413 # 35414 "parser_cocci_menhir.ml"
35414 ) = Obj.magic _1 in
35415 let _startpos = _startpos__1_ in
35416 let _endpos = _endpos__8_ in
35417 let _v : 'tv_statement =
35418 # 1061 "parser_cocci_menhir.mly"
35419 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
35420 # 35421 "parser_cocci_menhir.ml"
35421 in
35422 _menhir_env.MenhirLib.EngineTypes.stack <- {
35423 MenhirLib.EngineTypes.state = _menhir_s;
35424 MenhirLib.EngineTypes.semv = Obj.repr _v;
35425 MenhirLib.EngineTypes.startp = _startpos;
35426 MenhirLib.EngineTypes.endp = _endpos;
35427 MenhirLib.EngineTypes.next = _menhir_stack;
35428 });
35429 (fun _menhir_env ->
35430 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35431 let {
35432 MenhirLib.EngineTypes.semv = _3;
35433 MenhirLib.EngineTypes.startp = _startpos__3_;
35434 MenhirLib.EngineTypes.endp = _endpos__3_;
35435 MenhirLib.EngineTypes.next = {
35436 MenhirLib.EngineTypes.semv = _2;
35437 MenhirLib.EngineTypes.startp = _startpos__2_;
35438 MenhirLib.EngineTypes.endp = _endpos__2_;
35439 MenhirLib.EngineTypes.next = {
35440 MenhirLib.EngineTypes.state = _menhir_s;
35441 MenhirLib.EngineTypes.semv = _1;
35442 MenhirLib.EngineTypes.startp = _startpos__1_;
35443 MenhirLib.EngineTypes.endp = _endpos__1_;
35444 MenhirLib.EngineTypes.next = _menhir_stack;
35445 };
35446 };
35447 } = _menhir_stack in
35448 let _3 : (
35449 # 175 "parser_cocci_menhir.mly"
35450 (Data.clt)
35451 # 35452 "parser_cocci_menhir.ml"
35452 ) = Obj.magic _3 in
35453 let _2 : 'tv_eexpr = Obj.magic _2 in
35454 let _1 : (
35455 # 123 "parser_cocci_menhir.mly"
35456 (Data.clt)
35457 # 35458 "parser_cocci_menhir.ml"
35458 ) = Obj.magic _1 in
35459 let _startpos = _startpos__1_ in
35460 let _endpos = _endpos__3_ in
35461 let _v : 'tv_statement =
35462 # 1062 "parser_cocci_menhir.mly"
35463 ( P.ret_exp _1 _2 _3 )
35464 # 35465 "parser_cocci_menhir.ml"
35465 in
35466 _menhir_env.MenhirLib.EngineTypes.stack <- {
35467 MenhirLib.EngineTypes.state = _menhir_s;
35468 MenhirLib.EngineTypes.semv = Obj.repr _v;
35469 MenhirLib.EngineTypes.startp = _startpos;
35470 MenhirLib.EngineTypes.endp = _endpos;
35471 MenhirLib.EngineTypes.next = _menhir_stack;
35472 });
35473 (fun _menhir_env ->
35474 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35475 let {
35476 MenhirLib.EngineTypes.semv = _2;
35477 MenhirLib.EngineTypes.startp = _startpos__2_;
35478 MenhirLib.EngineTypes.endp = _endpos__2_;
35479 MenhirLib.EngineTypes.next = {
35480 MenhirLib.EngineTypes.state = _menhir_s;
35481 MenhirLib.EngineTypes.semv = _1;
35482 MenhirLib.EngineTypes.startp = _startpos__1_;
35483 MenhirLib.EngineTypes.endp = _endpos__1_;
35484 MenhirLib.EngineTypes.next = _menhir_stack;
35485 };
35486 } = _menhir_stack in
35487 let _2 : (
35488 # 175 "parser_cocci_menhir.mly"
35489 (Data.clt)
35490 # 35491 "parser_cocci_menhir.ml"
35491 ) = Obj.magic _2 in
35492 let _1 : (
35493 # 123 "parser_cocci_menhir.mly"
35494 (Data.clt)
35495 # 35496 "parser_cocci_menhir.ml"
35496 ) = Obj.magic _1 in
35497 let _startpos = _startpos__1_ in
35498 let _endpos = _endpos__2_ in
35499 let _v : 'tv_statement =
35500 # 1063 "parser_cocci_menhir.mly"
35501 ( P.ret _1 _2 )
35502 # 35503 "parser_cocci_menhir.ml"
35503 in
35504 _menhir_env.MenhirLib.EngineTypes.stack <- {
35505 MenhirLib.EngineTypes.state = _menhir_s;
35506 MenhirLib.EngineTypes.semv = Obj.repr _v;
35507 MenhirLib.EngineTypes.startp = _startpos;
35508 MenhirLib.EngineTypes.endp = _endpos;
35509 MenhirLib.EngineTypes.next = _menhir_stack;
35510 });
35511 (fun _menhir_env ->
35512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35513 let {
35514 MenhirLib.EngineTypes.semv = _2;
35515 MenhirLib.EngineTypes.startp = _startpos__2_;
35516 MenhirLib.EngineTypes.endp = _endpos__2_;
35517 MenhirLib.EngineTypes.next = {
35518 MenhirLib.EngineTypes.state = _menhir_s;
35519 MenhirLib.EngineTypes.semv = _1;
35520 MenhirLib.EngineTypes.startp = _startpos__1_;
35521 MenhirLib.EngineTypes.endp = _endpos__1_;
35522 MenhirLib.EngineTypes.next = _menhir_stack;
35523 };
35524 } = _menhir_stack in
35525 let _2 : (
35526 # 175 "parser_cocci_menhir.mly"
35527 (Data.clt)
35528 # 35529 "parser_cocci_menhir.ml"
35529 ) = Obj.magic _2 in
35530 let _1 : (
35531 # 124 "parser_cocci_menhir.mly"
35532 (Data.clt)
35533 # 35534 "parser_cocci_menhir.ml"
35534 ) = Obj.magic _1 in
35535 let _startpos = _startpos__1_ in
35536 let _endpos = _endpos__2_ in
35537 let _v : 'tv_statement =
35538 # 1064 "parser_cocci_menhir.mly"
35539 ( P.break _1 _2 )
35540 # 35541 "parser_cocci_menhir.ml"
35541 in
35542 _menhir_env.MenhirLib.EngineTypes.stack <- {
35543 MenhirLib.EngineTypes.state = _menhir_s;
35544 MenhirLib.EngineTypes.semv = Obj.repr _v;
35545 MenhirLib.EngineTypes.startp = _startpos;
35546 MenhirLib.EngineTypes.endp = _endpos;
35547 MenhirLib.EngineTypes.next = _menhir_stack;
35548 });
35549 (fun _menhir_env ->
35550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35551 let {
35552 MenhirLib.EngineTypes.semv = _2;
35553 MenhirLib.EngineTypes.startp = _startpos__2_;
35554 MenhirLib.EngineTypes.endp = _endpos__2_;
35555 MenhirLib.EngineTypes.next = {
35556 MenhirLib.EngineTypes.state = _menhir_s;
35557 MenhirLib.EngineTypes.semv = _1;
35558 MenhirLib.EngineTypes.startp = _startpos__1_;
35559 MenhirLib.EngineTypes.endp = _endpos__1_;
35560 MenhirLib.EngineTypes.next = _menhir_stack;
35561 };
35562 } = _menhir_stack in
35563 let _2 : (
35564 # 175 "parser_cocci_menhir.mly"
35565 (Data.clt)
35566 # 35567 "parser_cocci_menhir.ml"
35567 ) = Obj.magic _2 in
35568 let _1 : (
35569 # 124 "parser_cocci_menhir.mly"
35570 (Data.clt)
35571 # 35572 "parser_cocci_menhir.ml"
35572 ) = Obj.magic _1 in
35573 let _startpos = _startpos__1_ in
35574 let _endpos = _endpos__2_ in
35575 let _v : 'tv_statement =
35576 # 1065 "parser_cocci_menhir.mly"
35577 ( P.cont _1 _2 )
35578 # 35579 "parser_cocci_menhir.ml"
35579 in
35580 _menhir_env.MenhirLib.EngineTypes.stack <- {
35581 MenhirLib.EngineTypes.state = _menhir_s;
35582 MenhirLib.EngineTypes.semv = Obj.repr _v;
35583 MenhirLib.EngineTypes.startp = _startpos;
35584 MenhirLib.EngineTypes.endp = _endpos;
35585 MenhirLib.EngineTypes.next = _menhir_stack;
35586 });
35587 (fun _menhir_env ->
35588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35589 let {
35590 MenhirLib.EngineTypes.semv = _2;
35591 MenhirLib.EngineTypes.startp = _startpos__2_;
35592 MenhirLib.EngineTypes.endp = _endpos__2_;
35593 MenhirLib.EngineTypes.next = {
35594 MenhirLib.EngineTypes.state = _menhir_s;
35595 MenhirLib.EngineTypes.semv = _1;
35596 MenhirLib.EngineTypes.startp = _startpos__1_;
35597 MenhirLib.EngineTypes.endp = _endpos__1_;
35598 MenhirLib.EngineTypes.next = _menhir_stack;
35599 };
35600 } = _menhir_stack in
35601 let _2 : (
35602 # 144 "parser_cocci_menhir.mly"
35603 (Data.clt)
35604 # 35605 "parser_cocci_menhir.ml"
35605 ) = Obj.magic _2 in
35606 let _1 : 'tv_mident = Obj.magic _1 in
35607 let _startpos = _startpos__1_ in
35608 let _endpos = _endpos__2_ in
35609 let _v : 'tv_statement =
35610 # 1066 "parser_cocci_menhir.mly"
35611 ( P.label _1 _2 )
35612 # 35613 "parser_cocci_menhir.ml"
35613 in
35614 _menhir_env.MenhirLib.EngineTypes.stack <- {
35615 MenhirLib.EngineTypes.state = _menhir_s;
35616 MenhirLib.EngineTypes.semv = Obj.repr _v;
35617 MenhirLib.EngineTypes.startp = _startpos;
35618 MenhirLib.EngineTypes.endp = _endpos;
35619 MenhirLib.EngineTypes.next = _menhir_stack;
35620 });
35621 (fun _menhir_env ->
35622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35623 let {
35624 MenhirLib.EngineTypes.semv = _3;
35625 MenhirLib.EngineTypes.startp = _startpos__3_;
35626 MenhirLib.EngineTypes.endp = _endpos__3_;
35627 MenhirLib.EngineTypes.next = {
35628 MenhirLib.EngineTypes.semv = _2;
35629 MenhirLib.EngineTypes.startp = _startpos__2_;
35630 MenhirLib.EngineTypes.endp = _endpos__2_;
35631 MenhirLib.EngineTypes.next = {
35632 MenhirLib.EngineTypes.state = _menhir_s;
35633 MenhirLib.EngineTypes.semv = _1;
35634 MenhirLib.EngineTypes.startp = _startpos__1_;
35635 MenhirLib.EngineTypes.endp = _endpos__1_;
35636 MenhirLib.EngineTypes.next = _menhir_stack;
35637 };
35638 };
35639 } = _menhir_stack in
35640 let _3 : (
35641 # 175 "parser_cocci_menhir.mly"
35642 (Data.clt)
35643 # 35644 "parser_cocci_menhir.ml"
35644 ) = Obj.magic _3 in
35645 let _2 : 'tv_disj_ident = Obj.magic _2 in
35646 let _1 : (
35647 # 124 "parser_cocci_menhir.mly"
35648 (Data.clt)
35649 # 35650 "parser_cocci_menhir.ml"
35650 ) = Obj.magic _1 in
35651 let _startpos = _startpos__1_ in
35652 let _endpos = _endpos__3_ in
35653 let _v : 'tv_statement =
35654 # 1067 "parser_cocci_menhir.mly"
35655 ( P.goto _1 _2 _3 )
35656 # 35657 "parser_cocci_menhir.ml"
35657 in
35658 _menhir_env.MenhirLib.EngineTypes.stack <- {
35659 MenhirLib.EngineTypes.state = _menhir_s;
35660 MenhirLib.EngineTypes.semv = Obj.repr _v;
35661 MenhirLib.EngineTypes.startp = _startpos;
35662 MenhirLib.EngineTypes.endp = _endpos;
35663 MenhirLib.EngineTypes.next = _menhir_stack;
35664 });
35665 (fun _menhir_env ->
35666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35667 let {
35668 MenhirLib.EngineTypes.semv = _3;
35669 MenhirLib.EngineTypes.startp = _startpos__3_;
35670 MenhirLib.EngineTypes.endp = _endpos__3_;
35671 MenhirLib.EngineTypes.next = {
35672 MenhirLib.EngineTypes.semv = _2;
35673 MenhirLib.EngineTypes.startp = _startpos__2_;
35674 MenhirLib.EngineTypes.endp = _endpos__2_;
35675 MenhirLib.EngineTypes.next = {
35676 MenhirLib.EngineTypes.state = _menhir_s;
35677 MenhirLib.EngineTypes.semv = _1;
35678 MenhirLib.EngineTypes.startp = _startpos__1_;
35679 MenhirLib.EngineTypes.endp = _endpos__1_;
35680 MenhirLib.EngineTypes.next = _menhir_stack;
35681 };
35682 };
35683 } = _menhir_stack in
35684 let _3 : (
35685 # 169 "parser_cocci_menhir.mly"
35686 (Data.clt)
35687 # 35688 "parser_cocci_menhir.ml"
35688 ) = Obj.magic _3 in
35689 let _2 : 'tv_fun_start = Obj.magic _2 in
35690 let _1 : (
35691 # 169 "parser_cocci_menhir.mly"
35692 (Data.clt)
35693 # 35694 "parser_cocci_menhir.ml"
35694 ) = Obj.magic _1 in
35695 let _startpos = _startpos__1_ in
35696 let _endpos = _endpos__3_ in
35697 let _v : 'tv_statement =
35698 # 1069 "parser_cocci_menhir.mly"
35699 ( P.seq _1 _2 _3 )
35700 # 35701 "parser_cocci_menhir.ml"
35701 in
35702 _menhir_env.MenhirLib.EngineTypes.stack <- {
35703 MenhirLib.EngineTypes.state = _menhir_s;
35704 MenhirLib.EngineTypes.semv = Obj.repr _v;
35705 MenhirLib.EngineTypes.startp = _startpos;
35706 MenhirLib.EngineTypes.endp = _endpos;
35707 MenhirLib.EngineTypes.next = _menhir_stack;
35708 });
35709 (fun _menhir_env ->
35710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35711 let {
35712 MenhirLib.EngineTypes.semv = w;
35713 MenhirLib.EngineTypes.startp = _startpos_w_;
35714 MenhirLib.EngineTypes.endp = _endpos_w_;
35715 MenhirLib.EngineTypes.next = {
35716 MenhirLib.EngineTypes.state = _menhir_s;
35717 MenhirLib.EngineTypes.semv = _1;
35718 MenhirLib.EngineTypes.startp = _startpos__1_;
35719 MenhirLib.EngineTypes.endp = _endpos__1_;
35720 MenhirLib.EngineTypes.next = _menhir_stack;
35721 };
35722 } = _menhir_stack in
35723 let w : 'tv_list_whenppdecs_ = Obj.magic w in
35724 let _1 : (
35725 # 141 "parser_cocci_menhir.mly"
35726 (Data.clt)
35727 # 35728 "parser_cocci_menhir.ml"
35728 ) = Obj.magic _1 in
35729 let _startpos = _startpos__1_ in
35730 let _endpos = _endpos_w_ in
35731 let _v : 'tv_stm_dots =
35732 # 1073 "parser_cocci_menhir.mly"
35733 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
35734 # 35735 "parser_cocci_menhir.ml"
35735 in
35736 _menhir_env.MenhirLib.EngineTypes.stack <- {
35737 MenhirLib.EngineTypes.state = _menhir_s;
35738 MenhirLib.EngineTypes.semv = Obj.repr _v;
35739 MenhirLib.EngineTypes.startp = _startpos;
35740 MenhirLib.EngineTypes.endp = _endpos;
35741 MenhirLib.EngineTypes.next = _menhir_stack;
35742 });
35743 (fun _menhir_env ->
35744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35745 let {
35746 MenhirLib.EngineTypes.semv = c;
35747 MenhirLib.EngineTypes.startp = _startpos_c_;
35748 MenhirLib.EngineTypes.endp = _endpos_c_;
35749 MenhirLib.EngineTypes.next = {
35750 MenhirLib.EngineTypes.semv = b;
35751 MenhirLib.EngineTypes.startp = _startpos_b_;
35752 MenhirLib.EngineTypes.endp = _endpos_b_;
35753 MenhirLib.EngineTypes.next = {
35754 MenhirLib.EngineTypes.semv = w;
35755 MenhirLib.EngineTypes.startp = _startpos_w_;
35756 MenhirLib.EngineTypes.endp = _endpos_w_;
35757 MenhirLib.EngineTypes.next = {
35758 MenhirLib.EngineTypes.state = _menhir_s;
35759 MenhirLib.EngineTypes.semv = _1;
35760 MenhirLib.EngineTypes.startp = _startpos__1_;
35761 MenhirLib.EngineTypes.endp = _endpos__1_;
35762 MenhirLib.EngineTypes.next = _menhir_stack;
35763 };
35764 };
35765 };
35766 } = _menhir_stack in
35767 let c : (
35768 # 141 "parser_cocci_menhir.mly"
35769 (Data.clt)
35770 # 35771 "parser_cocci_menhir.ml"
35771 ) = Obj.magic c in
35772 let b : 'tv_nest_start = Obj.magic b in
35773 let w : 'tv_list_whenppdecs_ = Obj.magic w in
35774 let _1 : (
35775 # 141 "parser_cocci_menhir.mly"
35776 (Data.clt)
35777 # 35778 "parser_cocci_menhir.ml"
35778 ) = Obj.magic _1 in
35779 let _startpos = _startpos__1_ in
35780 let _endpos = _endpos_c_ in
35781 let _v : 'tv_stm_dots =
35782 # 1075 "parser_cocci_menhir.mly"
35783 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
35784 P.clt2mcode "...>" c, List.concat w, false)) )
35785 # 35786 "parser_cocci_menhir.ml"
35786 in
35787 _menhir_env.MenhirLib.EngineTypes.stack <- {
35788 MenhirLib.EngineTypes.state = _menhir_s;
35789 MenhirLib.EngineTypes.semv = Obj.repr _v;
35790 MenhirLib.EngineTypes.startp = _startpos;
35791 MenhirLib.EngineTypes.endp = _endpos;
35792 MenhirLib.EngineTypes.next = _menhir_stack;
35793 });
35794 (fun _menhir_env ->
35795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35796 let {
35797 MenhirLib.EngineTypes.semv = c;
35798 MenhirLib.EngineTypes.startp = _startpos_c_;
35799 MenhirLib.EngineTypes.endp = _endpos_c_;
35800 MenhirLib.EngineTypes.next = {
35801 MenhirLib.EngineTypes.semv = b;
35802 MenhirLib.EngineTypes.startp = _startpos_b_;
35803 MenhirLib.EngineTypes.endp = _endpos_b_;
35804 MenhirLib.EngineTypes.next = {
35805 MenhirLib.EngineTypes.semv = w;
35806 MenhirLib.EngineTypes.startp = _startpos_w_;
35807 MenhirLib.EngineTypes.endp = _endpos_w_;
35808 MenhirLib.EngineTypes.next = {
35809 MenhirLib.EngineTypes.state = _menhir_s;
35810 MenhirLib.EngineTypes.semv = _1;
35811 MenhirLib.EngineTypes.startp = _startpos__1_;
35812 MenhirLib.EngineTypes.endp = _endpos__1_;
35813 MenhirLib.EngineTypes.next = _menhir_stack;
35814 };
35815 };
35816 };
35817 } = _menhir_stack in
35818 let c : (
35819 # 141 "parser_cocci_menhir.mly"
35820 (Data.clt)
35821 # 35822 "parser_cocci_menhir.ml"
35822 ) = Obj.magic c in
35823 let b : 'tv_nest_start = Obj.magic b in
35824 let w : 'tv_list_whenppdecs_ = Obj.magic w in
35825 let _1 : (
35826 # 141 "parser_cocci_menhir.mly"
35827 (Data.clt)
35828 # 35829 "parser_cocci_menhir.ml"
35829 ) = Obj.magic _1 in
35830 let _startpos = _startpos__1_ in
35831 let _endpos = _endpos_c_ in
35832 let _v : 'tv_stm_dots =
35833 # 1078 "parser_cocci_menhir.mly"
35834 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
35835 P.clt2mcode "...+>" c, List.concat w, true)) )
35836 # 35837 "parser_cocci_menhir.ml"
35837 in
35838 _menhir_env.MenhirLib.EngineTypes.stack <- {
35839 MenhirLib.EngineTypes.state = _menhir_s;
35840 MenhirLib.EngineTypes.semv = Obj.repr _v;
35841 MenhirLib.EngineTypes.startp = _startpos;
35842 MenhirLib.EngineTypes.endp = _endpos;
35843 MenhirLib.EngineTypes.next = _menhir_stack;
35844 });
35845 (fun _menhir_env ->
35846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35847 let {
35848 MenhirLib.EngineTypes.state = _menhir_s;
35849 MenhirLib.EngineTypes.semv = s;
35850 MenhirLib.EngineTypes.startp = _startpos_s_;
35851 MenhirLib.EngineTypes.endp = _endpos_s_;
35852 MenhirLib.EngineTypes.next = _menhir_stack;
35853 } = _menhir_stack in
35854 let s : (
35855 # 119 "parser_cocci_menhir.mly"
35856 (Data.clt)
35857 # 35858 "parser_cocci_menhir.ml"
35858 ) = Obj.magic s in
35859 let _startpos = _startpos_s_ in
35860 let _endpos = _endpos_s_ in
35861 let _v : 'tv_storage =
35862 # 1002 "parser_cocci_menhir.mly"
35863 ( P.clt2mcode Ast.Static s )
35864 # 35865 "parser_cocci_menhir.ml"
35865 in
35866 _menhir_env.MenhirLib.EngineTypes.stack <- {
35867 MenhirLib.EngineTypes.state = _menhir_s;
35868 MenhirLib.EngineTypes.semv = Obj.repr _v;
35869 MenhirLib.EngineTypes.startp = _startpos;
35870 MenhirLib.EngineTypes.endp = _endpos;
35871 MenhirLib.EngineTypes.next = _menhir_stack;
35872 });
35873 (fun _menhir_env ->
35874 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35875 let {
35876 MenhirLib.EngineTypes.state = _menhir_s;
35877 MenhirLib.EngineTypes.semv = s;
35878 MenhirLib.EngineTypes.startp = _startpos_s_;
35879 MenhirLib.EngineTypes.endp = _endpos_s_;
35880 MenhirLib.EngineTypes.next = _menhir_stack;
35881 } = _menhir_stack in
35882 let s : (
35883 # 119 "parser_cocci_menhir.mly"
35884 (Data.clt)
35885 # 35886 "parser_cocci_menhir.ml"
35886 ) = Obj.magic s in
35887 let _startpos = _startpos_s_ in
35888 let _endpos = _endpos_s_ in
35889 let _v : 'tv_storage =
35890 # 1003 "parser_cocci_menhir.mly"
35891 ( P.clt2mcode Ast.Auto s )
35892 # 35893 "parser_cocci_menhir.ml"
35893 in
35894 _menhir_env.MenhirLib.EngineTypes.stack <- {
35895 MenhirLib.EngineTypes.state = _menhir_s;
35896 MenhirLib.EngineTypes.semv = Obj.repr _v;
35897 MenhirLib.EngineTypes.startp = _startpos;
35898 MenhirLib.EngineTypes.endp = _endpos;
35899 MenhirLib.EngineTypes.next = _menhir_stack;
35900 });
35901 (fun _menhir_env ->
35902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35903 let {
35904 MenhirLib.EngineTypes.state = _menhir_s;
35905 MenhirLib.EngineTypes.semv = s;
35906 MenhirLib.EngineTypes.startp = _startpos_s_;
35907 MenhirLib.EngineTypes.endp = _endpos_s_;
35908 MenhirLib.EngineTypes.next = _menhir_stack;
35909 } = _menhir_stack in
35910 let s : (
35911 # 119 "parser_cocci_menhir.mly"
35912 (Data.clt)
35913 # 35914 "parser_cocci_menhir.ml"
35914 ) = Obj.magic s in
35915 let _startpos = _startpos_s_ in
35916 let _endpos = _endpos_s_ in
35917 let _v : 'tv_storage =
35918 # 1004 "parser_cocci_menhir.mly"
35919 ( P.clt2mcode Ast.Register s )
35920 # 35921 "parser_cocci_menhir.ml"
35921 in
35922 _menhir_env.MenhirLib.EngineTypes.stack <- {
35923 MenhirLib.EngineTypes.state = _menhir_s;
35924 MenhirLib.EngineTypes.semv = Obj.repr _v;
35925 MenhirLib.EngineTypes.startp = _startpos;
35926 MenhirLib.EngineTypes.endp = _endpos;
35927 MenhirLib.EngineTypes.next = _menhir_stack;
35928 });
35929 (fun _menhir_env ->
35930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35931 let {
35932 MenhirLib.EngineTypes.state = _menhir_s;
35933 MenhirLib.EngineTypes.semv = s;
35934 MenhirLib.EngineTypes.startp = _startpos_s_;
35935 MenhirLib.EngineTypes.endp = _endpos_s_;
35936 MenhirLib.EngineTypes.next = _menhir_stack;
35937 } = _menhir_stack in
35938 let s : (
35939 # 119 "parser_cocci_menhir.mly"
35940 (Data.clt)
35941 # 35942 "parser_cocci_menhir.ml"
35942 ) = Obj.magic s in
35943 let _startpos = _startpos_s_ in
35944 let _endpos = _endpos_s_ in
35945 let _v : 'tv_storage =
35946 # 1005 "parser_cocci_menhir.mly"
35947 ( P.clt2mcode Ast.Extern s )
35948 # 35949 "parser_cocci_menhir.ml"
35949 in
35950 _menhir_env.MenhirLib.EngineTypes.stack <- {
35951 MenhirLib.EngineTypes.state = _menhir_s;
35952 MenhirLib.EngineTypes.semv = Obj.repr _v;
35953 MenhirLib.EngineTypes.startp = _startpos;
35954 MenhirLib.EngineTypes.endp = _endpos;
35955 MenhirLib.EngineTypes.next = _menhir_stack;
35956 });
35957 (fun _menhir_env ->
35958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35959 let {
35960 MenhirLib.EngineTypes.state = _menhir_s;
35961 MenhirLib.EngineTypes.startp = _startpos__1_;
35962 MenhirLib.EngineTypes.endp = _endpos__1_;
35963 MenhirLib.EngineTypes.next = _menhir_stack;
35964 } = _menhir_stack in
35965 let _startpos = _startpos__1_ in
35966 let _endpos = _endpos__1_ in
35967 let _v : 'tv_struct_decl =
35968 # 719 "parser_cocci_menhir.mly"
35969 ( [] )
35970 # 35971 "parser_cocci_menhir.ml"
35971 in
35972 _menhir_env.MenhirLib.EngineTypes.stack <- {
35973 MenhirLib.EngineTypes.state = _menhir_s;
35974 MenhirLib.EngineTypes.semv = Obj.repr _v;
35975 MenhirLib.EngineTypes.startp = _startpos;
35976 MenhirLib.EngineTypes.endp = _endpos;
35977 MenhirLib.EngineTypes.next = _menhir_stack;
35978 });
35979 (fun _menhir_env ->
35980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35981 let {
35982 MenhirLib.EngineTypes.state = _menhir_s;
35983 MenhirLib.EngineTypes.semv = _1;
35984 MenhirLib.EngineTypes.startp = _startpos__1_;
35985 MenhirLib.EngineTypes.endp = _endpos__1_;
35986 MenhirLib.EngineTypes.next = _menhir_stack;
35987 } = _menhir_stack in
35988 let _1 : 'tv_struct_decl_one = Obj.magic _1 in
35989 let _startpos = _startpos__1_ in
35990 let _endpos = _endpos__1_ in
35991 let _v : 'tv_struct_decl =
35992 # 720 "parser_cocci_menhir.mly"
35993 ( [_1] )
35994 # 35995 "parser_cocci_menhir.ml"
35995 in
35996 _menhir_env.MenhirLib.EngineTypes.stack <- {
35997 MenhirLib.EngineTypes.state = _menhir_s;
35998 MenhirLib.EngineTypes.semv = Obj.repr _v;
35999 MenhirLib.EngineTypes.startp = _startpos;
36000 MenhirLib.EngineTypes.endp = _endpos;
36001 MenhirLib.EngineTypes.next = _menhir_stack;
36002 });
36003 (fun _menhir_env ->
36004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36005 let {
36006 MenhirLib.EngineTypes.state = _menhir_s;
36007 MenhirLib.EngineTypes.semv = _1;
36008 MenhirLib.EngineTypes.startp = _startpos__1_;
36009 MenhirLib.EngineTypes.endp = _endpos__1_;
36010 MenhirLib.EngineTypes.next = _menhir_stack;
36011 } = _menhir_stack in
36012 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
36013 let _startpos = _startpos__1_ in
36014 let _endpos = _endpos__1_ in
36015 let _v : 'tv_struct_decl_list =
36016 # 744 "parser_cocci_menhir.mly"
36017 ( Ast0.wrap(Ast0.DOTS(_1)) )
36018 # 36019 "parser_cocci_menhir.ml"
36019 in
36020 _menhir_env.MenhirLib.EngineTypes.stack <- {
36021 MenhirLib.EngineTypes.state = _menhir_s;
36022 MenhirLib.EngineTypes.semv = Obj.repr _v;
36023 MenhirLib.EngineTypes.startp = _startpos;
36024 MenhirLib.EngineTypes.endp = _endpos;
36025 MenhirLib.EngineTypes.next = _menhir_stack;
36026 });
36027 (fun _menhir_env ->
36028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36029 let {
36030 MenhirLib.EngineTypes.state = _menhir_s;
36031 MenhirLib.EngineTypes.semv = _1;
36032 MenhirLib.EngineTypes.startp = _startpos__1_;
36033 MenhirLib.EngineTypes.endp = _endpos__1_;
36034 MenhirLib.EngineTypes.next = _menhir_stack;
36035 } = _menhir_stack in
36036 let _1 : 'tv_struct_decl = Obj.magic _1 in
36037 let _startpos = _startpos__1_ in
36038 let _endpos = _endpos__1_ in
36039 let _v : 'tv_struct_decl_list_start =
36040 # 747 "parser_cocci_menhir.mly"
36041 ( _1 )
36042 # 36043 "parser_cocci_menhir.ml"
36043 in
36044 _menhir_env.MenhirLib.EngineTypes.stack <- {
36045 MenhirLib.EngineTypes.state = _menhir_s;
36046 MenhirLib.EngineTypes.semv = Obj.repr _v;
36047 MenhirLib.EngineTypes.startp = _startpos;
36048 MenhirLib.EngineTypes.endp = _endpos;
36049 MenhirLib.EngineTypes.next = _menhir_stack;
36050 });
36051 (fun _menhir_env ->
36052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36053 let {
36054 MenhirLib.EngineTypes.semv = _2;
36055 MenhirLib.EngineTypes.startp = _startpos__2_;
36056 MenhirLib.EngineTypes.endp = _endpos__2_;
36057 MenhirLib.EngineTypes.next = {
36058 MenhirLib.EngineTypes.state = _menhir_s;
36059 MenhirLib.EngineTypes.semv = _1;
36060 MenhirLib.EngineTypes.startp = _startpos__1_;
36061 MenhirLib.EngineTypes.endp = _endpos__1_;
36062 MenhirLib.EngineTypes.next = _menhir_stack;
36063 };
36064 } = _menhir_stack in
36065 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
36066 let _1 : 'tv_struct_decl = Obj.magic _1 in
36067 let _startpos = _startpos__1_ in
36068 let _endpos = _endpos__2_ in
36069 let _v : 'tv_struct_decl_list_start =
36070 # 748 "parser_cocci_menhir.mly"
36071 ( _1@_2 )
36072 # 36073 "parser_cocci_menhir.ml"
36073 in
36074 _menhir_env.MenhirLib.EngineTypes.stack <- {
36075 MenhirLib.EngineTypes.state = _menhir_s;
36076 MenhirLib.EngineTypes.semv = Obj.repr _v;
36077 MenhirLib.EngineTypes.startp = _startpos;
36078 MenhirLib.EngineTypes.endp = _endpos;
36079 MenhirLib.EngineTypes.next = _menhir_stack;
36080 });
36081 (fun _menhir_env ->
36082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36083 let {
36084 MenhirLib.EngineTypes.semv = r;
36085 MenhirLib.EngineTypes.startp = _startpos_r_;
36086 MenhirLib.EngineTypes.endp = _endpos_r_;
36087 MenhirLib.EngineTypes.next = {
36088 MenhirLib.EngineTypes.state = _menhir_s;
36089 MenhirLib.EngineTypes.semv = d;
36090 MenhirLib.EngineTypes.startp = _startpos_d_;
36091 MenhirLib.EngineTypes.endp = _endpos_d_;
36092 MenhirLib.EngineTypes.next = _menhir_stack;
36093 };
36094 } = _menhir_stack in
36095 let r : 'tv_continue_struct_decl_list = Obj.magic r in
36096 let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
36097 let _startpos = _startpos_d_ in
36098 let _endpos = _endpos_r_ in
36099 let _v : 'tv_struct_decl_list_start =
36100 # 750 "parser_cocci_menhir.mly"
36101 ( (P.mkddots_one "..." d)::r )
36102 # 36103 "parser_cocci_menhir.ml"
36103 in
36104 _menhir_env.MenhirLib.EngineTypes.stack <- {
36105 MenhirLib.EngineTypes.state = _menhir_s;
36106 MenhirLib.EngineTypes.semv = Obj.repr _v;
36107 MenhirLib.EngineTypes.startp = _startpos;
36108 MenhirLib.EngineTypes.endp = _endpos;
36109 MenhirLib.EngineTypes.next = _menhir_stack;
36110 });
36111 (fun _menhir_env ->
36112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36113 let {
36114 MenhirLib.EngineTypes.state = _menhir_s;
36115 MenhirLib.EngineTypes.semv = _1;
36116 MenhirLib.EngineTypes.startp = _startpos__1_;
36117 MenhirLib.EngineTypes.endp = _endpos__1_;
36118 MenhirLib.EngineTypes.next = _menhir_stack;
36119 } = _menhir_stack in
36120 let _1 : (
36121 # 132 "parser_cocci_menhir.mly"
36122 (Parse_aux.info)
36123 # 36124 "parser_cocci_menhir.ml"
36124 ) = Obj.magic _1 in
36125 let _startpos = _startpos__1_ in
36126 let _endpos = _endpos__1_ in
36127 let _v : 'tv_struct_decl_one =
36128 # 723 "parser_cocci_menhir.mly"
36129 ( P.meta_field _1 )
36130 # 36131 "parser_cocci_menhir.ml"
36131 in
36132 _menhir_env.MenhirLib.EngineTypes.stack <- {
36133 MenhirLib.EngineTypes.state = _menhir_s;
36134 MenhirLib.EngineTypes.semv = Obj.repr _v;
36135 MenhirLib.EngineTypes.startp = _startpos;
36136 MenhirLib.EngineTypes.endp = _endpos;
36137 MenhirLib.EngineTypes.next = _menhir_stack;
36138 });
36139 (fun _menhir_env ->
36140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36141 let {
36142 MenhirLib.EngineTypes.state = _menhir_s;
36143 MenhirLib.EngineTypes.semv = _1;
36144 MenhirLib.EngineTypes.startp = _startpos__1_;
36145 MenhirLib.EngineTypes.endp = _endpos__1_;
36146 MenhirLib.EngineTypes.next = _menhir_stack;
36147 } = _menhir_stack in
36148 let _1 : (
36149 # 134 "parser_cocci_menhir.mly"
36150 (Parse_aux.list_info)
36151 # 36152 "parser_cocci_menhir.ml"
36152 ) = Obj.magic _1 in
36153 let _startpos = _startpos__1_ in
36154 let _endpos = _endpos__1_ in
36155 let _v : 'tv_struct_decl_one =
36156 # 724 "parser_cocci_menhir.mly"
36157 ( P.meta_field_list _1 )
36158 # 36159 "parser_cocci_menhir.ml"
36159 in
36160 _menhir_env.MenhirLib.EngineTypes.stack <- {
36161 MenhirLib.EngineTypes.state = _menhir_s;
36162 MenhirLib.EngineTypes.semv = Obj.repr _v;
36163 MenhirLib.EngineTypes.startp = _startpos;
36164 MenhirLib.EngineTypes.endp = _endpos;
36165 MenhirLib.EngineTypes.next = _menhir_stack;
36166 });
36167 (fun _menhir_env ->
36168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36169 let {
36170 MenhirLib.EngineTypes.state = _menhir_s;
36171 MenhirLib.EngineTypes.semv = _1;
36172 MenhirLib.EngineTypes.startp = _startpos__1_;
36173 MenhirLib.EngineTypes.endp = _endpos__1_;
36174 MenhirLib.EngineTypes.next = _menhir_stack;
36175 } = _menhir_stack in
36176 let _1 : (
36177 # 132 "parser_cocci_menhir.mly"
36178 (Parse_aux.info)
36179 # 36180 "parser_cocci_menhir.ml"
36180 ) = Obj.magic _1 in
36181 let _startpos = _startpos__1_ in
36182 let _endpos = _endpos__1_ in
36183 let _v : 'tv_struct_decl_one =
36184 # 725 "parser_cocci_menhir.mly"
36185 ( tmeta_to_field _1 )
36186 # 36187 "parser_cocci_menhir.ml"
36187 in
36188 _menhir_env.MenhirLib.EngineTypes.stack <- {
36189 MenhirLib.EngineTypes.state = _menhir_s;
36190 MenhirLib.EngineTypes.semv = Obj.repr _v;
36191 MenhirLib.EngineTypes.startp = _startpos;
36192 MenhirLib.EngineTypes.endp = _endpos;
36193 MenhirLib.EngineTypes.next = _menhir_stack;
36194 });
36195 (fun _menhir_env ->
36196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36197 let {
36198 MenhirLib.EngineTypes.semv = pv;
36199 MenhirLib.EngineTypes.startp = _startpos_pv_;
36200 MenhirLib.EngineTypes.endp = _endpos_pv_;
36201 MenhirLib.EngineTypes.next = {
36202 MenhirLib.EngineTypes.semv = d;
36203 MenhirLib.EngineTypes.startp = _startpos_d_;
36204 MenhirLib.EngineTypes.endp = _endpos_d_;
36205 MenhirLib.EngineTypes.next = {
36206 MenhirLib.EngineTypes.state = _menhir_s;
36207 MenhirLib.EngineTypes.semv = t;
36208 MenhirLib.EngineTypes.startp = _startpos_t_;
36209 MenhirLib.EngineTypes.endp = _endpos_t_;
36210 MenhirLib.EngineTypes.next = _menhir_stack;
36211 };
36212 };
36213 } = _menhir_stack in
36214 let pv : (
36215 # 175 "parser_cocci_menhir.mly"
36216 (Data.clt)
36217 # 36218 "parser_cocci_menhir.ml"
36218 ) = Obj.magic pv in
36219 let d : 'tv_d_ident = Obj.magic d in
36220 let t : 'tv_ctype = Obj.magic t in
36221 let _startpos = _startpos_t_ in
36222 let _endpos = _endpos_pv_ in
36223 let _v : 'tv_struct_decl_one =
36224 # 727 "parser_cocci_menhir.mly"
36225 ( let (id,fn) = d in
36226 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
36227 # 36228 "parser_cocci_menhir.ml"
36228 in
36229 _menhir_env.MenhirLib.EngineTypes.stack <- {
36230 MenhirLib.EngineTypes.state = _menhir_s;
36231 MenhirLib.EngineTypes.semv = Obj.repr _v;
36232 MenhirLib.EngineTypes.startp = _startpos;
36233 MenhirLib.EngineTypes.endp = _endpos;
36234 MenhirLib.EngineTypes.next = _menhir_stack;
36235 });
36236 (fun _menhir_env ->
36237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36238 let {
36239 MenhirLib.EngineTypes.semv = pv;
36240 MenhirLib.EngineTypes.startp = _startpos_pv_;
36241 MenhirLib.EngineTypes.endp = _endpos_pv_;
36242 MenhirLib.EngineTypes.next = {
36243 MenhirLib.EngineTypes.semv = rp2;
36244 MenhirLib.EngineTypes.startp = _startpos_rp2_;
36245 MenhirLib.EngineTypes.endp = _endpos_rp2_;
36246 MenhirLib.EngineTypes.next = {
36247 MenhirLib.EngineTypes.semv = p;
36248 MenhirLib.EngineTypes.startp = _startpos_p_;
36249 MenhirLib.EngineTypes.endp = _endpos_p_;
36250 MenhirLib.EngineTypes.next = {
36251 MenhirLib.EngineTypes.semv = lp2;
36252 MenhirLib.EngineTypes.startp = _startpos_lp2_;
36253 MenhirLib.EngineTypes.endp = _endpos_lp2_;
36254 MenhirLib.EngineTypes.next = {
36255 MenhirLib.EngineTypes.semv = rp1;
36256 MenhirLib.EngineTypes.startp = _startpos_rp1_;
36257 MenhirLib.EngineTypes.endp = _endpos_rp1_;
36258 MenhirLib.EngineTypes.next = {
36259 MenhirLib.EngineTypes.semv = d;
36260 MenhirLib.EngineTypes.startp = _startpos_d_;
36261 MenhirLib.EngineTypes.endp = _endpos_d_;
36262 MenhirLib.EngineTypes.next = {
36263 MenhirLib.EngineTypes.semv = st;
36264 MenhirLib.EngineTypes.startp = _startpos_st_;
36265 MenhirLib.EngineTypes.endp = _endpos_st_;
36266 MenhirLib.EngineTypes.next = {
36267 MenhirLib.EngineTypes.semv = lp1;
36268 MenhirLib.EngineTypes.startp = _startpos_lp1_;
36269 MenhirLib.EngineTypes.endp = _endpos_lp1_;
36270 MenhirLib.EngineTypes.next = {
36271 MenhirLib.EngineTypes.state = _menhir_s;
36272 MenhirLib.EngineTypes.semv = t;
36273 MenhirLib.EngineTypes.startp = _startpos_t_;
36274 MenhirLib.EngineTypes.endp = _endpos_t_;
36275 MenhirLib.EngineTypes.next = _menhir_stack;
36276 };
36277 };
36278 };
36279 };
36280 };
36281 };
36282 };
36283 };
36284 } = _menhir_stack in
36285 let pv : (
36286 # 175 "parser_cocci_menhir.mly"
36287 (Data.clt)
36288 # 36289 "parser_cocci_menhir.ml"
36289 ) = Obj.magic pv in
36290 let rp2 : (
36291 # 145 "parser_cocci_menhir.mly"
36292 (Data.clt)
36293 # 36294 "parser_cocci_menhir.ml"
36294 ) = Obj.magic rp2 in
36295 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
36296 let lp2 : (
36297 # 144 "parser_cocci_menhir.mly"
36298 (Data.clt)
36299 # 36300 "parser_cocci_menhir.ml"
36300 ) = Obj.magic lp2 in
36301 let rp1 : (
36302 # 145 "parser_cocci_menhir.mly"
36303 (Data.clt)
36304 # 36305 "parser_cocci_menhir.ml"
36305 ) = Obj.magic rp1 in
36306 let d : 'tv_d_ident = Obj.magic d in
36307 let st : (
36308 # 167 "parser_cocci_menhir.mly"
36309 (Data.clt)
36310 # 36311 "parser_cocci_menhir.ml"
36311 ) = Obj.magic st in
36312 let lp1 : (
36313 # 144 "parser_cocci_menhir.mly"
36314 (Data.clt)
36315 # 36316 "parser_cocci_menhir.ml"
36316 ) = Obj.magic lp1 in
36317 let t : 'tv_ctype = Obj.magic t in
36318 let _startpos = _startpos_t_ in
36319 let _endpos = _endpos_pv_ in
36320 let _v : 'tv_struct_decl_one =
36321 # 731 "parser_cocci_menhir.mly"
36322 ( let (id,fn) = d in
36323 let t =
36324 Ast0.wrap
36325 (Ast0.FunctionPointer
36326 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
36327 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
36328 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
36329 # 36330 "parser_cocci_menhir.ml"
36330 in
36331 _menhir_env.MenhirLib.EngineTypes.stack <- {
36332 MenhirLib.EngineTypes.state = _menhir_s;
36333 MenhirLib.EngineTypes.semv = Obj.repr _v;
36334 MenhirLib.EngineTypes.startp = _startpos;
36335 MenhirLib.EngineTypes.endp = _endpos;
36336 MenhirLib.EngineTypes.next = _menhir_stack;
36337 });
36338 (fun _menhir_env ->
36339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36340 let {
36341 MenhirLib.EngineTypes.semv = pv;
36342 MenhirLib.EngineTypes.startp = _startpos_pv_;
36343 MenhirLib.EngineTypes.endp = _endpos_pv_;
36344 MenhirLib.EngineTypes.next = {
36345 MenhirLib.EngineTypes.semv = d;
36346 MenhirLib.EngineTypes.startp = _startpos_d_;
36347 MenhirLib.EngineTypes.endp = _endpos_d_;
36348 MenhirLib.EngineTypes.next = {
36349 MenhirLib.EngineTypes.state = _menhir_s;
36350 MenhirLib.EngineTypes.semv = i;
36351 MenhirLib.EngineTypes.startp = _startpos_i_;
36352 MenhirLib.EngineTypes.endp = _endpos_i_;
36353 MenhirLib.EngineTypes.next = _menhir_stack;
36354 };
36355 };
36356 } = _menhir_stack in
36357 let pv : (
36358 # 175 "parser_cocci_menhir.mly"
36359 (Data.clt)
36360 # 36361 "parser_cocci_menhir.ml"
36361 ) = Obj.magic pv in
36362 let d : 'tv_d_ident = Obj.magic d in
36363 let i : 'tv_pure_ident = Obj.magic i in
36364 let _startpos = _startpos_i_ in
36365 let _endpos = _endpos_pv_ in
36366 let _v : 'tv_struct_decl_one = let cv =
36367
36368 # 39 "standard.mly"
36369 ( None )
36370 # 36371 "parser_cocci_menhir.ml"
36371
36372 in
36373
36374 # 739 "parser_cocci_menhir.mly"
36375 ( let (id,fn) = d in
36376 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
36377 Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
36378 # 36379 "parser_cocci_menhir.ml"
36379 in
36380 _menhir_env.MenhirLib.EngineTypes.stack <- {
36381 MenhirLib.EngineTypes.state = _menhir_s;
36382 MenhirLib.EngineTypes.semv = Obj.repr _v;
36383 MenhirLib.EngineTypes.startp = _startpos;
36384 MenhirLib.EngineTypes.endp = _endpos;
36385 MenhirLib.EngineTypes.next = _menhir_stack;
36386 });
36387 (fun _menhir_env ->
36388 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36389 let {
36390 MenhirLib.EngineTypes.semv = pv;
36391 MenhirLib.EngineTypes.startp = _startpos_pv_;
36392 MenhirLib.EngineTypes.endp = _endpos_pv_;
36393 MenhirLib.EngineTypes.next = {
36394 MenhirLib.EngineTypes.semv = d;
36395 MenhirLib.EngineTypes.startp = _startpos_d_;
36396 MenhirLib.EngineTypes.endp = _endpos_d_;
36397 MenhirLib.EngineTypes.next = {
36398 MenhirLib.EngineTypes.semv = i;
36399 MenhirLib.EngineTypes.startp = _startpos_i_;
36400 MenhirLib.EngineTypes.endp = _endpos_i_;
36401 MenhirLib.EngineTypes.next = {
36402 MenhirLib.EngineTypes.state = _menhir_s;
36403 MenhirLib.EngineTypes.semv = x0;
36404 MenhirLib.EngineTypes.startp = _startpos_x0_;
36405 MenhirLib.EngineTypes.endp = _endpos_x0_;
36406 MenhirLib.EngineTypes.next = _menhir_stack;
36407 };
36408 };
36409 };
36410 } = _menhir_stack in
36411 let pv : (
36412 # 175 "parser_cocci_menhir.mly"
36413 (Data.clt)
36414 # 36415 "parser_cocci_menhir.ml"
36415 ) = Obj.magic pv in
36416 let d : 'tv_d_ident = Obj.magic d in
36417 let i : 'tv_pure_ident = Obj.magic i in
36418 let x0 : 'tv_const_vol = Obj.magic x0 in
36419 let _startpos = _startpos_x0_ in
36420 let _endpos = _endpos_pv_ in
36421 let _v : 'tv_struct_decl_one = let cv =
36422 let x = x0 in
36423
36424 # 41 "standard.mly"
36425 ( Some x )
36426 # 36427 "parser_cocci_menhir.ml"
36427
36428 in
36429
36430 # 739 "parser_cocci_menhir.mly"
36431 ( let (id,fn) = d in
36432 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
36433 Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
36434 # 36435 "parser_cocci_menhir.ml"
36435 in
36436 _menhir_env.MenhirLib.EngineTypes.stack <- {
36437 MenhirLib.EngineTypes.state = _menhir_s;
36438 MenhirLib.EngineTypes.semv = Obj.repr _v;
36439 MenhirLib.EngineTypes.startp = _startpos;
36440 MenhirLib.EngineTypes.endp = _endpos;
36441 MenhirLib.EngineTypes.next = _menhir_stack;
36442 });
36443 (fun _menhir_env ->
36444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36445 let {
36446 MenhirLib.EngineTypes.state = _menhir_s;
36447 MenhirLib.EngineTypes.semv = s;
36448 MenhirLib.EngineTypes.startp = _startpos_s_;
36449 MenhirLib.EngineTypes.endp = _endpos_s_;
36450 MenhirLib.EngineTypes.next = _menhir_stack;
36451 } = _menhir_stack in
36452 let s : (
36453 # 116 "parser_cocci_menhir.mly"
36454 (Data.clt)
36455 # 36456 "parser_cocci_menhir.ml"
36456 ) = Obj.magic s in
36457 let _startpos = _startpos_s_ in
36458 let _endpos = _endpos_s_ in
36459 let _v : 'tv_struct_or_union =
36460 # 715 "parser_cocci_menhir.mly"
36461 ( P.clt2mcode Ast.Struct s )
36462 # 36463 "parser_cocci_menhir.ml"
36463 in
36464 _menhir_env.MenhirLib.EngineTypes.stack <- {
36465 MenhirLib.EngineTypes.state = _menhir_s;
36466 MenhirLib.EngineTypes.semv = Obj.repr _v;
36467 MenhirLib.EngineTypes.startp = _startpos;
36468 MenhirLib.EngineTypes.endp = _endpos;
36469 MenhirLib.EngineTypes.next = _menhir_stack;
36470 });
36471 (fun _menhir_env ->
36472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36473 let {
36474 MenhirLib.EngineTypes.state = _menhir_s;
36475 MenhirLib.EngineTypes.semv = u;
36476 MenhirLib.EngineTypes.startp = _startpos_u_;
36477 MenhirLib.EngineTypes.endp = _endpos_u_;
36478 MenhirLib.EngineTypes.next = _menhir_stack;
36479 } = _menhir_stack in
36480 let u : (
36481 # 116 "parser_cocci_menhir.mly"
36482 (Data.clt)
36483 # 36484 "parser_cocci_menhir.ml"
36484 ) = Obj.magic u in
36485 let _startpos = _startpos_u_ in
36486 let _endpos = _endpos_u_ in
36487 let _v : 'tv_struct_or_union =
36488 # 716 "parser_cocci_menhir.mly"
36489 ( P.clt2mcode Ast.Union u )
36490 # 36491 "parser_cocci_menhir.ml"
36491 in
36492 _menhir_env.MenhirLib.EngineTypes.stack <- {
36493 MenhirLib.EngineTypes.state = _menhir_s;
36494 MenhirLib.EngineTypes.semv = Obj.repr _v;
36495 MenhirLib.EngineTypes.startp = _startpos;
36496 MenhirLib.EngineTypes.endp = _endpos;
36497 MenhirLib.EngineTypes.next = _menhir_stack;
36498 });
36499 (fun _menhir_env ->
36500 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36501 let {
36502 MenhirLib.EngineTypes.semv = i;
36503 MenhirLib.EngineTypes.startp = _startpos_i_;
36504 MenhirLib.EngineTypes.endp = _endpos_i_;
36505 MenhirLib.EngineTypes.next = {
36506 MenhirLib.EngineTypes.state = _menhir_s;
36507 MenhirLib.EngineTypes.startp = _startpos__1_;
36508 MenhirLib.EngineTypes.endp = _endpos__1_;
36509 MenhirLib.EngineTypes.next = _menhir_stack;
36510 };
36511 } = _menhir_stack in
36512 let i : 'tv_meta_ident = Obj.magic i in
36513 let _startpos = _startpos__1_ in
36514 let _endpos = _endpos_i_ in
36515 let _v : 'tv_sub =
36516 # 1812 "parser_cocci_menhir.mly"
36517 ( (if !Data.in_iso
36518 then failwith "constraints not allowed in iso file");
36519 (if !Data.in_generating
36520 then failwith "constraints not allowed in a generated rule file");
36521 let i =
36522 P.check_inherited_constraint i
36523 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
36524 [i] )
36525 # 36526 "parser_cocci_menhir.ml"
36526 in
36527 _menhir_env.MenhirLib.EngineTypes.stack <- {
36528 MenhirLib.EngineTypes.state = _menhir_s;
36529 MenhirLib.EngineTypes.semv = Obj.repr _v;
36530 MenhirLib.EngineTypes.startp = _startpos;
36531 MenhirLib.EngineTypes.endp = _endpos;
36532 MenhirLib.EngineTypes.next = _menhir_stack;
36533 });
36534 (fun _menhir_env ->
36535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36536 let {
36537 MenhirLib.EngineTypes.startp = _startpos__4_;
36538 MenhirLib.EngineTypes.endp = _endpos__4_;
36539 MenhirLib.EngineTypes.next = {
36540 MenhirLib.EngineTypes.semv = l;
36541 MenhirLib.EngineTypes.startp = _startpos_l_;
36542 MenhirLib.EngineTypes.endp = _endpos_l_;
36543 MenhirLib.EngineTypes.next = {
36544 MenhirLib.EngineTypes.startp = _startpos__2_;
36545 MenhirLib.EngineTypes.endp = _endpos__2_;
36546 MenhirLib.EngineTypes.next = {
36547 MenhirLib.EngineTypes.state = _menhir_s;
36548 MenhirLib.EngineTypes.startp = _startpos__1_;
36549 MenhirLib.EngineTypes.endp = _endpos__1_;
36550 MenhirLib.EngineTypes.next = _menhir_stack;
36551 };
36552 };
36553 };
36554 } = _menhir_stack in
36555 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
36556 let _startpos = _startpos__1_ in
36557 let _endpos = _endpos__4_ in
36558 let _v : 'tv_sub =
36559 # 1821 "parser_cocci_menhir.mly"
36560 ( (if !Data.in_iso
36561 then failwith "constraints not allowed in iso file");
36562 (if !Data.in_generating
36563 then failwith "constraints not allowed in a generated rule file");
36564 List.map
36565 (function i ->
36566 P.check_inherited_constraint i
36567 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
36568 l)
36569 # 36570 "parser_cocci_menhir.ml"
36570 in
36571 _menhir_env.MenhirLib.EngineTypes.stack <- {
36572 MenhirLib.EngineTypes.state = _menhir_s;
36573 MenhirLib.EngineTypes.semv = Obj.repr _v;
36574 MenhirLib.EngineTypes.startp = _startpos;
36575 MenhirLib.EngineTypes.endp = _endpos;
36576 MenhirLib.EngineTypes.next = _menhir_stack;
36577 });
36578 (fun _menhir_env ->
36579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36580 let {
36581 MenhirLib.EngineTypes.state = _menhir_s;
36582 MenhirLib.EngineTypes.semv = _1;
36583 MenhirLib.EngineTypes.startp = _startpos__1_;
36584 MenhirLib.EngineTypes.endp = _endpos__1_;
36585 MenhirLib.EngineTypes.next = _menhir_stack;
36586 } = _menhir_stack in
36587 let _1 : 'tv_eexpr = Obj.magic _1 in
36588 let _startpos = _startpos__1_ in
36589 let _endpos = _endpos__1_ in
36590 let _v : 'tv_top_eexpr =
36591 # 1379 "parser_cocci_menhir.mly"
36592 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
36593 # 36594 "parser_cocci_menhir.ml"
36594 in
36595 _menhir_env.MenhirLib.EngineTypes.stack <- {
36596 MenhirLib.EngineTypes.state = _menhir_s;
36597 MenhirLib.EngineTypes.semv = Obj.repr _v;
36598 MenhirLib.EngineTypes.startp = _startpos;
36599 MenhirLib.EngineTypes.endp = _endpos;
36600 MenhirLib.EngineTypes.next = _menhir_stack;
36601 });
36602 (fun _menhir_env ->
36603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36604 let {
36605 MenhirLib.EngineTypes.semv = _3;
36606 MenhirLib.EngineTypes.startp = _startpos__3_;
36607 MenhirLib.EngineTypes.endp = _endpos__3_;
36608 MenhirLib.EngineTypes.next = {
36609 MenhirLib.EngineTypes.semv = _2;
36610 MenhirLib.EngineTypes.startp = _startpos__2_;
36611 MenhirLib.EngineTypes.endp = _endpos__2_;
36612 MenhirLib.EngineTypes.next = {
36613 MenhirLib.EngineTypes.state = _menhir_s;
36614 MenhirLib.EngineTypes.semv = _1;
36615 MenhirLib.EngineTypes.startp = _startpos__1_;
36616 MenhirLib.EngineTypes.endp = _endpos__1_;
36617 MenhirLib.EngineTypes.next = _menhir_stack;
36618 };
36619 };
36620 } = _menhir_stack in
36621 let _3 : (
36622 # 169 "parser_cocci_menhir.mly"
36623 (Data.clt)
36624 # 36625 "parser_cocci_menhir.ml"
36625 ) = Obj.magic _3 in
36626 let _2 : 'tv_initialize_list = Obj.magic _2 in
36627 let _1 : (
36628 # 169 "parser_cocci_menhir.mly"
36629 (Data.clt)
36630 # 36631 "parser_cocci_menhir.ml"
36631 ) = Obj.magic _1 in
36632 let _startpos = _startpos__1_ in
36633 let _endpos = _endpos__3_ in
36634 let _v : 'tv_top_init =
36635 # 2071 "parser_cocci_menhir.mly"
36636 ( if P.struct_initializer _2
36637 then
36638 let il = P.drop_dot_commas _2 in
36639 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
36640 else
36641 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
36642 # 36643 "parser_cocci_menhir.ml"
36643 in
36644 _menhir_env.MenhirLib.EngineTypes.stack <- {
36645 MenhirLib.EngineTypes.state = _menhir_s;
36646 MenhirLib.EngineTypes.semv = Obj.repr _v;
36647 MenhirLib.EngineTypes.startp = _startpos;
36648 MenhirLib.EngineTypes.endp = _endpos;
36649 MenhirLib.EngineTypes.next = _menhir_stack;
36650 });
36651 (fun _menhir_env ->
36652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36653 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
36654 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
36655 let _endpos = _startpos in
36656 let _v : 'tv_toplevel_after_dots =
36657 # 2059 "parser_cocci_menhir.mly"
36658 ([])
36659 # 36660 "parser_cocci_menhir.ml"
36660 in
36661 _menhir_env.MenhirLib.EngineTypes.stack <- {
36662 MenhirLib.EngineTypes.state = _menhir_s;
36663 MenhirLib.EngineTypes.semv = Obj.repr _v;
36664 MenhirLib.EngineTypes.startp = _startpos;
36665 MenhirLib.EngineTypes.endp = _endpos;
36666 MenhirLib.EngineTypes.next = _menhir_stack;
36667 });
36668 (fun _menhir_env ->
36669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36670 let {
36671 MenhirLib.EngineTypes.semv = _2;
36672 MenhirLib.EngineTypes.startp = _startpos__2_;
36673 MenhirLib.EngineTypes.endp = _endpos__2_;
36674 MenhirLib.EngineTypes.next = {
36675 MenhirLib.EngineTypes.state = _menhir_s;
36676 MenhirLib.EngineTypes.startp = _startpos__1_;
36677 MenhirLib.EngineTypes.endp = _endpos__1_;
36678 MenhirLib.EngineTypes.next = _menhir_stack;
36679 };
36680 } = _menhir_stack in
36681 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
36682 let _startpos = _startpos__1_ in
36683 let _endpos = _endpos__2_ in
36684 let _v : 'tv_toplevel_after_dots =
36685 # 2060 "parser_cocci_menhir.mly"
36686 (_2)
36687 # 36688 "parser_cocci_menhir.ml"
36688 in
36689 _menhir_env.MenhirLib.EngineTypes.stack <- {
36690 MenhirLib.EngineTypes.state = _menhir_s;
36691 MenhirLib.EngineTypes.semv = Obj.repr _v;
36692 MenhirLib.EngineTypes.startp = _startpos;
36693 MenhirLib.EngineTypes.endp = _endpos;
36694 MenhirLib.EngineTypes.next = _menhir_stack;
36695 });
36696 (fun _menhir_env ->
36697 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36698 let {
36699 MenhirLib.EngineTypes.semv = _2;
36700 MenhirLib.EngineTypes.startp = _startpos__2_;
36701 MenhirLib.EngineTypes.endp = _endpos__2_;
36702 MenhirLib.EngineTypes.next = {
36703 MenhirLib.EngineTypes.state = _menhir_s;
36704 MenhirLib.EngineTypes.semv = _1;
36705 MenhirLib.EngineTypes.startp = _startpos__1_;
36706 MenhirLib.EngineTypes.endp = _endpos__1_;
36707 MenhirLib.EngineTypes.next = _menhir_stack;
36708 };
36709 } = _menhir_stack in
36710 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
36711 let _1 : 'tv_expr = Obj.magic _1 in
36712 let _startpos = _startpos__1_ in
36713 let _endpos = _endpos__2_ in
36714 let _v : 'tv_toplevel_after_dots =
36715 # 2061 "parser_cocci_menhir.mly"
36716 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
36717 # 36718 "parser_cocci_menhir.ml"
36718 in
36719 _menhir_env.MenhirLib.EngineTypes.stack <- {
36720 MenhirLib.EngineTypes.state = _menhir_s;
36721 MenhirLib.EngineTypes.semv = Obj.repr _v;
36722 MenhirLib.EngineTypes.startp = _startpos;
36723 MenhirLib.EngineTypes.endp = _endpos;
36724 MenhirLib.EngineTypes.next = _menhir_stack;
36725 });
36726 (fun _menhir_env ->
36727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36728 let {
36729 MenhirLib.EngineTypes.semv = _2;
36730 MenhirLib.EngineTypes.startp = _startpos__2_;
36731 MenhirLib.EngineTypes.endp = _endpos__2_;
36732 MenhirLib.EngineTypes.next = {
36733 MenhirLib.EngineTypes.state = _menhir_s;
36734 MenhirLib.EngineTypes.semv = _1;
36735 MenhirLib.EngineTypes.startp = _startpos__1_;
36736 MenhirLib.EngineTypes.endp = _endpos__1_;
36737 MenhirLib.EngineTypes.next = _menhir_stack;
36738 };
36739 } = _menhir_stack in
36740 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
36741 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
36742 let _startpos = _startpos__1_ in
36743 let _endpos = _endpos__2_ in
36744 let _v : 'tv_toplevel_after_dots =
36745 # 2062 "parser_cocci_menhir.mly"
36746 (_1@_2)
36747 # 36748 "parser_cocci_menhir.ml"
36748 in
36749 _menhir_env.MenhirLib.EngineTypes.stack <- {
36750 MenhirLib.EngineTypes.state = _menhir_s;
36751 MenhirLib.EngineTypes.semv = Obj.repr _v;
36752 MenhirLib.EngineTypes.startp = _startpos;
36753 MenhirLib.EngineTypes.endp = _endpos;
36754 MenhirLib.EngineTypes.next = _menhir_stack;
36755 });
36756 (fun _menhir_env ->
36757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36758 let {
36759 MenhirLib.EngineTypes.semv = _2;
36760 MenhirLib.EngineTypes.startp = _startpos__2_;
36761 MenhirLib.EngineTypes.endp = _endpos__2_;
36762 MenhirLib.EngineTypes.next = {
36763 MenhirLib.EngineTypes.state = _menhir_s;
36764 MenhirLib.EngineTypes.startp = _startpos__1_;
36765 MenhirLib.EngineTypes.endp = _endpos__1_;
36766 MenhirLib.EngineTypes.next = _menhir_stack;
36767 };
36768 } = _menhir_stack in
36769 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
36770 let _startpos = _startpos__1_ in
36771 let _endpos = _endpos__2_ in
36772 let _v : 'tv_toplevel_after_dots_init =
36773 # 2050 "parser_cocci_menhir.mly"
36774 (_2)
36775 # 36776 "parser_cocci_menhir.ml"
36776 in
36777 _menhir_env.MenhirLib.EngineTypes.stack <- {
36778 MenhirLib.EngineTypes.state = _menhir_s;
36779 MenhirLib.EngineTypes.semv = Obj.repr _v;
36780 MenhirLib.EngineTypes.startp = _startpos;
36781 MenhirLib.EngineTypes.endp = _endpos;
36782 MenhirLib.EngineTypes.next = _menhir_stack;
36783 });
36784 (fun _menhir_env ->
36785 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36786 let {
36787 MenhirLib.EngineTypes.semv = _2;
36788 MenhirLib.EngineTypes.startp = _startpos__2_;
36789 MenhirLib.EngineTypes.endp = _endpos__2_;
36790 MenhirLib.EngineTypes.next = {
36791 MenhirLib.EngineTypes.state = _menhir_s;
36792 MenhirLib.EngineTypes.semv = _1;
36793 MenhirLib.EngineTypes.startp = _startpos__1_;
36794 MenhirLib.EngineTypes.endp = _endpos__1_;
36795 MenhirLib.EngineTypes.next = _menhir_stack;
36796 };
36797 } = _menhir_stack in
36798 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
36799 let _1 : 'tv_expr = Obj.magic _1 in
36800 let _startpos = _startpos__1_ in
36801 let _endpos = _endpos__2_ in
36802 let _v : 'tv_toplevel_after_dots_init =
36803 # 2051 "parser_cocci_menhir.mly"
36804 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
36805 # 36806 "parser_cocci_menhir.ml"
36806 in
36807 _menhir_env.MenhirLib.EngineTypes.stack <- {
36808 MenhirLib.EngineTypes.state = _menhir_s;
36809 MenhirLib.EngineTypes.semv = Obj.repr _v;
36810 MenhirLib.EngineTypes.startp = _startpos;
36811 MenhirLib.EngineTypes.endp = _endpos;
36812 MenhirLib.EngineTypes.next = _menhir_stack;
36813 });
36814 (fun _menhir_env ->
36815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36816 let {
36817 MenhirLib.EngineTypes.semv = _2;
36818 MenhirLib.EngineTypes.startp = _startpos__2_;
36819 MenhirLib.EngineTypes.endp = _endpos__2_;
36820 MenhirLib.EngineTypes.next = {
36821 MenhirLib.EngineTypes.state = _menhir_s;
36822 MenhirLib.EngineTypes.semv = _1;
36823 MenhirLib.EngineTypes.startp = _startpos__1_;
36824 MenhirLib.EngineTypes.endp = _endpos__1_;
36825 MenhirLib.EngineTypes.next = _menhir_stack;
36826 };
36827 } = _menhir_stack in
36828 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
36829 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
36830 let _startpos = _startpos__1_ in
36831 let _endpos = _endpos__2_ in
36832 let _v : 'tv_toplevel_after_dots_init =
36833 # 2052 "parser_cocci_menhir.mly"
36834 (_1@_2)
36835 # 36836 "parser_cocci_menhir.ml"
36836 in
36837 _menhir_env.MenhirLib.EngineTypes.stack <- {
36838 MenhirLib.EngineTypes.state = _menhir_s;
36839 MenhirLib.EngineTypes.semv = Obj.repr _v;
36840 MenhirLib.EngineTypes.startp = _startpos;
36841 MenhirLib.EngineTypes.endp = _endpos;
36842 MenhirLib.EngineTypes.next = _menhir_stack;
36843 });
36844 (fun _menhir_env ->
36845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36846 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
36847 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
36848 let _endpos = _startpos in
36849 let _v : 'tv_toplevel_after_exp =
36850 # 2055 "parser_cocci_menhir.mly"
36851 ([])
36852 # 36853 "parser_cocci_menhir.ml"
36853 in
36854 _menhir_env.MenhirLib.EngineTypes.stack <- {
36855 MenhirLib.EngineTypes.state = _menhir_s;
36856 MenhirLib.EngineTypes.semv = Obj.repr _v;
36857 MenhirLib.EngineTypes.startp = _startpos;
36858 MenhirLib.EngineTypes.endp = _endpos;
36859 MenhirLib.EngineTypes.next = _menhir_stack;
36860 });
36861 (fun _menhir_env ->
36862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36863 let {
36864 MenhirLib.EngineTypes.semv = _2;
36865 MenhirLib.EngineTypes.startp = _startpos__2_;
36866 MenhirLib.EngineTypes.endp = _endpos__2_;
36867 MenhirLib.EngineTypes.next = {
36868 MenhirLib.EngineTypes.state = _menhir_s;
36869 MenhirLib.EngineTypes.semv = _1;
36870 MenhirLib.EngineTypes.startp = _startpos__1_;
36871 MenhirLib.EngineTypes.endp = _endpos__1_;
36872 MenhirLib.EngineTypes.next = _menhir_stack;
36873 };
36874 } = _menhir_stack in
36875 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
36876 let _1 : 'tv_stm_dots = Obj.magic _1 in
36877 let _startpos = _startpos__1_ in
36878 let _endpos = _endpos__2_ in
36879 let _v : 'tv_toplevel_after_exp =
36880 # 2056 "parser_cocci_menhir.mly"
36881 (_1::_2)
36882 # 36883 "parser_cocci_menhir.ml"
36883 in
36884 _menhir_env.MenhirLib.EngineTypes.stack <- {
36885 MenhirLib.EngineTypes.state = _menhir_s;
36886 MenhirLib.EngineTypes.semv = Obj.repr _v;
36887 MenhirLib.EngineTypes.startp = _startpos;
36888 MenhirLib.EngineTypes.endp = _endpos;
36889 MenhirLib.EngineTypes.next = _menhir_stack;
36890 });
36891 (fun _menhir_env ->
36892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36893 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
36894 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
36895 let _endpos = _startpos in
36896 let _v : 'tv_toplevel_after_stm =
36897 # 2065 "parser_cocci_menhir.mly"
36898 ([])
36899 # 36900 "parser_cocci_menhir.ml"
36900 in
36901 _menhir_env.MenhirLib.EngineTypes.stack <- {
36902 MenhirLib.EngineTypes.state = _menhir_s;
36903 MenhirLib.EngineTypes.semv = Obj.repr _v;
36904 MenhirLib.EngineTypes.startp = _startpos;
36905 MenhirLib.EngineTypes.endp = _endpos;
36906 MenhirLib.EngineTypes.next = _menhir_stack;
36907 });
36908 (fun _menhir_env ->
36909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36910 let {
36911 MenhirLib.EngineTypes.semv = _2;
36912 MenhirLib.EngineTypes.startp = _startpos__2_;
36913 MenhirLib.EngineTypes.endp = _endpos__2_;
36914 MenhirLib.EngineTypes.next = {
36915 MenhirLib.EngineTypes.state = _menhir_s;
36916 MenhirLib.EngineTypes.semv = _1;
36917 MenhirLib.EngineTypes.startp = _startpos__1_;
36918 MenhirLib.EngineTypes.endp = _endpos__1_;
36919 MenhirLib.EngineTypes.next = _menhir_stack;
36920 };
36921 } = _menhir_stack in
36922 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
36923 let _1 : 'tv_stm_dots = Obj.magic _1 in
36924 let _startpos = _startpos__1_ in
36925 let _endpos = _endpos__2_ in
36926 let _v : 'tv_toplevel_after_stm =
36927 # 2066 "parser_cocci_menhir.mly"
36928 (_1::_2)
36929 # 36930 "parser_cocci_menhir.ml"
36930 in
36931 _menhir_env.MenhirLib.EngineTypes.stack <- {
36932 MenhirLib.EngineTypes.state = _menhir_s;
36933 MenhirLib.EngineTypes.semv = Obj.repr _v;
36934 MenhirLib.EngineTypes.startp = _startpos;
36935 MenhirLib.EngineTypes.endp = _endpos;
36936 MenhirLib.EngineTypes.next = _menhir_stack;
36937 });
36938 (fun _menhir_env ->
36939 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36940 let {
36941 MenhirLib.EngineTypes.semv = _2;
36942 MenhirLib.EngineTypes.startp = _startpos__2_;
36943 MenhirLib.EngineTypes.endp = _endpos__2_;
36944 MenhirLib.EngineTypes.next = {
36945 MenhirLib.EngineTypes.state = _menhir_s;
36946 MenhirLib.EngineTypes.semv = _1;
36947 MenhirLib.EngineTypes.startp = _startpos__1_;
36948 MenhirLib.EngineTypes.endp = _endpos__1_;
36949 MenhirLib.EngineTypes.next = _menhir_stack;
36950 };
36951 } = _menhir_stack in
36952 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
36953 let _1 : 'tv_decl_statement = Obj.magic _1 in
36954 let _startpos = _startpos__1_ in
36955 let _endpos = _endpos__2_ in
36956 let _v : 'tv_toplevel_after_stm =
36957 # 2067 "parser_cocci_menhir.mly"
36958 (_1@_2)
36959 # 36960 "parser_cocci_menhir.ml"
36960 in
36961 _menhir_env.MenhirLib.EngineTypes.stack <- {
36962 MenhirLib.EngineTypes.state = _menhir_s;
36963 MenhirLib.EngineTypes.semv = Obj.repr _v;
36964 MenhirLib.EngineTypes.startp = _startpos;
36965 MenhirLib.EngineTypes.endp = _endpos;
36966 MenhirLib.EngineTypes.next = _menhir_stack;
36967 });
36968 (fun _menhir_env ->
36969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36970 let {
36971 MenhirLib.EngineTypes.semv = _2;
36972 MenhirLib.EngineTypes.startp = _startpos__2_;
36973 MenhirLib.EngineTypes.endp = _endpos__2_;
36974 MenhirLib.EngineTypes.next = {
36975 MenhirLib.EngineTypes.state = _menhir_s;
36976 MenhirLib.EngineTypes.semv = _1;
36977 MenhirLib.EngineTypes.startp = _startpos__1_;
36978 MenhirLib.EngineTypes.endp = _endpos__1_;
36979 MenhirLib.EngineTypes.next = _menhir_stack;
36980 };
36981 } = _menhir_stack in
36982 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
36983 let _1 : 'tv_stm_dots = Obj.magic _1 in
36984 let _startpos = _startpos__1_ in
36985 let _endpos = _endpos__2_ in
36986 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
36987 # 2045 "parser_cocci_menhir.mly"
36988 ( _1::_2 )
36989 # 36990 "parser_cocci_menhir.ml"
36990 in
36991 _menhir_env.MenhirLib.EngineTypes.stack <- {
36992 MenhirLib.EngineTypes.state = _menhir_s;
36993 MenhirLib.EngineTypes.semv = Obj.repr _v;
36994 MenhirLib.EngineTypes.startp = _startpos;
36995 MenhirLib.EngineTypes.endp = _endpos;
36996 MenhirLib.EngineTypes.next = _menhir_stack;
36997 });
36998 (fun _menhir_env ->
36999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37000 let {
37001 MenhirLib.EngineTypes.semv = _2;
37002 MenhirLib.EngineTypes.startp = _startpos__2_;
37003 MenhirLib.EngineTypes.endp = _endpos__2_;
37004 MenhirLib.EngineTypes.next = {
37005 MenhirLib.EngineTypes.state = _menhir_s;
37006 MenhirLib.EngineTypes.semv = _1;
37007 MenhirLib.EngineTypes.startp = _startpos__1_;
37008 MenhirLib.EngineTypes.endp = _endpos__1_;
37009 MenhirLib.EngineTypes.next = _menhir_stack;
37010 };
37011 } = _menhir_stack in
37012 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
37013 let _1 : 'tv_expr = Obj.magic _1 in
37014 let _startpos = _startpos__1_ in
37015 let _endpos = _endpos__2_ in
37016 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
37017 # 2046 "parser_cocci_menhir.mly"
37018 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
37019 # 37020 "parser_cocci_menhir.ml"
37020 in
37021 _menhir_env.MenhirLib.EngineTypes.stack <- {
37022 MenhirLib.EngineTypes.state = _menhir_s;
37023 MenhirLib.EngineTypes.semv = Obj.repr _v;
37024 MenhirLib.EngineTypes.startp = _startpos;
37025 MenhirLib.EngineTypes.endp = _endpos;
37026 MenhirLib.EngineTypes.next = _menhir_stack;
37027 });
37028 (fun _menhir_env ->
37029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37030 let {
37031 MenhirLib.EngineTypes.semv = _2;
37032 MenhirLib.EngineTypes.startp = _startpos__2_;
37033 MenhirLib.EngineTypes.endp = _endpos__2_;
37034 MenhirLib.EngineTypes.next = {
37035 MenhirLib.EngineTypes.state = _menhir_s;
37036 MenhirLib.EngineTypes.semv = _1;
37037 MenhirLib.EngineTypes.startp = _startpos__1_;
37038 MenhirLib.EngineTypes.endp = _endpos__1_;
37039 MenhirLib.EngineTypes.next = _menhir_stack;
37040 };
37041 } = _menhir_stack in
37042 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
37043 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
37044 let _startpos = _startpos__1_ in
37045 let _endpos = _endpos__2_ in
37046 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
37047 # 2047 "parser_cocci_menhir.mly"
37048 ( _1@_2 )
37049 # 37050 "parser_cocci_menhir.ml"
37050 in
37051 _menhir_env.MenhirLib.EngineTypes.stack <- {
37052 MenhirLib.EngineTypes.state = _menhir_s;
37053 MenhirLib.EngineTypes.semv = Obj.repr _v;
37054 MenhirLib.EngineTypes.startp = _startpos;
37055 MenhirLib.EngineTypes.endp = _endpos;
37056 MenhirLib.EngineTypes.next = _menhir_stack;
37057 });
37058 (fun _menhir_env ->
37059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37060 let {
37061 MenhirLib.EngineTypes.semv = b;
37062 MenhirLib.EngineTypes.startp = _startpos_b_;
37063 MenhirLib.EngineTypes.endp = _endpos_b_;
37064 MenhirLib.EngineTypes.next = {
37065 MenhirLib.EngineTypes.semv = w0;
37066 MenhirLib.EngineTypes.startp = _startpos_w0_;
37067 MenhirLib.EngineTypes.endp = _endpos_w0_;
37068 MenhirLib.EngineTypes.next = {
37069 MenhirLib.EngineTypes.state = _menhir_s;
37070 MenhirLib.EngineTypes.semv = a0;
37071 MenhirLib.EngineTypes.startp = _startpos_a0_;
37072 MenhirLib.EngineTypes.endp = _endpos_a0_;
37073 MenhirLib.EngineTypes.next = _menhir_stack;
37074 };
37075 };
37076 } = _menhir_stack in
37077 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
37078 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
37079 let a0 : (
37080 # 141 "parser_cocci_menhir.mly"
37081 (Data.clt)
37082 # 37083 "parser_cocci_menhir.ml"
37083 ) = Obj.magic a0 in
37084 let _startpos = _startpos_a0_ in
37085 let _endpos = _endpos_b_ in
37086 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
37087 let w = w0 in
37088 let a = a0 in
37089
37090 # 1083 "parser_cocci_menhir.mly"
37091 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
37092 # 37093 "parser_cocci_menhir.ml"
37093
37094 in
37095
37096 # 2038 "parser_cocci_menhir.mly"
37097 ( a::b )
37098 # 37099 "parser_cocci_menhir.ml"
37099 in
37100 _menhir_env.MenhirLib.EngineTypes.stack <- {
37101 MenhirLib.EngineTypes.state = _menhir_s;
37102 MenhirLib.EngineTypes.semv = Obj.repr _v;
37103 MenhirLib.EngineTypes.startp = _startpos;
37104 MenhirLib.EngineTypes.endp = _endpos;
37105 MenhirLib.EngineTypes.next = _menhir_stack;
37106 });
37107 (fun _menhir_env ->
37108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37109 let {
37110 MenhirLib.EngineTypes.semv = b;
37111 MenhirLib.EngineTypes.startp = _startpos_b_;
37112 MenhirLib.EngineTypes.endp = _endpos_b_;
37113 MenhirLib.EngineTypes.next = {
37114 MenhirLib.EngineTypes.semv = c0;
37115 MenhirLib.EngineTypes.startp = _startpos_c0_;
37116 MenhirLib.EngineTypes.endp = _endpos_c0_;
37117 MenhirLib.EngineTypes.next = {
37118 MenhirLib.EngineTypes.semv = b0;
37119 MenhirLib.EngineTypes.startp = _startpos_b0_;
37120 MenhirLib.EngineTypes.endp = _endpos_b0_;
37121 MenhirLib.EngineTypes.next = {
37122 MenhirLib.EngineTypes.semv = w0;
37123 MenhirLib.EngineTypes.startp = _startpos_w0_;
37124 MenhirLib.EngineTypes.endp = _endpos_w0_;
37125 MenhirLib.EngineTypes.next = {
37126 MenhirLib.EngineTypes.state = _menhir_s;
37127 MenhirLib.EngineTypes.semv = a0;
37128 MenhirLib.EngineTypes.startp = _startpos_a0_;
37129 MenhirLib.EngineTypes.endp = _endpos_a0_;
37130 MenhirLib.EngineTypes.next = _menhir_stack;
37131 };
37132 };
37133 };
37134 };
37135 } = _menhir_stack in
37136 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
37137 let c0 : (
37138 # 141 "parser_cocci_menhir.mly"
37139 (Data.clt)
37140 # 37141 "parser_cocci_menhir.ml"
37141 ) = Obj.magic c0 in
37142 let b0 : 'tv_nest_start = Obj.magic b0 in
37143 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
37144 let a0 : (
37145 # 141 "parser_cocci_menhir.mly"
37146 (Data.clt)
37147 # 37148 "parser_cocci_menhir.ml"
37148 ) = Obj.magic a0 in
37149 let _startpos = _startpos_a0_ in
37150 let _endpos = _endpos_b_ in
37151 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
37152 let c = c0 in
37153 let b = b0 in
37154 let w = w0 in
37155 let a = a0 in
37156
37157 # 1087 "parser_cocci_menhir.mly"
37158 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
37159 P.clt2mcode "...>" c, List.concat w, false)) )
37160 # 37161 "parser_cocci_menhir.ml"
37161
37162 in
37163
37164 # 2039 "parser_cocci_menhir.mly"
37165 ( a::b )
37166 # 37167 "parser_cocci_menhir.ml"
37167 in
37168 _menhir_env.MenhirLib.EngineTypes.stack <- {
37169 MenhirLib.EngineTypes.state = _menhir_s;
37170 MenhirLib.EngineTypes.semv = Obj.repr _v;
37171 MenhirLib.EngineTypes.startp = _startpos;
37172 MenhirLib.EngineTypes.endp = _endpos;
37173 MenhirLib.EngineTypes.next = _menhir_stack;
37174 });
37175 (fun _menhir_env ->
37176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37177 let {
37178 MenhirLib.EngineTypes.semv = b;
37179 MenhirLib.EngineTypes.startp = _startpos_b_;
37180 MenhirLib.EngineTypes.endp = _endpos_b_;
37181 MenhirLib.EngineTypes.next = {
37182 MenhirLib.EngineTypes.semv = c0;
37183 MenhirLib.EngineTypes.startp = _startpos_c0_;
37184 MenhirLib.EngineTypes.endp = _endpos_c0_;
37185 MenhirLib.EngineTypes.next = {
37186 MenhirLib.EngineTypes.semv = b0;
37187 MenhirLib.EngineTypes.startp = _startpos_b0_;
37188 MenhirLib.EngineTypes.endp = _endpos_b0_;
37189 MenhirLib.EngineTypes.next = {
37190 MenhirLib.EngineTypes.semv = w0;
37191 MenhirLib.EngineTypes.startp = _startpos_w0_;
37192 MenhirLib.EngineTypes.endp = _endpos_w0_;
37193 MenhirLib.EngineTypes.next = {
37194 MenhirLib.EngineTypes.state = _menhir_s;
37195 MenhirLib.EngineTypes.semv = a0;
37196 MenhirLib.EngineTypes.startp = _startpos_a0_;
37197 MenhirLib.EngineTypes.endp = _endpos_a0_;
37198 MenhirLib.EngineTypes.next = _menhir_stack;
37199 };
37200 };
37201 };
37202 };
37203 } = _menhir_stack in
37204 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
37205 let c0 : (
37206 # 141 "parser_cocci_menhir.mly"
37207 (Data.clt)
37208 # 37209 "parser_cocci_menhir.ml"
37209 ) = Obj.magic c0 in
37210 let b0 : 'tv_nest_start = Obj.magic b0 in
37211 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
37212 let a0 : (
37213 # 141 "parser_cocci_menhir.mly"
37214 (Data.clt)
37215 # 37216 "parser_cocci_menhir.ml"
37216 ) = Obj.magic a0 in
37217 let _startpos = _startpos_a0_ in
37218 let _endpos = _endpos_b_ in
37219 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
37220 let c = c0 in
37221 let b = b0 in
37222 let w = w0 in
37223 let a = a0 in
37224
37225 # 1090 "parser_cocci_menhir.mly"
37226 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
37227 P.clt2mcode "...+>" c, List.concat w, true)) )
37228 # 37229 "parser_cocci_menhir.ml"
37229
37230 in
37231
37232 # 2039 "parser_cocci_menhir.mly"
37233 ( a::b )
37234 # 37235 "parser_cocci_menhir.ml"
37235 in
37236 _menhir_env.MenhirLib.EngineTypes.stack <- {
37237 MenhirLib.EngineTypes.state = _menhir_s;
37238 MenhirLib.EngineTypes.semv = Obj.repr _v;
37239 MenhirLib.EngineTypes.startp = _startpos;
37240 MenhirLib.EngineTypes.endp = _endpos;
37241 MenhirLib.EngineTypes.next = _menhir_stack;
37242 });
37243 (fun _menhir_env ->
37244 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37245 let {
37246 MenhirLib.EngineTypes.semv = c0;
37247 MenhirLib.EngineTypes.startp = _startpos_c0_;
37248 MenhirLib.EngineTypes.endp = _endpos_c0_;
37249 MenhirLib.EngineTypes.next = {
37250 MenhirLib.EngineTypes.semv = b0;
37251 MenhirLib.EngineTypes.startp = _startpos_b0_;
37252 MenhirLib.EngineTypes.endp = _endpos_b0_;
37253 MenhirLib.EngineTypes.next = {
37254 MenhirLib.EngineTypes.semv = w0;
37255 MenhirLib.EngineTypes.startp = _startpos_w0_;
37256 MenhirLib.EngineTypes.endp = _endpos_w0_;
37257 MenhirLib.EngineTypes.next = {
37258 MenhirLib.EngineTypes.state = _menhir_s;
37259 MenhirLib.EngineTypes.semv = a0;
37260 MenhirLib.EngineTypes.startp = _startpos_a0_;
37261 MenhirLib.EngineTypes.endp = _endpos_a0_;
37262 MenhirLib.EngineTypes.next = _menhir_stack;
37263 };
37264 };
37265 };
37266 } = _menhir_stack in
37267 let c0 : (
37268 # 141 "parser_cocci_menhir.mly"
37269 (Data.clt)
37270 # 37271 "parser_cocci_menhir.ml"
37271 ) = Obj.magic c0 in
37272 let b0 : 'tv_nest_start = Obj.magic b0 in
37273 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
37274 let a0 : (
37275 # 141 "parser_cocci_menhir.mly"
37276 (Data.clt)
37277 # 37278 "parser_cocci_menhir.ml"
37278 ) = Obj.magic a0 in
37279 let _startpos = _startpos_a0_ in
37280 let _endpos = _endpos_c0_ in
37281 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
37282 let c = c0 in
37283 let b = b0 in
37284 let w = w0 in
37285 let a = a0 in
37286
37287 # 1087 "parser_cocci_menhir.mly"
37288 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
37289 P.clt2mcode "...>" c, List.concat w, false)) )
37290 # 37291 "parser_cocci_menhir.ml"
37291
37292 in
37293
37294 # 2040 "parser_cocci_menhir.mly"
37295 ( [a] )
37296 # 37297 "parser_cocci_menhir.ml"
37297 in
37298 _menhir_env.MenhirLib.EngineTypes.stack <- {
37299 MenhirLib.EngineTypes.state = _menhir_s;
37300 MenhirLib.EngineTypes.semv = Obj.repr _v;
37301 MenhirLib.EngineTypes.startp = _startpos;
37302 MenhirLib.EngineTypes.endp = _endpos;
37303 MenhirLib.EngineTypes.next = _menhir_stack;
37304 });
37305 (fun _menhir_env ->
37306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37307 let {
37308 MenhirLib.EngineTypes.semv = c0;
37309 MenhirLib.EngineTypes.startp = _startpos_c0_;
37310 MenhirLib.EngineTypes.endp = _endpos_c0_;
37311 MenhirLib.EngineTypes.next = {
37312 MenhirLib.EngineTypes.semv = b0;
37313 MenhirLib.EngineTypes.startp = _startpos_b0_;
37314 MenhirLib.EngineTypes.endp = _endpos_b0_;
37315 MenhirLib.EngineTypes.next = {
37316 MenhirLib.EngineTypes.semv = w0;
37317 MenhirLib.EngineTypes.startp = _startpos_w0_;
37318 MenhirLib.EngineTypes.endp = _endpos_w0_;
37319 MenhirLib.EngineTypes.next = {
37320 MenhirLib.EngineTypes.state = _menhir_s;
37321 MenhirLib.EngineTypes.semv = a0;
37322 MenhirLib.EngineTypes.startp = _startpos_a0_;
37323 MenhirLib.EngineTypes.endp = _endpos_a0_;
37324 MenhirLib.EngineTypes.next = _menhir_stack;
37325 };
37326 };
37327 };
37328 } = _menhir_stack in
37329 let c0 : (
37330 # 141 "parser_cocci_menhir.mly"
37331 (Data.clt)
37332 # 37333 "parser_cocci_menhir.ml"
37333 ) = Obj.magic c0 in
37334 let b0 : 'tv_nest_start = Obj.magic b0 in
37335 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
37336 let a0 : (
37337 # 141 "parser_cocci_menhir.mly"
37338 (Data.clt)
37339 # 37340 "parser_cocci_menhir.ml"
37340 ) = Obj.magic a0 in
37341 let _startpos = _startpos_a0_ in
37342 let _endpos = _endpos_c0_ in
37343 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
37344 let c = c0 in
37345 let b = b0 in
37346 let w = w0 in
37347 let a = a0 in
37348
37349 # 1090 "parser_cocci_menhir.mly"
37350 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
37351 P.clt2mcode "...+>" c, List.concat w, true)) )
37352 # 37353 "parser_cocci_menhir.ml"
37353
37354 in
37355
37356 # 2040 "parser_cocci_menhir.mly"
37357 ( [a] )
37358 # 37359 "parser_cocci_menhir.ml"
37359 in
37360 _menhir_env.MenhirLib.EngineTypes.stack <- {
37361 MenhirLib.EngineTypes.state = _menhir_s;
37362 MenhirLib.EngineTypes.semv = Obj.repr _v;
37363 MenhirLib.EngineTypes.startp = _startpos;
37364 MenhirLib.EngineTypes.endp = _endpos;
37365 MenhirLib.EngineTypes.next = _menhir_stack;
37366 });
37367 (fun _menhir_env ->
37368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37369 let {
37370 MenhirLib.EngineTypes.semv = _2;
37371 MenhirLib.EngineTypes.startp = _startpos__2_;
37372 MenhirLib.EngineTypes.endp = _endpos__2_;
37373 MenhirLib.EngineTypes.next = {
37374 MenhirLib.EngineTypes.state = _menhir_s;
37375 MenhirLib.EngineTypes.semv = _1;
37376 MenhirLib.EngineTypes.startp = _startpos__1_;
37377 MenhirLib.EngineTypes.endp = _endpos__1_;
37378 MenhirLib.EngineTypes.next = _menhir_stack;
37379 };
37380 } = _menhir_stack in
37381 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
37382 let _1 : 'tv_expr = Obj.magic _1 in
37383 let _startpos = _startpos__1_ in
37384 let _endpos = _endpos__2_ in
37385 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
37386 # 2041 "parser_cocci_menhir.mly"
37387 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
37388 # 37389 "parser_cocci_menhir.ml"
37389 in
37390 _menhir_env.MenhirLib.EngineTypes.stack <- {
37391 MenhirLib.EngineTypes.state = _menhir_s;
37392 MenhirLib.EngineTypes.semv = Obj.repr _v;
37393 MenhirLib.EngineTypes.startp = _startpos;
37394 MenhirLib.EngineTypes.endp = _endpos;
37395 MenhirLib.EngineTypes.next = _menhir_stack;
37396 });
37397 (fun _menhir_env ->
37398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37399 let {
37400 MenhirLib.EngineTypes.semv = _2;
37401 MenhirLib.EngineTypes.startp = _startpos__2_;
37402 MenhirLib.EngineTypes.endp = _endpos__2_;
37403 MenhirLib.EngineTypes.next = {
37404 MenhirLib.EngineTypes.state = _menhir_s;
37405 MenhirLib.EngineTypes.semv = _1;
37406 MenhirLib.EngineTypes.startp = _startpos__1_;
37407 MenhirLib.EngineTypes.endp = _endpos__1_;
37408 MenhirLib.EngineTypes.next = _menhir_stack;
37409 };
37410 } = _menhir_stack in
37411 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
37412 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
37413 let _startpos = _startpos__1_ in
37414 let _endpos = _endpos__2_ in
37415 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
37416 # 2042 "parser_cocci_menhir.mly"
37417 ( _1@_2 )
37418 # 37419 "parser_cocci_menhir.ml"
37419 in
37420 _menhir_env.MenhirLib.EngineTypes.stack <- {
37421 MenhirLib.EngineTypes.state = _menhir_s;
37422 MenhirLib.EngineTypes.semv = Obj.repr _v;
37423 MenhirLib.EngineTypes.startp = _startpos;
37424 MenhirLib.EngineTypes.endp = _endpos;
37425 MenhirLib.EngineTypes.next = _menhir_stack;
37426 });
37427 (fun _menhir_env ->
37428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37429 let {
37430 MenhirLib.EngineTypes.state = _menhir_s;
37431 MenhirLib.EngineTypes.semv = _1;
37432 MenhirLib.EngineTypes.startp = _startpos__1_;
37433 MenhirLib.EngineTypes.endp = _endpos__1_;
37434 MenhirLib.EngineTypes.next = _menhir_stack;
37435 } = _menhir_stack in
37436 let _1 : 'tv_disj_ident = Obj.magic _1 in
37437 let _startpos = _startpos__1_ in
37438 let _endpos = _endpos__1_ in
37439 let _v : 'tv_type_ident =
37440 # 1896 "parser_cocci_menhir.mly"
37441 ( _1 )
37442 # 37443 "parser_cocci_menhir.ml"
37443 in
37444 _menhir_env.MenhirLib.EngineTypes.stack <- {
37445 MenhirLib.EngineTypes.state = _menhir_s;
37446 MenhirLib.EngineTypes.semv = Obj.repr _v;
37447 MenhirLib.EngineTypes.startp = _startpos;
37448 MenhirLib.EngineTypes.endp = _endpos;
37449 MenhirLib.EngineTypes.next = _menhir_stack;
37450 });
37451 (fun _menhir_env ->
37452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37453 let {
37454 MenhirLib.EngineTypes.state = _menhir_s;
37455 MenhirLib.EngineTypes.semv = _1;
37456 MenhirLib.EngineTypes.startp = _startpos__1_;
37457 MenhirLib.EngineTypes.endp = _endpos__1_;
37458 MenhirLib.EngineTypes.next = _menhir_stack;
37459 } = _menhir_stack in
37460 let _1 : (
37461 # 125 "parser_cocci_menhir.mly"
37462 (string * Data.clt)
37463 # 37464 "parser_cocci_menhir.ml"
37464 ) = Obj.magic _1 in
37465 let _startpos = _startpos__1_ in
37466 let _endpos = _endpos__1_ in
37467 let _v : 'tv_type_ident =
37468 # 1898 "parser_cocci_menhir.mly"
37469 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
37470 # 37471 "parser_cocci_menhir.ml"
37471 in
37472 _menhir_env.MenhirLib.EngineTypes.stack <- {
37473 MenhirLib.EngineTypes.state = _menhir_s;
37474 MenhirLib.EngineTypes.semv = Obj.repr _v;
37475 MenhirLib.EngineTypes.startp = _startpos;
37476 MenhirLib.EngineTypes.endp = _endpos;
37477 MenhirLib.EngineTypes.next = _menhir_stack;
37478 });
37479 (fun _menhir_env ->
37480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37481 let {
37482 MenhirLib.EngineTypes.semv = m;
37483 MenhirLib.EngineTypes.startp = _startpos_m_;
37484 MenhirLib.EngineTypes.endp = _endpos_m_;
37485 MenhirLib.EngineTypes.next = {
37486 MenhirLib.EngineTypes.semv = ty00;
37487 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37488 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37489 MenhirLib.EngineTypes.next = {
37490 MenhirLib.EngineTypes.state = _menhir_s;
37491 MenhirLib.EngineTypes.semv = r0;
37492 MenhirLib.EngineTypes.startp = _startpos_r0_;
37493 MenhirLib.EngineTypes.endp = _endpos_r0_;
37494 MenhirLib.EngineTypes.next = _menhir_stack;
37495 };
37496 };
37497 } = _menhir_stack in
37498 let m : 'tv_list_TMul_ = Obj.magic m in
37499 let ty00 : (
37500 # 114 "parser_cocci_menhir.mly"
37501 (Data.clt)
37502 # 37503 "parser_cocci_menhir.ml"
37503 ) = Obj.magic ty00 in
37504 let r0 : (
37505 # 117 "parser_cocci_menhir.mly"
37506 (Data.clt)
37507 # 37508 "parser_cocci_menhir.ml"
37508 ) = Obj.magic r0 in
37509 let _startpos = _startpos_r0_ in
37510 let _endpos = _endpos_m_ in
37511 let _v : 'tv_typedef_ctype = let ty =
37512 let ty0 = ty00 in
37513 let r = r0 in
37514 let ty =
37515 let ty = ty0 in
37516
37517 # 617 "parser_cocci_menhir.mly"
37518 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
37519 # 37520 "parser_cocci_menhir.ml"
37520
37521 in
37522
37523 # 680 "parser_cocci_menhir.mly"
37524 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37525 # 37526 "parser_cocci_menhir.ml"
37526
37527 in
37528 let cv =
37529
37530 # 39 "standard.mly"
37531 ( None )
37532 # 37533 "parser_cocci_menhir.ml"
37533
37534 in
37535
37536 # 705 "parser_cocci_menhir.mly"
37537 ( P.pointerify (P.make_cv cv ty) m )
37538 # 37539 "parser_cocci_menhir.ml"
37539 in
37540 _menhir_env.MenhirLib.EngineTypes.stack <- {
37541 MenhirLib.EngineTypes.state = _menhir_s;
37542 MenhirLib.EngineTypes.semv = Obj.repr _v;
37543 MenhirLib.EngineTypes.startp = _startpos;
37544 MenhirLib.EngineTypes.endp = _endpos;
37545 MenhirLib.EngineTypes.next = _menhir_stack;
37546 });
37547 (fun _menhir_env ->
37548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37549 let {
37550 MenhirLib.EngineTypes.semv = m;
37551 MenhirLib.EngineTypes.startp = _startpos_m_;
37552 MenhirLib.EngineTypes.endp = _endpos_m_;
37553 MenhirLib.EngineTypes.next = {
37554 MenhirLib.EngineTypes.semv = ty00;
37555 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37556 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37557 MenhirLib.EngineTypes.next = {
37558 MenhirLib.EngineTypes.state = _menhir_s;
37559 MenhirLib.EngineTypes.semv = r0;
37560 MenhirLib.EngineTypes.startp = _startpos_r0_;
37561 MenhirLib.EngineTypes.endp = _endpos_r0_;
37562 MenhirLib.EngineTypes.next = _menhir_stack;
37563 };
37564 };
37565 } = _menhir_stack in
37566 let m : 'tv_list_TMul_ = Obj.magic m in
37567 let ty00 : (
37568 # 114 "parser_cocci_menhir.mly"
37569 (Data.clt)
37570 # 37571 "parser_cocci_menhir.ml"
37571 ) = Obj.magic ty00 in
37572 let r0 : (
37573 # 117 "parser_cocci_menhir.mly"
37574 (Data.clt)
37575 # 37576 "parser_cocci_menhir.ml"
37576 ) = Obj.magic r0 in
37577 let _startpos = _startpos_r0_ in
37578 let _endpos = _endpos_m_ in
37579 let _v : 'tv_typedef_ctype = let ty =
37580 let ty0 = ty00 in
37581 let r = r0 in
37582 let ty =
37583 let ty = ty0 in
37584
37585 # 619 "parser_cocci_menhir.mly"
37586 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
37587 # 37588 "parser_cocci_menhir.ml"
37588
37589 in
37590
37591 # 680 "parser_cocci_menhir.mly"
37592 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37593 # 37594 "parser_cocci_menhir.ml"
37594
37595 in
37596 let cv =
37597
37598 # 39 "standard.mly"
37599 ( None )
37600 # 37601 "parser_cocci_menhir.ml"
37601
37602 in
37603
37604 # 705 "parser_cocci_menhir.mly"
37605 ( P.pointerify (P.make_cv cv ty) m )
37606 # 37607 "parser_cocci_menhir.ml"
37607 in
37608 _menhir_env.MenhirLib.EngineTypes.stack <- {
37609 MenhirLib.EngineTypes.state = _menhir_s;
37610 MenhirLib.EngineTypes.semv = Obj.repr _v;
37611 MenhirLib.EngineTypes.startp = _startpos;
37612 MenhirLib.EngineTypes.endp = _endpos;
37613 MenhirLib.EngineTypes.next = _menhir_stack;
37614 });
37615 (fun _menhir_env ->
37616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37617 let {
37618 MenhirLib.EngineTypes.semv = m;
37619 MenhirLib.EngineTypes.startp = _startpos_m_;
37620 MenhirLib.EngineTypes.endp = _endpos_m_;
37621 MenhirLib.EngineTypes.next = {
37622 MenhirLib.EngineTypes.semv = ty00;
37623 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37624 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37625 MenhirLib.EngineTypes.next = {
37626 MenhirLib.EngineTypes.state = _menhir_s;
37627 MenhirLib.EngineTypes.semv = r0;
37628 MenhirLib.EngineTypes.startp = _startpos_r0_;
37629 MenhirLib.EngineTypes.endp = _endpos_r0_;
37630 MenhirLib.EngineTypes.next = _menhir_stack;
37631 };
37632 };
37633 } = _menhir_stack in
37634 let m : 'tv_list_TMul_ = Obj.magic m in
37635 let ty00 : (
37636 # 114 "parser_cocci_menhir.mly"
37637 (Data.clt)
37638 # 37639 "parser_cocci_menhir.ml"
37639 ) = Obj.magic ty00 in
37640 let r0 : (
37641 # 117 "parser_cocci_menhir.mly"
37642 (Data.clt)
37643 # 37644 "parser_cocci_menhir.ml"
37644 ) = Obj.magic r0 in
37645 let _startpos = _startpos_r0_ in
37646 let _endpos = _endpos_m_ in
37647 let _v : 'tv_typedef_ctype = let ty =
37648 let ty0 = ty00 in
37649 let r = r0 in
37650 let ty =
37651 let ty = ty0 in
37652
37653 # 621 "parser_cocci_menhir.mly"
37654 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
37655 # 37656 "parser_cocci_menhir.ml"
37656
37657 in
37658
37659 # 680 "parser_cocci_menhir.mly"
37660 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37661 # 37662 "parser_cocci_menhir.ml"
37662
37663 in
37664 let cv =
37665
37666 # 39 "standard.mly"
37667 ( None )
37668 # 37669 "parser_cocci_menhir.ml"
37669
37670 in
37671
37672 # 705 "parser_cocci_menhir.mly"
37673 ( P.pointerify (P.make_cv cv ty) m )
37674 # 37675 "parser_cocci_menhir.ml"
37675 in
37676 _menhir_env.MenhirLib.EngineTypes.stack <- {
37677 MenhirLib.EngineTypes.state = _menhir_s;
37678 MenhirLib.EngineTypes.semv = Obj.repr _v;
37679 MenhirLib.EngineTypes.startp = _startpos;
37680 MenhirLib.EngineTypes.endp = _endpos;
37681 MenhirLib.EngineTypes.next = _menhir_stack;
37682 });
37683 (fun _menhir_env ->
37684 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37685 let {
37686 MenhirLib.EngineTypes.semv = m;
37687 MenhirLib.EngineTypes.startp = _startpos_m_;
37688 MenhirLib.EngineTypes.endp = _endpos_m_;
37689 MenhirLib.EngineTypes.next = {
37690 MenhirLib.EngineTypes.semv = p00;
37691 MenhirLib.EngineTypes.startp = _startpos_p00_;
37692 MenhirLib.EngineTypes.endp = _endpos_p00_;
37693 MenhirLib.EngineTypes.next = {
37694 MenhirLib.EngineTypes.state = _menhir_s;
37695 MenhirLib.EngineTypes.semv = r0;
37696 MenhirLib.EngineTypes.startp = _startpos_r0_;
37697 MenhirLib.EngineTypes.endp = _endpos_r0_;
37698 MenhirLib.EngineTypes.next = _menhir_stack;
37699 };
37700 };
37701 } = _menhir_stack in
37702 let m : 'tv_list_TMul_ = Obj.magic m in
37703 let p00 : (
37704 # 131 "parser_cocci_menhir.mly"
37705 (Parse_aux.info)
37706 # 37707 "parser_cocci_menhir.ml"
37707 ) = Obj.magic p00 in
37708 let r0 : (
37709 # 117 "parser_cocci_menhir.mly"
37710 (Data.clt)
37711 # 37712 "parser_cocci_menhir.ml"
37712 ) = Obj.magic r0 in
37713 let _startpos = _startpos_r0_ in
37714 let _endpos = _endpos_m_ in
37715 let _v : 'tv_typedef_ctype = let ty =
37716 let p0 = p00 in
37717 let r = r0 in
37718 let ty =
37719 let p = p0 in
37720
37721 # 623 "parser_cocci_menhir.mly"
37722 ( let (nm,pure,clt) = p in
37723 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
37724 # 37725 "parser_cocci_menhir.ml"
37725
37726 in
37727
37728 # 680 "parser_cocci_menhir.mly"
37729 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37730 # 37731 "parser_cocci_menhir.ml"
37731
37732 in
37733 let cv =
37734
37735 # 39 "standard.mly"
37736 ( None )
37737 # 37738 "parser_cocci_menhir.ml"
37738
37739 in
37740
37741 # 705 "parser_cocci_menhir.mly"
37742 ( P.pointerify (P.make_cv cv ty) m )
37743 # 37744 "parser_cocci_menhir.ml"
37744 in
37745 _menhir_env.MenhirLib.EngineTypes.stack <- {
37746 MenhirLib.EngineTypes.state = _menhir_s;
37747 MenhirLib.EngineTypes.semv = Obj.repr _v;
37748 MenhirLib.EngineTypes.startp = _startpos;
37749 MenhirLib.EngineTypes.endp = _endpos;
37750 MenhirLib.EngineTypes.next = _menhir_stack;
37751 });
37752 (fun _menhir_env ->
37753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37754 let {
37755 MenhirLib.EngineTypes.semv = m;
37756 MenhirLib.EngineTypes.startp = _startpos_m_;
37757 MenhirLib.EngineTypes.endp = _endpos_m_;
37758 MenhirLib.EngineTypes.next = {
37759 MenhirLib.EngineTypes.semv = p00;
37760 MenhirLib.EngineTypes.startp = _startpos_p00_;
37761 MenhirLib.EngineTypes.endp = _endpos_p00_;
37762 MenhirLib.EngineTypes.next = {
37763 MenhirLib.EngineTypes.startp = _startpos__3_;
37764 MenhirLib.EngineTypes.endp = _endpos__3_;
37765 MenhirLib.EngineTypes.next = {
37766 MenhirLib.EngineTypes.semv = r00;
37767 MenhirLib.EngineTypes.startp = _startpos_r00_;
37768 MenhirLib.EngineTypes.endp = _endpos_r00_;
37769 MenhirLib.EngineTypes.next = {
37770 MenhirLib.EngineTypes.state = _menhir_s;
37771 MenhirLib.EngineTypes.semv = r1;
37772 MenhirLib.EngineTypes.startp = _startpos_r1_;
37773 MenhirLib.EngineTypes.endp = _endpos_r1_;
37774 MenhirLib.EngineTypes.next = _menhir_stack;
37775 };
37776 };
37777 };
37778 };
37779 } = _menhir_stack in
37780 let m : 'tv_list_TMul_ = Obj.magic m in
37781 let p00 : (
37782 # 125 "parser_cocci_menhir.mly"
37783 (string * Data.clt)
37784 # 37785 "parser_cocci_menhir.ml"
37785 ) = Obj.magic p00 in
37786 let r00 : (
37787 # 112 "parser_cocci_menhir.mly"
37788 (string)
37789 # 37790 "parser_cocci_menhir.ml"
37790 ) = Obj.magic r00 in
37791 let r1 : (
37792 # 117 "parser_cocci_menhir.mly"
37793 (Data.clt)
37794 # 37795 "parser_cocci_menhir.ml"
37795 ) = Obj.magic r1 in
37796 let _startpos = _startpos_r1_ in
37797 let _endpos = _endpos_m_ in
37798 let _v : 'tv_typedef_ctype = let ty =
37799 let p0 = p00 in
37800 let r0 = r00 in
37801 let r = r1 in
37802 let ty =
37803 let p = p0 in
37804 let r = r0 in
37805
37806 # 626 "parser_cocci_menhir.mly"
37807 ( let nm = (r,P.id2name p) in
37808 (* this is only possible when we are in a metavar decl. Otherwise,
37809 it will be represented already as a MetaType *)
37810 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
37811 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
37812 Ast0.Impure (*will be ignored*))) )
37813 # 37814 "parser_cocci_menhir.ml"
37814
37815 in
37816
37817 # 680 "parser_cocci_menhir.mly"
37818 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37819 # 37820 "parser_cocci_menhir.ml"
37820
37821 in
37822 let cv =
37823
37824 # 39 "standard.mly"
37825 ( None )
37826 # 37827 "parser_cocci_menhir.ml"
37827
37828 in
37829
37830 # 705 "parser_cocci_menhir.mly"
37831 ( P.pointerify (P.make_cv cv ty) m )
37832 # 37833 "parser_cocci_menhir.ml"
37833 in
37834 _menhir_env.MenhirLib.EngineTypes.stack <- {
37835 MenhirLib.EngineTypes.state = _menhir_s;
37836 MenhirLib.EngineTypes.semv = Obj.repr _v;
37837 MenhirLib.EngineTypes.startp = _startpos;
37838 MenhirLib.EngineTypes.endp = _endpos;
37839 MenhirLib.EngineTypes.next = _menhir_stack;
37840 });
37841 (fun _menhir_env ->
37842 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37843 let {
37844 MenhirLib.EngineTypes.semv = m;
37845 MenhirLib.EngineTypes.startp = _startpos_m_;
37846 MenhirLib.EngineTypes.endp = _endpos_m_;
37847 MenhirLib.EngineTypes.next = {
37848 MenhirLib.EngineTypes.semv = ty00;
37849 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37850 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37851 MenhirLib.EngineTypes.next = {
37852 MenhirLib.EngineTypes.state = _menhir_s;
37853 MenhirLib.EngineTypes.semv = r0;
37854 MenhirLib.EngineTypes.startp = _startpos_r0_;
37855 MenhirLib.EngineTypes.endp = _endpos_r0_;
37856 MenhirLib.EngineTypes.next = _menhir_stack;
37857 };
37858 };
37859 } = _menhir_stack in
37860 let m : 'tv_list_TMul_ = Obj.magic m in
37861 let ty00 : (
37862 # 114 "parser_cocci_menhir.mly"
37863 (Data.clt)
37864 # 37865 "parser_cocci_menhir.ml"
37865 ) = Obj.magic ty00 in
37866 let r0 : (
37867 # 117 "parser_cocci_menhir.mly"
37868 (Data.clt)
37869 # 37870 "parser_cocci_menhir.ml"
37870 ) = Obj.magic r0 in
37871 let _startpos = _startpos_r0_ in
37872 let _endpos = _endpos_m_ in
37873 let _v : 'tv_typedef_ctype = let ty =
37874 let ty0 = ty00 in
37875 let r = r0 in
37876 let ty =
37877 let ty = ty0 in
37878
37879 # 633 "parser_cocci_menhir.mly"
37880 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
37881 # 37882 "parser_cocci_menhir.ml"
37882
37883 in
37884
37885 # 680 "parser_cocci_menhir.mly"
37886 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37887 # 37888 "parser_cocci_menhir.ml"
37888
37889 in
37890 let cv =
37891
37892 # 39 "standard.mly"
37893 ( None )
37894 # 37895 "parser_cocci_menhir.ml"
37895
37896 in
37897
37898 # 705 "parser_cocci_menhir.mly"
37899 ( P.pointerify (P.make_cv cv ty) m )
37900 # 37901 "parser_cocci_menhir.ml"
37901 in
37902 _menhir_env.MenhirLib.EngineTypes.stack <- {
37903 MenhirLib.EngineTypes.state = _menhir_s;
37904 MenhirLib.EngineTypes.semv = Obj.repr _v;
37905 MenhirLib.EngineTypes.startp = _startpos;
37906 MenhirLib.EngineTypes.endp = _endpos;
37907 MenhirLib.EngineTypes.next = _menhir_stack;
37908 });
37909 (fun _menhir_env ->
37910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37911 let {
37912 MenhirLib.EngineTypes.semv = m;
37913 MenhirLib.EngineTypes.startp = _startpos_m_;
37914 MenhirLib.EngineTypes.endp = _endpos_m_;
37915 MenhirLib.EngineTypes.next = {
37916 MenhirLib.EngineTypes.semv = ty200;
37917 MenhirLib.EngineTypes.startp = _startpos_ty200_;
37918 MenhirLib.EngineTypes.endp = _endpos_ty200_;
37919 MenhirLib.EngineTypes.next = {
37920 MenhirLib.EngineTypes.semv = ty100;
37921 MenhirLib.EngineTypes.startp = _startpos_ty100_;
37922 MenhirLib.EngineTypes.endp = _endpos_ty100_;
37923 MenhirLib.EngineTypes.next = {
37924 MenhirLib.EngineTypes.state = _menhir_s;
37925 MenhirLib.EngineTypes.semv = r0;
37926 MenhirLib.EngineTypes.startp = _startpos_r0_;
37927 MenhirLib.EngineTypes.endp = _endpos_r0_;
37928 MenhirLib.EngineTypes.next = _menhir_stack;
37929 };
37930 };
37931 };
37932 } = _menhir_stack in
37933 let m : 'tv_list_TMul_ = Obj.magic m in
37934 let ty200 : (
37935 # 114 "parser_cocci_menhir.mly"
37936 (Data.clt)
37937 # 37938 "parser_cocci_menhir.ml"
37938 ) = Obj.magic ty200 in
37939 let ty100 : (
37940 # 114 "parser_cocci_menhir.mly"
37941 (Data.clt)
37942 # 37943 "parser_cocci_menhir.ml"
37943 ) = Obj.magic ty100 in
37944 let r0 : (
37945 # 117 "parser_cocci_menhir.mly"
37946 (Data.clt)
37947 # 37948 "parser_cocci_menhir.ml"
37948 ) = Obj.magic r0 in
37949 let _startpos = _startpos_r0_ in
37950 let _endpos = _endpos_m_ in
37951 let _v : 'tv_typedef_ctype = let ty =
37952 let ty20 = ty200 in
37953 let ty10 = ty100 in
37954 let r = r0 in
37955 let ty =
37956 let ty2 = ty20 in
37957 let ty1 = ty10 in
37958
37959 # 635 "parser_cocci_menhir.mly"
37960 ( Ast0.wrap
37961 (Ast0.BaseType
37962 (Ast.LongLongType,
37963 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
37964 # 37965 "parser_cocci_menhir.ml"
37965
37966 in
37967
37968 # 680 "parser_cocci_menhir.mly"
37969 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37970 # 37971 "parser_cocci_menhir.ml"
37971
37972 in
37973 let cv =
37974
37975 # 39 "standard.mly"
37976 ( None )
37977 # 37978 "parser_cocci_menhir.ml"
37978
37979 in
37980
37981 # 705 "parser_cocci_menhir.mly"
37982 ( P.pointerify (P.make_cv cv ty) m )
37983 # 37984 "parser_cocci_menhir.ml"
37984 in
37985 _menhir_env.MenhirLib.EngineTypes.stack <- {
37986 MenhirLib.EngineTypes.state = _menhir_s;
37987 MenhirLib.EngineTypes.semv = Obj.repr _v;
37988 MenhirLib.EngineTypes.startp = _startpos;
37989 MenhirLib.EngineTypes.endp = _endpos;
37990 MenhirLib.EngineTypes.next = _menhir_stack;
37991 });
37992 (fun _menhir_env ->
37993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37994 let {
37995 MenhirLib.EngineTypes.semv = m;
37996 MenhirLib.EngineTypes.startp = _startpos_m_;
37997 MenhirLib.EngineTypes.endp = _endpos_m_;
37998 MenhirLib.EngineTypes.next = {
37999 MenhirLib.EngineTypes.semv = ty00;
38000 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38001 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38002 MenhirLib.EngineTypes.next = {
38003 MenhirLib.EngineTypes.state = _menhir_s;
38004 MenhirLib.EngineTypes.semv = r0;
38005 MenhirLib.EngineTypes.startp = _startpos_r0_;
38006 MenhirLib.EngineTypes.endp = _endpos_r0_;
38007 MenhirLib.EngineTypes.next = _menhir_stack;
38008 };
38009 };
38010 } = _menhir_stack in
38011 let m : 'tv_list_TMul_ = Obj.magic m in
38012 let ty00 : (
38013 # 114 "parser_cocci_menhir.mly"
38014 (Data.clt)
38015 # 38016 "parser_cocci_menhir.ml"
38016 ) = Obj.magic ty00 in
38017 let r0 : (
38018 # 117 "parser_cocci_menhir.mly"
38019 (Data.clt)
38020 # 38021 "parser_cocci_menhir.ml"
38021 ) = Obj.magic r0 in
38022 let _startpos = _startpos_r0_ in
38023 let _endpos = _endpos_m_ in
38024 let _v : 'tv_typedef_ctype = let ty =
38025 let ty0 = ty00 in
38026 let r = r0 in
38027 let ty =
38028 let ty = ty0 in
38029
38030 # 617 "parser_cocci_menhir.mly"
38031 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
38032 # 38033 "parser_cocci_menhir.ml"
38033
38034 in
38035
38036 # 682 "parser_cocci_menhir.mly"
38037 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38038 # 38039 "parser_cocci_menhir.ml"
38039
38040 in
38041 let cv =
38042
38043 # 39 "standard.mly"
38044 ( None )
38045 # 38046 "parser_cocci_menhir.ml"
38046
38047 in
38048
38049 # 705 "parser_cocci_menhir.mly"
38050 ( P.pointerify (P.make_cv cv ty) m )
38051 # 38052 "parser_cocci_menhir.ml"
38052 in
38053 _menhir_env.MenhirLib.EngineTypes.stack <- {
38054 MenhirLib.EngineTypes.state = _menhir_s;
38055 MenhirLib.EngineTypes.semv = Obj.repr _v;
38056 MenhirLib.EngineTypes.startp = _startpos;
38057 MenhirLib.EngineTypes.endp = _endpos;
38058 MenhirLib.EngineTypes.next = _menhir_stack;
38059 });
38060 (fun _menhir_env ->
38061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38062 let {
38063 MenhirLib.EngineTypes.semv = m;
38064 MenhirLib.EngineTypes.startp = _startpos_m_;
38065 MenhirLib.EngineTypes.endp = _endpos_m_;
38066 MenhirLib.EngineTypes.next = {
38067 MenhirLib.EngineTypes.semv = ty00;
38068 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38069 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38070 MenhirLib.EngineTypes.next = {
38071 MenhirLib.EngineTypes.state = _menhir_s;
38072 MenhirLib.EngineTypes.semv = r0;
38073 MenhirLib.EngineTypes.startp = _startpos_r0_;
38074 MenhirLib.EngineTypes.endp = _endpos_r0_;
38075 MenhirLib.EngineTypes.next = _menhir_stack;
38076 };
38077 };
38078 } = _menhir_stack in
38079 let m : 'tv_list_TMul_ = Obj.magic m in
38080 let ty00 : (
38081 # 114 "parser_cocci_menhir.mly"
38082 (Data.clt)
38083 # 38084 "parser_cocci_menhir.ml"
38084 ) = Obj.magic ty00 in
38085 let r0 : (
38086 # 117 "parser_cocci_menhir.mly"
38087 (Data.clt)
38088 # 38089 "parser_cocci_menhir.ml"
38089 ) = Obj.magic r0 in
38090 let _startpos = _startpos_r0_ in
38091 let _endpos = _endpos_m_ in
38092 let _v : 'tv_typedef_ctype = let ty =
38093 let ty0 = ty00 in
38094 let r = r0 in
38095 let ty =
38096 let ty = ty0 in
38097
38098 # 619 "parser_cocci_menhir.mly"
38099 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
38100 # 38101 "parser_cocci_menhir.ml"
38101
38102 in
38103
38104 # 682 "parser_cocci_menhir.mly"
38105 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38106 # 38107 "parser_cocci_menhir.ml"
38107
38108 in
38109 let cv =
38110
38111 # 39 "standard.mly"
38112 ( None )
38113 # 38114 "parser_cocci_menhir.ml"
38114
38115 in
38116
38117 # 705 "parser_cocci_menhir.mly"
38118 ( P.pointerify (P.make_cv cv ty) m )
38119 # 38120 "parser_cocci_menhir.ml"
38120 in
38121 _menhir_env.MenhirLib.EngineTypes.stack <- {
38122 MenhirLib.EngineTypes.state = _menhir_s;
38123 MenhirLib.EngineTypes.semv = Obj.repr _v;
38124 MenhirLib.EngineTypes.startp = _startpos;
38125 MenhirLib.EngineTypes.endp = _endpos;
38126 MenhirLib.EngineTypes.next = _menhir_stack;
38127 });
38128 (fun _menhir_env ->
38129 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38130 let {
38131 MenhirLib.EngineTypes.semv = m;
38132 MenhirLib.EngineTypes.startp = _startpos_m_;
38133 MenhirLib.EngineTypes.endp = _endpos_m_;
38134 MenhirLib.EngineTypes.next = {
38135 MenhirLib.EngineTypes.semv = ty00;
38136 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38137 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38138 MenhirLib.EngineTypes.next = {
38139 MenhirLib.EngineTypes.state = _menhir_s;
38140 MenhirLib.EngineTypes.semv = r0;
38141 MenhirLib.EngineTypes.startp = _startpos_r0_;
38142 MenhirLib.EngineTypes.endp = _endpos_r0_;
38143 MenhirLib.EngineTypes.next = _menhir_stack;
38144 };
38145 };
38146 } = _menhir_stack in
38147 let m : 'tv_list_TMul_ = Obj.magic m in
38148 let ty00 : (
38149 # 114 "parser_cocci_menhir.mly"
38150 (Data.clt)
38151 # 38152 "parser_cocci_menhir.ml"
38152 ) = Obj.magic ty00 in
38153 let r0 : (
38154 # 117 "parser_cocci_menhir.mly"
38155 (Data.clt)
38156 # 38157 "parser_cocci_menhir.ml"
38157 ) = Obj.magic r0 in
38158 let _startpos = _startpos_r0_ in
38159 let _endpos = _endpos_m_ in
38160 let _v : 'tv_typedef_ctype = let ty =
38161 let ty0 = ty00 in
38162 let r = r0 in
38163 let ty =
38164 let ty = ty0 in
38165
38166 # 621 "parser_cocci_menhir.mly"
38167 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
38168 # 38169 "parser_cocci_menhir.ml"
38169
38170 in
38171
38172 # 682 "parser_cocci_menhir.mly"
38173 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38174 # 38175 "parser_cocci_menhir.ml"
38175
38176 in
38177 let cv =
38178
38179 # 39 "standard.mly"
38180 ( None )
38181 # 38182 "parser_cocci_menhir.ml"
38182
38183 in
38184
38185 # 705 "parser_cocci_menhir.mly"
38186 ( P.pointerify (P.make_cv cv ty) m )
38187 # 38188 "parser_cocci_menhir.ml"
38188 in
38189 _menhir_env.MenhirLib.EngineTypes.stack <- {
38190 MenhirLib.EngineTypes.state = _menhir_s;
38191 MenhirLib.EngineTypes.semv = Obj.repr _v;
38192 MenhirLib.EngineTypes.startp = _startpos;
38193 MenhirLib.EngineTypes.endp = _endpos;
38194 MenhirLib.EngineTypes.next = _menhir_stack;
38195 });
38196 (fun _menhir_env ->
38197 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38198 let {
38199 MenhirLib.EngineTypes.semv = m;
38200 MenhirLib.EngineTypes.startp = _startpos_m_;
38201 MenhirLib.EngineTypes.endp = _endpos_m_;
38202 MenhirLib.EngineTypes.next = {
38203 MenhirLib.EngineTypes.semv = p00;
38204 MenhirLib.EngineTypes.startp = _startpos_p00_;
38205 MenhirLib.EngineTypes.endp = _endpos_p00_;
38206 MenhirLib.EngineTypes.next = {
38207 MenhirLib.EngineTypes.state = _menhir_s;
38208 MenhirLib.EngineTypes.semv = r0;
38209 MenhirLib.EngineTypes.startp = _startpos_r0_;
38210 MenhirLib.EngineTypes.endp = _endpos_r0_;
38211 MenhirLib.EngineTypes.next = _menhir_stack;
38212 };
38213 };
38214 } = _menhir_stack in
38215 let m : 'tv_list_TMul_ = Obj.magic m in
38216 let p00 : (
38217 # 131 "parser_cocci_menhir.mly"
38218 (Parse_aux.info)
38219 # 38220 "parser_cocci_menhir.ml"
38220 ) = Obj.magic p00 in
38221 let r0 : (
38222 # 117 "parser_cocci_menhir.mly"
38223 (Data.clt)
38224 # 38225 "parser_cocci_menhir.ml"
38225 ) = Obj.magic r0 in
38226 let _startpos = _startpos_r0_ in
38227 let _endpos = _endpos_m_ in
38228 let _v : 'tv_typedef_ctype = let ty =
38229 let p0 = p00 in
38230 let r = r0 in
38231 let ty =
38232 let p = p0 in
38233
38234 # 623 "parser_cocci_menhir.mly"
38235 ( let (nm,pure,clt) = p in
38236 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
38237 # 38238 "parser_cocci_menhir.ml"
38238
38239 in
38240
38241 # 682 "parser_cocci_menhir.mly"
38242 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38243 # 38244 "parser_cocci_menhir.ml"
38244
38245 in
38246 let cv =
38247
38248 # 39 "standard.mly"
38249 ( None )
38250 # 38251 "parser_cocci_menhir.ml"
38251
38252 in
38253
38254 # 705 "parser_cocci_menhir.mly"
38255 ( P.pointerify (P.make_cv cv ty) m )
38256 # 38257 "parser_cocci_menhir.ml"
38257 in
38258 _menhir_env.MenhirLib.EngineTypes.stack <- {
38259 MenhirLib.EngineTypes.state = _menhir_s;
38260 MenhirLib.EngineTypes.semv = Obj.repr _v;
38261 MenhirLib.EngineTypes.startp = _startpos;
38262 MenhirLib.EngineTypes.endp = _endpos;
38263 MenhirLib.EngineTypes.next = _menhir_stack;
38264 });
38265 (fun _menhir_env ->
38266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38267 let {
38268 MenhirLib.EngineTypes.semv = m;
38269 MenhirLib.EngineTypes.startp = _startpos_m_;
38270 MenhirLib.EngineTypes.endp = _endpos_m_;
38271 MenhirLib.EngineTypes.next = {
38272 MenhirLib.EngineTypes.semv = p00;
38273 MenhirLib.EngineTypes.startp = _startpos_p00_;
38274 MenhirLib.EngineTypes.endp = _endpos_p00_;
38275 MenhirLib.EngineTypes.next = {
38276 MenhirLib.EngineTypes.startp = _startpos__3_;
38277 MenhirLib.EngineTypes.endp = _endpos__3_;
38278 MenhirLib.EngineTypes.next = {
38279 MenhirLib.EngineTypes.semv = r00;
38280 MenhirLib.EngineTypes.startp = _startpos_r00_;
38281 MenhirLib.EngineTypes.endp = _endpos_r00_;
38282 MenhirLib.EngineTypes.next = {
38283 MenhirLib.EngineTypes.state = _menhir_s;
38284 MenhirLib.EngineTypes.semv = r1;
38285 MenhirLib.EngineTypes.startp = _startpos_r1_;
38286 MenhirLib.EngineTypes.endp = _endpos_r1_;
38287 MenhirLib.EngineTypes.next = _menhir_stack;
38288 };
38289 };
38290 };
38291 };
38292 } = _menhir_stack in
38293 let m : 'tv_list_TMul_ = Obj.magic m in
38294 let p00 : (
38295 # 125 "parser_cocci_menhir.mly"
38296 (string * Data.clt)
38297 # 38298 "parser_cocci_menhir.ml"
38298 ) = Obj.magic p00 in
38299 let r00 : (
38300 # 112 "parser_cocci_menhir.mly"
38301 (string)
38302 # 38303 "parser_cocci_menhir.ml"
38303 ) = Obj.magic r00 in
38304 let r1 : (
38305 # 117 "parser_cocci_menhir.mly"
38306 (Data.clt)
38307 # 38308 "parser_cocci_menhir.ml"
38308 ) = Obj.magic r1 in
38309 let _startpos = _startpos_r1_ in
38310 let _endpos = _endpos_m_ in
38311 let _v : 'tv_typedef_ctype = let ty =
38312 let p0 = p00 in
38313 let r0 = r00 in
38314 let r = r1 in
38315 let ty =
38316 let p = p0 in
38317 let r = r0 in
38318
38319 # 626 "parser_cocci_menhir.mly"
38320 ( let nm = (r,P.id2name p) in
38321 (* this is only possible when we are in a metavar decl. Otherwise,
38322 it will be represented already as a MetaType *)
38323 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
38324 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
38325 Ast0.Impure (*will be ignored*))) )
38326 # 38327 "parser_cocci_menhir.ml"
38327
38328 in
38329
38330 # 682 "parser_cocci_menhir.mly"
38331 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38332 # 38333 "parser_cocci_menhir.ml"
38333
38334 in
38335 let cv =
38336
38337 # 39 "standard.mly"
38338 ( None )
38339 # 38340 "parser_cocci_menhir.ml"
38340
38341 in
38342
38343 # 705 "parser_cocci_menhir.mly"
38344 ( P.pointerify (P.make_cv cv ty) m )
38345 # 38346 "parser_cocci_menhir.ml"
38346 in
38347 _menhir_env.MenhirLib.EngineTypes.stack <- {
38348 MenhirLib.EngineTypes.state = _menhir_s;
38349 MenhirLib.EngineTypes.semv = Obj.repr _v;
38350 MenhirLib.EngineTypes.startp = _startpos;
38351 MenhirLib.EngineTypes.endp = _endpos;
38352 MenhirLib.EngineTypes.next = _menhir_stack;
38353 });
38354 (fun _menhir_env ->
38355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38356 let {
38357 MenhirLib.EngineTypes.semv = m;
38358 MenhirLib.EngineTypes.startp = _startpos_m_;
38359 MenhirLib.EngineTypes.endp = _endpos_m_;
38360 MenhirLib.EngineTypes.next = {
38361 MenhirLib.EngineTypes.semv = ty00;
38362 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38363 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38364 MenhirLib.EngineTypes.next = {
38365 MenhirLib.EngineTypes.state = _menhir_s;
38366 MenhirLib.EngineTypes.semv = r0;
38367 MenhirLib.EngineTypes.startp = _startpos_r0_;
38368 MenhirLib.EngineTypes.endp = _endpos_r0_;
38369 MenhirLib.EngineTypes.next = _menhir_stack;
38370 };
38371 };
38372 } = _menhir_stack in
38373 let m : 'tv_list_TMul_ = Obj.magic m in
38374 let ty00 : (
38375 # 114 "parser_cocci_menhir.mly"
38376 (Data.clt)
38377 # 38378 "parser_cocci_menhir.ml"
38378 ) = Obj.magic ty00 in
38379 let r0 : (
38380 # 117 "parser_cocci_menhir.mly"
38381 (Data.clt)
38382 # 38383 "parser_cocci_menhir.ml"
38383 ) = Obj.magic r0 in
38384 let _startpos = _startpos_r0_ in
38385 let _endpos = _endpos_m_ in
38386 let _v : 'tv_typedef_ctype = let ty =
38387 let ty0 = ty00 in
38388 let r = r0 in
38389 let ty =
38390 let ty = ty0 in
38391
38392 # 633 "parser_cocci_menhir.mly"
38393 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
38394 # 38395 "parser_cocci_menhir.ml"
38395
38396 in
38397
38398 # 682 "parser_cocci_menhir.mly"
38399 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38400 # 38401 "parser_cocci_menhir.ml"
38401
38402 in
38403 let cv =
38404
38405 # 39 "standard.mly"
38406 ( None )
38407 # 38408 "parser_cocci_menhir.ml"
38408
38409 in
38410
38411 # 705 "parser_cocci_menhir.mly"
38412 ( P.pointerify (P.make_cv cv ty) m )
38413 # 38414 "parser_cocci_menhir.ml"
38414 in
38415 _menhir_env.MenhirLib.EngineTypes.stack <- {
38416 MenhirLib.EngineTypes.state = _menhir_s;
38417 MenhirLib.EngineTypes.semv = Obj.repr _v;
38418 MenhirLib.EngineTypes.startp = _startpos;
38419 MenhirLib.EngineTypes.endp = _endpos;
38420 MenhirLib.EngineTypes.next = _menhir_stack;
38421 });
38422 (fun _menhir_env ->
38423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38424 let {
38425 MenhirLib.EngineTypes.semv = m;
38426 MenhirLib.EngineTypes.startp = _startpos_m_;
38427 MenhirLib.EngineTypes.endp = _endpos_m_;
38428 MenhirLib.EngineTypes.next = {
38429 MenhirLib.EngineTypes.semv = ty200;
38430 MenhirLib.EngineTypes.startp = _startpos_ty200_;
38431 MenhirLib.EngineTypes.endp = _endpos_ty200_;
38432 MenhirLib.EngineTypes.next = {
38433 MenhirLib.EngineTypes.semv = ty100;
38434 MenhirLib.EngineTypes.startp = _startpos_ty100_;
38435 MenhirLib.EngineTypes.endp = _endpos_ty100_;
38436 MenhirLib.EngineTypes.next = {
38437 MenhirLib.EngineTypes.state = _menhir_s;
38438 MenhirLib.EngineTypes.semv = r0;
38439 MenhirLib.EngineTypes.startp = _startpos_r0_;
38440 MenhirLib.EngineTypes.endp = _endpos_r0_;
38441 MenhirLib.EngineTypes.next = _menhir_stack;
38442 };
38443 };
38444 };
38445 } = _menhir_stack in
38446 let m : 'tv_list_TMul_ = Obj.magic m in
38447 let ty200 : (
38448 # 114 "parser_cocci_menhir.mly"
38449 (Data.clt)
38450 # 38451 "parser_cocci_menhir.ml"
38451 ) = Obj.magic ty200 in
38452 let ty100 : (
38453 # 114 "parser_cocci_menhir.mly"
38454 (Data.clt)
38455 # 38456 "parser_cocci_menhir.ml"
38456 ) = Obj.magic ty100 in
38457 let r0 : (
38458 # 117 "parser_cocci_menhir.mly"
38459 (Data.clt)
38460 # 38461 "parser_cocci_menhir.ml"
38461 ) = Obj.magic r0 in
38462 let _startpos = _startpos_r0_ in
38463 let _endpos = _endpos_m_ in
38464 let _v : 'tv_typedef_ctype = let ty =
38465 let ty20 = ty200 in
38466 let ty10 = ty100 in
38467 let r = r0 in
38468 let ty =
38469 let ty2 = ty20 in
38470 let ty1 = ty10 in
38471
38472 # 635 "parser_cocci_menhir.mly"
38473 ( Ast0.wrap
38474 (Ast0.BaseType
38475 (Ast.LongLongType,
38476 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
38477 # 38478 "parser_cocci_menhir.ml"
38478
38479 in
38480
38481 # 682 "parser_cocci_menhir.mly"
38482 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38483 # 38484 "parser_cocci_menhir.ml"
38484
38485 in
38486 let cv =
38487
38488 # 39 "standard.mly"
38489 ( None )
38490 # 38491 "parser_cocci_menhir.ml"
38491
38492 in
38493
38494 # 705 "parser_cocci_menhir.mly"
38495 ( P.pointerify (P.make_cv cv ty) m )
38496 # 38497 "parser_cocci_menhir.ml"
38497 in
38498 _menhir_env.MenhirLib.EngineTypes.stack <- {
38499 MenhirLib.EngineTypes.state = _menhir_s;
38500 MenhirLib.EngineTypes.semv = Obj.repr _v;
38501 MenhirLib.EngineTypes.startp = _startpos;
38502 MenhirLib.EngineTypes.endp = _endpos;
38503 MenhirLib.EngineTypes.next = _menhir_stack;
38504 });
38505 (fun _menhir_env ->
38506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38507 let {
38508 MenhirLib.EngineTypes.semv = m;
38509 MenhirLib.EngineTypes.startp = _startpos_m_;
38510 MenhirLib.EngineTypes.endp = _endpos_m_;
38511 MenhirLib.EngineTypes.next = {
38512 MenhirLib.EngineTypes.state = _menhir_s;
38513 MenhirLib.EngineTypes.semv = ty00;
38514 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38515 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38516 MenhirLib.EngineTypes.next = _menhir_stack;
38517 };
38518 } = _menhir_stack in
38519 let m : 'tv_list_TMul_ = Obj.magic m in
38520 let ty00 : (
38521 # 114 "parser_cocci_menhir.mly"
38522 (Data.clt)
38523 # 38524 "parser_cocci_menhir.ml"
38524 ) = Obj.magic ty00 in
38525 let _startpos = _startpos_ty00_ in
38526 let _endpos = _endpos_m_ in
38527 let _v : 'tv_typedef_ctype = let ty =
38528 let ty0 = ty00 in
38529 let ty =
38530 let ty = ty0 in
38531
38532 # 617 "parser_cocci_menhir.mly"
38533 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
38534 # 38535 "parser_cocci_menhir.ml"
38535
38536 in
38537
38538 # 683 "parser_cocci_menhir.mly"
38539 ( ty )
38540 # 38541 "parser_cocci_menhir.ml"
38541
38542 in
38543 let cv =
38544
38545 # 39 "standard.mly"
38546 ( None )
38547 # 38548 "parser_cocci_menhir.ml"
38548
38549 in
38550
38551 # 705 "parser_cocci_menhir.mly"
38552 ( P.pointerify (P.make_cv cv ty) m )
38553 # 38554 "parser_cocci_menhir.ml"
38554 in
38555 _menhir_env.MenhirLib.EngineTypes.stack <- {
38556 MenhirLib.EngineTypes.state = _menhir_s;
38557 MenhirLib.EngineTypes.semv = Obj.repr _v;
38558 MenhirLib.EngineTypes.startp = _startpos;
38559 MenhirLib.EngineTypes.endp = _endpos;
38560 MenhirLib.EngineTypes.next = _menhir_stack;
38561 });
38562 (fun _menhir_env ->
38563 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38564 let {
38565 MenhirLib.EngineTypes.semv = m;
38566 MenhirLib.EngineTypes.startp = _startpos_m_;
38567 MenhirLib.EngineTypes.endp = _endpos_m_;
38568 MenhirLib.EngineTypes.next = {
38569 MenhirLib.EngineTypes.state = _menhir_s;
38570 MenhirLib.EngineTypes.semv = ty00;
38571 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38572 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38573 MenhirLib.EngineTypes.next = _menhir_stack;
38574 };
38575 } = _menhir_stack in
38576 let m : 'tv_list_TMul_ = Obj.magic m in
38577 let ty00 : (
38578 # 114 "parser_cocci_menhir.mly"
38579 (Data.clt)
38580 # 38581 "parser_cocci_menhir.ml"
38581 ) = Obj.magic ty00 in
38582 let _startpos = _startpos_ty00_ in
38583 let _endpos = _endpos_m_ in
38584 let _v : 'tv_typedef_ctype = let ty =
38585 let ty0 = ty00 in
38586 let ty =
38587 let ty = ty0 in
38588
38589 # 619 "parser_cocci_menhir.mly"
38590 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
38591 # 38592 "parser_cocci_menhir.ml"
38592
38593 in
38594
38595 # 683 "parser_cocci_menhir.mly"
38596 ( ty )
38597 # 38598 "parser_cocci_menhir.ml"
38598
38599 in
38600 let cv =
38601
38602 # 39 "standard.mly"
38603 ( None )
38604 # 38605 "parser_cocci_menhir.ml"
38605
38606 in
38607
38608 # 705 "parser_cocci_menhir.mly"
38609 ( P.pointerify (P.make_cv cv ty) m )
38610 # 38611 "parser_cocci_menhir.ml"
38611 in
38612 _menhir_env.MenhirLib.EngineTypes.stack <- {
38613 MenhirLib.EngineTypes.state = _menhir_s;
38614 MenhirLib.EngineTypes.semv = Obj.repr _v;
38615 MenhirLib.EngineTypes.startp = _startpos;
38616 MenhirLib.EngineTypes.endp = _endpos;
38617 MenhirLib.EngineTypes.next = _menhir_stack;
38618 });
38619 (fun _menhir_env ->
38620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38621 let {
38622 MenhirLib.EngineTypes.semv = m;
38623 MenhirLib.EngineTypes.startp = _startpos_m_;
38624 MenhirLib.EngineTypes.endp = _endpos_m_;
38625 MenhirLib.EngineTypes.next = {
38626 MenhirLib.EngineTypes.state = _menhir_s;
38627 MenhirLib.EngineTypes.semv = ty00;
38628 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38629 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38630 MenhirLib.EngineTypes.next = _menhir_stack;
38631 };
38632 } = _menhir_stack in
38633 let m : 'tv_list_TMul_ = Obj.magic m in
38634 let ty00 : (
38635 # 114 "parser_cocci_menhir.mly"
38636 (Data.clt)
38637 # 38638 "parser_cocci_menhir.ml"
38638 ) = Obj.magic ty00 in
38639 let _startpos = _startpos_ty00_ in
38640 let _endpos = _endpos_m_ in
38641 let _v : 'tv_typedef_ctype = let ty =
38642 let ty0 = ty00 in
38643 let ty =
38644 let ty = ty0 in
38645
38646 # 621 "parser_cocci_menhir.mly"
38647 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
38648 # 38649 "parser_cocci_menhir.ml"
38649
38650 in
38651
38652 # 683 "parser_cocci_menhir.mly"
38653 ( ty )
38654 # 38655 "parser_cocci_menhir.ml"
38655
38656 in
38657 let cv =
38658
38659 # 39 "standard.mly"
38660 ( None )
38661 # 38662 "parser_cocci_menhir.ml"
38662
38663 in
38664
38665 # 705 "parser_cocci_menhir.mly"
38666 ( P.pointerify (P.make_cv cv ty) m )
38667 # 38668 "parser_cocci_menhir.ml"
38668 in
38669 _menhir_env.MenhirLib.EngineTypes.stack <- {
38670 MenhirLib.EngineTypes.state = _menhir_s;
38671 MenhirLib.EngineTypes.semv = Obj.repr _v;
38672 MenhirLib.EngineTypes.startp = _startpos;
38673 MenhirLib.EngineTypes.endp = _endpos;
38674 MenhirLib.EngineTypes.next = _menhir_stack;
38675 });
38676 (fun _menhir_env ->
38677 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38678 let {
38679 MenhirLib.EngineTypes.semv = m;
38680 MenhirLib.EngineTypes.startp = _startpos_m_;
38681 MenhirLib.EngineTypes.endp = _endpos_m_;
38682 MenhirLib.EngineTypes.next = {
38683 MenhirLib.EngineTypes.state = _menhir_s;
38684 MenhirLib.EngineTypes.semv = p00;
38685 MenhirLib.EngineTypes.startp = _startpos_p00_;
38686 MenhirLib.EngineTypes.endp = _endpos_p00_;
38687 MenhirLib.EngineTypes.next = _menhir_stack;
38688 };
38689 } = _menhir_stack in
38690 let m : 'tv_list_TMul_ = Obj.magic m in
38691 let p00 : (
38692 # 131 "parser_cocci_menhir.mly"
38693 (Parse_aux.info)
38694 # 38695 "parser_cocci_menhir.ml"
38695 ) = Obj.magic p00 in
38696 let _startpos = _startpos_p00_ in
38697 let _endpos = _endpos_m_ in
38698 let _v : 'tv_typedef_ctype = let ty =
38699 let p0 = p00 in
38700 let ty =
38701 let p = p0 in
38702
38703 # 623 "parser_cocci_menhir.mly"
38704 ( let (nm,pure,clt) = p in
38705 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
38706 # 38707 "parser_cocci_menhir.ml"
38707
38708 in
38709
38710 # 683 "parser_cocci_menhir.mly"
38711 ( ty )
38712 # 38713 "parser_cocci_menhir.ml"
38713
38714 in
38715 let cv =
38716
38717 # 39 "standard.mly"
38718 ( None )
38719 # 38720 "parser_cocci_menhir.ml"
38720
38721 in
38722
38723 # 705 "parser_cocci_menhir.mly"
38724 ( P.pointerify (P.make_cv cv ty) m )
38725 # 38726 "parser_cocci_menhir.ml"
38726 in
38727 _menhir_env.MenhirLib.EngineTypes.stack <- {
38728 MenhirLib.EngineTypes.state = _menhir_s;
38729 MenhirLib.EngineTypes.semv = Obj.repr _v;
38730 MenhirLib.EngineTypes.startp = _startpos;
38731 MenhirLib.EngineTypes.endp = _endpos;
38732 MenhirLib.EngineTypes.next = _menhir_stack;
38733 });
38734 (fun _menhir_env ->
38735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38736 let {
38737 MenhirLib.EngineTypes.semv = m;
38738 MenhirLib.EngineTypes.startp = _startpos_m_;
38739 MenhirLib.EngineTypes.endp = _endpos_m_;
38740 MenhirLib.EngineTypes.next = {
38741 MenhirLib.EngineTypes.semv = p00;
38742 MenhirLib.EngineTypes.startp = _startpos_p00_;
38743 MenhirLib.EngineTypes.endp = _endpos_p00_;
38744 MenhirLib.EngineTypes.next = {
38745 MenhirLib.EngineTypes.startp = _startpos__2_;
38746 MenhirLib.EngineTypes.endp = _endpos__2_;
38747 MenhirLib.EngineTypes.next = {
38748 MenhirLib.EngineTypes.state = _menhir_s;
38749 MenhirLib.EngineTypes.semv = r00;
38750 MenhirLib.EngineTypes.startp = _startpos_r00_;
38751 MenhirLib.EngineTypes.endp = _endpos_r00_;
38752 MenhirLib.EngineTypes.next = _menhir_stack;
38753 };
38754 };
38755 };
38756 } = _menhir_stack in
38757 let m : 'tv_list_TMul_ = Obj.magic m in
38758 let p00 : (
38759 # 125 "parser_cocci_menhir.mly"
38760 (string * Data.clt)
38761 # 38762 "parser_cocci_menhir.ml"
38762 ) = Obj.magic p00 in
38763 let r00 : (
38764 # 112 "parser_cocci_menhir.mly"
38765 (string)
38766 # 38767 "parser_cocci_menhir.ml"
38767 ) = Obj.magic r00 in
38768 let _startpos = _startpos_r00_ in
38769 let _endpos = _endpos_m_ in
38770 let _v : 'tv_typedef_ctype = let ty =
38771 let p0 = p00 in
38772 let r0 = r00 in
38773 let ty =
38774 let p = p0 in
38775 let r = r0 in
38776
38777 # 626 "parser_cocci_menhir.mly"
38778 ( let nm = (r,P.id2name p) in
38779 (* this is only possible when we are in a metavar decl. Otherwise,
38780 it will be represented already as a MetaType *)
38781 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
38782 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
38783 Ast0.Impure (*will be ignored*))) )
38784 # 38785 "parser_cocci_menhir.ml"
38785
38786 in
38787
38788 # 683 "parser_cocci_menhir.mly"
38789 ( ty )
38790 # 38791 "parser_cocci_menhir.ml"
38791
38792 in
38793 let cv =
38794
38795 # 39 "standard.mly"
38796 ( None )
38797 # 38798 "parser_cocci_menhir.ml"
38798
38799 in
38800
38801 # 705 "parser_cocci_menhir.mly"
38802 ( P.pointerify (P.make_cv cv ty) m )
38803 # 38804 "parser_cocci_menhir.ml"
38804 in
38805 _menhir_env.MenhirLib.EngineTypes.stack <- {
38806 MenhirLib.EngineTypes.state = _menhir_s;
38807 MenhirLib.EngineTypes.semv = Obj.repr _v;
38808 MenhirLib.EngineTypes.startp = _startpos;
38809 MenhirLib.EngineTypes.endp = _endpos;
38810 MenhirLib.EngineTypes.next = _menhir_stack;
38811 });
38812 (fun _menhir_env ->
38813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38814 let {
38815 MenhirLib.EngineTypes.semv = m;
38816 MenhirLib.EngineTypes.startp = _startpos_m_;
38817 MenhirLib.EngineTypes.endp = _endpos_m_;
38818 MenhirLib.EngineTypes.next = {
38819 MenhirLib.EngineTypes.state = _menhir_s;
38820 MenhirLib.EngineTypes.semv = ty00;
38821 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38822 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38823 MenhirLib.EngineTypes.next = _menhir_stack;
38824 };
38825 } = _menhir_stack in
38826 let m : 'tv_list_TMul_ = Obj.magic m in
38827 let ty00 : (
38828 # 114 "parser_cocci_menhir.mly"
38829 (Data.clt)
38830 # 38831 "parser_cocci_menhir.ml"
38831 ) = Obj.magic ty00 in
38832 let _startpos = _startpos_ty00_ in
38833 let _endpos = _endpos_m_ in
38834 let _v : 'tv_typedef_ctype = let ty =
38835 let ty0 = ty00 in
38836 let ty =
38837 let ty = ty0 in
38838
38839 # 633 "parser_cocci_menhir.mly"
38840 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
38841 # 38842 "parser_cocci_menhir.ml"
38842
38843 in
38844
38845 # 683 "parser_cocci_menhir.mly"
38846 ( ty )
38847 # 38848 "parser_cocci_menhir.ml"
38848
38849 in
38850 let cv =
38851
38852 # 39 "standard.mly"
38853 ( None )
38854 # 38855 "parser_cocci_menhir.ml"
38855
38856 in
38857
38858 # 705 "parser_cocci_menhir.mly"
38859 ( P.pointerify (P.make_cv cv ty) m )
38860 # 38861 "parser_cocci_menhir.ml"
38861 in
38862 _menhir_env.MenhirLib.EngineTypes.stack <- {
38863 MenhirLib.EngineTypes.state = _menhir_s;
38864 MenhirLib.EngineTypes.semv = Obj.repr _v;
38865 MenhirLib.EngineTypes.startp = _startpos;
38866 MenhirLib.EngineTypes.endp = _endpos;
38867 MenhirLib.EngineTypes.next = _menhir_stack;
38868 });
38869 (fun _menhir_env ->
38870 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38871 let {
38872 MenhirLib.EngineTypes.semv = m;
38873 MenhirLib.EngineTypes.startp = _startpos_m_;
38874 MenhirLib.EngineTypes.endp = _endpos_m_;
38875 MenhirLib.EngineTypes.next = {
38876 MenhirLib.EngineTypes.semv = ty200;
38877 MenhirLib.EngineTypes.startp = _startpos_ty200_;
38878 MenhirLib.EngineTypes.endp = _endpos_ty200_;
38879 MenhirLib.EngineTypes.next = {
38880 MenhirLib.EngineTypes.state = _menhir_s;
38881 MenhirLib.EngineTypes.semv = ty100;
38882 MenhirLib.EngineTypes.startp = _startpos_ty100_;
38883 MenhirLib.EngineTypes.endp = _endpos_ty100_;
38884 MenhirLib.EngineTypes.next = _menhir_stack;
38885 };
38886 };
38887 } = _menhir_stack in
38888 let m : 'tv_list_TMul_ = Obj.magic m in
38889 let ty200 : (
38890 # 114 "parser_cocci_menhir.mly"
38891 (Data.clt)
38892 # 38893 "parser_cocci_menhir.ml"
38893 ) = Obj.magic ty200 in
38894 let ty100 : (
38895 # 114 "parser_cocci_menhir.mly"
38896 (Data.clt)
38897 # 38898 "parser_cocci_menhir.ml"
38898 ) = Obj.magic ty100 in
38899 let _startpos = _startpos_ty100_ in
38900 let _endpos = _endpos_m_ in
38901 let _v : 'tv_typedef_ctype = let ty =
38902 let ty20 = ty200 in
38903 let ty10 = ty100 in
38904 let ty =
38905 let ty2 = ty20 in
38906 let ty1 = ty10 in
38907
38908 # 635 "parser_cocci_menhir.mly"
38909 ( Ast0.wrap
38910 (Ast0.BaseType
38911 (Ast.LongLongType,
38912 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
38913 # 38914 "parser_cocci_menhir.ml"
38914
38915 in
38916
38917 # 683 "parser_cocci_menhir.mly"
38918 ( ty )
38919 # 38920 "parser_cocci_menhir.ml"
38920
38921 in
38922 let cv =
38923
38924 # 39 "standard.mly"
38925 ( None )
38926 # 38927 "parser_cocci_menhir.ml"
38927
38928 in
38929
38930 # 705 "parser_cocci_menhir.mly"
38931 ( P.pointerify (P.make_cv cv ty) m )
38932 # 38933 "parser_cocci_menhir.ml"
38933 in
38934 _menhir_env.MenhirLib.EngineTypes.stack <- {
38935 MenhirLib.EngineTypes.state = _menhir_s;
38936 MenhirLib.EngineTypes.semv = Obj.repr _v;
38937 MenhirLib.EngineTypes.startp = _startpos;
38938 MenhirLib.EngineTypes.endp = _endpos;
38939 MenhirLib.EngineTypes.next = _menhir_stack;
38940 });
38941 (fun _menhir_env ->
38942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38943 let {
38944 MenhirLib.EngineTypes.semv = m;
38945 MenhirLib.EngineTypes.startp = _startpos_m_;
38946 MenhirLib.EngineTypes.endp = _endpos_m_;
38947 MenhirLib.EngineTypes.next = {
38948 MenhirLib.EngineTypes.state = _menhir_s;
38949 MenhirLib.EngineTypes.semv = ty00;
38950 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38951 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38952 MenhirLib.EngineTypes.next = _menhir_stack;
38953 };
38954 } = _menhir_stack in
38955 let m : 'tv_list_TMul_ = Obj.magic m in
38956 let ty00 : (
38957 # 116 "parser_cocci_menhir.mly"
38958 (Data.clt)
38959 # 38960 "parser_cocci_menhir.ml"
38960 ) = Obj.magic ty00 in
38961 let _startpos = _startpos_ty00_ in
38962 let _endpos = _endpos_m_ in
38963 let _v : 'tv_typedef_ctype = let ty =
38964 let ty0 = ty00 in
38965 let ty =
38966 let ty = ty0 in
38967
38968 # 643 "parser_cocci_menhir.mly"
38969 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
38970 # 38971 "parser_cocci_menhir.ml"
38971
38972 in
38973
38974 # 684 "parser_cocci_menhir.mly"
38975 ( ty )
38976 # 38977 "parser_cocci_menhir.ml"
38977
38978 in
38979 let cv =
38980
38981 # 39 "standard.mly"
38982 ( None )
38983 # 38984 "parser_cocci_menhir.ml"
38984
38985 in
38986
38987 # 705 "parser_cocci_menhir.mly"
38988 ( P.pointerify (P.make_cv cv ty) m )
38989 # 38990 "parser_cocci_menhir.ml"
38990 in
38991 _menhir_env.MenhirLib.EngineTypes.stack <- {
38992 MenhirLib.EngineTypes.state = _menhir_s;
38993 MenhirLib.EngineTypes.semv = Obj.repr _v;
38994 MenhirLib.EngineTypes.startp = _startpos;
38995 MenhirLib.EngineTypes.endp = _endpos;
38996 MenhirLib.EngineTypes.next = _menhir_stack;
38997 });
38998 (fun _menhir_env ->
38999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39000 let {
39001 MenhirLib.EngineTypes.semv = m;
39002 MenhirLib.EngineTypes.startp = _startpos_m_;
39003 MenhirLib.EngineTypes.endp = _endpos_m_;
39004 MenhirLib.EngineTypes.next = {
39005 MenhirLib.EngineTypes.state = _menhir_s;
39006 MenhirLib.EngineTypes.semv = ty00;
39007 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39008 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39009 MenhirLib.EngineTypes.next = _menhir_stack;
39010 };
39011 } = _menhir_stack in
39012 let m : 'tv_list_TMul_ = Obj.magic m in
39013 let ty00 : (
39014 # 114 "parser_cocci_menhir.mly"
39015 (Data.clt)
39016 # 39017 "parser_cocci_menhir.ml"
39017 ) = Obj.magic ty00 in
39018 let _startpos = _startpos_ty00_ in
39019 let _endpos = _endpos_m_ in
39020 let _v : 'tv_typedef_ctype = let ty =
39021 let ty0 = ty00 in
39022 let ty =
39023 let ty = ty0 in
39024
39025 # 645 "parser_cocci_menhir.mly"
39026 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
39027 # 39028 "parser_cocci_menhir.ml"
39028
39029 in
39030
39031 # 684 "parser_cocci_menhir.mly"
39032 ( ty )
39033 # 39034 "parser_cocci_menhir.ml"
39034
39035 in
39036 let cv =
39037
39038 # 39 "standard.mly"
39039 ( None )
39040 # 39041 "parser_cocci_menhir.ml"
39041
39042 in
39043
39044 # 705 "parser_cocci_menhir.mly"
39045 ( P.pointerify (P.make_cv cv ty) m )
39046 # 39047 "parser_cocci_menhir.ml"
39047 in
39048 _menhir_env.MenhirLib.EngineTypes.stack <- {
39049 MenhirLib.EngineTypes.state = _menhir_s;
39050 MenhirLib.EngineTypes.semv = Obj.repr _v;
39051 MenhirLib.EngineTypes.startp = _startpos;
39052 MenhirLib.EngineTypes.endp = _endpos;
39053 MenhirLib.EngineTypes.next = _menhir_stack;
39054 });
39055 (fun _menhir_env ->
39056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39057 let {
39058 MenhirLib.EngineTypes.semv = m;
39059 MenhirLib.EngineTypes.startp = _startpos_m_;
39060 MenhirLib.EngineTypes.endp = _endpos_m_;
39061 MenhirLib.EngineTypes.next = {
39062 MenhirLib.EngineTypes.state = _menhir_s;
39063 MenhirLib.EngineTypes.semv = ty00;
39064 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39065 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39066 MenhirLib.EngineTypes.next = _menhir_stack;
39067 };
39068 } = _menhir_stack in
39069 let m : 'tv_list_TMul_ = Obj.magic m in
39070 let ty00 : (
39071 # 114 "parser_cocci_menhir.mly"
39072 (Data.clt)
39073 # 39074 "parser_cocci_menhir.ml"
39074 ) = Obj.magic ty00 in
39075 let _startpos = _startpos_ty00_ in
39076 let _endpos = _endpos_m_ in
39077 let _v : 'tv_typedef_ctype = let ty =
39078 let ty0 = ty00 in
39079 let ty =
39080 let ty = ty0 in
39081
39082 # 647 "parser_cocci_menhir.mly"
39083 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
39084 # 39085 "parser_cocci_menhir.ml"
39085
39086 in
39087
39088 # 684 "parser_cocci_menhir.mly"
39089 ( ty )
39090 # 39091 "parser_cocci_menhir.ml"
39091
39092 in
39093 let cv =
39094
39095 # 39 "standard.mly"
39096 ( None )
39097 # 39098 "parser_cocci_menhir.ml"
39098
39099 in
39100
39101 # 705 "parser_cocci_menhir.mly"
39102 ( P.pointerify (P.make_cv cv ty) m )
39103 # 39104 "parser_cocci_menhir.ml"
39104 in
39105 _menhir_env.MenhirLib.EngineTypes.stack <- {
39106 MenhirLib.EngineTypes.state = _menhir_s;
39107 MenhirLib.EngineTypes.semv = Obj.repr _v;
39108 MenhirLib.EngineTypes.startp = _startpos;
39109 MenhirLib.EngineTypes.endp = _endpos;
39110 MenhirLib.EngineTypes.next = _menhir_stack;
39111 });
39112 (fun _menhir_env ->
39113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39114 let {
39115 MenhirLib.EngineTypes.semv = m;
39116 MenhirLib.EngineTypes.startp = _startpos_m_;
39117 MenhirLib.EngineTypes.endp = _endpos_m_;
39118 MenhirLib.EngineTypes.next = {
39119 MenhirLib.EngineTypes.state = _menhir_s;
39120 MenhirLib.EngineTypes.semv = ty00;
39121 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39122 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39123 MenhirLib.EngineTypes.next = _menhir_stack;
39124 };
39125 } = _menhir_stack in
39126 let m : 'tv_list_TMul_ = Obj.magic m in
39127 let ty00 : (
39128 # 115 "parser_cocci_menhir.mly"
39129 (Data.clt)
39130 # 39131 "parser_cocci_menhir.ml"
39131 ) = Obj.magic ty00 in
39132 let _startpos = _startpos_ty00_ in
39133 let _endpos = _endpos_m_ in
39134 let _v : 'tv_typedef_ctype = let ty =
39135 let ty0 = ty00 in
39136 let ty =
39137 let ty = ty0 in
39138
39139 # 649 "parser_cocci_menhir.mly"
39140 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
39141 # 39142 "parser_cocci_menhir.ml"
39142
39143 in
39144
39145 # 684 "parser_cocci_menhir.mly"
39146 ( ty )
39147 # 39148 "parser_cocci_menhir.ml"
39148
39149 in
39150 let cv =
39151
39152 # 39 "standard.mly"
39153 ( None )
39154 # 39155 "parser_cocci_menhir.ml"
39155
39156 in
39157
39158 # 705 "parser_cocci_menhir.mly"
39159 ( P.pointerify (P.make_cv cv ty) m )
39160 # 39161 "parser_cocci_menhir.ml"
39161 in
39162 _menhir_env.MenhirLib.EngineTypes.stack <- {
39163 MenhirLib.EngineTypes.state = _menhir_s;
39164 MenhirLib.EngineTypes.semv = Obj.repr _v;
39165 MenhirLib.EngineTypes.startp = _startpos;
39166 MenhirLib.EngineTypes.endp = _endpos;
39167 MenhirLib.EngineTypes.next = _menhir_stack;
39168 });
39169 (fun _menhir_env ->
39170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39171 let {
39172 MenhirLib.EngineTypes.semv = m;
39173 MenhirLib.EngineTypes.startp = _startpos_m_;
39174 MenhirLib.EngineTypes.endp = _endpos_m_;
39175 MenhirLib.EngineTypes.next = {
39176 MenhirLib.EngineTypes.state = _menhir_s;
39177 MenhirLib.EngineTypes.semv = ty00;
39178 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39179 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39180 MenhirLib.EngineTypes.next = _menhir_stack;
39181 };
39182 } = _menhir_stack in
39183 let m : 'tv_list_TMul_ = Obj.magic m in
39184 let ty00 : (
39185 # 115 "parser_cocci_menhir.mly"
39186 (Data.clt)
39187 # 39188 "parser_cocci_menhir.ml"
39188 ) = Obj.magic ty00 in
39189 let _startpos = _startpos_ty00_ in
39190 let _endpos = _endpos_m_ in
39191 let _v : 'tv_typedef_ctype = let ty =
39192 let ty0 = ty00 in
39193 let ty =
39194 let ty = ty0 in
39195
39196 # 651 "parser_cocci_menhir.mly"
39197 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
39198 # 39199 "parser_cocci_menhir.ml"
39199
39200 in
39201
39202 # 684 "parser_cocci_menhir.mly"
39203 ( ty )
39204 # 39205 "parser_cocci_menhir.ml"
39205
39206 in
39207 let cv =
39208
39209 # 39 "standard.mly"
39210 ( None )
39211 # 39212 "parser_cocci_menhir.ml"
39212
39213 in
39214
39215 # 705 "parser_cocci_menhir.mly"
39216 ( P.pointerify (P.make_cv cv ty) m )
39217 # 39218 "parser_cocci_menhir.ml"
39218 in
39219 _menhir_env.MenhirLib.EngineTypes.stack <- {
39220 MenhirLib.EngineTypes.state = _menhir_s;
39221 MenhirLib.EngineTypes.semv = Obj.repr _v;
39222 MenhirLib.EngineTypes.startp = _startpos;
39223 MenhirLib.EngineTypes.endp = _endpos;
39224 MenhirLib.EngineTypes.next = _menhir_stack;
39225 });
39226 (fun _menhir_env ->
39227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39228 let {
39229 MenhirLib.EngineTypes.semv = m;
39230 MenhirLib.EngineTypes.startp = _startpos_m_;
39231 MenhirLib.EngineTypes.endp = _endpos_m_;
39232 MenhirLib.EngineTypes.next = {
39233 MenhirLib.EngineTypes.state = _menhir_s;
39234 MenhirLib.EngineTypes.semv = ty00;
39235 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39236 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39237 MenhirLib.EngineTypes.next = _menhir_stack;
39238 };
39239 } = _menhir_stack in
39240 let m : 'tv_list_TMul_ = Obj.magic m in
39241 let ty00 : (
39242 # 115 "parser_cocci_menhir.mly"
39243 (Data.clt)
39244 # 39245 "parser_cocci_menhir.ml"
39245 ) = Obj.magic ty00 in
39246 let _startpos = _startpos_ty00_ in
39247 let _endpos = _endpos_m_ in
39248 let _v : 'tv_typedef_ctype = let ty =
39249 let ty0 = ty00 in
39250 let ty =
39251 let ty = ty0 in
39252
39253 # 653 "parser_cocci_menhir.mly"
39254 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
39255 # 39256 "parser_cocci_menhir.ml"
39256
39257 in
39258
39259 # 684 "parser_cocci_menhir.mly"
39260 ( ty )
39261 # 39262 "parser_cocci_menhir.ml"
39262
39263 in
39264 let cv =
39265
39266 # 39 "standard.mly"
39267 ( None )
39268 # 39269 "parser_cocci_menhir.ml"
39269
39270 in
39271
39272 # 705 "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 = i00;
39291 MenhirLib.EngineTypes.startp = _startpos_i00_;
39292 MenhirLib.EngineTypes.endp = _endpos_i00_;
39293 MenhirLib.EngineTypes.next = {
39294 MenhirLib.EngineTypes.state = _menhir_s;
39295 MenhirLib.EngineTypes.semv = s00;
39296 MenhirLib.EngineTypes.startp = _startpos_s00_;
39297 MenhirLib.EngineTypes.endp = _endpos_s00_;
39298 MenhirLib.EngineTypes.next = _menhir_stack;
39299 };
39300 };
39301 } = _menhir_stack in
39302 let m : 'tv_list_TMul_ = Obj.magic m in
39303 let i00 : 'tv_ident = Obj.magic i00 in
39304 let s00 : (
39305 # 116 "parser_cocci_menhir.mly"
39306 (Data.clt)
39307 # 39308 "parser_cocci_menhir.ml"
39308 ) = Obj.magic s00 in
39309 let _startpos = _startpos_s00_ in
39310 let _endpos = _endpos_m_ in
39311 let _v : 'tv_typedef_ctype = let ty =
39312 let i0 = i00 in
39313 let s0 = s00 in
39314 let ty =
39315 let i = i0 in
39316 let s = s0 in
39317
39318 # 655 "parser_cocci_menhir.mly"
39319 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
39320 # 39321 "parser_cocci_menhir.ml"
39321
39322 in
39323
39324 # 684 "parser_cocci_menhir.mly"
39325 ( ty )
39326 # 39327 "parser_cocci_menhir.ml"
39327
39328 in
39329 let cv =
39330
39331 # 39 "standard.mly"
39332 ( None )
39333 # 39334 "parser_cocci_menhir.ml"
39334
39335 in
39336
39337 # 705 "parser_cocci_menhir.mly"
39338 ( P.pointerify (P.make_cv cv ty) m )
39339 # 39340 "parser_cocci_menhir.ml"
39340 in
39341 _menhir_env.MenhirLib.EngineTypes.stack <- {
39342 MenhirLib.EngineTypes.state = _menhir_s;
39343 MenhirLib.EngineTypes.semv = Obj.repr _v;
39344 MenhirLib.EngineTypes.startp = _startpos;
39345 MenhirLib.EngineTypes.endp = _endpos;
39346 MenhirLib.EngineTypes.next = _menhir_stack;
39347 });
39348 (fun _menhir_env ->
39349 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39350 let {
39351 MenhirLib.EngineTypes.semv = m;
39352 MenhirLib.EngineTypes.startp = _startpos_m_;
39353 MenhirLib.EngineTypes.endp = _endpos_m_;
39354 MenhirLib.EngineTypes.next = {
39355 MenhirLib.EngineTypes.semv = r00;
39356 MenhirLib.EngineTypes.startp = _startpos_r00_;
39357 MenhirLib.EngineTypes.endp = _endpos_r00_;
39358 MenhirLib.EngineTypes.next = {
39359 MenhirLib.EngineTypes.semv = ids00;
39360 MenhirLib.EngineTypes.startp = _startpos_ids00_;
39361 MenhirLib.EngineTypes.endp = _endpos_ids00_;
39362 MenhirLib.EngineTypes.next = {
39363 MenhirLib.EngineTypes.semv = l00;
39364 MenhirLib.EngineTypes.startp = _startpos_l00_;
39365 MenhirLib.EngineTypes.endp = _endpos_l00_;
39366 MenhirLib.EngineTypes.next = {
39367 MenhirLib.EngineTypes.state = _menhir_s;
39368 MenhirLib.EngineTypes.semv = s00;
39369 MenhirLib.EngineTypes.startp = _startpos_s00_;
39370 MenhirLib.EngineTypes.endp = _endpos_s00_;
39371 MenhirLib.EngineTypes.next = _menhir_stack;
39372 };
39373 };
39374 };
39375 };
39376 } = _menhir_stack in
39377 let m : 'tv_list_TMul_ = Obj.magic m in
39378 let r00 : (
39379 # 169 "parser_cocci_menhir.mly"
39380 (Data.clt)
39381 # 39382 "parser_cocci_menhir.ml"
39382 ) = Obj.magic r00 in
39383 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
39384 let l00 : (
39385 # 169 "parser_cocci_menhir.mly"
39386 (Data.clt)
39387 # 39388 "parser_cocci_menhir.ml"
39388 ) = Obj.magic l00 in
39389 let s00 : (
39390 # 116 "parser_cocci_menhir.mly"
39391 (Data.clt)
39392 # 39393 "parser_cocci_menhir.ml"
39393 ) = Obj.magic s00 in
39394 let _startpos = _startpos_s00_ in
39395 let _endpos = _endpos_m_ in
39396 let _v : 'tv_typedef_ctype = let ty =
39397 let r0 = r00 in
39398 let ids0 = ids00 in
39399 let l0 = l00 in
39400 let s0 = s00 in
39401 let ty =
39402 let r = r0 in
39403 let ids = ids0 in
39404 let l = l0 in
39405 let s = s0 in
39406 let i =
39407
39408 # 39 "standard.mly"
39409 ( None )
39410 # 39411 "parser_cocci_menhir.ml"
39411
39412 in
39413
39414 # 657 "parser_cocci_menhir.mly"
39415 ( (if i = None && !Data.in_iso
39416 then failwith "enums must be named in the iso file");
39417 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
39418 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
39419 # 39420 "parser_cocci_menhir.ml"
39420
39421 in
39422
39423 # 684 "parser_cocci_menhir.mly"
39424 ( ty )
39425 # 39426 "parser_cocci_menhir.ml"
39426
39427 in
39428 let cv =
39429
39430 # 39 "standard.mly"
39431 ( None )
39432 # 39433 "parser_cocci_menhir.ml"
39433
39434 in
39435
39436 # 705 "parser_cocci_menhir.mly"
39437 ( P.pointerify (P.make_cv cv ty) m )
39438 # 39439 "parser_cocci_menhir.ml"
39439 in
39440 _menhir_env.MenhirLib.EngineTypes.stack <- {
39441 MenhirLib.EngineTypes.state = _menhir_s;
39442 MenhirLib.EngineTypes.semv = Obj.repr _v;
39443 MenhirLib.EngineTypes.startp = _startpos;
39444 MenhirLib.EngineTypes.endp = _endpos;
39445 MenhirLib.EngineTypes.next = _menhir_stack;
39446 });
39447 (fun _menhir_env ->
39448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39449 let {
39450 MenhirLib.EngineTypes.semv = m;
39451 MenhirLib.EngineTypes.startp = _startpos_m_;
39452 MenhirLib.EngineTypes.endp = _endpos_m_;
39453 MenhirLib.EngineTypes.next = {
39454 MenhirLib.EngineTypes.semv = r00;
39455 MenhirLib.EngineTypes.startp = _startpos_r00_;
39456 MenhirLib.EngineTypes.endp = _endpos_r00_;
39457 MenhirLib.EngineTypes.next = {
39458 MenhirLib.EngineTypes.semv = ids00;
39459 MenhirLib.EngineTypes.startp = _startpos_ids00_;
39460 MenhirLib.EngineTypes.endp = _endpos_ids00_;
39461 MenhirLib.EngineTypes.next = {
39462 MenhirLib.EngineTypes.semv = l00;
39463 MenhirLib.EngineTypes.startp = _startpos_l00_;
39464 MenhirLib.EngineTypes.endp = _endpos_l00_;
39465 MenhirLib.EngineTypes.next = {
39466 MenhirLib.EngineTypes.semv = x000;
39467 MenhirLib.EngineTypes.startp = _startpos_x000_;
39468 MenhirLib.EngineTypes.endp = _endpos_x000_;
39469 MenhirLib.EngineTypes.next = {
39470 MenhirLib.EngineTypes.state = _menhir_s;
39471 MenhirLib.EngineTypes.semv = s00;
39472 MenhirLib.EngineTypes.startp = _startpos_s00_;
39473 MenhirLib.EngineTypes.endp = _endpos_s00_;
39474 MenhirLib.EngineTypes.next = _menhir_stack;
39475 };
39476 };
39477 };
39478 };
39479 };
39480 } = _menhir_stack in
39481 let m : 'tv_list_TMul_ = Obj.magic m in
39482 let r00 : (
39483 # 169 "parser_cocci_menhir.mly"
39484 (Data.clt)
39485 # 39486 "parser_cocci_menhir.ml"
39486 ) = Obj.magic r00 in
39487 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
39488 let l00 : (
39489 # 169 "parser_cocci_menhir.mly"
39490 (Data.clt)
39491 # 39492 "parser_cocci_menhir.ml"
39492 ) = Obj.magic l00 in
39493 let x000 : 'tv_ident = Obj.magic x000 in
39494 let s00 : (
39495 # 116 "parser_cocci_menhir.mly"
39496 (Data.clt)
39497 # 39498 "parser_cocci_menhir.ml"
39498 ) = Obj.magic s00 in
39499 let _startpos = _startpos_s00_ in
39500 let _endpos = _endpos_m_ in
39501 let _v : 'tv_typedef_ctype = let ty =
39502 let r0 = r00 in
39503 let ids0 = ids00 in
39504 let l0 = l00 in
39505 let x00 = x000 in
39506 let s0 = s00 in
39507 let ty =
39508 let r = r0 in
39509 let ids = ids0 in
39510 let l = l0 in
39511 let x0 = x00 in
39512 let s = s0 in
39513 let i =
39514 let x = x0 in
39515
39516 # 41 "standard.mly"
39517 ( Some x )
39518 # 39519 "parser_cocci_menhir.ml"
39519
39520 in
39521
39522 # 657 "parser_cocci_menhir.mly"
39523 ( (if i = None && !Data.in_iso
39524 then failwith "enums must be named in the iso file");
39525 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
39526 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
39527 # 39528 "parser_cocci_menhir.ml"
39528
39529 in
39530
39531 # 684 "parser_cocci_menhir.mly"
39532 ( ty )
39533 # 39534 "parser_cocci_menhir.ml"
39534
39535 in
39536 let cv =
39537
39538 # 39 "standard.mly"
39539 ( None )
39540 # 39541 "parser_cocci_menhir.ml"
39541
39542 in
39543
39544 # 705 "parser_cocci_menhir.mly"
39545 ( P.pointerify (P.make_cv cv ty) m )
39546 # 39547 "parser_cocci_menhir.ml"
39547 in
39548 _menhir_env.MenhirLib.EngineTypes.stack <- {
39549 MenhirLib.EngineTypes.state = _menhir_s;
39550 MenhirLib.EngineTypes.semv = Obj.repr _v;
39551 MenhirLib.EngineTypes.startp = _startpos;
39552 MenhirLib.EngineTypes.endp = _endpos;
39553 MenhirLib.EngineTypes.next = _menhir_stack;
39554 });
39555 (fun _menhir_env ->
39556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39557 let {
39558 MenhirLib.EngineTypes.semv = m;
39559 MenhirLib.EngineTypes.startp = _startpos_m_;
39560 MenhirLib.EngineTypes.endp = _endpos_m_;
39561 MenhirLib.EngineTypes.next = {
39562 MenhirLib.EngineTypes.semv = i00;
39563 MenhirLib.EngineTypes.startp = _startpos_i00_;
39564 MenhirLib.EngineTypes.endp = _endpos_i00_;
39565 MenhirLib.EngineTypes.next = {
39566 MenhirLib.EngineTypes.state = _menhir_s;
39567 MenhirLib.EngineTypes.semv = s00;
39568 MenhirLib.EngineTypes.startp = _startpos_s00_;
39569 MenhirLib.EngineTypes.endp = _endpos_s00_;
39570 MenhirLib.EngineTypes.next = _menhir_stack;
39571 };
39572 };
39573 } = _menhir_stack in
39574 let m : 'tv_list_TMul_ = Obj.magic m in
39575 let i00 : 'tv_type_ident = Obj.magic i00 in
39576 let s00 : 'tv_struct_or_union = Obj.magic s00 in
39577 let _startpos = _startpos_s00_ in
39578 let _endpos = _endpos_m_ in
39579 let _v : 'tv_typedef_ctype = let ty =
39580 let i0 = i00 in
39581 let s0 = s00 in
39582 let ty =
39583 let i = i0 in
39584 let s = s0 in
39585
39586 # 662 "parser_cocci_menhir.mly"
39587 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
39588 # 39589 "parser_cocci_menhir.ml"
39589
39590 in
39591
39592 # 684 "parser_cocci_menhir.mly"
39593 ( ty )
39594 # 39595 "parser_cocci_menhir.ml"
39595
39596 in
39597 let cv =
39598
39599 # 39 "standard.mly"
39600 ( None )
39601 # 39602 "parser_cocci_menhir.ml"
39602
39603 in
39604
39605 # 705 "parser_cocci_menhir.mly"
39606 ( P.pointerify (P.make_cv cv ty) m )
39607 # 39608 "parser_cocci_menhir.ml"
39608 in
39609 _menhir_env.MenhirLib.EngineTypes.stack <- {
39610 MenhirLib.EngineTypes.state = _menhir_s;
39611 MenhirLib.EngineTypes.semv = Obj.repr _v;
39612 MenhirLib.EngineTypes.startp = _startpos;
39613 MenhirLib.EngineTypes.endp = _endpos;
39614 MenhirLib.EngineTypes.next = _menhir_stack;
39615 });
39616 (fun _menhir_env ->
39617 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39618 let {
39619 MenhirLib.EngineTypes.semv = m;
39620 MenhirLib.EngineTypes.startp = _startpos_m_;
39621 MenhirLib.EngineTypes.endp = _endpos_m_;
39622 MenhirLib.EngineTypes.next = {
39623 MenhirLib.EngineTypes.semv = r00;
39624 MenhirLib.EngineTypes.startp = _startpos_r00_;
39625 MenhirLib.EngineTypes.endp = _endpos_r00_;
39626 MenhirLib.EngineTypes.next = {
39627 MenhirLib.EngineTypes.semv = d00;
39628 MenhirLib.EngineTypes.startp = _startpos_d00_;
39629 MenhirLib.EngineTypes.endp = _endpos_d00_;
39630 MenhirLib.EngineTypes.next = {
39631 MenhirLib.EngineTypes.semv = l00;
39632 MenhirLib.EngineTypes.startp = _startpos_l00_;
39633 MenhirLib.EngineTypes.endp = _endpos_l00_;
39634 MenhirLib.EngineTypes.next = {
39635 MenhirLib.EngineTypes.state = _menhir_s;
39636 MenhirLib.EngineTypes.semv = s00;
39637 MenhirLib.EngineTypes.startp = _startpos_s00_;
39638 MenhirLib.EngineTypes.endp = _endpos_s00_;
39639 MenhirLib.EngineTypes.next = _menhir_stack;
39640 };
39641 };
39642 };
39643 };
39644 } = _menhir_stack in
39645 let m : 'tv_list_TMul_ = Obj.magic m in
39646 let r00 : (
39647 # 169 "parser_cocci_menhir.mly"
39648 (Data.clt)
39649 # 39650 "parser_cocci_menhir.ml"
39650 ) = Obj.magic r00 in
39651 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
39652 let l00 : (
39653 # 169 "parser_cocci_menhir.mly"
39654 (Data.clt)
39655 # 39656 "parser_cocci_menhir.ml"
39656 ) = Obj.magic l00 in
39657 let s00 : 'tv_struct_or_union = Obj.magic s00 in
39658 let _startpos = _startpos_s00_ in
39659 let _endpos = _endpos_m_ in
39660 let _v : 'tv_typedef_ctype = let ty =
39661 let r0 = r00 in
39662 let d0 = d00 in
39663 let l0 = l00 in
39664 let s0 = s00 in
39665 let ty =
39666 let r = r0 in
39667 let d = d0 in
39668 let l = l0 in
39669 let s = s0 in
39670 let i =
39671
39672 # 39 "standard.mly"
39673 ( None )
39674 # 39675 "parser_cocci_menhir.ml"
39675
39676 in
39677
39678 # 665 "parser_cocci_menhir.mly"
39679 ( (if i = None && !Data.in_iso
39680 then failwith "structures must be named in the iso file");
39681 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
39682 P.clt2mcode "{" l,
39683 d, P.clt2mcode "}" r)) )
39684 # 39685 "parser_cocci_menhir.ml"
39685
39686 in
39687
39688 # 684 "parser_cocci_menhir.mly"
39689 ( ty )
39690 # 39691 "parser_cocci_menhir.ml"
39691
39692 in
39693 let cv =
39694
39695 # 39 "standard.mly"
39696 ( None )
39697 # 39698 "parser_cocci_menhir.ml"
39698
39699 in
39700
39701 # 705 "parser_cocci_menhir.mly"
39702 ( P.pointerify (P.make_cv cv ty) m )
39703 # 39704 "parser_cocci_menhir.ml"
39704 in
39705 _menhir_env.MenhirLib.EngineTypes.stack <- {
39706 MenhirLib.EngineTypes.state = _menhir_s;
39707 MenhirLib.EngineTypes.semv = Obj.repr _v;
39708 MenhirLib.EngineTypes.startp = _startpos;
39709 MenhirLib.EngineTypes.endp = _endpos;
39710 MenhirLib.EngineTypes.next = _menhir_stack;
39711 });
39712 (fun _menhir_env ->
39713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39714 let {
39715 MenhirLib.EngineTypes.semv = m;
39716 MenhirLib.EngineTypes.startp = _startpos_m_;
39717 MenhirLib.EngineTypes.endp = _endpos_m_;
39718 MenhirLib.EngineTypes.next = {
39719 MenhirLib.EngineTypes.semv = r00;
39720 MenhirLib.EngineTypes.startp = _startpos_r00_;
39721 MenhirLib.EngineTypes.endp = _endpos_r00_;
39722 MenhirLib.EngineTypes.next = {
39723 MenhirLib.EngineTypes.semv = d00;
39724 MenhirLib.EngineTypes.startp = _startpos_d00_;
39725 MenhirLib.EngineTypes.endp = _endpos_d00_;
39726 MenhirLib.EngineTypes.next = {
39727 MenhirLib.EngineTypes.semv = l00;
39728 MenhirLib.EngineTypes.startp = _startpos_l00_;
39729 MenhirLib.EngineTypes.endp = _endpos_l00_;
39730 MenhirLib.EngineTypes.next = {
39731 MenhirLib.EngineTypes.semv = x000;
39732 MenhirLib.EngineTypes.startp = _startpos_x000_;
39733 MenhirLib.EngineTypes.endp = _endpos_x000_;
39734 MenhirLib.EngineTypes.next = {
39735 MenhirLib.EngineTypes.state = _menhir_s;
39736 MenhirLib.EngineTypes.semv = s00;
39737 MenhirLib.EngineTypes.startp = _startpos_s00_;
39738 MenhirLib.EngineTypes.endp = _endpos_s00_;
39739 MenhirLib.EngineTypes.next = _menhir_stack;
39740 };
39741 };
39742 };
39743 };
39744 };
39745 } = _menhir_stack in
39746 let m : 'tv_list_TMul_ = Obj.magic m in
39747 let r00 : (
39748 # 169 "parser_cocci_menhir.mly"
39749 (Data.clt)
39750 # 39751 "parser_cocci_menhir.ml"
39751 ) = Obj.magic r00 in
39752 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
39753 let l00 : (
39754 # 169 "parser_cocci_menhir.mly"
39755 (Data.clt)
39756 # 39757 "parser_cocci_menhir.ml"
39757 ) = Obj.magic l00 in
39758 let x000 : 'tv_type_ident = Obj.magic x000 in
39759 let s00 : 'tv_struct_or_union = Obj.magic s00 in
39760 let _startpos = _startpos_s00_ in
39761 let _endpos = _endpos_m_ in
39762 let _v : 'tv_typedef_ctype = let ty =
39763 let r0 = r00 in
39764 let d0 = d00 in
39765 let l0 = l00 in
39766 let x00 = x000 in
39767 let s0 = s00 in
39768 let ty =
39769 let r = r0 in
39770 let d = d0 in
39771 let l = l0 in
39772 let x0 = x00 in
39773 let s = s0 in
39774 let i =
39775 let x = x0 in
39776
39777 # 41 "standard.mly"
39778 ( Some x )
39779 # 39780 "parser_cocci_menhir.ml"
39780
39781 in
39782
39783 # 665 "parser_cocci_menhir.mly"
39784 ( (if i = None && !Data.in_iso
39785 then failwith "structures must be named in the iso file");
39786 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
39787 P.clt2mcode "{" l,
39788 d, P.clt2mcode "}" r)) )
39789 # 39790 "parser_cocci_menhir.ml"
39790
39791 in
39792
39793 # 684 "parser_cocci_menhir.mly"
39794 ( ty )
39795 # 39796 "parser_cocci_menhir.ml"
39796
39797 in
39798 let cv =
39799
39800 # 39 "standard.mly"
39801 ( None )
39802 # 39803 "parser_cocci_menhir.ml"
39803
39804 in
39805
39806 # 705 "parser_cocci_menhir.mly"
39807 ( P.pointerify (P.make_cv cv ty) m )
39808 # 39809 "parser_cocci_menhir.ml"
39809 in
39810 _menhir_env.MenhirLib.EngineTypes.stack <- {
39811 MenhirLib.EngineTypes.state = _menhir_s;
39812 MenhirLib.EngineTypes.semv = Obj.repr _v;
39813 MenhirLib.EngineTypes.startp = _startpos;
39814 MenhirLib.EngineTypes.endp = _endpos;
39815 MenhirLib.EngineTypes.next = _menhir_stack;
39816 });
39817 (fun _menhir_env ->
39818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39819 let {
39820 MenhirLib.EngineTypes.semv = m;
39821 MenhirLib.EngineTypes.startp = _startpos_m_;
39822 MenhirLib.EngineTypes.endp = _endpos_m_;
39823 MenhirLib.EngineTypes.next = {
39824 MenhirLib.EngineTypes.semv = r00;
39825 MenhirLib.EngineTypes.startp = _startpos_r00_;
39826 MenhirLib.EngineTypes.endp = _endpos_r00_;
39827 MenhirLib.EngineTypes.next = {
39828 MenhirLib.EngineTypes.semv = d00;
39829 MenhirLib.EngineTypes.startp = _startpos_d00_;
39830 MenhirLib.EngineTypes.endp = _endpos_d00_;
39831 MenhirLib.EngineTypes.next = {
39832 MenhirLib.EngineTypes.semv = l00;
39833 MenhirLib.EngineTypes.startp = _startpos_l00_;
39834 MenhirLib.EngineTypes.endp = _endpos_l00_;
39835 MenhirLib.EngineTypes.next = {
39836 MenhirLib.EngineTypes.state = _menhir_s;
39837 MenhirLib.EngineTypes.semv = s00;
39838 MenhirLib.EngineTypes.startp = _startpos_s00_;
39839 MenhirLib.EngineTypes.endp = _endpos_s00_;
39840 MenhirLib.EngineTypes.next = _menhir_stack;
39841 };
39842 };
39843 };
39844 };
39845 } = _menhir_stack in
39846 let m : 'tv_list_TMul_ = Obj.magic m in
39847 let r00 : (
39848 # 169 "parser_cocci_menhir.mly"
39849 (Data.clt)
39850 # 39851 "parser_cocci_menhir.ml"
39851 ) = Obj.magic r00 in
39852 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
39853 let l00 : (
39854 # 169 "parser_cocci_menhir.mly"
39855 (Data.clt)
39856 # 39857 "parser_cocci_menhir.ml"
39857 ) = Obj.magic l00 in
39858 let s00 : (
39859 # 131 "parser_cocci_menhir.mly"
39860 (Parse_aux.info)
39861 # 39862 "parser_cocci_menhir.ml"
39862 ) = Obj.magic s00 in
39863 let _startpos = _startpos_s00_ in
39864 let _endpos = _endpos_m_ in
39865 let _v : 'tv_typedef_ctype = let ty =
39866 let r0 = r00 in
39867 let d0 = d00 in
39868 let l0 = l00 in
39869 let s0 = s00 in
39870 let ty =
39871 let r = r0 in
39872 let d = d0 in
39873 let l = l0 in
39874 let s = s0 in
39875
39876 # 671 "parser_cocci_menhir.mly"
39877 ( let (nm,pure,clt) = s in
39878 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
39879 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
39880 # 39881 "parser_cocci_menhir.ml"
39881
39882 in
39883
39884 # 684 "parser_cocci_menhir.mly"
39885 ( ty )
39886 # 39887 "parser_cocci_menhir.ml"
39887
39888 in
39889 let cv =
39890
39891 # 39 "standard.mly"
39892 ( None )
39893 # 39894 "parser_cocci_menhir.ml"
39894
39895 in
39896
39897 # 705 "parser_cocci_menhir.mly"
39898 ( P.pointerify (P.make_cv cv ty) m )
39899 # 39900 "parser_cocci_menhir.ml"
39900 in
39901 _menhir_env.MenhirLib.EngineTypes.stack <- {
39902 MenhirLib.EngineTypes.state = _menhir_s;
39903 MenhirLib.EngineTypes.semv = Obj.repr _v;
39904 MenhirLib.EngineTypes.startp = _startpos;
39905 MenhirLib.EngineTypes.endp = _endpos;
39906 MenhirLib.EngineTypes.next = _menhir_stack;
39907 });
39908 (fun _menhir_env ->
39909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39910 let {
39911 MenhirLib.EngineTypes.semv = m;
39912 MenhirLib.EngineTypes.startp = _startpos_m_;
39913 MenhirLib.EngineTypes.endp = _endpos_m_;
39914 MenhirLib.EngineTypes.next = {
39915 MenhirLib.EngineTypes.state = _menhir_s;
39916 MenhirLib.EngineTypes.semv = p00;
39917 MenhirLib.EngineTypes.startp = _startpos_p00_;
39918 MenhirLib.EngineTypes.endp = _endpos_p00_;
39919 MenhirLib.EngineTypes.next = _menhir_stack;
39920 };
39921 } = _menhir_stack in
39922 let m : 'tv_list_TMul_ = Obj.magic m in
39923 let p00 : (
39924 # 125 "parser_cocci_menhir.mly"
39925 (string * Data.clt)
39926 # 39927 "parser_cocci_menhir.ml"
39927 ) = Obj.magic p00 in
39928 let _startpos = _startpos_p00_ in
39929 let _endpos = _endpos_m_ in
39930 let _v : 'tv_typedef_ctype = let ty =
39931 let p0 = p00 in
39932 let ty =
39933 let p = p0 in
39934
39935 # 675 "parser_cocci_menhir.mly"
39936 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
39937 # 39938 "parser_cocci_menhir.ml"
39938
39939 in
39940
39941 # 684 "parser_cocci_menhir.mly"
39942 ( ty )
39943 # 39944 "parser_cocci_menhir.ml"
39944
39945 in
39946 let cv =
39947
39948 # 39 "standard.mly"
39949 ( None )
39950 # 39951 "parser_cocci_menhir.ml"
39951
39952 in
39953
39954 # 705 "parser_cocci_menhir.mly"
39955 ( P.pointerify (P.make_cv cv ty) m )
39956 # 39957 "parser_cocci_menhir.ml"
39957 in
39958 _menhir_env.MenhirLib.EngineTypes.stack <- {
39959 MenhirLib.EngineTypes.state = _menhir_s;
39960 MenhirLib.EngineTypes.semv = Obj.repr _v;
39961 MenhirLib.EngineTypes.startp = _startpos;
39962 MenhirLib.EngineTypes.endp = _endpos;
39963 MenhirLib.EngineTypes.next = _menhir_stack;
39964 });
39965 (fun _menhir_env ->
39966 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39967 let {
39968 MenhirLib.EngineTypes.semv = m;
39969 MenhirLib.EngineTypes.startp = _startpos_m_;
39970 MenhirLib.EngineTypes.endp = _endpos_m_;
39971 MenhirLib.EngineTypes.next = {
39972 MenhirLib.EngineTypes.semv = ty00;
39973 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39974 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39975 MenhirLib.EngineTypes.next = {
39976 MenhirLib.EngineTypes.semv = r0;
39977 MenhirLib.EngineTypes.startp = _startpos_r0_;
39978 MenhirLib.EngineTypes.endp = _endpos_r0_;
39979 MenhirLib.EngineTypes.next = {
39980 MenhirLib.EngineTypes.state = _menhir_s;
39981 MenhirLib.EngineTypes.semv = x0;
39982 MenhirLib.EngineTypes.startp = _startpos_x0_;
39983 MenhirLib.EngineTypes.endp = _endpos_x0_;
39984 MenhirLib.EngineTypes.next = _menhir_stack;
39985 };
39986 };
39987 };
39988 } = _menhir_stack in
39989 let m : 'tv_list_TMul_ = Obj.magic m in
39990 let ty00 : (
39991 # 114 "parser_cocci_menhir.mly"
39992 (Data.clt)
39993 # 39994 "parser_cocci_menhir.ml"
39994 ) = Obj.magic ty00 in
39995 let r0 : (
39996 # 117 "parser_cocci_menhir.mly"
39997 (Data.clt)
39998 # 39999 "parser_cocci_menhir.ml"
39999 ) = Obj.magic r0 in
40000 let x0 : 'tv_const_vol = Obj.magic x0 in
40001 let _startpos = _startpos_x0_ in
40002 let _endpos = _endpos_m_ in
40003 let _v : 'tv_typedef_ctype = let ty =
40004 let ty0 = ty00 in
40005 let r = r0 in
40006 let ty =
40007 let ty = ty0 in
40008
40009 # 617 "parser_cocci_menhir.mly"
40010 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
40011 # 40012 "parser_cocci_menhir.ml"
40012
40013 in
40014
40015 # 680 "parser_cocci_menhir.mly"
40016 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40017 # 40018 "parser_cocci_menhir.ml"
40018
40019 in
40020 let cv =
40021 let x = x0 in
40022
40023 # 41 "standard.mly"
40024 ( Some x )
40025 # 40026 "parser_cocci_menhir.ml"
40026
40027 in
40028
40029 # 705 "parser_cocci_menhir.mly"
40030 ( P.pointerify (P.make_cv cv ty) m )
40031 # 40032 "parser_cocci_menhir.ml"
40032 in
40033 _menhir_env.MenhirLib.EngineTypes.stack <- {
40034 MenhirLib.EngineTypes.state = _menhir_s;
40035 MenhirLib.EngineTypes.semv = Obj.repr _v;
40036 MenhirLib.EngineTypes.startp = _startpos;
40037 MenhirLib.EngineTypes.endp = _endpos;
40038 MenhirLib.EngineTypes.next = _menhir_stack;
40039 });
40040 (fun _menhir_env ->
40041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40042 let {
40043 MenhirLib.EngineTypes.semv = m;
40044 MenhirLib.EngineTypes.startp = _startpos_m_;
40045 MenhirLib.EngineTypes.endp = _endpos_m_;
40046 MenhirLib.EngineTypes.next = {
40047 MenhirLib.EngineTypes.semv = ty00;
40048 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40049 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40050 MenhirLib.EngineTypes.next = {
40051 MenhirLib.EngineTypes.semv = r0;
40052 MenhirLib.EngineTypes.startp = _startpos_r0_;
40053 MenhirLib.EngineTypes.endp = _endpos_r0_;
40054 MenhirLib.EngineTypes.next = {
40055 MenhirLib.EngineTypes.state = _menhir_s;
40056 MenhirLib.EngineTypes.semv = x0;
40057 MenhirLib.EngineTypes.startp = _startpos_x0_;
40058 MenhirLib.EngineTypes.endp = _endpos_x0_;
40059 MenhirLib.EngineTypes.next = _menhir_stack;
40060 };
40061 };
40062 };
40063 } = _menhir_stack in
40064 let m : 'tv_list_TMul_ = Obj.magic m in
40065 let ty00 : (
40066 # 114 "parser_cocci_menhir.mly"
40067 (Data.clt)
40068 # 40069 "parser_cocci_menhir.ml"
40069 ) = Obj.magic ty00 in
40070 let r0 : (
40071 # 117 "parser_cocci_menhir.mly"
40072 (Data.clt)
40073 # 40074 "parser_cocci_menhir.ml"
40074 ) = Obj.magic r0 in
40075 let x0 : 'tv_const_vol = Obj.magic x0 in
40076 let _startpos = _startpos_x0_ in
40077 let _endpos = _endpos_m_ in
40078 let _v : 'tv_typedef_ctype = let ty =
40079 let ty0 = ty00 in
40080 let r = r0 in
40081 let ty =
40082 let ty = ty0 in
40083
40084 # 619 "parser_cocci_menhir.mly"
40085 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
40086 # 40087 "parser_cocci_menhir.ml"
40087
40088 in
40089
40090 # 680 "parser_cocci_menhir.mly"
40091 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40092 # 40093 "parser_cocci_menhir.ml"
40093
40094 in
40095 let cv =
40096 let x = x0 in
40097
40098 # 41 "standard.mly"
40099 ( Some x )
40100 # 40101 "parser_cocci_menhir.ml"
40101
40102 in
40103
40104 # 705 "parser_cocci_menhir.mly"
40105 ( P.pointerify (P.make_cv cv ty) m )
40106 # 40107 "parser_cocci_menhir.ml"
40107 in
40108 _menhir_env.MenhirLib.EngineTypes.stack <- {
40109 MenhirLib.EngineTypes.state = _menhir_s;
40110 MenhirLib.EngineTypes.semv = Obj.repr _v;
40111 MenhirLib.EngineTypes.startp = _startpos;
40112 MenhirLib.EngineTypes.endp = _endpos;
40113 MenhirLib.EngineTypes.next = _menhir_stack;
40114 });
40115 (fun _menhir_env ->
40116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40117 let {
40118 MenhirLib.EngineTypes.semv = m;
40119 MenhirLib.EngineTypes.startp = _startpos_m_;
40120 MenhirLib.EngineTypes.endp = _endpos_m_;
40121 MenhirLib.EngineTypes.next = {
40122 MenhirLib.EngineTypes.semv = ty00;
40123 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40124 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40125 MenhirLib.EngineTypes.next = {
40126 MenhirLib.EngineTypes.semv = r0;
40127 MenhirLib.EngineTypes.startp = _startpos_r0_;
40128 MenhirLib.EngineTypes.endp = _endpos_r0_;
40129 MenhirLib.EngineTypes.next = {
40130 MenhirLib.EngineTypes.state = _menhir_s;
40131 MenhirLib.EngineTypes.semv = x0;
40132 MenhirLib.EngineTypes.startp = _startpos_x0_;
40133 MenhirLib.EngineTypes.endp = _endpos_x0_;
40134 MenhirLib.EngineTypes.next = _menhir_stack;
40135 };
40136 };
40137 };
40138 } = _menhir_stack in
40139 let m : 'tv_list_TMul_ = Obj.magic m in
40140 let ty00 : (
40141 # 114 "parser_cocci_menhir.mly"
40142 (Data.clt)
40143 # 40144 "parser_cocci_menhir.ml"
40144 ) = Obj.magic ty00 in
40145 let r0 : (
40146 # 117 "parser_cocci_menhir.mly"
40147 (Data.clt)
40148 # 40149 "parser_cocci_menhir.ml"
40149 ) = Obj.magic r0 in
40150 let x0 : 'tv_const_vol = Obj.magic x0 in
40151 let _startpos = _startpos_x0_ in
40152 let _endpos = _endpos_m_ in
40153 let _v : 'tv_typedef_ctype = let ty =
40154 let ty0 = ty00 in
40155 let r = r0 in
40156 let ty =
40157 let ty = ty0 in
40158
40159 # 621 "parser_cocci_menhir.mly"
40160 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
40161 # 40162 "parser_cocci_menhir.ml"
40162
40163 in
40164
40165 # 680 "parser_cocci_menhir.mly"
40166 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40167 # 40168 "parser_cocci_menhir.ml"
40168
40169 in
40170 let cv =
40171 let x = x0 in
40172
40173 # 41 "standard.mly"
40174 ( Some x )
40175 # 40176 "parser_cocci_menhir.ml"
40176
40177 in
40178
40179 # 705 "parser_cocci_menhir.mly"
40180 ( P.pointerify (P.make_cv cv ty) m )
40181 # 40182 "parser_cocci_menhir.ml"
40182 in
40183 _menhir_env.MenhirLib.EngineTypes.stack <- {
40184 MenhirLib.EngineTypes.state = _menhir_s;
40185 MenhirLib.EngineTypes.semv = Obj.repr _v;
40186 MenhirLib.EngineTypes.startp = _startpos;
40187 MenhirLib.EngineTypes.endp = _endpos;
40188 MenhirLib.EngineTypes.next = _menhir_stack;
40189 });
40190 (fun _menhir_env ->
40191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40192 let {
40193 MenhirLib.EngineTypes.semv = m;
40194 MenhirLib.EngineTypes.startp = _startpos_m_;
40195 MenhirLib.EngineTypes.endp = _endpos_m_;
40196 MenhirLib.EngineTypes.next = {
40197 MenhirLib.EngineTypes.semv = p00;
40198 MenhirLib.EngineTypes.startp = _startpos_p00_;
40199 MenhirLib.EngineTypes.endp = _endpos_p00_;
40200 MenhirLib.EngineTypes.next = {
40201 MenhirLib.EngineTypes.semv = r0;
40202 MenhirLib.EngineTypes.startp = _startpos_r0_;
40203 MenhirLib.EngineTypes.endp = _endpos_r0_;
40204 MenhirLib.EngineTypes.next = {
40205 MenhirLib.EngineTypes.state = _menhir_s;
40206 MenhirLib.EngineTypes.semv = x0;
40207 MenhirLib.EngineTypes.startp = _startpos_x0_;
40208 MenhirLib.EngineTypes.endp = _endpos_x0_;
40209 MenhirLib.EngineTypes.next = _menhir_stack;
40210 };
40211 };
40212 };
40213 } = _menhir_stack in
40214 let m : 'tv_list_TMul_ = Obj.magic m in
40215 let p00 : (
40216 # 131 "parser_cocci_menhir.mly"
40217 (Parse_aux.info)
40218 # 40219 "parser_cocci_menhir.ml"
40219 ) = Obj.magic p00 in
40220 let r0 : (
40221 # 117 "parser_cocci_menhir.mly"
40222 (Data.clt)
40223 # 40224 "parser_cocci_menhir.ml"
40224 ) = Obj.magic r0 in
40225 let x0 : 'tv_const_vol = Obj.magic x0 in
40226 let _startpos = _startpos_x0_ in
40227 let _endpos = _endpos_m_ in
40228 let _v : 'tv_typedef_ctype = let ty =
40229 let p0 = p00 in
40230 let r = r0 in
40231 let ty =
40232 let p = p0 in
40233
40234 # 623 "parser_cocci_menhir.mly"
40235 ( let (nm,pure,clt) = p in
40236 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
40237 # 40238 "parser_cocci_menhir.ml"
40238
40239 in
40240
40241 # 680 "parser_cocci_menhir.mly"
40242 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40243 # 40244 "parser_cocci_menhir.ml"
40244
40245 in
40246 let cv =
40247 let x = x0 in
40248
40249 # 41 "standard.mly"
40250 ( Some x )
40251 # 40252 "parser_cocci_menhir.ml"
40252
40253 in
40254
40255 # 705 "parser_cocci_menhir.mly"
40256 ( P.pointerify (P.make_cv cv ty) m )
40257 # 40258 "parser_cocci_menhir.ml"
40258 in
40259 _menhir_env.MenhirLib.EngineTypes.stack <- {
40260 MenhirLib.EngineTypes.state = _menhir_s;
40261 MenhirLib.EngineTypes.semv = Obj.repr _v;
40262 MenhirLib.EngineTypes.startp = _startpos;
40263 MenhirLib.EngineTypes.endp = _endpos;
40264 MenhirLib.EngineTypes.next = _menhir_stack;
40265 });
40266 (fun _menhir_env ->
40267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40268 let {
40269 MenhirLib.EngineTypes.semv = m;
40270 MenhirLib.EngineTypes.startp = _startpos_m_;
40271 MenhirLib.EngineTypes.endp = _endpos_m_;
40272 MenhirLib.EngineTypes.next = {
40273 MenhirLib.EngineTypes.semv = p00;
40274 MenhirLib.EngineTypes.startp = _startpos_p00_;
40275 MenhirLib.EngineTypes.endp = _endpos_p00_;
40276 MenhirLib.EngineTypes.next = {
40277 MenhirLib.EngineTypes.startp = _startpos__4_;
40278 MenhirLib.EngineTypes.endp = _endpos__4_;
40279 MenhirLib.EngineTypes.next = {
40280 MenhirLib.EngineTypes.semv = r00;
40281 MenhirLib.EngineTypes.startp = _startpos_r00_;
40282 MenhirLib.EngineTypes.endp = _endpos_r00_;
40283 MenhirLib.EngineTypes.next = {
40284 MenhirLib.EngineTypes.semv = r1;
40285 MenhirLib.EngineTypes.startp = _startpos_r1_;
40286 MenhirLib.EngineTypes.endp = _endpos_r1_;
40287 MenhirLib.EngineTypes.next = {
40288 MenhirLib.EngineTypes.state = _menhir_s;
40289 MenhirLib.EngineTypes.semv = x0;
40290 MenhirLib.EngineTypes.startp = _startpos_x0_;
40291 MenhirLib.EngineTypes.endp = _endpos_x0_;
40292 MenhirLib.EngineTypes.next = _menhir_stack;
40293 };
40294 };
40295 };
40296 };
40297 };
40298 } = _menhir_stack in
40299 let m : 'tv_list_TMul_ = Obj.magic m in
40300 let p00 : (
40301 # 125 "parser_cocci_menhir.mly"
40302 (string * Data.clt)
40303 # 40304 "parser_cocci_menhir.ml"
40304 ) = Obj.magic p00 in
40305 let r00 : (
40306 # 112 "parser_cocci_menhir.mly"
40307 (string)
40308 # 40309 "parser_cocci_menhir.ml"
40309 ) = Obj.magic r00 in
40310 let r1 : (
40311 # 117 "parser_cocci_menhir.mly"
40312 (Data.clt)
40313 # 40314 "parser_cocci_menhir.ml"
40314 ) = Obj.magic r1 in
40315 let x0 : 'tv_const_vol = Obj.magic x0 in
40316 let _startpos = _startpos_x0_ in
40317 let _endpos = _endpos_m_ in
40318 let _v : 'tv_typedef_ctype = let ty =
40319 let p0 = p00 in
40320 let r0 = r00 in
40321 let r = r1 in
40322 let ty =
40323 let p = p0 in
40324 let r = r0 in
40325
40326 # 626 "parser_cocci_menhir.mly"
40327 ( let nm = (r,P.id2name p) in
40328 (* this is only possible when we are in a metavar decl. Otherwise,
40329 it will be represented already as a MetaType *)
40330 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
40331 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
40332 Ast0.Impure (*will be ignored*))) )
40333 # 40334 "parser_cocci_menhir.ml"
40334
40335 in
40336
40337 # 680 "parser_cocci_menhir.mly"
40338 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40339 # 40340 "parser_cocci_menhir.ml"
40340
40341 in
40342 let cv =
40343 let x = x0 in
40344
40345 # 41 "standard.mly"
40346 ( Some x )
40347 # 40348 "parser_cocci_menhir.ml"
40348
40349 in
40350
40351 # 705 "parser_cocci_menhir.mly"
40352 ( P.pointerify (P.make_cv cv ty) m )
40353 # 40354 "parser_cocci_menhir.ml"
40354 in
40355 _menhir_env.MenhirLib.EngineTypes.stack <- {
40356 MenhirLib.EngineTypes.state = _menhir_s;
40357 MenhirLib.EngineTypes.semv = Obj.repr _v;
40358 MenhirLib.EngineTypes.startp = _startpos;
40359 MenhirLib.EngineTypes.endp = _endpos;
40360 MenhirLib.EngineTypes.next = _menhir_stack;
40361 });
40362 (fun _menhir_env ->
40363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40364 let {
40365 MenhirLib.EngineTypes.semv = m;
40366 MenhirLib.EngineTypes.startp = _startpos_m_;
40367 MenhirLib.EngineTypes.endp = _endpos_m_;
40368 MenhirLib.EngineTypes.next = {
40369 MenhirLib.EngineTypes.semv = ty00;
40370 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40371 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40372 MenhirLib.EngineTypes.next = {
40373 MenhirLib.EngineTypes.semv = r0;
40374 MenhirLib.EngineTypes.startp = _startpos_r0_;
40375 MenhirLib.EngineTypes.endp = _endpos_r0_;
40376 MenhirLib.EngineTypes.next = {
40377 MenhirLib.EngineTypes.state = _menhir_s;
40378 MenhirLib.EngineTypes.semv = x0;
40379 MenhirLib.EngineTypes.startp = _startpos_x0_;
40380 MenhirLib.EngineTypes.endp = _endpos_x0_;
40381 MenhirLib.EngineTypes.next = _menhir_stack;
40382 };
40383 };
40384 };
40385 } = _menhir_stack in
40386 let m : 'tv_list_TMul_ = Obj.magic m in
40387 let ty00 : (
40388 # 114 "parser_cocci_menhir.mly"
40389 (Data.clt)
40390 # 40391 "parser_cocci_menhir.ml"
40391 ) = Obj.magic ty00 in
40392 let r0 : (
40393 # 117 "parser_cocci_menhir.mly"
40394 (Data.clt)
40395 # 40396 "parser_cocci_menhir.ml"
40396 ) = Obj.magic r0 in
40397 let x0 : 'tv_const_vol = Obj.magic x0 in
40398 let _startpos = _startpos_x0_ in
40399 let _endpos = _endpos_m_ in
40400 let _v : 'tv_typedef_ctype = let ty =
40401 let ty0 = ty00 in
40402 let r = r0 in
40403 let ty =
40404 let ty = ty0 in
40405
40406 # 633 "parser_cocci_menhir.mly"
40407 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
40408 # 40409 "parser_cocci_menhir.ml"
40409
40410 in
40411
40412 # 680 "parser_cocci_menhir.mly"
40413 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40414 # 40415 "parser_cocci_menhir.ml"
40415
40416 in
40417 let cv =
40418 let x = x0 in
40419
40420 # 41 "standard.mly"
40421 ( Some x )
40422 # 40423 "parser_cocci_menhir.ml"
40423
40424 in
40425
40426 # 705 "parser_cocci_menhir.mly"
40427 ( P.pointerify (P.make_cv cv ty) m )
40428 # 40429 "parser_cocci_menhir.ml"
40429 in
40430 _menhir_env.MenhirLib.EngineTypes.stack <- {
40431 MenhirLib.EngineTypes.state = _menhir_s;
40432 MenhirLib.EngineTypes.semv = Obj.repr _v;
40433 MenhirLib.EngineTypes.startp = _startpos;
40434 MenhirLib.EngineTypes.endp = _endpos;
40435 MenhirLib.EngineTypes.next = _menhir_stack;
40436 });
40437 (fun _menhir_env ->
40438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40439 let {
40440 MenhirLib.EngineTypes.semv = m;
40441 MenhirLib.EngineTypes.startp = _startpos_m_;
40442 MenhirLib.EngineTypes.endp = _endpos_m_;
40443 MenhirLib.EngineTypes.next = {
40444 MenhirLib.EngineTypes.semv = ty200;
40445 MenhirLib.EngineTypes.startp = _startpos_ty200_;
40446 MenhirLib.EngineTypes.endp = _endpos_ty200_;
40447 MenhirLib.EngineTypes.next = {
40448 MenhirLib.EngineTypes.semv = ty100;
40449 MenhirLib.EngineTypes.startp = _startpos_ty100_;
40450 MenhirLib.EngineTypes.endp = _endpos_ty100_;
40451 MenhirLib.EngineTypes.next = {
40452 MenhirLib.EngineTypes.semv = r0;
40453 MenhirLib.EngineTypes.startp = _startpos_r0_;
40454 MenhirLib.EngineTypes.endp = _endpos_r0_;
40455 MenhirLib.EngineTypes.next = {
40456 MenhirLib.EngineTypes.state = _menhir_s;
40457 MenhirLib.EngineTypes.semv = x0;
40458 MenhirLib.EngineTypes.startp = _startpos_x0_;
40459 MenhirLib.EngineTypes.endp = _endpos_x0_;
40460 MenhirLib.EngineTypes.next = _menhir_stack;
40461 };
40462 };
40463 };
40464 };
40465 } = _menhir_stack in
40466 let m : 'tv_list_TMul_ = Obj.magic m in
40467 let ty200 : (
40468 # 114 "parser_cocci_menhir.mly"
40469 (Data.clt)
40470 # 40471 "parser_cocci_menhir.ml"
40471 ) = Obj.magic ty200 in
40472 let ty100 : (
40473 # 114 "parser_cocci_menhir.mly"
40474 (Data.clt)
40475 # 40476 "parser_cocci_menhir.ml"
40476 ) = Obj.magic ty100 in
40477 let r0 : (
40478 # 117 "parser_cocci_menhir.mly"
40479 (Data.clt)
40480 # 40481 "parser_cocci_menhir.ml"
40481 ) = Obj.magic r0 in
40482 let x0 : 'tv_const_vol = Obj.magic x0 in
40483 let _startpos = _startpos_x0_ in
40484 let _endpos = _endpos_m_ in
40485 let _v : 'tv_typedef_ctype = let ty =
40486 let ty20 = ty200 in
40487 let ty10 = ty100 in
40488 let r = r0 in
40489 let ty =
40490 let ty2 = ty20 in
40491 let ty1 = ty10 in
40492
40493 # 635 "parser_cocci_menhir.mly"
40494 ( Ast0.wrap
40495 (Ast0.BaseType
40496 (Ast.LongLongType,
40497 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
40498 # 40499 "parser_cocci_menhir.ml"
40499
40500 in
40501
40502 # 680 "parser_cocci_menhir.mly"
40503 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
40504 # 40505 "parser_cocci_menhir.ml"
40505
40506 in
40507 let cv =
40508 let x = x0 in
40509
40510 # 41 "standard.mly"
40511 ( Some x )
40512 # 40513 "parser_cocci_menhir.ml"
40513
40514 in
40515
40516 # 705 "parser_cocci_menhir.mly"
40517 ( P.pointerify (P.make_cv cv ty) m )
40518 # 40519 "parser_cocci_menhir.ml"
40519 in
40520 _menhir_env.MenhirLib.EngineTypes.stack <- {
40521 MenhirLib.EngineTypes.state = _menhir_s;
40522 MenhirLib.EngineTypes.semv = Obj.repr _v;
40523 MenhirLib.EngineTypes.startp = _startpos;
40524 MenhirLib.EngineTypes.endp = _endpos;
40525 MenhirLib.EngineTypes.next = _menhir_stack;
40526 });
40527 (fun _menhir_env ->
40528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40529 let {
40530 MenhirLib.EngineTypes.semv = m;
40531 MenhirLib.EngineTypes.startp = _startpos_m_;
40532 MenhirLib.EngineTypes.endp = _endpos_m_;
40533 MenhirLib.EngineTypes.next = {
40534 MenhirLib.EngineTypes.semv = ty00;
40535 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40536 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40537 MenhirLib.EngineTypes.next = {
40538 MenhirLib.EngineTypes.semv = r0;
40539 MenhirLib.EngineTypes.startp = _startpos_r0_;
40540 MenhirLib.EngineTypes.endp = _endpos_r0_;
40541 MenhirLib.EngineTypes.next = {
40542 MenhirLib.EngineTypes.state = _menhir_s;
40543 MenhirLib.EngineTypes.semv = x0;
40544 MenhirLib.EngineTypes.startp = _startpos_x0_;
40545 MenhirLib.EngineTypes.endp = _endpos_x0_;
40546 MenhirLib.EngineTypes.next = _menhir_stack;
40547 };
40548 };
40549 };
40550 } = _menhir_stack in
40551 let m : 'tv_list_TMul_ = Obj.magic m in
40552 let ty00 : (
40553 # 114 "parser_cocci_menhir.mly"
40554 (Data.clt)
40555 # 40556 "parser_cocci_menhir.ml"
40556 ) = Obj.magic ty00 in
40557 let r0 : (
40558 # 117 "parser_cocci_menhir.mly"
40559 (Data.clt)
40560 # 40561 "parser_cocci_menhir.ml"
40561 ) = Obj.magic r0 in
40562 let x0 : 'tv_const_vol = Obj.magic x0 in
40563 let _startpos = _startpos_x0_ in
40564 let _endpos = _endpos_m_ in
40565 let _v : 'tv_typedef_ctype = let ty =
40566 let ty0 = ty00 in
40567 let r = r0 in
40568 let ty =
40569 let ty = ty0 in
40570
40571 # 617 "parser_cocci_menhir.mly"
40572 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
40573 # 40574 "parser_cocci_menhir.ml"
40574
40575 in
40576
40577 # 682 "parser_cocci_menhir.mly"
40578 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40579 # 40580 "parser_cocci_menhir.ml"
40580
40581 in
40582 let cv =
40583 let x = x0 in
40584
40585 # 41 "standard.mly"
40586 ( Some x )
40587 # 40588 "parser_cocci_menhir.ml"
40588
40589 in
40590
40591 # 705 "parser_cocci_menhir.mly"
40592 ( P.pointerify (P.make_cv cv ty) m )
40593 # 40594 "parser_cocci_menhir.ml"
40594 in
40595 _menhir_env.MenhirLib.EngineTypes.stack <- {
40596 MenhirLib.EngineTypes.state = _menhir_s;
40597 MenhirLib.EngineTypes.semv = Obj.repr _v;
40598 MenhirLib.EngineTypes.startp = _startpos;
40599 MenhirLib.EngineTypes.endp = _endpos;
40600 MenhirLib.EngineTypes.next = _menhir_stack;
40601 });
40602 (fun _menhir_env ->
40603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40604 let {
40605 MenhirLib.EngineTypes.semv = m;
40606 MenhirLib.EngineTypes.startp = _startpos_m_;
40607 MenhirLib.EngineTypes.endp = _endpos_m_;
40608 MenhirLib.EngineTypes.next = {
40609 MenhirLib.EngineTypes.semv = ty00;
40610 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40611 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40612 MenhirLib.EngineTypes.next = {
40613 MenhirLib.EngineTypes.semv = r0;
40614 MenhirLib.EngineTypes.startp = _startpos_r0_;
40615 MenhirLib.EngineTypes.endp = _endpos_r0_;
40616 MenhirLib.EngineTypes.next = {
40617 MenhirLib.EngineTypes.state = _menhir_s;
40618 MenhirLib.EngineTypes.semv = x0;
40619 MenhirLib.EngineTypes.startp = _startpos_x0_;
40620 MenhirLib.EngineTypes.endp = _endpos_x0_;
40621 MenhirLib.EngineTypes.next = _menhir_stack;
40622 };
40623 };
40624 };
40625 } = _menhir_stack in
40626 let m : 'tv_list_TMul_ = Obj.magic m in
40627 let ty00 : (
40628 # 114 "parser_cocci_menhir.mly"
40629 (Data.clt)
40630 # 40631 "parser_cocci_menhir.ml"
40631 ) = Obj.magic ty00 in
40632 let r0 : (
40633 # 117 "parser_cocci_menhir.mly"
40634 (Data.clt)
40635 # 40636 "parser_cocci_menhir.ml"
40636 ) = Obj.magic r0 in
40637 let x0 : 'tv_const_vol = Obj.magic x0 in
40638 let _startpos = _startpos_x0_ in
40639 let _endpos = _endpos_m_ in
40640 let _v : 'tv_typedef_ctype = let ty =
40641 let ty0 = ty00 in
40642 let r = r0 in
40643 let ty =
40644 let ty = ty0 in
40645
40646 # 619 "parser_cocci_menhir.mly"
40647 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
40648 # 40649 "parser_cocci_menhir.ml"
40649
40650 in
40651
40652 # 682 "parser_cocci_menhir.mly"
40653 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40654 # 40655 "parser_cocci_menhir.ml"
40655
40656 in
40657 let cv =
40658 let x = x0 in
40659
40660 # 41 "standard.mly"
40661 ( Some x )
40662 # 40663 "parser_cocci_menhir.ml"
40663
40664 in
40665
40666 # 705 "parser_cocci_menhir.mly"
40667 ( P.pointerify (P.make_cv cv ty) m )
40668 # 40669 "parser_cocci_menhir.ml"
40669 in
40670 _menhir_env.MenhirLib.EngineTypes.stack <- {
40671 MenhirLib.EngineTypes.state = _menhir_s;
40672 MenhirLib.EngineTypes.semv = Obj.repr _v;
40673 MenhirLib.EngineTypes.startp = _startpos;
40674 MenhirLib.EngineTypes.endp = _endpos;
40675 MenhirLib.EngineTypes.next = _menhir_stack;
40676 });
40677 (fun _menhir_env ->
40678 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40679 let {
40680 MenhirLib.EngineTypes.semv = m;
40681 MenhirLib.EngineTypes.startp = _startpos_m_;
40682 MenhirLib.EngineTypes.endp = _endpos_m_;
40683 MenhirLib.EngineTypes.next = {
40684 MenhirLib.EngineTypes.semv = ty00;
40685 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40686 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40687 MenhirLib.EngineTypes.next = {
40688 MenhirLib.EngineTypes.semv = r0;
40689 MenhirLib.EngineTypes.startp = _startpos_r0_;
40690 MenhirLib.EngineTypes.endp = _endpos_r0_;
40691 MenhirLib.EngineTypes.next = {
40692 MenhirLib.EngineTypes.state = _menhir_s;
40693 MenhirLib.EngineTypes.semv = x0;
40694 MenhirLib.EngineTypes.startp = _startpos_x0_;
40695 MenhirLib.EngineTypes.endp = _endpos_x0_;
40696 MenhirLib.EngineTypes.next = _menhir_stack;
40697 };
40698 };
40699 };
40700 } = _menhir_stack in
40701 let m : 'tv_list_TMul_ = Obj.magic m in
40702 let ty00 : (
40703 # 114 "parser_cocci_menhir.mly"
40704 (Data.clt)
40705 # 40706 "parser_cocci_menhir.ml"
40706 ) = Obj.magic ty00 in
40707 let r0 : (
40708 # 117 "parser_cocci_menhir.mly"
40709 (Data.clt)
40710 # 40711 "parser_cocci_menhir.ml"
40711 ) = Obj.magic r0 in
40712 let x0 : 'tv_const_vol = Obj.magic x0 in
40713 let _startpos = _startpos_x0_ in
40714 let _endpos = _endpos_m_ in
40715 let _v : 'tv_typedef_ctype = let ty =
40716 let ty0 = ty00 in
40717 let r = r0 in
40718 let ty =
40719 let ty = ty0 in
40720
40721 # 621 "parser_cocci_menhir.mly"
40722 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
40723 # 40724 "parser_cocci_menhir.ml"
40724
40725 in
40726
40727 # 682 "parser_cocci_menhir.mly"
40728 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40729 # 40730 "parser_cocci_menhir.ml"
40730
40731 in
40732 let cv =
40733 let x = x0 in
40734
40735 # 41 "standard.mly"
40736 ( Some x )
40737 # 40738 "parser_cocci_menhir.ml"
40738
40739 in
40740
40741 # 705 "parser_cocci_menhir.mly"
40742 ( P.pointerify (P.make_cv cv ty) m )
40743 # 40744 "parser_cocci_menhir.ml"
40744 in
40745 _menhir_env.MenhirLib.EngineTypes.stack <- {
40746 MenhirLib.EngineTypes.state = _menhir_s;
40747 MenhirLib.EngineTypes.semv = Obj.repr _v;
40748 MenhirLib.EngineTypes.startp = _startpos;
40749 MenhirLib.EngineTypes.endp = _endpos;
40750 MenhirLib.EngineTypes.next = _menhir_stack;
40751 });
40752 (fun _menhir_env ->
40753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40754 let {
40755 MenhirLib.EngineTypes.semv = m;
40756 MenhirLib.EngineTypes.startp = _startpos_m_;
40757 MenhirLib.EngineTypes.endp = _endpos_m_;
40758 MenhirLib.EngineTypes.next = {
40759 MenhirLib.EngineTypes.semv = p00;
40760 MenhirLib.EngineTypes.startp = _startpos_p00_;
40761 MenhirLib.EngineTypes.endp = _endpos_p00_;
40762 MenhirLib.EngineTypes.next = {
40763 MenhirLib.EngineTypes.semv = r0;
40764 MenhirLib.EngineTypes.startp = _startpos_r0_;
40765 MenhirLib.EngineTypes.endp = _endpos_r0_;
40766 MenhirLib.EngineTypes.next = {
40767 MenhirLib.EngineTypes.state = _menhir_s;
40768 MenhirLib.EngineTypes.semv = x0;
40769 MenhirLib.EngineTypes.startp = _startpos_x0_;
40770 MenhirLib.EngineTypes.endp = _endpos_x0_;
40771 MenhirLib.EngineTypes.next = _menhir_stack;
40772 };
40773 };
40774 };
40775 } = _menhir_stack in
40776 let m : 'tv_list_TMul_ = Obj.magic m in
40777 let p00 : (
40778 # 131 "parser_cocci_menhir.mly"
40779 (Parse_aux.info)
40780 # 40781 "parser_cocci_menhir.ml"
40781 ) = Obj.magic p00 in
40782 let r0 : (
40783 # 117 "parser_cocci_menhir.mly"
40784 (Data.clt)
40785 # 40786 "parser_cocci_menhir.ml"
40786 ) = Obj.magic r0 in
40787 let x0 : 'tv_const_vol = Obj.magic x0 in
40788 let _startpos = _startpos_x0_ in
40789 let _endpos = _endpos_m_ in
40790 let _v : 'tv_typedef_ctype = let ty =
40791 let p0 = p00 in
40792 let r = r0 in
40793 let ty =
40794 let p = p0 in
40795
40796 # 623 "parser_cocci_menhir.mly"
40797 ( let (nm,pure,clt) = p in
40798 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
40799 # 40800 "parser_cocci_menhir.ml"
40800
40801 in
40802
40803 # 682 "parser_cocci_menhir.mly"
40804 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40805 # 40806 "parser_cocci_menhir.ml"
40806
40807 in
40808 let cv =
40809 let x = x0 in
40810
40811 # 41 "standard.mly"
40812 ( Some x )
40813 # 40814 "parser_cocci_menhir.ml"
40814
40815 in
40816
40817 # 705 "parser_cocci_menhir.mly"
40818 ( P.pointerify (P.make_cv cv ty) m )
40819 # 40820 "parser_cocci_menhir.ml"
40820 in
40821 _menhir_env.MenhirLib.EngineTypes.stack <- {
40822 MenhirLib.EngineTypes.state = _menhir_s;
40823 MenhirLib.EngineTypes.semv = Obj.repr _v;
40824 MenhirLib.EngineTypes.startp = _startpos;
40825 MenhirLib.EngineTypes.endp = _endpos;
40826 MenhirLib.EngineTypes.next = _menhir_stack;
40827 });
40828 (fun _menhir_env ->
40829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40830 let {
40831 MenhirLib.EngineTypes.semv = m;
40832 MenhirLib.EngineTypes.startp = _startpos_m_;
40833 MenhirLib.EngineTypes.endp = _endpos_m_;
40834 MenhirLib.EngineTypes.next = {
40835 MenhirLib.EngineTypes.semv = p00;
40836 MenhirLib.EngineTypes.startp = _startpos_p00_;
40837 MenhirLib.EngineTypes.endp = _endpos_p00_;
40838 MenhirLib.EngineTypes.next = {
40839 MenhirLib.EngineTypes.startp = _startpos__4_;
40840 MenhirLib.EngineTypes.endp = _endpos__4_;
40841 MenhirLib.EngineTypes.next = {
40842 MenhirLib.EngineTypes.semv = r00;
40843 MenhirLib.EngineTypes.startp = _startpos_r00_;
40844 MenhirLib.EngineTypes.endp = _endpos_r00_;
40845 MenhirLib.EngineTypes.next = {
40846 MenhirLib.EngineTypes.semv = r1;
40847 MenhirLib.EngineTypes.startp = _startpos_r1_;
40848 MenhirLib.EngineTypes.endp = _endpos_r1_;
40849 MenhirLib.EngineTypes.next = {
40850 MenhirLib.EngineTypes.state = _menhir_s;
40851 MenhirLib.EngineTypes.semv = x0;
40852 MenhirLib.EngineTypes.startp = _startpos_x0_;
40853 MenhirLib.EngineTypes.endp = _endpos_x0_;
40854 MenhirLib.EngineTypes.next = _menhir_stack;
40855 };
40856 };
40857 };
40858 };
40859 };
40860 } = _menhir_stack in
40861 let m : 'tv_list_TMul_ = Obj.magic m in
40862 let p00 : (
40863 # 125 "parser_cocci_menhir.mly"
40864 (string * Data.clt)
40865 # 40866 "parser_cocci_menhir.ml"
40866 ) = Obj.magic p00 in
40867 let r00 : (
40868 # 112 "parser_cocci_menhir.mly"
40869 (string)
40870 # 40871 "parser_cocci_menhir.ml"
40871 ) = Obj.magic r00 in
40872 let r1 : (
40873 # 117 "parser_cocci_menhir.mly"
40874 (Data.clt)
40875 # 40876 "parser_cocci_menhir.ml"
40876 ) = Obj.magic r1 in
40877 let x0 : 'tv_const_vol = Obj.magic x0 in
40878 let _startpos = _startpos_x0_ in
40879 let _endpos = _endpos_m_ in
40880 let _v : 'tv_typedef_ctype = let ty =
40881 let p0 = p00 in
40882 let r0 = r00 in
40883 let r = r1 in
40884 let ty =
40885 let p = p0 in
40886 let r = r0 in
40887
40888 # 626 "parser_cocci_menhir.mly"
40889 ( let nm = (r,P.id2name p) in
40890 (* this is only possible when we are in a metavar decl. Otherwise,
40891 it will be represented already as a MetaType *)
40892 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
40893 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
40894 Ast0.Impure (*will be ignored*))) )
40895 # 40896 "parser_cocci_menhir.ml"
40896
40897 in
40898
40899 # 682 "parser_cocci_menhir.mly"
40900 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40901 # 40902 "parser_cocci_menhir.ml"
40902
40903 in
40904 let cv =
40905 let x = x0 in
40906
40907 # 41 "standard.mly"
40908 ( Some x )
40909 # 40910 "parser_cocci_menhir.ml"
40910
40911 in
40912
40913 # 705 "parser_cocci_menhir.mly"
40914 ( P.pointerify (P.make_cv cv ty) m )
40915 # 40916 "parser_cocci_menhir.ml"
40916 in
40917 _menhir_env.MenhirLib.EngineTypes.stack <- {
40918 MenhirLib.EngineTypes.state = _menhir_s;
40919 MenhirLib.EngineTypes.semv = Obj.repr _v;
40920 MenhirLib.EngineTypes.startp = _startpos;
40921 MenhirLib.EngineTypes.endp = _endpos;
40922 MenhirLib.EngineTypes.next = _menhir_stack;
40923 });
40924 (fun _menhir_env ->
40925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40926 let {
40927 MenhirLib.EngineTypes.semv = m;
40928 MenhirLib.EngineTypes.startp = _startpos_m_;
40929 MenhirLib.EngineTypes.endp = _endpos_m_;
40930 MenhirLib.EngineTypes.next = {
40931 MenhirLib.EngineTypes.semv = ty00;
40932 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40933 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40934 MenhirLib.EngineTypes.next = {
40935 MenhirLib.EngineTypes.semv = r0;
40936 MenhirLib.EngineTypes.startp = _startpos_r0_;
40937 MenhirLib.EngineTypes.endp = _endpos_r0_;
40938 MenhirLib.EngineTypes.next = {
40939 MenhirLib.EngineTypes.state = _menhir_s;
40940 MenhirLib.EngineTypes.semv = x0;
40941 MenhirLib.EngineTypes.startp = _startpos_x0_;
40942 MenhirLib.EngineTypes.endp = _endpos_x0_;
40943 MenhirLib.EngineTypes.next = _menhir_stack;
40944 };
40945 };
40946 };
40947 } = _menhir_stack in
40948 let m : 'tv_list_TMul_ = Obj.magic m in
40949 let ty00 : (
40950 # 114 "parser_cocci_menhir.mly"
40951 (Data.clt)
40952 # 40953 "parser_cocci_menhir.ml"
40953 ) = Obj.magic ty00 in
40954 let r0 : (
40955 # 117 "parser_cocci_menhir.mly"
40956 (Data.clt)
40957 # 40958 "parser_cocci_menhir.ml"
40958 ) = Obj.magic r0 in
40959 let x0 : 'tv_const_vol = Obj.magic x0 in
40960 let _startpos = _startpos_x0_ in
40961 let _endpos = _endpos_m_ in
40962 let _v : 'tv_typedef_ctype = let ty =
40963 let ty0 = ty00 in
40964 let r = r0 in
40965 let ty =
40966 let ty = ty0 in
40967
40968 # 633 "parser_cocci_menhir.mly"
40969 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
40970 # 40971 "parser_cocci_menhir.ml"
40971
40972 in
40973
40974 # 682 "parser_cocci_menhir.mly"
40975 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40976 # 40977 "parser_cocci_menhir.ml"
40977
40978 in
40979 let cv =
40980 let x = x0 in
40981
40982 # 41 "standard.mly"
40983 ( Some x )
40984 # 40985 "parser_cocci_menhir.ml"
40985
40986 in
40987
40988 # 705 "parser_cocci_menhir.mly"
40989 ( P.pointerify (P.make_cv cv ty) m )
40990 # 40991 "parser_cocci_menhir.ml"
40991 in
40992 _menhir_env.MenhirLib.EngineTypes.stack <- {
40993 MenhirLib.EngineTypes.state = _menhir_s;
40994 MenhirLib.EngineTypes.semv = Obj.repr _v;
40995 MenhirLib.EngineTypes.startp = _startpos;
40996 MenhirLib.EngineTypes.endp = _endpos;
40997 MenhirLib.EngineTypes.next = _menhir_stack;
40998 });
40999 (fun _menhir_env ->
41000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41001 let {
41002 MenhirLib.EngineTypes.semv = m;
41003 MenhirLib.EngineTypes.startp = _startpos_m_;
41004 MenhirLib.EngineTypes.endp = _endpos_m_;
41005 MenhirLib.EngineTypes.next = {
41006 MenhirLib.EngineTypes.semv = ty200;
41007 MenhirLib.EngineTypes.startp = _startpos_ty200_;
41008 MenhirLib.EngineTypes.endp = _endpos_ty200_;
41009 MenhirLib.EngineTypes.next = {
41010 MenhirLib.EngineTypes.semv = ty100;
41011 MenhirLib.EngineTypes.startp = _startpos_ty100_;
41012 MenhirLib.EngineTypes.endp = _endpos_ty100_;
41013 MenhirLib.EngineTypes.next = {
41014 MenhirLib.EngineTypes.semv = r0;
41015 MenhirLib.EngineTypes.startp = _startpos_r0_;
41016 MenhirLib.EngineTypes.endp = _endpos_r0_;
41017 MenhirLib.EngineTypes.next = {
41018 MenhirLib.EngineTypes.state = _menhir_s;
41019 MenhirLib.EngineTypes.semv = x0;
41020 MenhirLib.EngineTypes.startp = _startpos_x0_;
41021 MenhirLib.EngineTypes.endp = _endpos_x0_;
41022 MenhirLib.EngineTypes.next = _menhir_stack;
41023 };
41024 };
41025 };
41026 };
41027 } = _menhir_stack in
41028 let m : 'tv_list_TMul_ = Obj.magic m in
41029 let ty200 : (
41030 # 114 "parser_cocci_menhir.mly"
41031 (Data.clt)
41032 # 41033 "parser_cocci_menhir.ml"
41033 ) = Obj.magic ty200 in
41034 let ty100 : (
41035 # 114 "parser_cocci_menhir.mly"
41036 (Data.clt)
41037 # 41038 "parser_cocci_menhir.ml"
41038 ) = Obj.magic ty100 in
41039 let r0 : (
41040 # 117 "parser_cocci_menhir.mly"
41041 (Data.clt)
41042 # 41043 "parser_cocci_menhir.ml"
41043 ) = Obj.magic r0 in
41044 let x0 : 'tv_const_vol = Obj.magic x0 in
41045 let _startpos = _startpos_x0_ in
41046 let _endpos = _endpos_m_ in
41047 let _v : 'tv_typedef_ctype = let ty =
41048 let ty20 = ty200 in
41049 let ty10 = ty100 in
41050 let r = r0 in
41051 let ty =
41052 let ty2 = ty20 in
41053 let ty1 = ty10 in
41054
41055 # 635 "parser_cocci_menhir.mly"
41056 ( Ast0.wrap
41057 (Ast0.BaseType
41058 (Ast.LongLongType,
41059 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
41060 # 41061 "parser_cocci_menhir.ml"
41061
41062 in
41063
41064 # 682 "parser_cocci_menhir.mly"
41065 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
41066 # 41067 "parser_cocci_menhir.ml"
41067
41068 in
41069 let cv =
41070 let x = x0 in
41071
41072 # 41 "standard.mly"
41073 ( Some x )
41074 # 41075 "parser_cocci_menhir.ml"
41075
41076 in
41077
41078 # 705 "parser_cocci_menhir.mly"
41079 ( P.pointerify (P.make_cv cv ty) m )
41080 # 41081 "parser_cocci_menhir.ml"
41081 in
41082 _menhir_env.MenhirLib.EngineTypes.stack <- {
41083 MenhirLib.EngineTypes.state = _menhir_s;
41084 MenhirLib.EngineTypes.semv = Obj.repr _v;
41085 MenhirLib.EngineTypes.startp = _startpos;
41086 MenhirLib.EngineTypes.endp = _endpos;
41087 MenhirLib.EngineTypes.next = _menhir_stack;
41088 });
41089 (fun _menhir_env ->
41090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41091 let {
41092 MenhirLib.EngineTypes.semv = m;
41093 MenhirLib.EngineTypes.startp = _startpos_m_;
41094 MenhirLib.EngineTypes.endp = _endpos_m_;
41095 MenhirLib.EngineTypes.next = {
41096 MenhirLib.EngineTypes.semv = ty00;
41097 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41098 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41099 MenhirLib.EngineTypes.next = {
41100 MenhirLib.EngineTypes.state = _menhir_s;
41101 MenhirLib.EngineTypes.semv = x0;
41102 MenhirLib.EngineTypes.startp = _startpos_x0_;
41103 MenhirLib.EngineTypes.endp = _endpos_x0_;
41104 MenhirLib.EngineTypes.next = _menhir_stack;
41105 };
41106 };
41107 } = _menhir_stack in
41108 let m : 'tv_list_TMul_ = Obj.magic m in
41109 let ty00 : (
41110 # 114 "parser_cocci_menhir.mly"
41111 (Data.clt)
41112 # 41113 "parser_cocci_menhir.ml"
41113 ) = Obj.magic ty00 in
41114 let x0 : 'tv_const_vol = Obj.magic x0 in
41115 let _startpos = _startpos_x0_ in
41116 let _endpos = _endpos_m_ in
41117 let _v : 'tv_typedef_ctype = let ty =
41118 let ty0 = ty00 in
41119 let ty =
41120 let ty = ty0 in
41121
41122 # 617 "parser_cocci_menhir.mly"
41123 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
41124 # 41125 "parser_cocci_menhir.ml"
41125
41126 in
41127
41128 # 683 "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 # 705 "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 = ty00;
41161 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41162 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41163 MenhirLib.EngineTypes.next = {
41164 MenhirLib.EngineTypes.state = _menhir_s;
41165 MenhirLib.EngineTypes.semv = x0;
41166 MenhirLib.EngineTypes.startp = _startpos_x0_;
41167 MenhirLib.EngineTypes.endp = _endpos_x0_;
41168 MenhirLib.EngineTypes.next = _menhir_stack;
41169 };
41170 };
41171 } = _menhir_stack in
41172 let m : 'tv_list_TMul_ = Obj.magic m in
41173 let ty00 : (
41174 # 114 "parser_cocci_menhir.mly"
41175 (Data.clt)
41176 # 41177 "parser_cocci_menhir.ml"
41177 ) = Obj.magic ty00 in
41178 let x0 : 'tv_const_vol = Obj.magic x0 in
41179 let _startpos = _startpos_x0_ in
41180 let _endpos = _endpos_m_ in
41181 let _v : 'tv_typedef_ctype = let ty =
41182 let ty0 = ty00 in
41183 let ty =
41184 let ty = ty0 in
41185
41186 # 619 "parser_cocci_menhir.mly"
41187 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
41188 # 41189 "parser_cocci_menhir.ml"
41189
41190 in
41191
41192 # 683 "parser_cocci_menhir.mly"
41193 ( ty )
41194 # 41195 "parser_cocci_menhir.ml"
41195
41196 in
41197 let cv =
41198 let x = x0 in
41199
41200 # 41 "standard.mly"
41201 ( Some x )
41202 # 41203 "parser_cocci_menhir.ml"
41203
41204 in
41205
41206 # 705 "parser_cocci_menhir.mly"
41207 ( P.pointerify (P.make_cv cv ty) m )
41208 # 41209 "parser_cocci_menhir.ml"
41209 in
41210 _menhir_env.MenhirLib.EngineTypes.stack <- {
41211 MenhirLib.EngineTypes.state = _menhir_s;
41212 MenhirLib.EngineTypes.semv = Obj.repr _v;
41213 MenhirLib.EngineTypes.startp = _startpos;
41214 MenhirLib.EngineTypes.endp = _endpos;
41215 MenhirLib.EngineTypes.next = _menhir_stack;
41216 });
41217 (fun _menhir_env ->
41218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41219 let {
41220 MenhirLib.EngineTypes.semv = m;
41221 MenhirLib.EngineTypes.startp = _startpos_m_;
41222 MenhirLib.EngineTypes.endp = _endpos_m_;
41223 MenhirLib.EngineTypes.next = {
41224 MenhirLib.EngineTypes.semv = ty00;
41225 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41226 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41227 MenhirLib.EngineTypes.next = {
41228 MenhirLib.EngineTypes.state = _menhir_s;
41229 MenhirLib.EngineTypes.semv = x0;
41230 MenhirLib.EngineTypes.startp = _startpos_x0_;
41231 MenhirLib.EngineTypes.endp = _endpos_x0_;
41232 MenhirLib.EngineTypes.next = _menhir_stack;
41233 };
41234 };
41235 } = _menhir_stack in
41236 let m : 'tv_list_TMul_ = Obj.magic m in
41237 let ty00 : (
41238 # 114 "parser_cocci_menhir.mly"
41239 (Data.clt)
41240 # 41241 "parser_cocci_menhir.ml"
41241 ) = Obj.magic ty00 in
41242 let x0 : 'tv_const_vol = Obj.magic x0 in
41243 let _startpos = _startpos_x0_ in
41244 let _endpos = _endpos_m_ in
41245 let _v : 'tv_typedef_ctype = let ty =
41246 let ty0 = ty00 in
41247 let ty =
41248 let ty = ty0 in
41249
41250 # 621 "parser_cocci_menhir.mly"
41251 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
41252 # 41253 "parser_cocci_menhir.ml"
41253
41254 in
41255
41256 # 683 "parser_cocci_menhir.mly"
41257 ( ty )
41258 # 41259 "parser_cocci_menhir.ml"
41259
41260 in
41261 let cv =
41262 let x = x0 in
41263
41264 # 41 "standard.mly"
41265 ( Some x )
41266 # 41267 "parser_cocci_menhir.ml"
41267
41268 in
41269
41270 # 705 "parser_cocci_menhir.mly"
41271 ( P.pointerify (P.make_cv cv ty) m )
41272 # 41273 "parser_cocci_menhir.ml"
41273 in
41274 _menhir_env.MenhirLib.EngineTypes.stack <- {
41275 MenhirLib.EngineTypes.state = _menhir_s;
41276 MenhirLib.EngineTypes.semv = Obj.repr _v;
41277 MenhirLib.EngineTypes.startp = _startpos;
41278 MenhirLib.EngineTypes.endp = _endpos;
41279 MenhirLib.EngineTypes.next = _menhir_stack;
41280 });
41281 (fun _menhir_env ->
41282 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41283 let {
41284 MenhirLib.EngineTypes.semv = m;
41285 MenhirLib.EngineTypes.startp = _startpos_m_;
41286 MenhirLib.EngineTypes.endp = _endpos_m_;
41287 MenhirLib.EngineTypes.next = {
41288 MenhirLib.EngineTypes.semv = p00;
41289 MenhirLib.EngineTypes.startp = _startpos_p00_;
41290 MenhirLib.EngineTypes.endp = _endpos_p00_;
41291 MenhirLib.EngineTypes.next = {
41292 MenhirLib.EngineTypes.state = _menhir_s;
41293 MenhirLib.EngineTypes.semv = x0;
41294 MenhirLib.EngineTypes.startp = _startpos_x0_;
41295 MenhirLib.EngineTypes.endp = _endpos_x0_;
41296 MenhirLib.EngineTypes.next = _menhir_stack;
41297 };
41298 };
41299 } = _menhir_stack in
41300 let m : 'tv_list_TMul_ = Obj.magic m in
41301 let p00 : (
41302 # 131 "parser_cocci_menhir.mly"
41303 (Parse_aux.info)
41304 # 41305 "parser_cocci_menhir.ml"
41305 ) = Obj.magic p00 in
41306 let x0 : 'tv_const_vol = Obj.magic x0 in
41307 let _startpos = _startpos_x0_ in
41308 let _endpos = _endpos_m_ in
41309 let _v : 'tv_typedef_ctype = let ty =
41310 let p0 = p00 in
41311 let ty =
41312 let p = p0 in
41313
41314 # 623 "parser_cocci_menhir.mly"
41315 ( let (nm,pure,clt) = p in
41316 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
41317 # 41318 "parser_cocci_menhir.ml"
41318
41319 in
41320
41321 # 683 "parser_cocci_menhir.mly"
41322 ( ty )
41323 # 41324 "parser_cocci_menhir.ml"
41324
41325 in
41326 let cv =
41327 let x = x0 in
41328
41329 # 41 "standard.mly"
41330 ( Some x )
41331 # 41332 "parser_cocci_menhir.ml"
41332
41333 in
41334
41335 # 705 "parser_cocci_menhir.mly"
41336 ( P.pointerify (P.make_cv cv ty) m )
41337 # 41338 "parser_cocci_menhir.ml"
41338 in
41339 _menhir_env.MenhirLib.EngineTypes.stack <- {
41340 MenhirLib.EngineTypes.state = _menhir_s;
41341 MenhirLib.EngineTypes.semv = Obj.repr _v;
41342 MenhirLib.EngineTypes.startp = _startpos;
41343 MenhirLib.EngineTypes.endp = _endpos;
41344 MenhirLib.EngineTypes.next = _menhir_stack;
41345 });
41346 (fun _menhir_env ->
41347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41348 let {
41349 MenhirLib.EngineTypes.semv = m;
41350 MenhirLib.EngineTypes.startp = _startpos_m_;
41351 MenhirLib.EngineTypes.endp = _endpos_m_;
41352 MenhirLib.EngineTypes.next = {
41353 MenhirLib.EngineTypes.semv = p00;
41354 MenhirLib.EngineTypes.startp = _startpos_p00_;
41355 MenhirLib.EngineTypes.endp = _endpos_p00_;
41356 MenhirLib.EngineTypes.next = {
41357 MenhirLib.EngineTypes.startp = _startpos__3_;
41358 MenhirLib.EngineTypes.endp = _endpos__3_;
41359 MenhirLib.EngineTypes.next = {
41360 MenhirLib.EngineTypes.semv = r00;
41361 MenhirLib.EngineTypes.startp = _startpos_r00_;
41362 MenhirLib.EngineTypes.endp = _endpos_r00_;
41363 MenhirLib.EngineTypes.next = {
41364 MenhirLib.EngineTypes.state = _menhir_s;
41365 MenhirLib.EngineTypes.semv = x0;
41366 MenhirLib.EngineTypes.startp = _startpos_x0_;
41367 MenhirLib.EngineTypes.endp = _endpos_x0_;
41368 MenhirLib.EngineTypes.next = _menhir_stack;
41369 };
41370 };
41371 };
41372 };
41373 } = _menhir_stack in
41374 let m : 'tv_list_TMul_ = Obj.magic m in
41375 let p00 : (
41376 # 125 "parser_cocci_menhir.mly"
41377 (string * Data.clt)
41378 # 41379 "parser_cocci_menhir.ml"
41379 ) = Obj.magic p00 in
41380 let r00 : (
41381 # 112 "parser_cocci_menhir.mly"
41382 (string)
41383 # 41384 "parser_cocci_menhir.ml"
41384 ) = Obj.magic r00 in
41385 let x0 : 'tv_const_vol = Obj.magic x0 in
41386 let _startpos = _startpos_x0_ in
41387 let _endpos = _endpos_m_ in
41388 let _v : 'tv_typedef_ctype = let ty =
41389 let p0 = p00 in
41390 let r0 = r00 in
41391 let ty =
41392 let p = p0 in
41393 let r = r0 in
41394
41395 # 626 "parser_cocci_menhir.mly"
41396 ( let nm = (r,P.id2name p) in
41397 (* this is only possible when we are in a metavar decl. Otherwise,
41398 it will be represented already as a MetaType *)
41399 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
41400 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
41401 Ast0.Impure (*will be ignored*))) )
41402 # 41403 "parser_cocci_menhir.ml"
41403
41404 in
41405
41406 # 683 "parser_cocci_menhir.mly"
41407 ( ty )
41408 # 41409 "parser_cocci_menhir.ml"
41409
41410 in
41411 let cv =
41412 let x = x0 in
41413
41414 # 41 "standard.mly"
41415 ( Some x )
41416 # 41417 "parser_cocci_menhir.ml"
41417
41418 in
41419
41420 # 705 "parser_cocci_menhir.mly"
41421 ( P.pointerify (P.make_cv cv ty) m )
41422 # 41423 "parser_cocci_menhir.ml"
41423 in
41424 _menhir_env.MenhirLib.EngineTypes.stack <- {
41425 MenhirLib.EngineTypes.state = _menhir_s;
41426 MenhirLib.EngineTypes.semv = Obj.repr _v;
41427 MenhirLib.EngineTypes.startp = _startpos;
41428 MenhirLib.EngineTypes.endp = _endpos;
41429 MenhirLib.EngineTypes.next = _menhir_stack;
41430 });
41431 (fun _menhir_env ->
41432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41433 let {
41434 MenhirLib.EngineTypes.semv = m;
41435 MenhirLib.EngineTypes.startp = _startpos_m_;
41436 MenhirLib.EngineTypes.endp = _endpos_m_;
41437 MenhirLib.EngineTypes.next = {
41438 MenhirLib.EngineTypes.semv = ty00;
41439 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41440 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41441 MenhirLib.EngineTypes.next = {
41442 MenhirLib.EngineTypes.state = _menhir_s;
41443 MenhirLib.EngineTypes.semv = x0;
41444 MenhirLib.EngineTypes.startp = _startpos_x0_;
41445 MenhirLib.EngineTypes.endp = _endpos_x0_;
41446 MenhirLib.EngineTypes.next = _menhir_stack;
41447 };
41448 };
41449 } = _menhir_stack in
41450 let m : 'tv_list_TMul_ = Obj.magic m in
41451 let ty00 : (
41452 # 114 "parser_cocci_menhir.mly"
41453 (Data.clt)
41454 # 41455 "parser_cocci_menhir.ml"
41455 ) = Obj.magic ty00 in
41456 let x0 : 'tv_const_vol = Obj.magic x0 in
41457 let _startpos = _startpos_x0_ in
41458 let _endpos = _endpos_m_ in
41459 let _v : 'tv_typedef_ctype = let ty =
41460 let ty0 = ty00 in
41461 let ty =
41462 let ty = ty0 in
41463
41464 # 633 "parser_cocci_menhir.mly"
41465 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
41466 # 41467 "parser_cocci_menhir.ml"
41467
41468 in
41469
41470 # 683 "parser_cocci_menhir.mly"
41471 ( ty )
41472 # 41473 "parser_cocci_menhir.ml"
41473
41474 in
41475 let cv =
41476 let x = x0 in
41477
41478 # 41 "standard.mly"
41479 ( Some x )
41480 # 41481 "parser_cocci_menhir.ml"
41481
41482 in
41483
41484 # 705 "parser_cocci_menhir.mly"
41485 ( P.pointerify (P.make_cv cv ty) m )
41486 # 41487 "parser_cocci_menhir.ml"
41487 in
41488 _menhir_env.MenhirLib.EngineTypes.stack <- {
41489 MenhirLib.EngineTypes.state = _menhir_s;
41490 MenhirLib.EngineTypes.semv = Obj.repr _v;
41491 MenhirLib.EngineTypes.startp = _startpos;
41492 MenhirLib.EngineTypes.endp = _endpos;
41493 MenhirLib.EngineTypes.next = _menhir_stack;
41494 });
41495 (fun _menhir_env ->
41496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41497 let {
41498 MenhirLib.EngineTypes.semv = m;
41499 MenhirLib.EngineTypes.startp = _startpos_m_;
41500 MenhirLib.EngineTypes.endp = _endpos_m_;
41501 MenhirLib.EngineTypes.next = {
41502 MenhirLib.EngineTypes.semv = ty200;
41503 MenhirLib.EngineTypes.startp = _startpos_ty200_;
41504 MenhirLib.EngineTypes.endp = _endpos_ty200_;
41505 MenhirLib.EngineTypes.next = {
41506 MenhirLib.EngineTypes.semv = ty100;
41507 MenhirLib.EngineTypes.startp = _startpos_ty100_;
41508 MenhirLib.EngineTypes.endp = _endpos_ty100_;
41509 MenhirLib.EngineTypes.next = {
41510 MenhirLib.EngineTypes.state = _menhir_s;
41511 MenhirLib.EngineTypes.semv = x0;
41512 MenhirLib.EngineTypes.startp = _startpos_x0_;
41513 MenhirLib.EngineTypes.endp = _endpos_x0_;
41514 MenhirLib.EngineTypes.next = _menhir_stack;
41515 };
41516 };
41517 };
41518 } = _menhir_stack in
41519 let m : 'tv_list_TMul_ = Obj.magic m in
41520 let ty200 : (
41521 # 114 "parser_cocci_menhir.mly"
41522 (Data.clt)
41523 # 41524 "parser_cocci_menhir.ml"
41524 ) = Obj.magic ty200 in
41525 let ty100 : (
41526 # 114 "parser_cocci_menhir.mly"
41527 (Data.clt)
41528 # 41529 "parser_cocci_menhir.ml"
41529 ) = Obj.magic ty100 in
41530 let x0 : 'tv_const_vol = Obj.magic x0 in
41531 let _startpos = _startpos_x0_ in
41532 let _endpos = _endpos_m_ in
41533 let _v : 'tv_typedef_ctype = let ty =
41534 let ty20 = ty200 in
41535 let ty10 = ty100 in
41536 let ty =
41537 let ty2 = ty20 in
41538 let ty1 = ty10 in
41539
41540 # 635 "parser_cocci_menhir.mly"
41541 ( Ast0.wrap
41542 (Ast0.BaseType
41543 (Ast.LongLongType,
41544 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
41545 # 41546 "parser_cocci_menhir.ml"
41546
41547 in
41548
41549 # 683 "parser_cocci_menhir.mly"
41550 ( ty )
41551 # 41552 "parser_cocci_menhir.ml"
41552
41553 in
41554 let cv =
41555 let x = x0 in
41556
41557 # 41 "standard.mly"
41558 ( Some x )
41559 # 41560 "parser_cocci_menhir.ml"
41560
41561 in
41562
41563 # 705 "parser_cocci_menhir.mly"
41564 ( P.pointerify (P.make_cv cv ty) m )
41565 # 41566 "parser_cocci_menhir.ml"
41566 in
41567 _menhir_env.MenhirLib.EngineTypes.stack <- {
41568 MenhirLib.EngineTypes.state = _menhir_s;
41569 MenhirLib.EngineTypes.semv = Obj.repr _v;
41570 MenhirLib.EngineTypes.startp = _startpos;
41571 MenhirLib.EngineTypes.endp = _endpos;
41572 MenhirLib.EngineTypes.next = _menhir_stack;
41573 });
41574 (fun _menhir_env ->
41575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41576 let {
41577 MenhirLib.EngineTypes.semv = m;
41578 MenhirLib.EngineTypes.startp = _startpos_m_;
41579 MenhirLib.EngineTypes.endp = _endpos_m_;
41580 MenhirLib.EngineTypes.next = {
41581 MenhirLib.EngineTypes.semv = ty00;
41582 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41583 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41584 MenhirLib.EngineTypes.next = {
41585 MenhirLib.EngineTypes.state = _menhir_s;
41586 MenhirLib.EngineTypes.semv = x0;
41587 MenhirLib.EngineTypes.startp = _startpos_x0_;
41588 MenhirLib.EngineTypes.endp = _endpos_x0_;
41589 MenhirLib.EngineTypes.next = _menhir_stack;
41590 };
41591 };
41592 } = _menhir_stack in
41593 let m : 'tv_list_TMul_ = Obj.magic m in
41594 let ty00 : (
41595 # 116 "parser_cocci_menhir.mly"
41596 (Data.clt)
41597 # 41598 "parser_cocci_menhir.ml"
41598 ) = Obj.magic ty00 in
41599 let x0 : 'tv_const_vol = Obj.magic x0 in
41600 let _startpos = _startpos_x0_ in
41601 let _endpos = _endpos_m_ in
41602 let _v : 'tv_typedef_ctype = let ty =
41603 let ty0 = ty00 in
41604 let ty =
41605 let ty = ty0 in
41606
41607 # 643 "parser_cocci_menhir.mly"
41608 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
41609 # 41610 "parser_cocci_menhir.ml"
41610
41611 in
41612
41613 # 684 "parser_cocci_menhir.mly"
41614 ( ty )
41615 # 41616 "parser_cocci_menhir.ml"
41616
41617 in
41618 let cv =
41619 let x = x0 in
41620
41621 # 41 "standard.mly"
41622 ( Some x )
41623 # 41624 "parser_cocci_menhir.ml"
41624
41625 in
41626
41627 # 705 "parser_cocci_menhir.mly"
41628 ( P.pointerify (P.make_cv cv ty) m )
41629 # 41630 "parser_cocci_menhir.ml"
41630 in
41631 _menhir_env.MenhirLib.EngineTypes.stack <- {
41632 MenhirLib.EngineTypes.state = _menhir_s;
41633 MenhirLib.EngineTypes.semv = Obj.repr _v;
41634 MenhirLib.EngineTypes.startp = _startpos;
41635 MenhirLib.EngineTypes.endp = _endpos;
41636 MenhirLib.EngineTypes.next = _menhir_stack;
41637 });
41638 (fun _menhir_env ->
41639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41640 let {
41641 MenhirLib.EngineTypes.semv = m;
41642 MenhirLib.EngineTypes.startp = _startpos_m_;
41643 MenhirLib.EngineTypes.endp = _endpos_m_;
41644 MenhirLib.EngineTypes.next = {
41645 MenhirLib.EngineTypes.semv = ty00;
41646 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41647 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41648 MenhirLib.EngineTypes.next = {
41649 MenhirLib.EngineTypes.state = _menhir_s;
41650 MenhirLib.EngineTypes.semv = x0;
41651 MenhirLib.EngineTypes.startp = _startpos_x0_;
41652 MenhirLib.EngineTypes.endp = _endpos_x0_;
41653 MenhirLib.EngineTypes.next = _menhir_stack;
41654 };
41655 };
41656 } = _menhir_stack in
41657 let m : 'tv_list_TMul_ = Obj.magic m in
41658 let ty00 : (
41659 # 114 "parser_cocci_menhir.mly"
41660 (Data.clt)
41661 # 41662 "parser_cocci_menhir.ml"
41662 ) = Obj.magic ty00 in
41663 let x0 : 'tv_const_vol = Obj.magic x0 in
41664 let _startpos = _startpos_x0_ in
41665 let _endpos = _endpos_m_ in
41666 let _v : 'tv_typedef_ctype = let ty =
41667 let ty0 = ty00 in
41668 let ty =
41669 let ty = ty0 in
41670
41671 # 645 "parser_cocci_menhir.mly"
41672 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
41673 # 41674 "parser_cocci_menhir.ml"
41674
41675 in
41676
41677 # 684 "parser_cocci_menhir.mly"
41678 ( ty )
41679 # 41680 "parser_cocci_menhir.ml"
41680
41681 in
41682 let cv =
41683 let x = x0 in
41684
41685 # 41 "standard.mly"
41686 ( Some x )
41687 # 41688 "parser_cocci_menhir.ml"
41688
41689 in
41690
41691 # 705 "parser_cocci_menhir.mly"
41692 ( P.pointerify (P.make_cv cv ty) m )
41693 # 41694 "parser_cocci_menhir.ml"
41694 in
41695 _menhir_env.MenhirLib.EngineTypes.stack <- {
41696 MenhirLib.EngineTypes.state = _menhir_s;
41697 MenhirLib.EngineTypes.semv = Obj.repr _v;
41698 MenhirLib.EngineTypes.startp = _startpos;
41699 MenhirLib.EngineTypes.endp = _endpos;
41700 MenhirLib.EngineTypes.next = _menhir_stack;
41701 });
41702 (fun _menhir_env ->
41703 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41704 let {
41705 MenhirLib.EngineTypes.semv = m;
41706 MenhirLib.EngineTypes.startp = _startpos_m_;
41707 MenhirLib.EngineTypes.endp = _endpos_m_;
41708 MenhirLib.EngineTypes.next = {
41709 MenhirLib.EngineTypes.semv = ty00;
41710 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41711 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41712 MenhirLib.EngineTypes.next = {
41713 MenhirLib.EngineTypes.state = _menhir_s;
41714 MenhirLib.EngineTypes.semv = x0;
41715 MenhirLib.EngineTypes.startp = _startpos_x0_;
41716 MenhirLib.EngineTypes.endp = _endpos_x0_;
41717 MenhirLib.EngineTypes.next = _menhir_stack;
41718 };
41719 };
41720 } = _menhir_stack in
41721 let m : 'tv_list_TMul_ = Obj.magic m in
41722 let ty00 : (
41723 # 114 "parser_cocci_menhir.mly"
41724 (Data.clt)
41725 # 41726 "parser_cocci_menhir.ml"
41726 ) = Obj.magic ty00 in
41727 let x0 : 'tv_const_vol = Obj.magic x0 in
41728 let _startpos = _startpos_x0_ in
41729 let _endpos = _endpos_m_ in
41730 let _v : 'tv_typedef_ctype = let ty =
41731 let ty0 = ty00 in
41732 let ty =
41733 let ty = ty0 in
41734
41735 # 647 "parser_cocci_menhir.mly"
41736 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
41737 # 41738 "parser_cocci_menhir.ml"
41738
41739 in
41740
41741 # 684 "parser_cocci_menhir.mly"
41742 ( ty )
41743 # 41744 "parser_cocci_menhir.ml"
41744
41745 in
41746 let cv =
41747 let x = x0 in
41748
41749 # 41 "standard.mly"
41750 ( Some x )
41751 # 41752 "parser_cocci_menhir.ml"
41752
41753 in
41754
41755 # 705 "parser_cocci_menhir.mly"
41756 ( P.pointerify (P.make_cv cv ty) m )
41757 # 41758 "parser_cocci_menhir.ml"
41758 in
41759 _menhir_env.MenhirLib.EngineTypes.stack <- {
41760 MenhirLib.EngineTypes.state = _menhir_s;
41761 MenhirLib.EngineTypes.semv = Obj.repr _v;
41762 MenhirLib.EngineTypes.startp = _startpos;
41763 MenhirLib.EngineTypes.endp = _endpos;
41764 MenhirLib.EngineTypes.next = _menhir_stack;
41765 });
41766 (fun _menhir_env ->
41767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41768 let {
41769 MenhirLib.EngineTypes.semv = m;
41770 MenhirLib.EngineTypes.startp = _startpos_m_;
41771 MenhirLib.EngineTypes.endp = _endpos_m_;
41772 MenhirLib.EngineTypes.next = {
41773 MenhirLib.EngineTypes.semv = ty00;
41774 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41775 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41776 MenhirLib.EngineTypes.next = {
41777 MenhirLib.EngineTypes.state = _menhir_s;
41778 MenhirLib.EngineTypes.semv = x0;
41779 MenhirLib.EngineTypes.startp = _startpos_x0_;
41780 MenhirLib.EngineTypes.endp = _endpos_x0_;
41781 MenhirLib.EngineTypes.next = _menhir_stack;
41782 };
41783 };
41784 } = _menhir_stack in
41785 let m : 'tv_list_TMul_ = Obj.magic m in
41786 let ty00 : (
41787 # 115 "parser_cocci_menhir.mly"
41788 (Data.clt)
41789 # 41790 "parser_cocci_menhir.ml"
41790 ) = Obj.magic ty00 in
41791 let x0 : 'tv_const_vol = Obj.magic x0 in
41792 let _startpos = _startpos_x0_ in
41793 let _endpos = _endpos_m_ in
41794 let _v : 'tv_typedef_ctype = let ty =
41795 let ty0 = ty00 in
41796 let ty =
41797 let ty = ty0 in
41798
41799 # 649 "parser_cocci_menhir.mly"
41800 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
41801 # 41802 "parser_cocci_menhir.ml"
41802
41803 in
41804
41805 # 684 "parser_cocci_menhir.mly"
41806 ( ty )
41807 # 41808 "parser_cocci_menhir.ml"
41808
41809 in
41810 let cv =
41811 let x = x0 in
41812
41813 # 41 "standard.mly"
41814 ( Some x )
41815 # 41816 "parser_cocci_menhir.ml"
41816
41817 in
41818
41819 # 705 "parser_cocci_menhir.mly"
41820 ( P.pointerify (P.make_cv cv ty) m )
41821 # 41822 "parser_cocci_menhir.ml"
41822 in
41823 _menhir_env.MenhirLib.EngineTypes.stack <- {
41824 MenhirLib.EngineTypes.state = _menhir_s;
41825 MenhirLib.EngineTypes.semv = Obj.repr _v;
41826 MenhirLib.EngineTypes.startp = _startpos;
41827 MenhirLib.EngineTypes.endp = _endpos;
41828 MenhirLib.EngineTypes.next = _menhir_stack;
41829 });
41830 (fun _menhir_env ->
41831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41832 let {
41833 MenhirLib.EngineTypes.semv = m;
41834 MenhirLib.EngineTypes.startp = _startpos_m_;
41835 MenhirLib.EngineTypes.endp = _endpos_m_;
41836 MenhirLib.EngineTypes.next = {
41837 MenhirLib.EngineTypes.semv = ty00;
41838 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41839 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41840 MenhirLib.EngineTypes.next = {
41841 MenhirLib.EngineTypes.state = _menhir_s;
41842 MenhirLib.EngineTypes.semv = x0;
41843 MenhirLib.EngineTypes.startp = _startpos_x0_;
41844 MenhirLib.EngineTypes.endp = _endpos_x0_;
41845 MenhirLib.EngineTypes.next = _menhir_stack;
41846 };
41847 };
41848 } = _menhir_stack in
41849 let m : 'tv_list_TMul_ = Obj.magic m in
41850 let ty00 : (
41851 # 115 "parser_cocci_menhir.mly"
41852 (Data.clt)
41853 # 41854 "parser_cocci_menhir.ml"
41854 ) = Obj.magic ty00 in
41855 let x0 : 'tv_const_vol = Obj.magic x0 in
41856 let _startpos = _startpos_x0_ in
41857 let _endpos = _endpos_m_ in
41858 let _v : 'tv_typedef_ctype = let ty =
41859 let ty0 = ty00 in
41860 let ty =
41861 let ty = ty0 in
41862
41863 # 651 "parser_cocci_menhir.mly"
41864 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
41865 # 41866 "parser_cocci_menhir.ml"
41866
41867 in
41868
41869 # 684 "parser_cocci_menhir.mly"
41870 ( ty )
41871 # 41872 "parser_cocci_menhir.ml"
41872
41873 in
41874 let cv =
41875 let x = x0 in
41876
41877 # 41 "standard.mly"
41878 ( Some x )
41879 # 41880 "parser_cocci_menhir.ml"
41880
41881 in
41882
41883 # 705 "parser_cocci_menhir.mly"
41884 ( P.pointerify (P.make_cv cv ty) m )
41885 # 41886 "parser_cocci_menhir.ml"
41886 in
41887 _menhir_env.MenhirLib.EngineTypes.stack <- {
41888 MenhirLib.EngineTypes.state = _menhir_s;
41889 MenhirLib.EngineTypes.semv = Obj.repr _v;
41890 MenhirLib.EngineTypes.startp = _startpos;
41891 MenhirLib.EngineTypes.endp = _endpos;
41892 MenhirLib.EngineTypes.next = _menhir_stack;
41893 });
41894 (fun _menhir_env ->
41895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41896 let {
41897 MenhirLib.EngineTypes.semv = m;
41898 MenhirLib.EngineTypes.startp = _startpos_m_;
41899 MenhirLib.EngineTypes.endp = _endpos_m_;
41900 MenhirLib.EngineTypes.next = {
41901 MenhirLib.EngineTypes.semv = ty00;
41902 MenhirLib.EngineTypes.startp = _startpos_ty00_;
41903 MenhirLib.EngineTypes.endp = _endpos_ty00_;
41904 MenhirLib.EngineTypes.next = {
41905 MenhirLib.EngineTypes.state = _menhir_s;
41906 MenhirLib.EngineTypes.semv = x0;
41907 MenhirLib.EngineTypes.startp = _startpos_x0_;
41908 MenhirLib.EngineTypes.endp = _endpos_x0_;
41909 MenhirLib.EngineTypes.next = _menhir_stack;
41910 };
41911 };
41912 } = _menhir_stack in
41913 let m : 'tv_list_TMul_ = Obj.magic m in
41914 let ty00 : (
41915 # 115 "parser_cocci_menhir.mly"
41916 (Data.clt)
41917 # 41918 "parser_cocci_menhir.ml"
41918 ) = Obj.magic ty00 in
41919 let x0 : 'tv_const_vol = Obj.magic x0 in
41920 let _startpos = _startpos_x0_ in
41921 let _endpos = _endpos_m_ in
41922 let _v : 'tv_typedef_ctype = let ty =
41923 let ty0 = ty00 in
41924 let ty =
41925 let ty = ty0 in
41926
41927 # 653 "parser_cocci_menhir.mly"
41928 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
41929 # 41930 "parser_cocci_menhir.ml"
41930
41931 in
41932
41933 # 684 "parser_cocci_menhir.mly"
41934 ( ty )
41935 # 41936 "parser_cocci_menhir.ml"
41936
41937 in
41938 let cv =
41939 let x = x0 in
41940
41941 # 41 "standard.mly"
41942 ( Some x )
41943 # 41944 "parser_cocci_menhir.ml"
41944
41945 in
41946
41947 # 705 "parser_cocci_menhir.mly"
41948 ( P.pointerify (P.make_cv cv ty) m )
41949 # 41950 "parser_cocci_menhir.ml"
41950 in
41951 _menhir_env.MenhirLib.EngineTypes.stack <- {
41952 MenhirLib.EngineTypes.state = _menhir_s;
41953 MenhirLib.EngineTypes.semv = Obj.repr _v;
41954 MenhirLib.EngineTypes.startp = _startpos;
41955 MenhirLib.EngineTypes.endp = _endpos;
41956 MenhirLib.EngineTypes.next = _menhir_stack;
41957 });
41958 (fun _menhir_env ->
41959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41960 let {
41961 MenhirLib.EngineTypes.semv = m;
41962 MenhirLib.EngineTypes.startp = _startpos_m_;
41963 MenhirLib.EngineTypes.endp = _endpos_m_;
41964 MenhirLib.EngineTypes.next = {
41965 MenhirLib.EngineTypes.semv = i00;
41966 MenhirLib.EngineTypes.startp = _startpos_i00_;
41967 MenhirLib.EngineTypes.endp = _endpos_i00_;
41968 MenhirLib.EngineTypes.next = {
41969 MenhirLib.EngineTypes.semv = s00;
41970 MenhirLib.EngineTypes.startp = _startpos_s00_;
41971 MenhirLib.EngineTypes.endp = _endpos_s00_;
41972 MenhirLib.EngineTypes.next = {
41973 MenhirLib.EngineTypes.state = _menhir_s;
41974 MenhirLib.EngineTypes.semv = x0;
41975 MenhirLib.EngineTypes.startp = _startpos_x0_;
41976 MenhirLib.EngineTypes.endp = _endpos_x0_;
41977 MenhirLib.EngineTypes.next = _menhir_stack;
41978 };
41979 };
41980 };
41981 } = _menhir_stack in
41982 let m : 'tv_list_TMul_ = Obj.magic m in
41983 let i00 : 'tv_ident = Obj.magic i00 in
41984 let s00 : (
41985 # 116 "parser_cocci_menhir.mly"
41986 (Data.clt)
41987 # 41988 "parser_cocci_menhir.ml"
41988 ) = Obj.magic s00 in
41989 let x0 : 'tv_const_vol = Obj.magic x0 in
41990 let _startpos = _startpos_x0_ in
41991 let _endpos = _endpos_m_ in
41992 let _v : 'tv_typedef_ctype = let ty =
41993 let i0 = i00 in
41994 let s0 = s00 in
41995 let ty =
41996 let i = i0 in
41997 let s = s0 in
41998
41999 # 655 "parser_cocci_menhir.mly"
42000 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
42001 # 42002 "parser_cocci_menhir.ml"
42002
42003 in
42004
42005 # 684 "parser_cocci_menhir.mly"
42006 ( ty )
42007 # 42008 "parser_cocci_menhir.ml"
42008
42009 in
42010 let cv =
42011 let x = x0 in
42012
42013 # 41 "standard.mly"
42014 ( Some x )
42015 # 42016 "parser_cocci_menhir.ml"
42016
42017 in
42018
42019 # 705 "parser_cocci_menhir.mly"
42020 ( P.pointerify (P.make_cv cv ty) m )
42021 # 42022 "parser_cocci_menhir.ml"
42022 in
42023 _menhir_env.MenhirLib.EngineTypes.stack <- {
42024 MenhirLib.EngineTypes.state = _menhir_s;
42025 MenhirLib.EngineTypes.semv = Obj.repr _v;
42026 MenhirLib.EngineTypes.startp = _startpos;
42027 MenhirLib.EngineTypes.endp = _endpos;
42028 MenhirLib.EngineTypes.next = _menhir_stack;
42029 });
42030 (fun _menhir_env ->
42031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42032 let {
42033 MenhirLib.EngineTypes.semv = m;
42034 MenhirLib.EngineTypes.startp = _startpos_m_;
42035 MenhirLib.EngineTypes.endp = _endpos_m_;
42036 MenhirLib.EngineTypes.next = {
42037 MenhirLib.EngineTypes.semv = r00;
42038 MenhirLib.EngineTypes.startp = _startpos_r00_;
42039 MenhirLib.EngineTypes.endp = _endpos_r00_;
42040 MenhirLib.EngineTypes.next = {
42041 MenhirLib.EngineTypes.semv = ids00;
42042 MenhirLib.EngineTypes.startp = _startpos_ids00_;
42043 MenhirLib.EngineTypes.endp = _endpos_ids00_;
42044 MenhirLib.EngineTypes.next = {
42045 MenhirLib.EngineTypes.semv = l00;
42046 MenhirLib.EngineTypes.startp = _startpos_l00_;
42047 MenhirLib.EngineTypes.endp = _endpos_l00_;
42048 MenhirLib.EngineTypes.next = {
42049 MenhirLib.EngineTypes.semv = s00;
42050 MenhirLib.EngineTypes.startp = _startpos_s00_;
42051 MenhirLib.EngineTypes.endp = _endpos_s00_;
42052 MenhirLib.EngineTypes.next = {
42053 MenhirLib.EngineTypes.state = _menhir_s;
42054 MenhirLib.EngineTypes.semv = x0;
42055 MenhirLib.EngineTypes.startp = _startpos_x0_;
42056 MenhirLib.EngineTypes.endp = _endpos_x0_;
42057 MenhirLib.EngineTypes.next = _menhir_stack;
42058 };
42059 };
42060 };
42061 };
42062 };
42063 } = _menhir_stack in
42064 let m : 'tv_list_TMul_ = Obj.magic m in
42065 let r00 : (
42066 # 169 "parser_cocci_menhir.mly"
42067 (Data.clt)
42068 # 42069 "parser_cocci_menhir.ml"
42069 ) = Obj.magic r00 in
42070 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
42071 let l00 : (
42072 # 169 "parser_cocci_menhir.mly"
42073 (Data.clt)
42074 # 42075 "parser_cocci_menhir.ml"
42075 ) = Obj.magic l00 in
42076 let s00 : (
42077 # 116 "parser_cocci_menhir.mly"
42078 (Data.clt)
42079 # 42080 "parser_cocci_menhir.ml"
42080 ) = Obj.magic s00 in
42081 let x0 : 'tv_const_vol = Obj.magic x0 in
42082 let _startpos = _startpos_x0_ in
42083 let _endpos = _endpos_m_ in
42084 let _v : 'tv_typedef_ctype = let ty =
42085 let r0 = r00 in
42086 let ids0 = ids00 in
42087 let l0 = l00 in
42088 let s0 = s00 in
42089 let ty =
42090 let r = r0 in
42091 let ids = ids0 in
42092 let l = l0 in
42093 let s = s0 in
42094 let i =
42095
42096 # 39 "standard.mly"
42097 ( None )
42098 # 42099 "parser_cocci_menhir.ml"
42099
42100 in
42101
42102 # 657 "parser_cocci_menhir.mly"
42103 ( (if i = None && !Data.in_iso
42104 then failwith "enums must be named in the iso file");
42105 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
42106 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
42107 # 42108 "parser_cocci_menhir.ml"
42108
42109 in
42110
42111 # 684 "parser_cocci_menhir.mly"
42112 ( ty )
42113 # 42114 "parser_cocci_menhir.ml"
42114
42115 in
42116 let cv =
42117 let x = x0 in
42118
42119 # 41 "standard.mly"
42120 ( Some x )
42121 # 42122 "parser_cocci_menhir.ml"
42122
42123 in
42124
42125 # 705 "parser_cocci_menhir.mly"
42126 ( P.pointerify (P.make_cv cv ty) m )
42127 # 42128 "parser_cocci_menhir.ml"
42128 in
42129 _menhir_env.MenhirLib.EngineTypes.stack <- {
42130 MenhirLib.EngineTypes.state = _menhir_s;
42131 MenhirLib.EngineTypes.semv = Obj.repr _v;
42132 MenhirLib.EngineTypes.startp = _startpos;
42133 MenhirLib.EngineTypes.endp = _endpos;
42134 MenhirLib.EngineTypes.next = _menhir_stack;
42135 });
42136 (fun _menhir_env ->
42137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42138 let {
42139 MenhirLib.EngineTypes.semv = m;
42140 MenhirLib.EngineTypes.startp = _startpos_m_;
42141 MenhirLib.EngineTypes.endp = _endpos_m_;
42142 MenhirLib.EngineTypes.next = {
42143 MenhirLib.EngineTypes.semv = r00;
42144 MenhirLib.EngineTypes.startp = _startpos_r00_;
42145 MenhirLib.EngineTypes.endp = _endpos_r00_;
42146 MenhirLib.EngineTypes.next = {
42147 MenhirLib.EngineTypes.semv = ids00;
42148 MenhirLib.EngineTypes.startp = _startpos_ids00_;
42149 MenhirLib.EngineTypes.endp = _endpos_ids00_;
42150 MenhirLib.EngineTypes.next = {
42151 MenhirLib.EngineTypes.semv = l00;
42152 MenhirLib.EngineTypes.startp = _startpos_l00_;
42153 MenhirLib.EngineTypes.endp = _endpos_l00_;
42154 MenhirLib.EngineTypes.next = {
42155 MenhirLib.EngineTypes.semv = x000;
42156 MenhirLib.EngineTypes.startp = _startpos_x000_;
42157 MenhirLib.EngineTypes.endp = _endpos_x000_;
42158 MenhirLib.EngineTypes.next = {
42159 MenhirLib.EngineTypes.semv = s00;
42160 MenhirLib.EngineTypes.startp = _startpos_s00_;
42161 MenhirLib.EngineTypes.endp = _endpos_s00_;
42162 MenhirLib.EngineTypes.next = {
42163 MenhirLib.EngineTypes.state = _menhir_s;
42164 MenhirLib.EngineTypes.semv = x0;
42165 MenhirLib.EngineTypes.startp = _startpos_x0_;
42166 MenhirLib.EngineTypes.endp = _endpos_x0_;
42167 MenhirLib.EngineTypes.next = _menhir_stack;
42168 };
42169 };
42170 };
42171 };
42172 };
42173 };
42174 } = _menhir_stack in
42175 let m : 'tv_list_TMul_ = Obj.magic m in
42176 let r00 : (
42177 # 169 "parser_cocci_menhir.mly"
42178 (Data.clt)
42179 # 42180 "parser_cocci_menhir.ml"
42180 ) = Obj.magic r00 in
42181 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
42182 let l00 : (
42183 # 169 "parser_cocci_menhir.mly"
42184 (Data.clt)
42185 # 42186 "parser_cocci_menhir.ml"
42186 ) = Obj.magic l00 in
42187 let x000 : 'tv_ident = Obj.magic x000 in
42188 let s00 : (
42189 # 116 "parser_cocci_menhir.mly"
42190 (Data.clt)
42191 # 42192 "parser_cocci_menhir.ml"
42192 ) = Obj.magic s00 in
42193 let x0 : 'tv_const_vol = Obj.magic x0 in
42194 let _startpos = _startpos_x0_ in
42195 let _endpos = _endpos_m_ in
42196 let _v : 'tv_typedef_ctype = let ty =
42197 let r0 = r00 in
42198 let ids0 = ids00 in
42199 let l0 = l00 in
42200 let x00 = x000 in
42201 let s0 = s00 in
42202 let ty =
42203 let r = r0 in
42204 let ids = ids0 in
42205 let l = l0 in
42206 let x0 = x00 in
42207 let s = s0 in
42208 let i =
42209 let x = x0 in
42210
42211 # 41 "standard.mly"
42212 ( Some x )
42213 # 42214 "parser_cocci_menhir.ml"
42214
42215 in
42216
42217 # 657 "parser_cocci_menhir.mly"
42218 ( (if i = None && !Data.in_iso
42219 then failwith "enums must be named in the iso file");
42220 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
42221 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
42222 # 42223 "parser_cocci_menhir.ml"
42223
42224 in
42225
42226 # 684 "parser_cocci_menhir.mly"
42227 ( ty )
42228 # 42229 "parser_cocci_menhir.ml"
42229
42230 in
42231 let cv =
42232 let x = x0 in
42233
42234 # 41 "standard.mly"
42235 ( Some x )
42236 # 42237 "parser_cocci_menhir.ml"
42237
42238 in
42239
42240 # 705 "parser_cocci_menhir.mly"
42241 ( P.pointerify (P.make_cv cv ty) m )
42242 # 42243 "parser_cocci_menhir.ml"
42243 in
42244 _menhir_env.MenhirLib.EngineTypes.stack <- {
42245 MenhirLib.EngineTypes.state = _menhir_s;
42246 MenhirLib.EngineTypes.semv = Obj.repr _v;
42247 MenhirLib.EngineTypes.startp = _startpos;
42248 MenhirLib.EngineTypes.endp = _endpos;
42249 MenhirLib.EngineTypes.next = _menhir_stack;
42250 });
42251 (fun _menhir_env ->
42252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42253 let {
42254 MenhirLib.EngineTypes.semv = m;
42255 MenhirLib.EngineTypes.startp = _startpos_m_;
42256 MenhirLib.EngineTypes.endp = _endpos_m_;
42257 MenhirLib.EngineTypes.next = {
42258 MenhirLib.EngineTypes.semv = i00;
42259 MenhirLib.EngineTypes.startp = _startpos_i00_;
42260 MenhirLib.EngineTypes.endp = _endpos_i00_;
42261 MenhirLib.EngineTypes.next = {
42262 MenhirLib.EngineTypes.semv = s00;
42263 MenhirLib.EngineTypes.startp = _startpos_s00_;
42264 MenhirLib.EngineTypes.endp = _endpos_s00_;
42265 MenhirLib.EngineTypes.next = {
42266 MenhirLib.EngineTypes.state = _menhir_s;
42267 MenhirLib.EngineTypes.semv = x0;
42268 MenhirLib.EngineTypes.startp = _startpos_x0_;
42269 MenhirLib.EngineTypes.endp = _endpos_x0_;
42270 MenhirLib.EngineTypes.next = _menhir_stack;
42271 };
42272 };
42273 };
42274 } = _menhir_stack in
42275 let m : 'tv_list_TMul_ = Obj.magic m in
42276 let i00 : 'tv_type_ident = Obj.magic i00 in
42277 let s00 : 'tv_struct_or_union = Obj.magic s00 in
42278 let x0 : 'tv_const_vol = Obj.magic x0 in
42279 let _startpos = _startpos_x0_ in
42280 let _endpos = _endpos_m_ in
42281 let _v : 'tv_typedef_ctype = let ty =
42282 let i0 = i00 in
42283 let s0 = s00 in
42284 let ty =
42285 let i = i0 in
42286 let s = s0 in
42287
42288 # 662 "parser_cocci_menhir.mly"
42289 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
42290 # 42291 "parser_cocci_menhir.ml"
42291
42292 in
42293
42294 # 684 "parser_cocci_menhir.mly"
42295 ( ty )
42296 # 42297 "parser_cocci_menhir.ml"
42297
42298 in
42299 let cv =
42300 let x = x0 in
42301
42302 # 41 "standard.mly"
42303 ( Some x )
42304 # 42305 "parser_cocci_menhir.ml"
42305
42306 in
42307
42308 # 705 "parser_cocci_menhir.mly"
42309 ( P.pointerify (P.make_cv cv ty) m )
42310 # 42311 "parser_cocci_menhir.ml"
42311 in
42312 _menhir_env.MenhirLib.EngineTypes.stack <- {
42313 MenhirLib.EngineTypes.state = _menhir_s;
42314 MenhirLib.EngineTypes.semv = Obj.repr _v;
42315 MenhirLib.EngineTypes.startp = _startpos;
42316 MenhirLib.EngineTypes.endp = _endpos;
42317 MenhirLib.EngineTypes.next = _menhir_stack;
42318 });
42319 (fun _menhir_env ->
42320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42321 let {
42322 MenhirLib.EngineTypes.semv = m;
42323 MenhirLib.EngineTypes.startp = _startpos_m_;
42324 MenhirLib.EngineTypes.endp = _endpos_m_;
42325 MenhirLib.EngineTypes.next = {
42326 MenhirLib.EngineTypes.semv = r00;
42327 MenhirLib.EngineTypes.startp = _startpos_r00_;
42328 MenhirLib.EngineTypes.endp = _endpos_r00_;
42329 MenhirLib.EngineTypes.next = {
42330 MenhirLib.EngineTypes.semv = d00;
42331 MenhirLib.EngineTypes.startp = _startpos_d00_;
42332 MenhirLib.EngineTypes.endp = _endpos_d00_;
42333 MenhirLib.EngineTypes.next = {
42334 MenhirLib.EngineTypes.semv = l00;
42335 MenhirLib.EngineTypes.startp = _startpos_l00_;
42336 MenhirLib.EngineTypes.endp = _endpos_l00_;
42337 MenhirLib.EngineTypes.next = {
42338 MenhirLib.EngineTypes.semv = s00;
42339 MenhirLib.EngineTypes.startp = _startpos_s00_;
42340 MenhirLib.EngineTypes.endp = _endpos_s00_;
42341 MenhirLib.EngineTypes.next = {
42342 MenhirLib.EngineTypes.state = _menhir_s;
42343 MenhirLib.EngineTypes.semv = x0;
42344 MenhirLib.EngineTypes.startp = _startpos_x0_;
42345 MenhirLib.EngineTypes.endp = _endpos_x0_;
42346 MenhirLib.EngineTypes.next = _menhir_stack;
42347 };
42348 };
42349 };
42350 };
42351 };
42352 } = _menhir_stack in
42353 let m : 'tv_list_TMul_ = Obj.magic m in
42354 let r00 : (
42355 # 169 "parser_cocci_menhir.mly"
42356 (Data.clt)
42357 # 42358 "parser_cocci_menhir.ml"
42358 ) = Obj.magic r00 in
42359 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
42360 let l00 : (
42361 # 169 "parser_cocci_menhir.mly"
42362 (Data.clt)
42363 # 42364 "parser_cocci_menhir.ml"
42364 ) = Obj.magic l00 in
42365 let s00 : 'tv_struct_or_union = Obj.magic s00 in
42366 let x0 : 'tv_const_vol = Obj.magic x0 in
42367 let _startpos = _startpos_x0_ in
42368 let _endpos = _endpos_m_ in
42369 let _v : 'tv_typedef_ctype = let ty =
42370 let r0 = r00 in
42371 let d0 = d00 in
42372 let l0 = l00 in
42373 let s0 = s00 in
42374 let ty =
42375 let r = r0 in
42376 let d = d0 in
42377 let l = l0 in
42378 let s = s0 in
42379 let i =
42380
42381 # 39 "standard.mly"
42382 ( None )
42383 # 42384 "parser_cocci_menhir.ml"
42384
42385 in
42386
42387 # 665 "parser_cocci_menhir.mly"
42388 ( (if i = None && !Data.in_iso
42389 then failwith "structures must be named in the iso file");
42390 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
42391 P.clt2mcode "{" l,
42392 d, P.clt2mcode "}" r)) )
42393 # 42394 "parser_cocci_menhir.ml"
42394
42395 in
42396
42397 # 684 "parser_cocci_menhir.mly"
42398 ( ty )
42399 # 42400 "parser_cocci_menhir.ml"
42400
42401 in
42402 let cv =
42403 let x = x0 in
42404
42405 # 41 "standard.mly"
42406 ( Some x )
42407 # 42408 "parser_cocci_menhir.ml"
42408
42409 in
42410
42411 # 705 "parser_cocci_menhir.mly"
42412 ( P.pointerify (P.make_cv cv ty) m )
42413 # 42414 "parser_cocci_menhir.ml"
42414 in
42415 _menhir_env.MenhirLib.EngineTypes.stack <- {
42416 MenhirLib.EngineTypes.state = _menhir_s;
42417 MenhirLib.EngineTypes.semv = Obj.repr _v;
42418 MenhirLib.EngineTypes.startp = _startpos;
42419 MenhirLib.EngineTypes.endp = _endpos;
42420 MenhirLib.EngineTypes.next = _menhir_stack;
42421 });
42422 (fun _menhir_env ->
42423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42424 let {
42425 MenhirLib.EngineTypes.semv = m;
42426 MenhirLib.EngineTypes.startp = _startpos_m_;
42427 MenhirLib.EngineTypes.endp = _endpos_m_;
42428 MenhirLib.EngineTypes.next = {
42429 MenhirLib.EngineTypes.semv = r00;
42430 MenhirLib.EngineTypes.startp = _startpos_r00_;
42431 MenhirLib.EngineTypes.endp = _endpos_r00_;
42432 MenhirLib.EngineTypes.next = {
42433 MenhirLib.EngineTypes.semv = d00;
42434 MenhirLib.EngineTypes.startp = _startpos_d00_;
42435 MenhirLib.EngineTypes.endp = _endpos_d00_;
42436 MenhirLib.EngineTypes.next = {
42437 MenhirLib.EngineTypes.semv = l00;
42438 MenhirLib.EngineTypes.startp = _startpos_l00_;
42439 MenhirLib.EngineTypes.endp = _endpos_l00_;
42440 MenhirLib.EngineTypes.next = {
42441 MenhirLib.EngineTypes.semv = x000;
42442 MenhirLib.EngineTypes.startp = _startpos_x000_;
42443 MenhirLib.EngineTypes.endp = _endpos_x000_;
42444 MenhirLib.EngineTypes.next = {
42445 MenhirLib.EngineTypes.semv = s00;
42446 MenhirLib.EngineTypes.startp = _startpos_s00_;
42447 MenhirLib.EngineTypes.endp = _endpos_s00_;
42448 MenhirLib.EngineTypes.next = {
42449 MenhirLib.EngineTypes.state = _menhir_s;
42450 MenhirLib.EngineTypes.semv = x0;
42451 MenhirLib.EngineTypes.startp = _startpos_x0_;
42452 MenhirLib.EngineTypes.endp = _endpos_x0_;
42453 MenhirLib.EngineTypes.next = _menhir_stack;
42454 };
42455 };
42456 };
42457 };
42458 };
42459 };
42460 } = _menhir_stack in
42461 let m : 'tv_list_TMul_ = Obj.magic m in
42462 let r00 : (
42463 # 169 "parser_cocci_menhir.mly"
42464 (Data.clt)
42465 # 42466 "parser_cocci_menhir.ml"
42466 ) = Obj.magic r00 in
42467 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
42468 let l00 : (
42469 # 169 "parser_cocci_menhir.mly"
42470 (Data.clt)
42471 # 42472 "parser_cocci_menhir.ml"
42472 ) = Obj.magic l00 in
42473 let x000 : 'tv_type_ident = Obj.magic x000 in
42474 let s00 : 'tv_struct_or_union = Obj.magic s00 in
42475 let x0 : 'tv_const_vol = Obj.magic x0 in
42476 let _startpos = _startpos_x0_ in
42477 let _endpos = _endpos_m_ in
42478 let _v : 'tv_typedef_ctype = let ty =
42479 let r0 = r00 in
42480 let d0 = d00 in
42481 let l0 = l00 in
42482 let x00 = x000 in
42483 let s0 = s00 in
42484 let ty =
42485 let r = r0 in
42486 let d = d0 in
42487 let l = l0 in
42488 let x0 = x00 in
42489 let s = s0 in
42490 let i =
42491 let x = x0 in
42492
42493 # 41 "standard.mly"
42494 ( Some x )
42495 # 42496 "parser_cocci_menhir.ml"
42496
42497 in
42498
42499 # 665 "parser_cocci_menhir.mly"
42500 ( (if i = None && !Data.in_iso
42501 then failwith "structures must be named in the iso file");
42502 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
42503 P.clt2mcode "{" l,
42504 d, P.clt2mcode "}" r)) )
42505 # 42506 "parser_cocci_menhir.ml"
42506
42507 in
42508
42509 # 684 "parser_cocci_menhir.mly"
42510 ( ty )
42511 # 42512 "parser_cocci_menhir.ml"
42512
42513 in
42514 let cv =
42515 let x = x0 in
42516
42517 # 41 "standard.mly"
42518 ( Some x )
42519 # 42520 "parser_cocci_menhir.ml"
42520
42521 in
42522
42523 # 705 "parser_cocci_menhir.mly"
42524 ( P.pointerify (P.make_cv cv ty) m )
42525 # 42526 "parser_cocci_menhir.ml"
42526 in
42527 _menhir_env.MenhirLib.EngineTypes.stack <- {
42528 MenhirLib.EngineTypes.state = _menhir_s;
42529 MenhirLib.EngineTypes.semv = Obj.repr _v;
42530 MenhirLib.EngineTypes.startp = _startpos;
42531 MenhirLib.EngineTypes.endp = _endpos;
42532 MenhirLib.EngineTypes.next = _menhir_stack;
42533 });
42534 (fun _menhir_env ->
42535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42536 let {
42537 MenhirLib.EngineTypes.semv = m;
42538 MenhirLib.EngineTypes.startp = _startpos_m_;
42539 MenhirLib.EngineTypes.endp = _endpos_m_;
42540 MenhirLib.EngineTypes.next = {
42541 MenhirLib.EngineTypes.semv = r00;
42542 MenhirLib.EngineTypes.startp = _startpos_r00_;
42543 MenhirLib.EngineTypes.endp = _endpos_r00_;
42544 MenhirLib.EngineTypes.next = {
42545 MenhirLib.EngineTypes.semv = d00;
42546 MenhirLib.EngineTypes.startp = _startpos_d00_;
42547 MenhirLib.EngineTypes.endp = _endpos_d00_;
42548 MenhirLib.EngineTypes.next = {
42549 MenhirLib.EngineTypes.semv = l00;
42550 MenhirLib.EngineTypes.startp = _startpos_l00_;
42551 MenhirLib.EngineTypes.endp = _endpos_l00_;
42552 MenhirLib.EngineTypes.next = {
42553 MenhirLib.EngineTypes.semv = s00;
42554 MenhirLib.EngineTypes.startp = _startpos_s00_;
42555 MenhirLib.EngineTypes.endp = _endpos_s00_;
42556 MenhirLib.EngineTypes.next = {
42557 MenhirLib.EngineTypes.state = _menhir_s;
42558 MenhirLib.EngineTypes.semv = x0;
42559 MenhirLib.EngineTypes.startp = _startpos_x0_;
42560 MenhirLib.EngineTypes.endp = _endpos_x0_;
42561 MenhirLib.EngineTypes.next = _menhir_stack;
42562 };
42563 };
42564 };
42565 };
42566 };
42567 } = _menhir_stack in
42568 let m : 'tv_list_TMul_ = Obj.magic m in
42569 let r00 : (
42570 # 169 "parser_cocci_menhir.mly"
42571 (Data.clt)
42572 # 42573 "parser_cocci_menhir.ml"
42573 ) = Obj.magic r00 in
42574 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
42575 let l00 : (
42576 # 169 "parser_cocci_menhir.mly"
42577 (Data.clt)
42578 # 42579 "parser_cocci_menhir.ml"
42579 ) = Obj.magic l00 in
42580 let s00 : (
42581 # 131 "parser_cocci_menhir.mly"
42582 (Parse_aux.info)
42583 # 42584 "parser_cocci_menhir.ml"
42584 ) = Obj.magic s00 in
42585 let x0 : 'tv_const_vol = Obj.magic x0 in
42586 let _startpos = _startpos_x0_ in
42587 let _endpos = _endpos_m_ in
42588 let _v : 'tv_typedef_ctype = let ty =
42589 let r0 = r00 in
42590 let d0 = d00 in
42591 let l0 = l00 in
42592 let s0 = s00 in
42593 let ty =
42594 let r = r0 in
42595 let d = d0 in
42596 let l = l0 in
42597 let s = s0 in
42598
42599 # 671 "parser_cocci_menhir.mly"
42600 ( let (nm,pure,clt) = s in
42601 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
42602 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
42603 # 42604 "parser_cocci_menhir.ml"
42604
42605 in
42606
42607 # 684 "parser_cocci_menhir.mly"
42608 ( ty )
42609 # 42610 "parser_cocci_menhir.ml"
42610
42611 in
42612 let cv =
42613 let x = x0 in
42614
42615 # 41 "standard.mly"
42616 ( Some x )
42617 # 42618 "parser_cocci_menhir.ml"
42618
42619 in
42620
42621 # 705 "parser_cocci_menhir.mly"
42622 ( P.pointerify (P.make_cv cv ty) m )
42623 # 42624 "parser_cocci_menhir.ml"
42624 in
42625 _menhir_env.MenhirLib.EngineTypes.stack <- {
42626 MenhirLib.EngineTypes.state = _menhir_s;
42627 MenhirLib.EngineTypes.semv = Obj.repr _v;
42628 MenhirLib.EngineTypes.startp = _startpos;
42629 MenhirLib.EngineTypes.endp = _endpos;
42630 MenhirLib.EngineTypes.next = _menhir_stack;
42631 });
42632 (fun _menhir_env ->
42633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42634 let {
42635 MenhirLib.EngineTypes.semv = m;
42636 MenhirLib.EngineTypes.startp = _startpos_m_;
42637 MenhirLib.EngineTypes.endp = _endpos_m_;
42638 MenhirLib.EngineTypes.next = {
42639 MenhirLib.EngineTypes.semv = p00;
42640 MenhirLib.EngineTypes.startp = _startpos_p00_;
42641 MenhirLib.EngineTypes.endp = _endpos_p00_;
42642 MenhirLib.EngineTypes.next = {
42643 MenhirLib.EngineTypes.state = _menhir_s;
42644 MenhirLib.EngineTypes.semv = x0;
42645 MenhirLib.EngineTypes.startp = _startpos_x0_;
42646 MenhirLib.EngineTypes.endp = _endpos_x0_;
42647 MenhirLib.EngineTypes.next = _menhir_stack;
42648 };
42649 };
42650 } = _menhir_stack in
42651 let m : 'tv_list_TMul_ = Obj.magic m in
42652 let p00 : (
42653 # 125 "parser_cocci_menhir.mly"
42654 (string * Data.clt)
42655 # 42656 "parser_cocci_menhir.ml"
42656 ) = Obj.magic p00 in
42657 let x0 : 'tv_const_vol = Obj.magic x0 in
42658 let _startpos = _startpos_x0_ in
42659 let _endpos = _endpos_m_ in
42660 let _v : 'tv_typedef_ctype = let ty =
42661 let p0 = p00 in
42662 let ty =
42663 let p = p0 in
42664
42665 # 675 "parser_cocci_menhir.mly"
42666 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
42667 # 42668 "parser_cocci_menhir.ml"
42668
42669 in
42670
42671 # 684 "parser_cocci_menhir.mly"
42672 ( ty )
42673 # 42674 "parser_cocci_menhir.ml"
42674
42675 in
42676 let cv =
42677 let x = x0 in
42678
42679 # 41 "standard.mly"
42680 ( Some x )
42681 # 42682 "parser_cocci_menhir.ml"
42682
42683 in
42684
42685 # 705 "parser_cocci_menhir.mly"
42686 ( P.pointerify (P.make_cv cv ty) m )
42687 # 42688 "parser_cocci_menhir.ml"
42688 in
42689 _menhir_env.MenhirLib.EngineTypes.stack <- {
42690 MenhirLib.EngineTypes.state = _menhir_s;
42691 MenhirLib.EngineTypes.semv = Obj.repr _v;
42692 MenhirLib.EngineTypes.startp = _startpos;
42693 MenhirLib.EngineTypes.endp = _endpos;
42694 MenhirLib.EngineTypes.next = _menhir_stack;
42695 });
42696 (fun _menhir_env ->
42697 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42698 let {
42699 MenhirLib.EngineTypes.semv = rp;
42700 MenhirLib.EngineTypes.startp = _startpos_rp_;
42701 MenhirLib.EngineTypes.endp = _endpos_rp_;
42702 MenhirLib.EngineTypes.next = {
42703 MenhirLib.EngineTypes.semv = t;
42704 MenhirLib.EngineTypes.startp = _startpos_t_;
42705 MenhirLib.EngineTypes.endp = _endpos_t_;
42706 MenhirLib.EngineTypes.next = {
42707 MenhirLib.EngineTypes.state = _menhir_s;
42708 MenhirLib.EngineTypes.semv = lp;
42709 MenhirLib.EngineTypes.startp = _startpos_lp_;
42710 MenhirLib.EngineTypes.endp = _endpos_lp_;
42711 MenhirLib.EngineTypes.next = _menhir_stack;
42712 };
42713 };
42714 } = _menhir_stack in
42715 let rp : (
42716 # 145 "parser_cocci_menhir.mly"
42717 (Data.clt)
42718 # 42719 "parser_cocci_menhir.ml"
42719 ) = Obj.magic rp in
42720 let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
42721 let lp : (
42722 # 144 "parser_cocci_menhir.mly"
42723 (Data.clt)
42724 # 42725 "parser_cocci_menhir.ml"
42725 ) = Obj.magic lp in
42726 let _startpos = _startpos_lp_ in
42727 let _endpos = _endpos_rp_ in
42728 let _v : 'tv_typedef_ctype =
42729 # 707 "parser_cocci_menhir.mly"
42730 ( let (mids,code) = t in
42731 Ast0.wrap
42732 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
42733 # 42734 "parser_cocci_menhir.ml"
42734 in
42735 _menhir_env.MenhirLib.EngineTypes.stack <- {
42736 MenhirLib.EngineTypes.state = _menhir_s;
42737 MenhirLib.EngineTypes.semv = Obj.repr _v;
42738 MenhirLib.EngineTypes.startp = _startpos;
42739 MenhirLib.EngineTypes.endp = _endpos;
42740 MenhirLib.EngineTypes.next = _menhir_stack;
42741 });
42742 (fun _menhir_env ->
42743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42744 let {
42745 MenhirLib.EngineTypes.state = _menhir_s;
42746 MenhirLib.EngineTypes.semv = _1;
42747 MenhirLib.EngineTypes.startp = _startpos__1_;
42748 MenhirLib.EngineTypes.endp = _endpos__1_;
42749 MenhirLib.EngineTypes.next = _menhir_stack;
42750 } = _menhir_stack in
42751 let _1 : (
42752 # 132 "parser_cocci_menhir.mly"
42753 (Parse_aux.info)
42754 # 42755 "parser_cocci_menhir.ml"
42755 ) = Obj.magic _1 in
42756 let _startpos = _startpos__1_ in
42757 let _endpos = _endpos__1_ in
42758 let _v : 'tv_typedef_ctype =
42759 # 710 "parser_cocci_menhir.mly"
42760 ( tmeta_to_type _1 )
42761 # 42762 "parser_cocci_menhir.ml"
42762 in
42763 _menhir_env.MenhirLib.EngineTypes.stack <- {
42764 MenhirLib.EngineTypes.state = _menhir_s;
42765 MenhirLib.EngineTypes.semv = Obj.repr _v;
42766 MenhirLib.EngineTypes.startp = _startpos;
42767 MenhirLib.EngineTypes.endp = _endpos;
42768 MenhirLib.EngineTypes.next = _menhir_stack;
42769 });
42770 (fun _menhir_env ->
42771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42772 let {
42773 MenhirLib.EngineTypes.state = _menhir_s;
42774 MenhirLib.EngineTypes.semv = _1;
42775 MenhirLib.EngineTypes.startp = _startpos__1_;
42776 MenhirLib.EngineTypes.endp = _endpos__1_;
42777 MenhirLib.EngineTypes.next = _menhir_stack;
42778 } = _menhir_stack in
42779 let _1 : 'tv_pure_ident = Obj.magic _1 in
42780 let _startpos = _startpos__1_ in
42781 let _endpos = _endpos__1_ in
42782 let _v : 'tv_typedef_ident =
42783 # 1916 "parser_cocci_menhir.mly"
42784 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
42785 # 42786 "parser_cocci_menhir.ml"
42786 in
42787 _menhir_env.MenhirLib.EngineTypes.stack <- {
42788 MenhirLib.EngineTypes.state = _menhir_s;
42789 MenhirLib.EngineTypes.semv = Obj.repr _v;
42790 MenhirLib.EngineTypes.startp = _startpos;
42791 MenhirLib.EngineTypes.endp = _endpos;
42792 MenhirLib.EngineTypes.next = _menhir_stack;
42793 });
42794 (fun _menhir_env ->
42795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42796 let {
42797 MenhirLib.EngineTypes.state = _menhir_s;
42798 MenhirLib.EngineTypes.semv = _1;
42799 MenhirLib.EngineTypes.startp = _startpos__1_;
42800 MenhirLib.EngineTypes.endp = _endpos__1_;
42801 MenhirLib.EngineTypes.next = _menhir_stack;
42802 } = _menhir_stack in
42803 let _1 : (
42804 # 132 "parser_cocci_menhir.mly"
42805 (Parse_aux.info)
42806 # 42807 "parser_cocci_menhir.ml"
42807 ) = Obj.magic _1 in
42808 let _startpos = _startpos__1_ in
42809 let _endpos = _endpos__1_ in
42810 let _v : 'tv_typedef_ident =
42811 # 1917 "parser_cocci_menhir.mly"
42812 ( tmeta_to_type _1 )
42813 # 42814 "parser_cocci_menhir.ml"
42814 in
42815 _menhir_env.MenhirLib.EngineTypes.stack <- {
42816 MenhirLib.EngineTypes.state = _menhir_s;
42817 MenhirLib.EngineTypes.semv = Obj.repr _v;
42818 MenhirLib.EngineTypes.startp = _startpos;
42819 MenhirLib.EngineTypes.endp = _endpos;
42820 MenhirLib.EngineTypes.next = _menhir_stack;
42821 });
42822 (fun _menhir_env ->
42823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42824 let {
42825 MenhirLib.EngineTypes.state = _menhir_s;
42826 MenhirLib.EngineTypes.semv = _1;
42827 MenhirLib.EngineTypes.startp = _startpos__1_;
42828 MenhirLib.EngineTypes.endp = _endpos__1_;
42829 MenhirLib.EngineTypes.next = _menhir_stack;
42830 } = _menhir_stack in
42831 let _1 : (
42832 # 131 "parser_cocci_menhir.mly"
42833 (Parse_aux.info)
42834 # 42835 "parser_cocci_menhir.ml"
42835 ) = Obj.magic _1 in
42836 let _startpos = _startpos__1_ in
42837 let _endpos = _endpos__1_ in
42838 let _v : 'tv_typedef_ident =
42839 # 1919 "parser_cocci_menhir.mly"
42840 ( let (nm,pure,clt) = _1 in
42841 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
42842 # 42843 "parser_cocci_menhir.ml"
42843 in
42844 _menhir_env.MenhirLib.EngineTypes.stack <- {
42845 MenhirLib.EngineTypes.state = _menhir_s;
42846 MenhirLib.EngineTypes.semv = Obj.repr _v;
42847 MenhirLib.EngineTypes.startp = _startpos;
42848 MenhirLib.EngineTypes.endp = _endpos;
42849 MenhirLib.EngineTypes.next = _menhir_stack;
42850 });
42851 (fun _menhir_env ->
42852 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42853 let {
42854 MenhirLib.EngineTypes.state = _menhir_s;
42855 MenhirLib.EngineTypes.semv = _1;
42856 MenhirLib.EngineTypes.startp = _startpos__1_;
42857 MenhirLib.EngineTypes.endp = _endpos__1_;
42858 MenhirLib.EngineTypes.next = _menhir_stack;
42859 } = _menhir_stack in
42860 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
42861 let _startpos = _startpos__1_ in
42862 let _endpos = _endpos__1_ in
42863 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
42864 # 1504 "parser_cocci_menhir.mly"
42865 ( _1 )
42866 # 42867 "parser_cocci_menhir.ml"
42867 in
42868 _menhir_env.MenhirLib.EngineTypes.stack <- {
42869 MenhirLib.EngineTypes.state = _menhir_s;
42870 MenhirLib.EngineTypes.semv = Obj.repr _v;
42871 MenhirLib.EngineTypes.startp = _startpos;
42872 MenhirLib.EngineTypes.endp = _endpos;
42873 MenhirLib.EngineTypes.next = _menhir_stack;
42874 });
42875 (fun _menhir_env ->
42876 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42877 let {
42878 MenhirLib.EngineTypes.semv = _2;
42879 MenhirLib.EngineTypes.startp = _startpos__2_;
42880 MenhirLib.EngineTypes.endp = _endpos__2_;
42881 MenhirLib.EngineTypes.next = {
42882 MenhirLib.EngineTypes.state = _menhir_s;
42883 MenhirLib.EngineTypes.semv = _1;
42884 MenhirLib.EngineTypes.startp = _startpos__1_;
42885 MenhirLib.EngineTypes.endp = _endpos__1_;
42886 MenhirLib.EngineTypes.next = _menhir_stack;
42887 };
42888 } = _menhir_stack in
42889 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42890 let _1 : (
42891 # 153 "parser_cocci_menhir.mly"
42892 (Data.clt)
42893 # 42894 "parser_cocci_menhir.ml"
42894 ) = Obj.magic _1 in
42895 let _startpos = _startpos__1_ in
42896 let _endpos = _endpos__2_ in
42897 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
42898 # 1506 "parser_cocci_menhir.mly"
42899 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
42900 # 42901 "parser_cocci_menhir.ml"
42901 in
42902 _menhir_env.MenhirLib.EngineTypes.stack <- {
42903 MenhirLib.EngineTypes.state = _menhir_s;
42904 MenhirLib.EngineTypes.semv = Obj.repr _v;
42905 MenhirLib.EngineTypes.startp = _startpos;
42906 MenhirLib.EngineTypes.endp = _endpos;
42907 MenhirLib.EngineTypes.next = _menhir_stack;
42908 });
42909 (fun _menhir_env ->
42910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42911 let {
42912 MenhirLib.EngineTypes.semv = _2;
42913 MenhirLib.EngineTypes.startp = _startpos__2_;
42914 MenhirLib.EngineTypes.endp = _endpos__2_;
42915 MenhirLib.EngineTypes.next = {
42916 MenhirLib.EngineTypes.state = _menhir_s;
42917 MenhirLib.EngineTypes.semv = _1;
42918 MenhirLib.EngineTypes.startp = _startpos__1_;
42919 MenhirLib.EngineTypes.endp = _endpos__1_;
42920 MenhirLib.EngineTypes.next = _menhir_stack;
42921 };
42922 } = _menhir_stack in
42923 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42924 let _1 : (
42925 # 153 "parser_cocci_menhir.mly"
42926 (Data.clt)
42927 # 42928 "parser_cocci_menhir.ml"
42928 ) = Obj.magic _1 in
42929 let _startpos = _startpos__1_ in
42930 let _endpos = _endpos__2_ in
42931 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
42932 # 1508 "parser_cocci_menhir.mly"
42933 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
42934 # 42935 "parser_cocci_menhir.ml"
42935 in
42936 _menhir_env.MenhirLib.EngineTypes.stack <- {
42937 MenhirLib.EngineTypes.state = _menhir_s;
42938 MenhirLib.EngineTypes.semv = Obj.repr _v;
42939 MenhirLib.EngineTypes.startp = _startpos;
42940 MenhirLib.EngineTypes.endp = _endpos;
42941 MenhirLib.EngineTypes.next = _menhir_stack;
42942 });
42943 (fun _menhir_env ->
42944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42945 let {
42946 MenhirLib.EngineTypes.semv = _2;
42947 MenhirLib.EngineTypes.startp = _startpos__2_;
42948 MenhirLib.EngineTypes.endp = _endpos__2_;
42949 MenhirLib.EngineTypes.next = {
42950 MenhirLib.EngineTypes.state = _menhir_s;
42951 MenhirLib.EngineTypes.semv = _1;
42952 MenhirLib.EngineTypes.startp = _startpos__1_;
42953 MenhirLib.EngineTypes.endp = _endpos__1_;
42954 MenhirLib.EngineTypes.next = _menhir_stack;
42955 };
42956 } = _menhir_stack in
42957 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
42958 let _1 : 'tv_unary_op = Obj.magic _1 in
42959 let _startpos = _startpos__1_ in
42960 let _endpos = _endpos__2_ in
42961 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
42962 # 1510 "parser_cocci_menhir.mly"
42963 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
42964 # 42965 "parser_cocci_menhir.ml"
42965 in
42966 _menhir_env.MenhirLib.EngineTypes.stack <- {
42967 MenhirLib.EngineTypes.state = _menhir_s;
42968 MenhirLib.EngineTypes.semv = Obj.repr _v;
42969 MenhirLib.EngineTypes.startp = _startpos;
42970 MenhirLib.EngineTypes.endp = _endpos;
42971 MenhirLib.EngineTypes.next = _menhir_stack;
42972 });
42973 (fun _menhir_env ->
42974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42975 let {
42976 MenhirLib.EngineTypes.semv = _2;
42977 MenhirLib.EngineTypes.startp = _startpos__2_;
42978 MenhirLib.EngineTypes.endp = _endpos__2_;
42979 MenhirLib.EngineTypes.next = {
42980 MenhirLib.EngineTypes.state = _menhir_s;
42981 MenhirLib.EngineTypes.semv = _1;
42982 MenhirLib.EngineTypes.startp = _startpos__1_;
42983 MenhirLib.EngineTypes.endp = _endpos__1_;
42984 MenhirLib.EngineTypes.next = _menhir_stack;
42985 };
42986 } = _menhir_stack in
42987 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42988 let _1 : (
42989 # 144 "parser_cocci_menhir.mly"
42990 (Data.clt)
42991 # 42992 "parser_cocci_menhir.ml"
42992 ) = Obj.magic _1 in
42993 let _startpos = _startpos__1_ in
42994 let _endpos = _endpos__2_ in
42995 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
42996 # 1512 "parser_cocci_menhir.mly"
42997 ( let mcode = P.clt2mcode Ast.Not _1 in
42998 Ast0.wrap(Ast0.Unary(_2, mcode)) )
42999 # 43000 "parser_cocci_menhir.ml"
43000 in
43001 _menhir_env.MenhirLib.EngineTypes.stack <- {
43002 MenhirLib.EngineTypes.state = _menhir_s;
43003 MenhirLib.EngineTypes.semv = Obj.repr _v;
43004 MenhirLib.EngineTypes.startp = _startpos;
43005 MenhirLib.EngineTypes.endp = _endpos;
43006 MenhirLib.EngineTypes.next = _menhir_stack;
43007 });
43008 (fun _menhir_env ->
43009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43010 let {
43011 MenhirLib.EngineTypes.semv = _2;
43012 MenhirLib.EngineTypes.startp = _startpos__2_;
43013 MenhirLib.EngineTypes.endp = _endpos__2_;
43014 MenhirLib.EngineTypes.next = {
43015 MenhirLib.EngineTypes.state = _menhir_s;
43016 MenhirLib.EngineTypes.semv = _1;
43017 MenhirLib.EngineTypes.startp = _startpos__1_;
43018 MenhirLib.EngineTypes.endp = _endpos__1_;
43019 MenhirLib.EngineTypes.next = _menhir_stack;
43020 };
43021 } = _menhir_stack in
43022 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43023 let _1 : (
43024 # 124 "parser_cocci_menhir.mly"
43025 (Data.clt)
43026 # 43027 "parser_cocci_menhir.ml"
43027 ) = Obj.magic _1 in
43028 let _startpos = _startpos__1_ in
43029 let _endpos = _endpos__2_ in
43030 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
43031 # 1515 "parser_cocci_menhir.mly"
43032 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
43033 # 43034 "parser_cocci_menhir.ml"
43034 in
43035 _menhir_env.MenhirLib.EngineTypes.stack <- {
43036 MenhirLib.EngineTypes.state = _menhir_s;
43037 MenhirLib.EngineTypes.semv = Obj.repr _v;
43038 MenhirLib.EngineTypes.startp = _startpos;
43039 MenhirLib.EngineTypes.endp = _endpos;
43040 MenhirLib.EngineTypes.next = _menhir_stack;
43041 });
43042 (fun _menhir_env ->
43043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43044 let {
43045 MenhirLib.EngineTypes.semv = rp;
43046 MenhirLib.EngineTypes.startp = _startpos_rp_;
43047 MenhirLib.EngineTypes.endp = _endpos_rp_;
43048 MenhirLib.EngineTypes.next = {
43049 MenhirLib.EngineTypes.semv = t;
43050 MenhirLib.EngineTypes.startp = _startpos_t_;
43051 MenhirLib.EngineTypes.endp = _endpos_t_;
43052 MenhirLib.EngineTypes.next = {
43053 MenhirLib.EngineTypes.semv = lp;
43054 MenhirLib.EngineTypes.startp = _startpos_lp_;
43055 MenhirLib.EngineTypes.endp = _endpos_lp_;
43056 MenhirLib.EngineTypes.next = {
43057 MenhirLib.EngineTypes.state = _menhir_s;
43058 MenhirLib.EngineTypes.semv = s;
43059 MenhirLib.EngineTypes.startp = _startpos_s_;
43060 MenhirLib.EngineTypes.endp = _endpos_s_;
43061 MenhirLib.EngineTypes.next = _menhir_stack;
43062 };
43063 };
43064 };
43065 } = _menhir_stack in
43066 let rp : (
43067 # 145 "parser_cocci_menhir.mly"
43068 (Data.clt)
43069 # 43070 "parser_cocci_menhir.ml"
43070 ) = Obj.magic rp in
43071 let t : 'tv_ctype = Obj.magic t in
43072 let lp : (
43073 # 144 "parser_cocci_menhir.mly"
43074 (Data.clt)
43075 # 43076 "parser_cocci_menhir.ml"
43076 ) = Obj.magic lp in
43077 let s : (
43078 # 124 "parser_cocci_menhir.mly"
43079 (Data.clt)
43080 # 43081 "parser_cocci_menhir.ml"
43081 ) = Obj.magic s in
43082 let _startpos = _startpos_s_ in
43083 let _endpos = _endpos_rp_ in
43084 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
43085 # 1517 "parser_cocci_menhir.mly"
43086 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
43087 P.clt2mcode "(" lp,t,
43088 P.clt2mcode ")" rp)) )
43089 # 43090 "parser_cocci_menhir.ml"
43090 in
43091 _menhir_env.MenhirLib.EngineTypes.stack <- {
43092 MenhirLib.EngineTypes.state = _menhir_s;
43093 MenhirLib.EngineTypes.semv = Obj.repr _v;
43094 MenhirLib.EngineTypes.startp = _startpos;
43095 MenhirLib.EngineTypes.endp = _endpos;
43096 MenhirLib.EngineTypes.next = _menhir_stack;
43097 });
43098 (fun _menhir_env ->
43099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43100 let {
43101 MenhirLib.EngineTypes.state = _menhir_s;
43102 MenhirLib.EngineTypes.semv = _1;
43103 MenhirLib.EngineTypes.startp = _startpos__1_;
43104 MenhirLib.EngineTypes.endp = _endpos__1_;
43105 MenhirLib.EngineTypes.next = _menhir_stack;
43106 } = _menhir_stack in
43107 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
43108 let _startpos = _startpos__1_ in
43109 let _endpos = _endpos__1_ in
43110 let _v : 'tv_unary_expr_eexpr_invalid_ =
43111 # 1504 "parser_cocci_menhir.mly"
43112 ( _1 )
43113 # 43114 "parser_cocci_menhir.ml"
43114 in
43115 _menhir_env.MenhirLib.EngineTypes.stack <- {
43116 MenhirLib.EngineTypes.state = _menhir_s;
43117 MenhirLib.EngineTypes.semv = Obj.repr _v;
43118 MenhirLib.EngineTypes.startp = _startpos;
43119 MenhirLib.EngineTypes.endp = _endpos;
43120 MenhirLib.EngineTypes.next = _menhir_stack;
43121 });
43122 (fun _menhir_env ->
43123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43124 let {
43125 MenhirLib.EngineTypes.semv = _2;
43126 MenhirLib.EngineTypes.startp = _startpos__2_;
43127 MenhirLib.EngineTypes.endp = _endpos__2_;
43128 MenhirLib.EngineTypes.next = {
43129 MenhirLib.EngineTypes.state = _menhir_s;
43130 MenhirLib.EngineTypes.semv = _1;
43131 MenhirLib.EngineTypes.startp = _startpos__1_;
43132 MenhirLib.EngineTypes.endp = _endpos__1_;
43133 MenhirLib.EngineTypes.next = _menhir_stack;
43134 };
43135 } = _menhir_stack in
43136 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43137 let _1 : (
43138 # 153 "parser_cocci_menhir.mly"
43139 (Data.clt)
43140 # 43141 "parser_cocci_menhir.ml"
43141 ) = Obj.magic _1 in
43142 let _startpos = _startpos__1_ in
43143 let _endpos = _endpos__2_ in
43144 let _v : 'tv_unary_expr_eexpr_invalid_ =
43145 # 1506 "parser_cocci_menhir.mly"
43146 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
43147 # 43148 "parser_cocci_menhir.ml"
43148 in
43149 _menhir_env.MenhirLib.EngineTypes.stack <- {
43150 MenhirLib.EngineTypes.state = _menhir_s;
43151 MenhirLib.EngineTypes.semv = Obj.repr _v;
43152 MenhirLib.EngineTypes.startp = _startpos;
43153 MenhirLib.EngineTypes.endp = _endpos;
43154 MenhirLib.EngineTypes.next = _menhir_stack;
43155 });
43156 (fun _menhir_env ->
43157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43158 let {
43159 MenhirLib.EngineTypes.semv = _2;
43160 MenhirLib.EngineTypes.startp = _startpos__2_;
43161 MenhirLib.EngineTypes.endp = _endpos__2_;
43162 MenhirLib.EngineTypes.next = {
43163 MenhirLib.EngineTypes.state = _menhir_s;
43164 MenhirLib.EngineTypes.semv = _1;
43165 MenhirLib.EngineTypes.startp = _startpos__1_;
43166 MenhirLib.EngineTypes.endp = _endpos__1_;
43167 MenhirLib.EngineTypes.next = _menhir_stack;
43168 };
43169 } = _menhir_stack in
43170 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43171 let _1 : (
43172 # 153 "parser_cocci_menhir.mly"
43173 (Data.clt)
43174 # 43175 "parser_cocci_menhir.ml"
43175 ) = Obj.magic _1 in
43176 let _startpos = _startpos__1_ in
43177 let _endpos = _endpos__2_ in
43178 let _v : 'tv_unary_expr_eexpr_invalid_ =
43179 # 1508 "parser_cocci_menhir.mly"
43180 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
43181 # 43182 "parser_cocci_menhir.ml"
43182 in
43183 _menhir_env.MenhirLib.EngineTypes.stack <- {
43184 MenhirLib.EngineTypes.state = _menhir_s;
43185 MenhirLib.EngineTypes.semv = Obj.repr _v;
43186 MenhirLib.EngineTypes.startp = _startpos;
43187 MenhirLib.EngineTypes.endp = _endpos;
43188 MenhirLib.EngineTypes.next = _menhir_stack;
43189 });
43190 (fun _menhir_env ->
43191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43192 let {
43193 MenhirLib.EngineTypes.semv = _2;
43194 MenhirLib.EngineTypes.startp = _startpos__2_;
43195 MenhirLib.EngineTypes.endp = _endpos__2_;
43196 MenhirLib.EngineTypes.next = {
43197 MenhirLib.EngineTypes.state = _menhir_s;
43198 MenhirLib.EngineTypes.semv = _1;
43199 MenhirLib.EngineTypes.startp = _startpos__1_;
43200 MenhirLib.EngineTypes.endp = _endpos__1_;
43201 MenhirLib.EngineTypes.next = _menhir_stack;
43202 };
43203 } = _menhir_stack in
43204 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
43205 let _1 : 'tv_unary_op = Obj.magic _1 in
43206 let _startpos = _startpos__1_ in
43207 let _endpos = _endpos__2_ in
43208 let _v : 'tv_unary_expr_eexpr_invalid_ =
43209 # 1510 "parser_cocci_menhir.mly"
43210 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
43211 # 43212 "parser_cocci_menhir.ml"
43212 in
43213 _menhir_env.MenhirLib.EngineTypes.stack <- {
43214 MenhirLib.EngineTypes.state = _menhir_s;
43215 MenhirLib.EngineTypes.semv = Obj.repr _v;
43216 MenhirLib.EngineTypes.startp = _startpos;
43217 MenhirLib.EngineTypes.endp = _endpos;
43218 MenhirLib.EngineTypes.next = _menhir_stack;
43219 });
43220 (fun _menhir_env ->
43221 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43222 let {
43223 MenhirLib.EngineTypes.semv = _2;
43224 MenhirLib.EngineTypes.startp = _startpos__2_;
43225 MenhirLib.EngineTypes.endp = _endpos__2_;
43226 MenhirLib.EngineTypes.next = {
43227 MenhirLib.EngineTypes.state = _menhir_s;
43228 MenhirLib.EngineTypes.semv = _1;
43229 MenhirLib.EngineTypes.startp = _startpos__1_;
43230 MenhirLib.EngineTypes.endp = _endpos__1_;
43231 MenhirLib.EngineTypes.next = _menhir_stack;
43232 };
43233 } = _menhir_stack in
43234 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43235 let _1 : (
43236 # 144 "parser_cocci_menhir.mly"
43237 (Data.clt)
43238 # 43239 "parser_cocci_menhir.ml"
43239 ) = Obj.magic _1 in
43240 let _startpos = _startpos__1_ in
43241 let _endpos = _endpos__2_ in
43242 let _v : 'tv_unary_expr_eexpr_invalid_ =
43243 # 1512 "parser_cocci_menhir.mly"
43244 ( let mcode = P.clt2mcode Ast.Not _1 in
43245 Ast0.wrap(Ast0.Unary(_2, mcode)) )
43246 # 43247 "parser_cocci_menhir.ml"
43247 in
43248 _menhir_env.MenhirLib.EngineTypes.stack <- {
43249 MenhirLib.EngineTypes.state = _menhir_s;
43250 MenhirLib.EngineTypes.semv = Obj.repr _v;
43251 MenhirLib.EngineTypes.startp = _startpos;
43252 MenhirLib.EngineTypes.endp = _endpos;
43253 MenhirLib.EngineTypes.next = _menhir_stack;
43254 });
43255 (fun _menhir_env ->
43256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43257 let {
43258 MenhirLib.EngineTypes.semv = _2;
43259 MenhirLib.EngineTypes.startp = _startpos__2_;
43260 MenhirLib.EngineTypes.endp = _endpos__2_;
43261 MenhirLib.EngineTypes.next = {
43262 MenhirLib.EngineTypes.state = _menhir_s;
43263 MenhirLib.EngineTypes.semv = _1;
43264 MenhirLib.EngineTypes.startp = _startpos__1_;
43265 MenhirLib.EngineTypes.endp = _endpos__1_;
43266 MenhirLib.EngineTypes.next = _menhir_stack;
43267 };
43268 } = _menhir_stack in
43269 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43270 let _1 : (
43271 # 124 "parser_cocci_menhir.mly"
43272 (Data.clt)
43273 # 43274 "parser_cocci_menhir.ml"
43274 ) = Obj.magic _1 in
43275 let _startpos = _startpos__1_ in
43276 let _endpos = _endpos__2_ in
43277 let _v : 'tv_unary_expr_eexpr_invalid_ =
43278 # 1515 "parser_cocci_menhir.mly"
43279 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
43280 # 43281 "parser_cocci_menhir.ml"
43281 in
43282 _menhir_env.MenhirLib.EngineTypes.stack <- {
43283 MenhirLib.EngineTypes.state = _menhir_s;
43284 MenhirLib.EngineTypes.semv = Obj.repr _v;
43285 MenhirLib.EngineTypes.startp = _startpos;
43286 MenhirLib.EngineTypes.endp = _endpos;
43287 MenhirLib.EngineTypes.next = _menhir_stack;
43288 });
43289 (fun _menhir_env ->
43290 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43291 let {
43292 MenhirLib.EngineTypes.semv = rp;
43293 MenhirLib.EngineTypes.startp = _startpos_rp_;
43294 MenhirLib.EngineTypes.endp = _endpos_rp_;
43295 MenhirLib.EngineTypes.next = {
43296 MenhirLib.EngineTypes.semv = t;
43297 MenhirLib.EngineTypes.startp = _startpos_t_;
43298 MenhirLib.EngineTypes.endp = _endpos_t_;
43299 MenhirLib.EngineTypes.next = {
43300 MenhirLib.EngineTypes.semv = lp;
43301 MenhirLib.EngineTypes.startp = _startpos_lp_;
43302 MenhirLib.EngineTypes.endp = _endpos_lp_;
43303 MenhirLib.EngineTypes.next = {
43304 MenhirLib.EngineTypes.state = _menhir_s;
43305 MenhirLib.EngineTypes.semv = s;
43306 MenhirLib.EngineTypes.startp = _startpos_s_;
43307 MenhirLib.EngineTypes.endp = _endpos_s_;
43308 MenhirLib.EngineTypes.next = _menhir_stack;
43309 };
43310 };
43311 };
43312 } = _menhir_stack in
43313 let rp : (
43314 # 145 "parser_cocci_menhir.mly"
43315 (Data.clt)
43316 # 43317 "parser_cocci_menhir.ml"
43317 ) = Obj.magic rp in
43318 let t : 'tv_ctype = Obj.magic t in
43319 let lp : (
43320 # 144 "parser_cocci_menhir.mly"
43321 (Data.clt)
43322 # 43323 "parser_cocci_menhir.ml"
43323 ) = Obj.magic lp in
43324 let s : (
43325 # 124 "parser_cocci_menhir.mly"
43326 (Data.clt)
43327 # 43328 "parser_cocci_menhir.ml"
43328 ) = Obj.magic s in
43329 let _startpos = _startpos_s_ in
43330 let _endpos = _endpos_rp_ in
43331 let _v : 'tv_unary_expr_eexpr_invalid_ =
43332 # 1517 "parser_cocci_menhir.mly"
43333 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
43334 P.clt2mcode "(" lp,t,
43335 P.clt2mcode ")" rp)) )
43336 # 43337 "parser_cocci_menhir.ml"
43337 in
43338 _menhir_env.MenhirLib.EngineTypes.stack <- {
43339 MenhirLib.EngineTypes.state = _menhir_s;
43340 MenhirLib.EngineTypes.semv = Obj.repr _v;
43341 MenhirLib.EngineTypes.startp = _startpos;
43342 MenhirLib.EngineTypes.endp = _endpos;
43343 MenhirLib.EngineTypes.next = _menhir_stack;
43344 });
43345 (fun _menhir_env ->
43346 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43347 let {
43348 MenhirLib.EngineTypes.state = _menhir_s;
43349 MenhirLib.EngineTypes.semv = _1;
43350 MenhirLib.EngineTypes.startp = _startpos__1_;
43351 MenhirLib.EngineTypes.endp = _endpos__1_;
43352 MenhirLib.EngineTypes.next = _menhir_stack;
43353 } = _menhir_stack in
43354 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
43355 let _startpos = _startpos__1_ in
43356 let _endpos = _endpos__1_ in
43357 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43358 # 1504 "parser_cocci_menhir.mly"
43359 ( _1 )
43360 # 43361 "parser_cocci_menhir.ml"
43361 in
43362 _menhir_env.MenhirLib.EngineTypes.stack <- {
43363 MenhirLib.EngineTypes.state = _menhir_s;
43364 MenhirLib.EngineTypes.semv = Obj.repr _v;
43365 MenhirLib.EngineTypes.startp = _startpos;
43366 MenhirLib.EngineTypes.endp = _endpos;
43367 MenhirLib.EngineTypes.next = _menhir_stack;
43368 });
43369 (fun _menhir_env ->
43370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43371 let {
43372 MenhirLib.EngineTypes.semv = _2;
43373 MenhirLib.EngineTypes.startp = _startpos__2_;
43374 MenhirLib.EngineTypes.endp = _endpos__2_;
43375 MenhirLib.EngineTypes.next = {
43376 MenhirLib.EngineTypes.state = _menhir_s;
43377 MenhirLib.EngineTypes.semv = _1;
43378 MenhirLib.EngineTypes.startp = _startpos__1_;
43379 MenhirLib.EngineTypes.endp = _endpos__1_;
43380 MenhirLib.EngineTypes.next = _menhir_stack;
43381 };
43382 } = _menhir_stack in
43383 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43384 let _1 : (
43385 # 153 "parser_cocci_menhir.mly"
43386 (Data.clt)
43387 # 43388 "parser_cocci_menhir.ml"
43388 ) = Obj.magic _1 in
43389 let _startpos = _startpos__1_ in
43390 let _endpos = _endpos__2_ in
43391 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43392 # 1506 "parser_cocci_menhir.mly"
43393 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
43394 # 43395 "parser_cocci_menhir.ml"
43395 in
43396 _menhir_env.MenhirLib.EngineTypes.stack <- {
43397 MenhirLib.EngineTypes.state = _menhir_s;
43398 MenhirLib.EngineTypes.semv = Obj.repr _v;
43399 MenhirLib.EngineTypes.startp = _startpos;
43400 MenhirLib.EngineTypes.endp = _endpos;
43401 MenhirLib.EngineTypes.next = _menhir_stack;
43402 });
43403 (fun _menhir_env ->
43404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43405 let {
43406 MenhirLib.EngineTypes.semv = _2;
43407 MenhirLib.EngineTypes.startp = _startpos__2_;
43408 MenhirLib.EngineTypes.endp = _endpos__2_;
43409 MenhirLib.EngineTypes.next = {
43410 MenhirLib.EngineTypes.state = _menhir_s;
43411 MenhirLib.EngineTypes.semv = _1;
43412 MenhirLib.EngineTypes.startp = _startpos__1_;
43413 MenhirLib.EngineTypes.endp = _endpos__1_;
43414 MenhirLib.EngineTypes.next = _menhir_stack;
43415 };
43416 } = _menhir_stack in
43417 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43418 let _1 : (
43419 # 153 "parser_cocci_menhir.mly"
43420 (Data.clt)
43421 # 43422 "parser_cocci_menhir.ml"
43422 ) = Obj.magic _1 in
43423 let _startpos = _startpos__1_ in
43424 let _endpos = _endpos__2_ in
43425 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43426 # 1508 "parser_cocci_menhir.mly"
43427 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
43428 # 43429 "parser_cocci_menhir.ml"
43429 in
43430 _menhir_env.MenhirLib.EngineTypes.stack <- {
43431 MenhirLib.EngineTypes.state = _menhir_s;
43432 MenhirLib.EngineTypes.semv = Obj.repr _v;
43433 MenhirLib.EngineTypes.startp = _startpos;
43434 MenhirLib.EngineTypes.endp = _endpos;
43435 MenhirLib.EngineTypes.next = _menhir_stack;
43436 });
43437 (fun _menhir_env ->
43438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43439 let {
43440 MenhirLib.EngineTypes.semv = _2;
43441 MenhirLib.EngineTypes.startp = _startpos__2_;
43442 MenhirLib.EngineTypes.endp = _endpos__2_;
43443 MenhirLib.EngineTypes.next = {
43444 MenhirLib.EngineTypes.state = _menhir_s;
43445 MenhirLib.EngineTypes.semv = _1;
43446 MenhirLib.EngineTypes.startp = _startpos__1_;
43447 MenhirLib.EngineTypes.endp = _endpos__1_;
43448 MenhirLib.EngineTypes.next = _menhir_stack;
43449 };
43450 } = _menhir_stack in
43451 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
43452 let _1 : 'tv_unary_op = Obj.magic _1 in
43453 let _startpos = _startpos__1_ in
43454 let _endpos = _endpos__2_ in
43455 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43456 # 1510 "parser_cocci_menhir.mly"
43457 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
43458 # 43459 "parser_cocci_menhir.ml"
43459 in
43460 _menhir_env.MenhirLib.EngineTypes.stack <- {
43461 MenhirLib.EngineTypes.state = _menhir_s;
43462 MenhirLib.EngineTypes.semv = Obj.repr _v;
43463 MenhirLib.EngineTypes.startp = _startpos;
43464 MenhirLib.EngineTypes.endp = _endpos;
43465 MenhirLib.EngineTypes.next = _menhir_stack;
43466 });
43467 (fun _menhir_env ->
43468 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43469 let {
43470 MenhirLib.EngineTypes.semv = _2;
43471 MenhirLib.EngineTypes.startp = _startpos__2_;
43472 MenhirLib.EngineTypes.endp = _endpos__2_;
43473 MenhirLib.EngineTypes.next = {
43474 MenhirLib.EngineTypes.state = _menhir_s;
43475 MenhirLib.EngineTypes.semv = _1;
43476 MenhirLib.EngineTypes.startp = _startpos__1_;
43477 MenhirLib.EngineTypes.endp = _endpos__1_;
43478 MenhirLib.EngineTypes.next = _menhir_stack;
43479 };
43480 } = _menhir_stack in
43481 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43482 let _1 : (
43483 # 144 "parser_cocci_menhir.mly"
43484 (Data.clt)
43485 # 43486 "parser_cocci_menhir.ml"
43486 ) = Obj.magic _1 in
43487 let _startpos = _startpos__1_ in
43488 let _endpos = _endpos__2_ in
43489 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43490 # 1512 "parser_cocci_menhir.mly"
43491 ( let mcode = P.clt2mcode Ast.Not _1 in
43492 Ast0.wrap(Ast0.Unary(_2, mcode)) )
43493 # 43494 "parser_cocci_menhir.ml"
43494 in
43495 _menhir_env.MenhirLib.EngineTypes.stack <- {
43496 MenhirLib.EngineTypes.state = _menhir_s;
43497 MenhirLib.EngineTypes.semv = Obj.repr _v;
43498 MenhirLib.EngineTypes.startp = _startpos;
43499 MenhirLib.EngineTypes.endp = _endpos;
43500 MenhirLib.EngineTypes.next = _menhir_stack;
43501 });
43502 (fun _menhir_env ->
43503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43504 let {
43505 MenhirLib.EngineTypes.semv = _2;
43506 MenhirLib.EngineTypes.startp = _startpos__2_;
43507 MenhirLib.EngineTypes.endp = _endpos__2_;
43508 MenhirLib.EngineTypes.next = {
43509 MenhirLib.EngineTypes.state = _menhir_s;
43510 MenhirLib.EngineTypes.semv = _1;
43511 MenhirLib.EngineTypes.startp = _startpos__1_;
43512 MenhirLib.EngineTypes.endp = _endpos__1_;
43513 MenhirLib.EngineTypes.next = _menhir_stack;
43514 };
43515 } = _menhir_stack in
43516 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43517 let _1 : (
43518 # 124 "parser_cocci_menhir.mly"
43519 (Data.clt)
43520 # 43521 "parser_cocci_menhir.ml"
43521 ) = Obj.magic _1 in
43522 let _startpos = _startpos__1_ in
43523 let _endpos = _endpos__2_ in
43524 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43525 # 1515 "parser_cocci_menhir.mly"
43526 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
43527 # 43528 "parser_cocci_menhir.ml"
43528 in
43529 _menhir_env.MenhirLib.EngineTypes.stack <- {
43530 MenhirLib.EngineTypes.state = _menhir_s;
43531 MenhirLib.EngineTypes.semv = Obj.repr _v;
43532 MenhirLib.EngineTypes.startp = _startpos;
43533 MenhirLib.EngineTypes.endp = _endpos;
43534 MenhirLib.EngineTypes.next = _menhir_stack;
43535 });
43536 (fun _menhir_env ->
43537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43538 let {
43539 MenhirLib.EngineTypes.semv = rp;
43540 MenhirLib.EngineTypes.startp = _startpos_rp_;
43541 MenhirLib.EngineTypes.endp = _endpos_rp_;
43542 MenhirLib.EngineTypes.next = {
43543 MenhirLib.EngineTypes.semv = t;
43544 MenhirLib.EngineTypes.startp = _startpos_t_;
43545 MenhirLib.EngineTypes.endp = _endpos_t_;
43546 MenhirLib.EngineTypes.next = {
43547 MenhirLib.EngineTypes.semv = lp;
43548 MenhirLib.EngineTypes.startp = _startpos_lp_;
43549 MenhirLib.EngineTypes.endp = _endpos_lp_;
43550 MenhirLib.EngineTypes.next = {
43551 MenhirLib.EngineTypes.state = _menhir_s;
43552 MenhirLib.EngineTypes.semv = s;
43553 MenhirLib.EngineTypes.startp = _startpos_s_;
43554 MenhirLib.EngineTypes.endp = _endpos_s_;
43555 MenhirLib.EngineTypes.next = _menhir_stack;
43556 };
43557 };
43558 };
43559 } = _menhir_stack in
43560 let rp : (
43561 # 145 "parser_cocci_menhir.mly"
43562 (Data.clt)
43563 # 43564 "parser_cocci_menhir.ml"
43564 ) = Obj.magic rp in
43565 let t : 'tv_ctype = Obj.magic t in
43566 let lp : (
43567 # 144 "parser_cocci_menhir.mly"
43568 (Data.clt)
43569 # 43570 "parser_cocci_menhir.ml"
43570 ) = Obj.magic lp in
43571 let s : (
43572 # 124 "parser_cocci_menhir.mly"
43573 (Data.clt)
43574 # 43575 "parser_cocci_menhir.ml"
43575 ) = Obj.magic s in
43576 let _startpos = _startpos_s_ in
43577 let _endpos = _endpos_rp_ in
43578 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
43579 # 1517 "parser_cocci_menhir.mly"
43580 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
43581 P.clt2mcode "(" lp,t,
43582 P.clt2mcode ")" rp)) )
43583 # 43584 "parser_cocci_menhir.ml"
43584 in
43585 _menhir_env.MenhirLib.EngineTypes.stack <- {
43586 MenhirLib.EngineTypes.state = _menhir_s;
43587 MenhirLib.EngineTypes.semv = Obj.repr _v;
43588 MenhirLib.EngineTypes.startp = _startpos;
43589 MenhirLib.EngineTypes.endp = _endpos;
43590 MenhirLib.EngineTypes.next = _menhir_stack;
43591 });
43592 (fun _menhir_env ->
43593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43594 let {
43595 MenhirLib.EngineTypes.state = _menhir_s;
43596 MenhirLib.EngineTypes.semv = _1;
43597 MenhirLib.EngineTypes.startp = _startpos__1_;
43598 MenhirLib.EngineTypes.endp = _endpos__1_;
43599 MenhirLib.EngineTypes.next = _menhir_stack;
43600 } = _menhir_stack in
43601 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
43602 let _startpos = _startpos__1_ in
43603 let _endpos = _endpos__1_ in
43604 let _v : 'tv_unary_expr_expr_invalid_ =
43605 # 1504 "parser_cocci_menhir.mly"
43606 ( _1 )
43607 # 43608 "parser_cocci_menhir.ml"
43608 in
43609 _menhir_env.MenhirLib.EngineTypes.stack <- {
43610 MenhirLib.EngineTypes.state = _menhir_s;
43611 MenhirLib.EngineTypes.semv = Obj.repr _v;
43612 MenhirLib.EngineTypes.startp = _startpos;
43613 MenhirLib.EngineTypes.endp = _endpos;
43614 MenhirLib.EngineTypes.next = _menhir_stack;
43615 });
43616 (fun _menhir_env ->
43617 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43618 let {
43619 MenhirLib.EngineTypes.semv = _2;
43620 MenhirLib.EngineTypes.startp = _startpos__2_;
43621 MenhirLib.EngineTypes.endp = _endpos__2_;
43622 MenhirLib.EngineTypes.next = {
43623 MenhirLib.EngineTypes.state = _menhir_s;
43624 MenhirLib.EngineTypes.semv = _1;
43625 MenhirLib.EngineTypes.startp = _startpos__1_;
43626 MenhirLib.EngineTypes.endp = _endpos__1_;
43627 MenhirLib.EngineTypes.next = _menhir_stack;
43628 };
43629 } = _menhir_stack in
43630 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43631 let _1 : (
43632 # 153 "parser_cocci_menhir.mly"
43633 (Data.clt)
43634 # 43635 "parser_cocci_menhir.ml"
43635 ) = Obj.magic _1 in
43636 let _startpos = _startpos__1_ in
43637 let _endpos = _endpos__2_ in
43638 let _v : 'tv_unary_expr_expr_invalid_ =
43639 # 1506 "parser_cocci_menhir.mly"
43640 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
43641 # 43642 "parser_cocci_menhir.ml"
43642 in
43643 _menhir_env.MenhirLib.EngineTypes.stack <- {
43644 MenhirLib.EngineTypes.state = _menhir_s;
43645 MenhirLib.EngineTypes.semv = Obj.repr _v;
43646 MenhirLib.EngineTypes.startp = _startpos;
43647 MenhirLib.EngineTypes.endp = _endpos;
43648 MenhirLib.EngineTypes.next = _menhir_stack;
43649 });
43650 (fun _menhir_env ->
43651 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43652 let {
43653 MenhirLib.EngineTypes.semv = _2;
43654 MenhirLib.EngineTypes.startp = _startpos__2_;
43655 MenhirLib.EngineTypes.endp = _endpos__2_;
43656 MenhirLib.EngineTypes.next = {
43657 MenhirLib.EngineTypes.state = _menhir_s;
43658 MenhirLib.EngineTypes.semv = _1;
43659 MenhirLib.EngineTypes.startp = _startpos__1_;
43660 MenhirLib.EngineTypes.endp = _endpos__1_;
43661 MenhirLib.EngineTypes.next = _menhir_stack;
43662 };
43663 } = _menhir_stack in
43664 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43665 let _1 : (
43666 # 153 "parser_cocci_menhir.mly"
43667 (Data.clt)
43668 # 43669 "parser_cocci_menhir.ml"
43669 ) = Obj.magic _1 in
43670 let _startpos = _startpos__1_ in
43671 let _endpos = _endpos__2_ in
43672 let _v : 'tv_unary_expr_expr_invalid_ =
43673 # 1508 "parser_cocci_menhir.mly"
43674 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
43675 # 43676 "parser_cocci_menhir.ml"
43676 in
43677 _menhir_env.MenhirLib.EngineTypes.stack <- {
43678 MenhirLib.EngineTypes.state = _menhir_s;
43679 MenhirLib.EngineTypes.semv = Obj.repr _v;
43680 MenhirLib.EngineTypes.startp = _startpos;
43681 MenhirLib.EngineTypes.endp = _endpos;
43682 MenhirLib.EngineTypes.next = _menhir_stack;
43683 });
43684 (fun _menhir_env ->
43685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43686 let {
43687 MenhirLib.EngineTypes.semv = _2;
43688 MenhirLib.EngineTypes.startp = _startpos__2_;
43689 MenhirLib.EngineTypes.endp = _endpos__2_;
43690 MenhirLib.EngineTypes.next = {
43691 MenhirLib.EngineTypes.state = _menhir_s;
43692 MenhirLib.EngineTypes.semv = _1;
43693 MenhirLib.EngineTypes.startp = _startpos__1_;
43694 MenhirLib.EngineTypes.endp = _endpos__1_;
43695 MenhirLib.EngineTypes.next = _menhir_stack;
43696 };
43697 } = _menhir_stack in
43698 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
43699 let _1 : 'tv_unary_op = Obj.magic _1 in
43700 let _startpos = _startpos__1_ in
43701 let _endpos = _endpos__2_ in
43702 let _v : 'tv_unary_expr_expr_invalid_ =
43703 # 1510 "parser_cocci_menhir.mly"
43704 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
43705 # 43706 "parser_cocci_menhir.ml"
43706 in
43707 _menhir_env.MenhirLib.EngineTypes.stack <- {
43708 MenhirLib.EngineTypes.state = _menhir_s;
43709 MenhirLib.EngineTypes.semv = Obj.repr _v;
43710 MenhirLib.EngineTypes.startp = _startpos;
43711 MenhirLib.EngineTypes.endp = _endpos;
43712 MenhirLib.EngineTypes.next = _menhir_stack;
43713 });
43714 (fun _menhir_env ->
43715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43716 let {
43717 MenhirLib.EngineTypes.semv = _2;
43718 MenhirLib.EngineTypes.startp = _startpos__2_;
43719 MenhirLib.EngineTypes.endp = _endpos__2_;
43720 MenhirLib.EngineTypes.next = {
43721 MenhirLib.EngineTypes.state = _menhir_s;
43722 MenhirLib.EngineTypes.semv = _1;
43723 MenhirLib.EngineTypes.startp = _startpos__1_;
43724 MenhirLib.EngineTypes.endp = _endpos__1_;
43725 MenhirLib.EngineTypes.next = _menhir_stack;
43726 };
43727 } = _menhir_stack in
43728 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43729 let _1 : (
43730 # 144 "parser_cocci_menhir.mly"
43731 (Data.clt)
43732 # 43733 "parser_cocci_menhir.ml"
43733 ) = Obj.magic _1 in
43734 let _startpos = _startpos__1_ in
43735 let _endpos = _endpos__2_ in
43736 let _v : 'tv_unary_expr_expr_invalid_ =
43737 # 1512 "parser_cocci_menhir.mly"
43738 ( let mcode = P.clt2mcode Ast.Not _1 in
43739 Ast0.wrap(Ast0.Unary(_2, mcode)) )
43740 # 43741 "parser_cocci_menhir.ml"
43741 in
43742 _menhir_env.MenhirLib.EngineTypes.stack <- {
43743 MenhirLib.EngineTypes.state = _menhir_s;
43744 MenhirLib.EngineTypes.semv = Obj.repr _v;
43745 MenhirLib.EngineTypes.startp = _startpos;
43746 MenhirLib.EngineTypes.endp = _endpos;
43747 MenhirLib.EngineTypes.next = _menhir_stack;
43748 });
43749 (fun _menhir_env ->
43750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43751 let {
43752 MenhirLib.EngineTypes.semv = _2;
43753 MenhirLib.EngineTypes.startp = _startpos__2_;
43754 MenhirLib.EngineTypes.endp = _endpos__2_;
43755 MenhirLib.EngineTypes.next = {
43756 MenhirLib.EngineTypes.state = _menhir_s;
43757 MenhirLib.EngineTypes.semv = _1;
43758 MenhirLib.EngineTypes.startp = _startpos__1_;
43759 MenhirLib.EngineTypes.endp = _endpos__1_;
43760 MenhirLib.EngineTypes.next = _menhir_stack;
43761 };
43762 } = _menhir_stack in
43763 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43764 let _1 : (
43765 # 124 "parser_cocci_menhir.mly"
43766 (Data.clt)
43767 # 43768 "parser_cocci_menhir.ml"
43768 ) = Obj.magic _1 in
43769 let _startpos = _startpos__1_ in
43770 let _endpos = _endpos__2_ in
43771 let _v : 'tv_unary_expr_expr_invalid_ =
43772 # 1515 "parser_cocci_menhir.mly"
43773 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
43774 # 43775 "parser_cocci_menhir.ml"
43775 in
43776 _menhir_env.MenhirLib.EngineTypes.stack <- {
43777 MenhirLib.EngineTypes.state = _menhir_s;
43778 MenhirLib.EngineTypes.semv = Obj.repr _v;
43779 MenhirLib.EngineTypes.startp = _startpos;
43780 MenhirLib.EngineTypes.endp = _endpos;
43781 MenhirLib.EngineTypes.next = _menhir_stack;
43782 });
43783 (fun _menhir_env ->
43784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43785 let {
43786 MenhirLib.EngineTypes.semv = rp;
43787 MenhirLib.EngineTypes.startp = _startpos_rp_;
43788 MenhirLib.EngineTypes.endp = _endpos_rp_;
43789 MenhirLib.EngineTypes.next = {
43790 MenhirLib.EngineTypes.semv = t;
43791 MenhirLib.EngineTypes.startp = _startpos_t_;
43792 MenhirLib.EngineTypes.endp = _endpos_t_;
43793 MenhirLib.EngineTypes.next = {
43794 MenhirLib.EngineTypes.semv = lp;
43795 MenhirLib.EngineTypes.startp = _startpos_lp_;
43796 MenhirLib.EngineTypes.endp = _endpos_lp_;
43797 MenhirLib.EngineTypes.next = {
43798 MenhirLib.EngineTypes.state = _menhir_s;
43799 MenhirLib.EngineTypes.semv = s;
43800 MenhirLib.EngineTypes.startp = _startpos_s_;
43801 MenhirLib.EngineTypes.endp = _endpos_s_;
43802 MenhirLib.EngineTypes.next = _menhir_stack;
43803 };
43804 };
43805 };
43806 } = _menhir_stack in
43807 let rp : (
43808 # 145 "parser_cocci_menhir.mly"
43809 (Data.clt)
43810 # 43811 "parser_cocci_menhir.ml"
43811 ) = Obj.magic rp in
43812 let t : 'tv_ctype = Obj.magic t in
43813 let lp : (
43814 # 144 "parser_cocci_menhir.mly"
43815 (Data.clt)
43816 # 43817 "parser_cocci_menhir.ml"
43817 ) = Obj.magic lp in
43818 let s : (
43819 # 124 "parser_cocci_menhir.mly"
43820 (Data.clt)
43821 # 43822 "parser_cocci_menhir.ml"
43822 ) = Obj.magic s in
43823 let _startpos = _startpos_s_ in
43824 let _endpos = _endpos_rp_ in
43825 let _v : 'tv_unary_expr_expr_invalid_ =
43826 # 1517 "parser_cocci_menhir.mly"
43827 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
43828 P.clt2mcode "(" lp,t,
43829 P.clt2mcode ")" rp)) )
43830 # 43831 "parser_cocci_menhir.ml"
43831 in
43832 _menhir_env.MenhirLib.EngineTypes.stack <- {
43833 MenhirLib.EngineTypes.state = _menhir_s;
43834 MenhirLib.EngineTypes.semv = Obj.repr _v;
43835 MenhirLib.EngineTypes.startp = _startpos;
43836 MenhirLib.EngineTypes.endp = _endpos;
43837 MenhirLib.EngineTypes.next = _menhir_stack;
43838 });
43839 (fun _menhir_env ->
43840 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43841 let {
43842 MenhirLib.EngineTypes.state = _menhir_s;
43843 MenhirLib.EngineTypes.semv = _1;
43844 MenhirLib.EngineTypes.startp = _startpos__1_;
43845 MenhirLib.EngineTypes.endp = _endpos__1_;
43846 MenhirLib.EngineTypes.next = _menhir_stack;
43847 } = _menhir_stack in
43848 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
43849 let _startpos = _startpos__1_ in
43850 let _endpos = _endpos__1_ in
43851 let _v : 'tv_unary_expr_bis =
43852 # 1523 "parser_cocci_menhir.mly"
43853 ( _1 )
43854 # 43855 "parser_cocci_menhir.ml"
43855 in
43856 _menhir_env.MenhirLib.EngineTypes.stack <- {
43857 MenhirLib.EngineTypes.state = _menhir_s;
43858 MenhirLib.EngineTypes.semv = Obj.repr _v;
43859 MenhirLib.EngineTypes.startp = _startpos;
43860 MenhirLib.EngineTypes.endp = _endpos;
43861 MenhirLib.EngineTypes.next = _menhir_stack;
43862 });
43863 (fun _menhir_env ->
43864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43865 let {
43866 MenhirLib.EngineTypes.semv = _2;
43867 MenhirLib.EngineTypes.startp = _startpos__2_;
43868 MenhirLib.EngineTypes.endp = _endpos__2_;
43869 MenhirLib.EngineTypes.next = {
43870 MenhirLib.EngineTypes.state = _menhir_s;
43871 MenhirLib.EngineTypes.semv = _1;
43872 MenhirLib.EngineTypes.startp = _startpos__1_;
43873 MenhirLib.EngineTypes.endp = _endpos__1_;
43874 MenhirLib.EngineTypes.next = _menhir_stack;
43875 };
43876 } = _menhir_stack in
43877 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43878 let _1 : (
43879 # 153 "parser_cocci_menhir.mly"
43880 (Data.clt)
43881 # 43882 "parser_cocci_menhir.ml"
43882 ) = Obj.magic _1 in
43883 let _startpos = _startpos__1_ in
43884 let _endpos = _endpos__2_ in
43885 let _v : 'tv_unary_expr_bis =
43886 # 1525 "parser_cocci_menhir.mly"
43887 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
43888 # 43889 "parser_cocci_menhir.ml"
43889 in
43890 _menhir_env.MenhirLib.EngineTypes.stack <- {
43891 MenhirLib.EngineTypes.state = _menhir_s;
43892 MenhirLib.EngineTypes.semv = Obj.repr _v;
43893 MenhirLib.EngineTypes.startp = _startpos;
43894 MenhirLib.EngineTypes.endp = _endpos;
43895 MenhirLib.EngineTypes.next = _menhir_stack;
43896 });
43897 (fun _menhir_env ->
43898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43899 let {
43900 MenhirLib.EngineTypes.semv = _2;
43901 MenhirLib.EngineTypes.startp = _startpos__2_;
43902 MenhirLib.EngineTypes.endp = _endpos__2_;
43903 MenhirLib.EngineTypes.next = {
43904 MenhirLib.EngineTypes.state = _menhir_s;
43905 MenhirLib.EngineTypes.semv = _1;
43906 MenhirLib.EngineTypes.startp = _startpos__1_;
43907 MenhirLib.EngineTypes.endp = _endpos__1_;
43908 MenhirLib.EngineTypes.next = _menhir_stack;
43909 };
43910 } = _menhir_stack in
43911 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43912 let _1 : (
43913 # 153 "parser_cocci_menhir.mly"
43914 (Data.clt)
43915 # 43916 "parser_cocci_menhir.ml"
43916 ) = Obj.magic _1 in
43917 let _startpos = _startpos__1_ in
43918 let _endpos = _endpos__2_ in
43919 let _v : 'tv_unary_expr_bis =
43920 # 1527 "parser_cocci_menhir.mly"
43921 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
43922 # 43923 "parser_cocci_menhir.ml"
43923 in
43924 _menhir_env.MenhirLib.EngineTypes.stack <- {
43925 MenhirLib.EngineTypes.state = _menhir_s;
43926 MenhirLib.EngineTypes.semv = Obj.repr _v;
43927 MenhirLib.EngineTypes.startp = _startpos;
43928 MenhirLib.EngineTypes.endp = _endpos;
43929 MenhirLib.EngineTypes.next = _menhir_stack;
43930 });
43931 (fun _menhir_env ->
43932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43933 let {
43934 MenhirLib.EngineTypes.semv = _2;
43935 MenhirLib.EngineTypes.startp = _startpos__2_;
43936 MenhirLib.EngineTypes.endp = _endpos__2_;
43937 MenhirLib.EngineTypes.next = {
43938 MenhirLib.EngineTypes.state = _menhir_s;
43939 MenhirLib.EngineTypes.semv = _1;
43940 MenhirLib.EngineTypes.startp = _startpos__1_;
43941 MenhirLib.EngineTypes.endp = _endpos__1_;
43942 MenhirLib.EngineTypes.next = _menhir_stack;
43943 };
43944 } = _menhir_stack in
43945 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
43946 let _1 : 'tv_unary_op = Obj.magic _1 in
43947 let _startpos = _startpos__1_ in
43948 let _endpos = _endpos__2_ in
43949 let _v : 'tv_unary_expr_bis =
43950 # 1529 "parser_cocci_menhir.mly"
43951 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
43952 # 43953 "parser_cocci_menhir.ml"
43953 in
43954 _menhir_env.MenhirLib.EngineTypes.stack <- {
43955 MenhirLib.EngineTypes.state = _menhir_s;
43956 MenhirLib.EngineTypes.semv = Obj.repr _v;
43957 MenhirLib.EngineTypes.startp = _startpos;
43958 MenhirLib.EngineTypes.endp = _endpos;
43959 MenhirLib.EngineTypes.next = _menhir_stack;
43960 });
43961 (fun _menhir_env ->
43962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43963 let {
43964 MenhirLib.EngineTypes.semv = _2;
43965 MenhirLib.EngineTypes.startp = _startpos__2_;
43966 MenhirLib.EngineTypes.endp = _endpos__2_;
43967 MenhirLib.EngineTypes.next = {
43968 MenhirLib.EngineTypes.state = _menhir_s;
43969 MenhirLib.EngineTypes.semv = _1;
43970 MenhirLib.EngineTypes.startp = _startpos__1_;
43971 MenhirLib.EngineTypes.endp = _endpos__1_;
43972 MenhirLib.EngineTypes.next = _menhir_stack;
43973 };
43974 } = _menhir_stack in
43975 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
43976 let _1 : (
43977 # 144 "parser_cocci_menhir.mly"
43978 (Data.clt)
43979 # 43980 "parser_cocci_menhir.ml"
43980 ) = Obj.magic _1 in
43981 let _startpos = _startpos__1_ in
43982 let _endpos = _endpos__2_ in
43983 let _v : 'tv_unary_expr_bis =
43984 # 1531 "parser_cocci_menhir.mly"
43985 ( let mcode = P.clt2mcode Ast.Not _1 in
43986 Ast0.wrap(Ast0.Unary(_2, mcode)) )
43987 # 43988 "parser_cocci_menhir.ml"
43988 in
43989 _menhir_env.MenhirLib.EngineTypes.stack <- {
43990 MenhirLib.EngineTypes.state = _menhir_s;
43991 MenhirLib.EngineTypes.semv = Obj.repr _v;
43992 MenhirLib.EngineTypes.startp = _startpos;
43993 MenhirLib.EngineTypes.endp = _endpos;
43994 MenhirLib.EngineTypes.next = _menhir_stack;
43995 });
43996 (fun _menhir_env ->
43997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43998 let {
43999 MenhirLib.EngineTypes.semv = _2;
44000 MenhirLib.EngineTypes.startp = _startpos__2_;
44001 MenhirLib.EngineTypes.endp = _endpos__2_;
44002 MenhirLib.EngineTypes.next = {
44003 MenhirLib.EngineTypes.state = _menhir_s;
44004 MenhirLib.EngineTypes.semv = _1;
44005 MenhirLib.EngineTypes.startp = _startpos__1_;
44006 MenhirLib.EngineTypes.endp = _endpos__1_;
44007 MenhirLib.EngineTypes.next = _menhir_stack;
44008 };
44009 } = _menhir_stack in
44010 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
44011 let _1 : (
44012 # 124 "parser_cocci_menhir.mly"
44013 (Data.clt)
44014 # 44015 "parser_cocci_menhir.ml"
44015 ) = Obj.magic _1 in
44016 let _startpos = _startpos__1_ in
44017 let _endpos = _endpos__2_ in
44018 let _v : 'tv_unary_expr_bis =
44019 # 1534 "parser_cocci_menhir.mly"
44020 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
44021 # 44022 "parser_cocci_menhir.ml"
44022 in
44023 _menhir_env.MenhirLib.EngineTypes.stack <- {
44024 MenhirLib.EngineTypes.state = _menhir_s;
44025 MenhirLib.EngineTypes.semv = Obj.repr _v;
44026 MenhirLib.EngineTypes.startp = _startpos;
44027 MenhirLib.EngineTypes.endp = _endpos;
44028 MenhirLib.EngineTypes.next = _menhir_stack;
44029 });
44030 (fun _menhir_env ->
44031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44032 let {
44033 MenhirLib.EngineTypes.semv = rp;
44034 MenhirLib.EngineTypes.startp = _startpos_rp_;
44035 MenhirLib.EngineTypes.endp = _endpos_rp_;
44036 MenhirLib.EngineTypes.next = {
44037 MenhirLib.EngineTypes.semv = t;
44038 MenhirLib.EngineTypes.startp = _startpos_t_;
44039 MenhirLib.EngineTypes.endp = _endpos_t_;
44040 MenhirLib.EngineTypes.next = {
44041 MenhirLib.EngineTypes.semv = lp;
44042 MenhirLib.EngineTypes.startp = _startpos_lp_;
44043 MenhirLib.EngineTypes.endp = _endpos_lp_;
44044 MenhirLib.EngineTypes.next = {
44045 MenhirLib.EngineTypes.state = _menhir_s;
44046 MenhirLib.EngineTypes.semv = s;
44047 MenhirLib.EngineTypes.startp = _startpos_s_;
44048 MenhirLib.EngineTypes.endp = _endpos_s_;
44049 MenhirLib.EngineTypes.next = _menhir_stack;
44050 };
44051 };
44052 };
44053 } = _menhir_stack in
44054 let rp : (
44055 # 145 "parser_cocci_menhir.mly"
44056 (Data.clt)
44057 # 44058 "parser_cocci_menhir.ml"
44058 ) = Obj.magic rp in
44059 let t : 'tv_ctype = Obj.magic t in
44060 let lp : (
44061 # 144 "parser_cocci_menhir.mly"
44062 (Data.clt)
44063 # 44064 "parser_cocci_menhir.ml"
44064 ) = Obj.magic lp in
44065 let s : (
44066 # 124 "parser_cocci_menhir.mly"
44067 (Data.clt)
44068 # 44069 "parser_cocci_menhir.ml"
44069 ) = Obj.magic s in
44070 let _startpos = _startpos_s_ in
44071 let _endpos = _endpos_rp_ in
44072 let _v : 'tv_unary_expr_bis =
44073 # 1536 "parser_cocci_menhir.mly"
44074 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
44075 P.clt2mcode "(" lp,t,
44076 P.clt2mcode ")" rp)) )
44077 # 44078 "parser_cocci_menhir.ml"
44078 in
44079 _menhir_env.MenhirLib.EngineTypes.stack <- {
44080 MenhirLib.EngineTypes.state = _menhir_s;
44081 MenhirLib.EngineTypes.semv = Obj.repr _v;
44082 MenhirLib.EngineTypes.startp = _startpos;
44083 MenhirLib.EngineTypes.endp = _endpos;
44084 MenhirLib.EngineTypes.next = _menhir_stack;
44085 });
44086 (fun _menhir_env ->
44087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44088 let {
44089 MenhirLib.EngineTypes.state = _menhir_s;
44090 MenhirLib.EngineTypes.semv = _1;
44091 MenhirLib.EngineTypes.startp = _startpos__1_;
44092 MenhirLib.EngineTypes.endp = _endpos__1_;
44093 MenhirLib.EngineTypes.next = _menhir_stack;
44094 } = _menhir_stack in
44095 let _1 : (
44096 # 161 "parser_cocci_menhir.mly"
44097 (Data.clt)
44098 # 44099 "parser_cocci_menhir.ml"
44099 ) = Obj.magic _1 in
44100 let _startpos = _startpos__1_ in
44101 let _endpos = _endpos__1_ in
44102 let _v : 'tv_unary_op =
44103 # 1540 "parser_cocci_menhir.mly"
44104 ( P.clt2mcode Ast.GetRef _1 )
44105 # 44106 "parser_cocci_menhir.ml"
44106 in
44107 _menhir_env.MenhirLib.EngineTypes.stack <- {
44108 MenhirLib.EngineTypes.state = _menhir_s;
44109 MenhirLib.EngineTypes.semv = Obj.repr _v;
44110 MenhirLib.EngineTypes.startp = _startpos;
44111 MenhirLib.EngineTypes.endp = _endpos;
44112 MenhirLib.EngineTypes.next = _menhir_stack;
44113 });
44114 (fun _menhir_env ->
44115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44116 let {
44117 MenhirLib.EngineTypes.state = _menhir_s;
44118 MenhirLib.EngineTypes.semv = _1;
44119 MenhirLib.EngineTypes.startp = _startpos__1_;
44120 MenhirLib.EngineTypes.endp = _endpos__1_;
44121 MenhirLib.EngineTypes.next = _menhir_stack;
44122 } = _menhir_stack in
44123 let _1 : (
44124 # 167 "parser_cocci_menhir.mly"
44125 (Data.clt)
44126 # 44127 "parser_cocci_menhir.ml"
44127 ) = Obj.magic _1 in
44128 let _startpos = _startpos__1_ in
44129 let _endpos = _endpos__1_ in
44130 let _v : 'tv_unary_op =
44131 # 1541 "parser_cocci_menhir.mly"
44132 ( P.clt2mcode Ast.DeRef _1 )
44133 # 44134 "parser_cocci_menhir.ml"
44134 in
44135 _menhir_env.MenhirLib.EngineTypes.stack <- {
44136 MenhirLib.EngineTypes.state = _menhir_s;
44137 MenhirLib.EngineTypes.semv = Obj.repr _v;
44138 MenhirLib.EngineTypes.startp = _startpos;
44139 MenhirLib.EngineTypes.endp = _endpos;
44140 MenhirLib.EngineTypes.next = _menhir_stack;
44141 });
44142 (fun _menhir_env ->
44143 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44144 let {
44145 MenhirLib.EngineTypes.state = _menhir_s;
44146 MenhirLib.EngineTypes.semv = _1;
44147 MenhirLib.EngineTypes.startp = _startpos__1_;
44148 MenhirLib.EngineTypes.endp = _endpos__1_;
44149 MenhirLib.EngineTypes.next = _menhir_stack;
44150 } = _menhir_stack in
44151 let _1 : (
44152 # 166 "parser_cocci_menhir.mly"
44153 (Data.clt)
44154 # 44155 "parser_cocci_menhir.ml"
44155 ) = Obj.magic _1 in
44156 let _startpos = _startpos__1_ in
44157 let _endpos = _endpos__1_ in
44158 let _v : 'tv_unary_op =
44159 # 1542 "parser_cocci_menhir.mly"
44160 ( P.clt2mcode Ast.UnPlus _1 )
44161 # 44162 "parser_cocci_menhir.ml"
44162 in
44163 _menhir_env.MenhirLib.EngineTypes.stack <- {
44164 MenhirLib.EngineTypes.state = _menhir_s;
44165 MenhirLib.EngineTypes.semv = Obj.repr _v;
44166 MenhirLib.EngineTypes.startp = _startpos;
44167 MenhirLib.EngineTypes.endp = _endpos;
44168 MenhirLib.EngineTypes.next = _menhir_stack;
44169 });
44170 (fun _menhir_env ->
44171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44172 let {
44173 MenhirLib.EngineTypes.state = _menhir_s;
44174 MenhirLib.EngineTypes.semv = _1;
44175 MenhirLib.EngineTypes.startp = _startpos__1_;
44176 MenhirLib.EngineTypes.endp = _endpos__1_;
44177 MenhirLib.EngineTypes.next = _menhir_stack;
44178 } = _menhir_stack in
44179 let _1 : (
44180 # 166 "parser_cocci_menhir.mly"
44181 (Data.clt)
44182 # 44183 "parser_cocci_menhir.ml"
44183 ) = Obj.magic _1 in
44184 let _startpos = _startpos__1_ in
44185 let _endpos = _endpos__1_ in
44186 let _v : 'tv_unary_op =
44187 # 1543 "parser_cocci_menhir.mly"
44188 ( P.clt2mcode Ast.UnMinus _1 )
44189 # 44190 "parser_cocci_menhir.ml"
44190 in
44191 _menhir_env.MenhirLib.EngineTypes.stack <- {
44192 MenhirLib.EngineTypes.state = _menhir_s;
44193 MenhirLib.EngineTypes.semv = Obj.repr _v;
44194 MenhirLib.EngineTypes.startp = _startpos;
44195 MenhirLib.EngineTypes.endp = _endpos;
44196 MenhirLib.EngineTypes.next = _menhir_stack;
44197 });
44198 (fun _menhir_env ->
44199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44200 let {
44201 MenhirLib.EngineTypes.state = _menhir_s;
44202 MenhirLib.EngineTypes.semv = _1;
44203 MenhirLib.EngineTypes.startp = _startpos__1_;
44204 MenhirLib.EngineTypes.endp = _endpos__1_;
44205 MenhirLib.EngineTypes.next = _menhir_stack;
44206 } = _menhir_stack in
44207 let _1 : (
44208 # 167 "parser_cocci_menhir.mly"
44209 (Data.clt)
44210 # 44211 "parser_cocci_menhir.ml"
44211 ) = Obj.magic _1 in
44212 let _startpos = _startpos__1_ in
44213 let _endpos = _endpos__1_ in
44214 let _v : 'tv_unary_op =
44215 # 1544 "parser_cocci_menhir.mly"
44216 ( P.clt2mcode Ast.Tilde _1 )
44217 # 44218 "parser_cocci_menhir.ml"
44218 in
44219 _menhir_env.MenhirLib.EngineTypes.stack <- {
44220 MenhirLib.EngineTypes.state = _menhir_s;
44221 MenhirLib.EngineTypes.semv = Obj.repr _v;
44222 MenhirLib.EngineTypes.startp = _startpos;
44223 MenhirLib.EngineTypes.endp = _endpos;
44224 MenhirLib.EngineTypes.next = _menhir_stack;
44225 });
44226 (fun _menhir_env ->
44227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44228 let {
44229 MenhirLib.EngineTypes.semv = _2;
44230 MenhirLib.EngineTypes.startp = _startpos__2_;
44231 MenhirLib.EngineTypes.endp = _endpos__2_;
44232 MenhirLib.EngineTypes.next = {
44233 MenhirLib.EngineTypes.state = _menhir_s;
44234 MenhirLib.EngineTypes.semv = _1;
44235 MenhirLib.EngineTypes.startp = _startpos__1_;
44236 MenhirLib.EngineTypes.endp = _endpos__1_;
44237 MenhirLib.EngineTypes.next = _menhir_stack;
44238 };
44239 } = _menhir_stack in
44240 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
44241 let _1 : 'tv_expr = Obj.magic _1 in
44242 let _startpos = _startpos__1_ in
44243 let _endpos = _endpos__2_ in
44244 let _v : 'tv_when_start =
44245 # 2169 "parser_cocci_menhir.mly"
44246 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
44247 # 44248 "parser_cocci_menhir.ml"
44248 in
44249 _menhir_env.MenhirLib.EngineTypes.stack <- {
44250 MenhirLib.EngineTypes.state = _menhir_s;
44251 MenhirLib.EngineTypes.semv = Obj.repr _v;
44252 MenhirLib.EngineTypes.startp = _startpos;
44253 MenhirLib.EngineTypes.endp = _endpos;
44254 MenhirLib.EngineTypes.next = _menhir_stack;
44255 });
44256 (fun _menhir_env ->
44257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44258 let {
44259 MenhirLib.EngineTypes.semv = _2;
44260 MenhirLib.EngineTypes.startp = _startpos__2_;
44261 MenhirLib.EngineTypes.endp = _endpos__2_;
44262 MenhirLib.EngineTypes.next = {
44263 MenhirLib.EngineTypes.state = _menhir_s;
44264 MenhirLib.EngineTypes.semv = _1;
44265 MenhirLib.EngineTypes.startp = _startpos__1_;
44266 MenhirLib.EngineTypes.endp = _endpos__1_;
44267 MenhirLib.EngineTypes.next = _menhir_stack;
44268 };
44269 } = _menhir_stack in
44270 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
44271 let _1 : 'tv_decl_statement = Obj.magic _1 in
44272 let _startpos = _startpos__1_ in
44273 let _endpos = _endpos__2_ in
44274 let _v : 'tv_when_start =
44275 # 2171 "parser_cocci_menhir.mly"
44276 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
44277 # 44278 "parser_cocci_menhir.ml"
44278 in
44279 _menhir_env.MenhirLib.EngineTypes.stack <- {
44280 MenhirLib.EngineTypes.state = _menhir_s;
44281 MenhirLib.EngineTypes.semv = Obj.repr _v;
44282 MenhirLib.EngineTypes.startp = _startpos;
44283 MenhirLib.EngineTypes.endp = _endpos;
44284 MenhirLib.EngineTypes.next = _menhir_stack;
44285 });
44286 (fun _menhir_env ->
44287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44288 let {
44289 MenhirLib.EngineTypes.state = _menhir_s;
44290 MenhirLib.EngineTypes.semv = w;
44291 MenhirLib.EngineTypes.startp = _startpos_w_;
44292 MenhirLib.EngineTypes.endp = _endpos_w_;
44293 MenhirLib.EngineTypes.next = _menhir_stack;
44294 } = _menhir_stack in
44295 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
44296 let _startpos = _startpos_w_ in
44297 let _endpos = _endpos_w_ in
44298 let _v : 'tv_whenppdecs =
44299 # 1094 "parser_cocci_menhir.mly"
44300 ( w )
44301 # 44302 "parser_cocci_menhir.ml"
44302 in
44303 _menhir_env.MenhirLib.EngineTypes.stack <- {
44304 MenhirLib.EngineTypes.state = _menhir_s;
44305 MenhirLib.EngineTypes.semv = Obj.repr _v;
44306 MenhirLib.EngineTypes.startp = _startpos;
44307 MenhirLib.EngineTypes.endp = _endpos;
44308 MenhirLib.EngineTypes.next = _menhir_stack;
44309 });
44310 (fun _menhir_env ->
44311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44312 let {
44313 MenhirLib.EngineTypes.startp = _startpos__4_;
44314 MenhirLib.EngineTypes.endp = _endpos__4_;
44315 MenhirLib.EngineTypes.next = {
44316 MenhirLib.EngineTypes.semv = w;
44317 MenhirLib.EngineTypes.startp = _startpos_w_;
44318 MenhirLib.EngineTypes.endp = _endpos_w_;
44319 MenhirLib.EngineTypes.next = {
44320 MenhirLib.EngineTypes.startp = _startpos__2_;
44321 MenhirLib.EngineTypes.endp = _endpos__2_;
44322 MenhirLib.EngineTypes.next = {
44323 MenhirLib.EngineTypes.state = _menhir_s;
44324 MenhirLib.EngineTypes.startp = _startpos__1_;
44325 MenhirLib.EngineTypes.endp = _endpos__1_;
44326 MenhirLib.EngineTypes.next = _menhir_stack;
44327 };
44328 };
44329 };
44330 } = _menhir_stack in
44331 let w : 'tv_when_start = Obj.magic w in
44332 let _startpos = _startpos__1_ in
44333 let _endpos = _endpos__4_ in
44334 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
44335 # 2216 "parser_cocci_menhir.mly"
44336 ( [Ast0.WhenNot w] )
44337 # 44338 "parser_cocci_menhir.ml"
44338 in
44339 _menhir_env.MenhirLib.EngineTypes.stack <- {
44340 MenhirLib.EngineTypes.state = _menhir_s;
44341 MenhirLib.EngineTypes.semv = Obj.repr _v;
44342 MenhirLib.EngineTypes.startp = _startpos;
44343 MenhirLib.EngineTypes.endp = _endpos;
44344 MenhirLib.EngineTypes.next = _menhir_stack;
44345 });
44346 (fun _menhir_env ->
44347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44348 let {
44349 MenhirLib.EngineTypes.startp = _startpos__4_;
44350 MenhirLib.EngineTypes.endp = _endpos__4_;
44351 MenhirLib.EngineTypes.next = {
44352 MenhirLib.EngineTypes.semv = w;
44353 MenhirLib.EngineTypes.startp = _startpos_w_;
44354 MenhirLib.EngineTypes.endp = _endpos_w_;
44355 MenhirLib.EngineTypes.next = {
44356 MenhirLib.EngineTypes.startp = _startpos__2_;
44357 MenhirLib.EngineTypes.endp = _endpos__2_;
44358 MenhirLib.EngineTypes.next = {
44359 MenhirLib.EngineTypes.state = _menhir_s;
44360 MenhirLib.EngineTypes.startp = _startpos__1_;
44361 MenhirLib.EngineTypes.endp = _endpos__1_;
44362 MenhirLib.EngineTypes.next = _menhir_stack;
44363 };
44364 };
44365 };
44366 } = _menhir_stack in
44367 let w : 'tv_rule_elem_statement = Obj.magic w in
44368 let _startpos = _startpos__1_ in
44369 let _endpos = _endpos__4_ in
44370 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
44371 # 2217 "parser_cocci_menhir.mly"
44372 ( [Ast0.WhenAlways w] )
44373 # 44374 "parser_cocci_menhir.ml"
44374 in
44375 _menhir_env.MenhirLib.EngineTypes.stack <- {
44376 MenhirLib.EngineTypes.state = _menhir_s;
44377 MenhirLib.EngineTypes.semv = Obj.repr _v;
44378 MenhirLib.EngineTypes.startp = _startpos;
44379 MenhirLib.EngineTypes.endp = _endpos;
44380 MenhirLib.EngineTypes.next = _menhir_stack;
44381 });
44382 (fun _menhir_env ->
44383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44384 let {
44385 MenhirLib.EngineTypes.startp = _startpos__3_;
44386 MenhirLib.EngineTypes.endp = _endpos__3_;
44387 MenhirLib.EngineTypes.next = {
44388 MenhirLib.EngineTypes.semv = _2;
44389 MenhirLib.EngineTypes.startp = _startpos__2_;
44390 MenhirLib.EngineTypes.endp = _endpos__2_;
44391 MenhirLib.EngineTypes.next = {
44392 MenhirLib.EngineTypes.state = _menhir_s;
44393 MenhirLib.EngineTypes.startp = _startpos__1_;
44394 MenhirLib.EngineTypes.endp = _endpos__1_;
44395 MenhirLib.EngineTypes.next = _menhir_stack;
44396 };
44397 };
44398 } = _menhir_stack in
44399 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
44400 let _startpos = _startpos__1_ in
44401 let _endpos = _endpos__3_ in
44402 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
44403 # 2219 "parser_cocci_menhir.mly"
44404 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
44405 # 44406 "parser_cocci_menhir.ml"
44406 in
44407 _menhir_env.MenhirLib.EngineTypes.stack <- {
44408 MenhirLib.EngineTypes.state = _menhir_s;
44409 MenhirLib.EngineTypes.semv = Obj.repr _v;
44410 MenhirLib.EngineTypes.startp = _startpos;
44411 MenhirLib.EngineTypes.endp = _endpos;
44412 MenhirLib.EngineTypes.next = _menhir_stack;
44413 });
44414 (fun _menhir_env ->
44415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44416 let {
44417 MenhirLib.EngineTypes.startp = _startpos__4_;
44418 MenhirLib.EngineTypes.endp = _endpos__4_;
44419 MenhirLib.EngineTypes.next = {
44420 MenhirLib.EngineTypes.semv = e;
44421 MenhirLib.EngineTypes.startp = _startpos_e_;
44422 MenhirLib.EngineTypes.endp = _endpos_e_;
44423 MenhirLib.EngineTypes.next = {
44424 MenhirLib.EngineTypes.startp = _startpos__2_;
44425 MenhirLib.EngineTypes.endp = _endpos__2_;
44426 MenhirLib.EngineTypes.next = {
44427 MenhirLib.EngineTypes.state = _menhir_s;
44428 MenhirLib.EngineTypes.startp = _startpos__1_;
44429 MenhirLib.EngineTypes.endp = _endpos__1_;
44430 MenhirLib.EngineTypes.next = _menhir_stack;
44431 };
44432 };
44433 };
44434 } = _menhir_stack in
44435 let e : 'tv_eexpr = Obj.magic e in
44436 let _startpos = _startpos__1_ in
44437 let _endpos = _endpos__4_ in
44438 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
44439 # 2220 "parser_cocci_menhir.mly"
44440 ( [Ast0.WhenNotTrue e] )
44441 # 44442 "parser_cocci_menhir.ml"
44442 in
44443 _menhir_env.MenhirLib.EngineTypes.stack <- {
44444 MenhirLib.EngineTypes.state = _menhir_s;
44445 MenhirLib.EngineTypes.semv = Obj.repr _v;
44446 MenhirLib.EngineTypes.startp = _startpos;
44447 MenhirLib.EngineTypes.endp = _endpos;
44448 MenhirLib.EngineTypes.next = _menhir_stack;
44449 });
44450 (fun _menhir_env ->
44451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
44452 let {
44453 MenhirLib.EngineTypes.startp = _startpos__4_;
44454 MenhirLib.EngineTypes.endp = _endpos__4_;
44455 MenhirLib.EngineTypes.next = {
44456 MenhirLib.EngineTypes.semv = e;
44457 MenhirLib.EngineTypes.startp = _startpos_e_;
44458 MenhirLib.EngineTypes.endp = _endpos_e_;
44459 MenhirLib.EngineTypes.next = {
44460 MenhirLib.EngineTypes.startp = _startpos__2_;
44461 MenhirLib.EngineTypes.endp = _endpos__2_;
44462 MenhirLib.EngineTypes.next = {
44463 MenhirLib.EngineTypes.state = _menhir_s;
44464 MenhirLib.EngineTypes.startp = _startpos__1_;
44465 MenhirLib.EngineTypes.endp = _endpos__1_;
44466 MenhirLib.EngineTypes.next = _menhir_stack;
44467 };
44468 };
44469 };
44470 } = _menhir_stack in
44471 let e : 'tv_eexpr = Obj.magic e in
44472 let _startpos = _startpos__1_ in
44473 let _endpos = _endpos__4_ in
44474 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
44475 # 2221 "parser_cocci_menhir.mly"
44476 ( [Ast0.WhenNotFalse e] )
44477 # 44478 "parser_cocci_menhir.ml"
44478 in
44479 _menhir_env.MenhirLib.EngineTypes.stack <- {
44480 MenhirLib.EngineTypes.state = _menhir_s;
44481 MenhirLib.EngineTypes.semv = Obj.repr _v;
44482 MenhirLib.EngineTypes.startp = _startpos;
44483 MenhirLib.EngineTypes.endp = _endpos;
44484 MenhirLib.EngineTypes.next = _menhir_stack;
44485 });
44486 |]
44487
44488 let recovery =
44489 false
44490
44491 let trace =
44492 None
44493
44494 end)
44495
44496 let rec script_meta_main =
44497 fun lexer lexbuf ->
44498 (Obj.magic (MenhirInterpreter.entry 2038 lexer lexbuf) : (
44499 # 229 "parser_cocci_menhir.mly"
44500 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
44501 # 44502 "parser_cocci_menhir.ml"
44502 ))
44503
44504 and rule_name =
44505 fun lexer lexbuf ->
44506 (Obj.magic (MenhirInterpreter.entry 1963 lexer lexbuf) : (
44507 # 223 "parser_cocci_menhir.mly"
44508 (Ast_cocci.rulename)
44509 # 44510 "parser_cocci_menhir.ml"
44510 ))
44511
44512 and reinit =
44513 fun lexer lexbuf ->
44514 (Obj.magic (MenhirInterpreter.entry 1961 lexer lexbuf) : (
44515 # 201 "parser_cocci_menhir.mly"
44516 (unit)
44517 # 44518 "parser_cocci_menhir.ml"
44518 ))
44519
44520 and plus_main =
44521 fun lexer lexbuf ->
44522 (Obj.magic (MenhirInterpreter.entry 1925 lexer lexbuf) : (
44523 # 210 "parser_cocci_menhir.mly"
44524 (Ast0_cocci.rule)
44525 # 44526 "parser_cocci_menhir.ml"
44526 ))
44527
44528 and plus_exp_main =
44529 fun lexer lexbuf ->
44530 (Obj.magic (MenhirInterpreter.entry 1917 lexer lexbuf) : (
44531 # 213 "parser_cocci_menhir.mly"
44532 (Ast0_cocci.rule)
44533 # 44534 "parser_cocci_menhir.ml"
44534 ))
44535
44536 and never_used =
44537 fun lexer lexbuf ->
44538 (Obj.magic (MenhirInterpreter.entry 1911 lexer lexbuf) : (
44539 # 238 "parser_cocci_menhir.mly"
44540 (unit)
44541 # 44542 "parser_cocci_menhir.ml"
44542 ))
44543
44544 and minus_main =
44545 fun lexer lexbuf ->
44546 (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : (
44547 # 204 "parser_cocci_menhir.mly"
44548 (Ast0_cocci.rule)
44549 # 44550 "parser_cocci_menhir.ml"
44550 ))
44551
44552 and minus_exp_main =
44553 fun lexer lexbuf ->
44554 (Obj.magic (MenhirInterpreter.entry 1814 lexer lexbuf) : (
44555 # 207 "parser_cocci_menhir.mly"
44556 (Ast0_cocci.rule)
44557 # 44558 "parser_cocci_menhir.ml"
44558 ))
44559
44560 and meta_main =
44561 fun lexer lexbuf ->
44562 (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : (
44563 # 227 "parser_cocci_menhir.mly"
44564 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
44565 # 44566 "parser_cocci_menhir.ml"
44566 ))
44567
44568 and iso_rule_name =
44569 fun lexer lexbuf ->
44570 (Obj.magic (MenhirInterpreter.entry 1807 lexer lexbuf) : (
44571 # 219 "parser_cocci_menhir.mly"
44572 (Ast_cocci.rulename)
44573 # 44574 "parser_cocci_menhir.ml"
44574 ))
44575
44576 and iso_meta_main =
44577 fun lexer lexbuf ->
44578 (Obj.magic (MenhirInterpreter.entry 1528 lexer lexbuf) : (
44579 # 235 "parser_cocci_menhir.mly"
44580 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
44581 # 44582 "parser_cocci_menhir.ml"
44582 ))
44583
44584 and iso_main =
44585 fun lexer lexbuf ->
44586 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
44587 # 232 "parser_cocci_menhir.mly"
44588 (Ast0_cocci.anything list list)
44589 # 44590 "parser_cocci_menhir.ml"
44590 ))
44591
44592 and include_main =
44593 fun lexer lexbuf ->
44594 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
44595 # 216 "parser_cocci_menhir.mly"
44596 (Data.incl_iso list)
44597 # 44598 "parser_cocci_menhir.ml"
44598 ))
44599
44600
44601