Release coccinelle-0.2.3rc1
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
1 exception Error
2
3 type token =
4 | Tvolatile of (
5 # 76 "parser_cocci_menhir.mly"
6 (Data.clt)
7 # 8 "parser_cocci_menhir.ml"
8 )
9 | Tvoid of (
10 # 72 "parser_cocci_menhir.mly"
11 (Data.clt)
12 # 13 "parser_cocci_menhir.ml"
13 )
14 | Tunsigned of (
15 # 73 "parser_cocci_menhir.mly"
16 (Data.clt)
17 # 18 "parser_cocci_menhir.ml"
18 )
19 | Tunion of (
20 # 72 "parser_cocci_menhir.mly"
21 (Data.clt)
22 # 23 "parser_cocci_menhir.ml"
23 )
24 | Ttypedef of (
25 # 75 "parser_cocci_menhir.mly"
26 (Data.clt)
27 # 28 "parser_cocci_menhir.ml"
28 )
29 | Tstruct of (
30 # 72 "parser_cocci_menhir.mly"
31 (Data.clt)
32 # 33 "parser_cocci_menhir.ml"
33 )
34 | Tstatic of (
35 # 75 "parser_cocci_menhir.mly"
36 (Data.clt)
37 # 38 "parser_cocci_menhir.ml"
38 )
39 | Tsigned of (
40 # 73 "parser_cocci_menhir.mly"
41 (Data.clt)
42 # 43 "parser_cocci_menhir.ml"
43 )
44 | Tshort of (
45 # 71 "parser_cocci_menhir.mly"
46 (Data.clt)
47 # 48 "parser_cocci_menhir.ml"
48 )
49 | Tregister of (
50 # 75 "parser_cocci_menhir.mly"
51 (Data.clt)
52 # 53 "parser_cocci_menhir.ml"
53 )
54 | Tlong of (
55 # 71 "parser_cocci_menhir.mly"
56 (Data.clt)
57 # 58 "parser_cocci_menhir.ml"
58 )
59 | Tlist
60 | Tint of (
61 # 71 "parser_cocci_menhir.mly"
62 (Data.clt)
63 # 64 "parser_cocci_menhir.ml"
64 )
65 | Tinline of (
66 # 75 "parser_cocci_menhir.mly"
67 (Data.clt)
68 # 69 "parser_cocci_menhir.ml"
69 )
70 | Tfloat of (
71 # 71 "parser_cocci_menhir.mly"
72 (Data.clt)
73 # 74 "parser_cocci_menhir.ml"
74 )
75 | Textern of (
76 # 75 "parser_cocci_menhir.mly"
77 (Data.clt)
78 # 79 "parser_cocci_menhir.ml"
79 )
80 | Tenum of (
81 # 72 "parser_cocci_menhir.mly"
82 (Data.clt)
83 # 84 "parser_cocci_menhir.ml"
84 )
85 | Tdouble of (
86 # 71 "parser_cocci_menhir.mly"
87 (Data.clt)
88 # 89 "parser_cocci_menhir.ml"
89 )
90 | Tconst of (
91 # 76 "parser_cocci_menhir.mly"
92 (Data.clt)
93 # 94 "parser_cocci_menhir.ml"
94 )
95 | Tchar of (
96 # 71 "parser_cocci_menhir.mly"
97 (Data.clt)
98 # 99 "parser_cocci_menhir.ml"
99 )
100 | Tauto of (
101 # 75 "parser_cocci_menhir.mly"
102 (Data.clt)
103 # 104 "parser_cocci_menhir.ml"
104 )
105 | Tattr of (
106 # 77 "parser_cocci_menhir.mly"
107 (string * Data.clt)
108 # 109 "parser_cocci_menhir.ml"
109 )
110 | TXor of (
111 # 115 "parser_cocci_menhir.mly"
112 (Data.clt)
113 # 114 "parser_cocci_menhir.ml"
114 )
115 | TWords
116 | TWhy0
117 | TWhy of (
118 # 99 "parser_cocci_menhir.mly"
119 (Data.clt)
120 # 121 "parser_cocci_menhir.ml"
121 )
122 | TWhile of (
123 # 79 "parser_cocci_menhir.mly"
124 (Data.clt)
125 # 126 "parser_cocci_menhir.ml"
126 )
127 | TWhenTrue of (
128 # 97 "parser_cocci_menhir.mly"
129 (Data.clt)
130 # 131 "parser_cocci_menhir.ml"
131 )
132 | TWhenFalse of (
133 # 97 "parser_cocci_menhir.mly"
134 (Data.clt)
135 # 136 "parser_cocci_menhir.ml"
136 )
137 | TWhen of (
138 # 97 "parser_cocci_menhir.mly"
139 (Data.clt)
140 # 141 "parser_cocci_menhir.ml"
141 )
142 | TVirtual
143 | TUsing
144 | TTypedef
145 | TTypeId of (
146 # 81 "parser_cocci_menhir.mly"
147 (string * Data.clt)
148 # 149 "parser_cocci_menhir.ml"
149 )
150 | TType
151 | TTildeExclEq of (
152 # 117 "parser_cocci_menhir.mly"
153 (Data.clt)
154 # 155 "parser_cocci_menhir.ml"
155 )
156 | TTildeEq of (
157 # 117 "parser_cocci_menhir.mly"
158 (Data.clt)
159 # 160 "parser_cocci_menhir.ml"
160 )
161 | TTilde of (
162 # 122 "parser_cocci_menhir.mly"
163 (Data.clt)
164 # 165 "parser_cocci_menhir.ml"
165 )
166 | TSwitch of (
167 # 79 "parser_cocci_menhir.mly"
168 (Data.clt)
169 # 170 "parser_cocci_menhir.ml"
170 )
171 | TSub of (
172 # 117 "parser_cocci_menhir.mly"
173 (Data.clt)
174 # 175 "parser_cocci_menhir.ml"
175 )
176 | TString of (
177 # 110 "parser_cocci_menhir.mly"
178 (string * Data.clt)
179 # 180 "parser_cocci_menhir.ml"
180 )
181 | TStrict of (
182 # 97 "parser_cocci_menhir.mly"
183 (Data.clt)
184 # 185 "parser_cocci_menhir.ml"
185 )
186 | TStatement
187 | TSizeof of (
188 # 80 "parser_cocci_menhir.mly"
189 (Data.clt)
190 # 191 "parser_cocci_menhir.ml"
191 )
192 | TShOp of (
193 # 119 "parser_cocci_menhir.mly"
194 (Ast_cocci.arithOp * Data.clt)
195 # 196 "parser_cocci_menhir.ml"
196 )
197 | TScriptData of (
198 # 94 "parser_cocci_menhir.mly"
199 (string)
200 # 201 "parser_cocci_menhir.ml"
201 )
202 | TScript
203 | TRuleName of (
204 # 69 "parser_cocci_menhir.mly"
205 (string)
206 # 207 "parser_cocci_menhir.ml"
207 )
208 | TRightIso
209 | TReturn of (
210 # 79 "parser_cocci_menhir.mly"
211 (Data.clt)
212 # 213 "parser_cocci_menhir.ml"
213 )
214 | TPure
215 | TPtrOp of (
216 # 127 "parser_cocci_menhir.mly"
217 (Data.clt)
218 # 219 "parser_cocci_menhir.ml"
219 )
220 | TPtVirg of (
221 # 130 "parser_cocci_menhir.mly"
222 (Data.clt)
223 # 224 "parser_cocci_menhir.ml"
224 )
225 | TPragma of (
226 # 82 "parser_cocci_menhir.mly"
227 (Ast_cocci.added_string * Data.clt)
228 # 229 "parser_cocci_menhir.ml"
229 )
230 | TPosition
231 | TPosAny
232 | TPlusFile of (
233 # 106 "parser_cocci_menhir.mly"
234 (string * Data.clt)
235 # 236 "parser_cocci_menhir.ml"
236 )
237 | TPlus0
238 | TPlus of (
239 # 121 "parser_cocci_menhir.mly"
240 (Data.clt)
241 # 242 "parser_cocci_menhir.ml"
242 )
243 | TPathIsoFile of (
244 # 102 "parser_cocci_menhir.mly"
245 (string)
246 # 247 "parser_cocci_menhir.ml"
247 )
248 | TParameter
249 | TPOEllipsis of (
250 # 96 "parser_cocci_menhir.mly"
251 (Data.clt)
252 # 253 "parser_cocci_menhir.ml"
253 )
254 | TPCEllipsis of (
255 # 96 "parser_cocci_menhir.mly"
256 (Data.clt)
257 # 258 "parser_cocci_menhir.ml"
258 )
259 | TPArob
260 | TOrLog of (
261 # 112 "parser_cocci_menhir.mly"
262 (Data.clt)
263 # 264 "parser_cocci_menhir.ml"
264 )
265 | TOr of (
266 # 114 "parser_cocci_menhir.mly"
267 (Data.clt)
268 # 269 "parser_cocci_menhir.ml"
269 )
270 | TOn
271 | TOPar0 of (
272 # 99 "parser_cocci_menhir.mly"
273 (Data.clt)
274 # 275 "parser_cocci_menhir.ml"
275 )
276 | TOPar of (
277 # 99 "parser_cocci_menhir.mly"
278 (Data.clt)
279 # 280 "parser_cocci_menhir.ml"
280 )
281 | TOInit of (
282 # 124 "parser_cocci_menhir.mly"
283 (Data.clt)
284 # 285 "parser_cocci_menhir.ml"
285 )
286 | TOEllipsis of (
287 # 96 "parser_cocci_menhir.mly"
288 (Data.clt)
289 # 290 "parser_cocci_menhir.ml"
290 )
291 | TOCro of (
292 # 125 "parser_cocci_menhir.mly"
293 (Data.clt)
294 # 295 "parser_cocci_menhir.ml"
295 )
296 | TOBrace of (
297 # 124 "parser_cocci_menhir.mly"
298 (Data.clt)
299 # 300 "parser_cocci_menhir.ml"
300 )
301 | TNothing
302 | TNotEq of (
303 # 117 "parser_cocci_menhir.mly"
304 (Data.clt)
305 # 306 "parser_cocci_menhir.ml"
306 )
307 | TNever
308 | TName
309 | TMul of (
310 # 122 "parser_cocci_menhir.mly"
311 (Data.clt)
312 # 313 "parser_cocci_menhir.ml"
313 )
314 | TMinusFile of (
315 # 106 "parser_cocci_menhir.mly"
316 (string * Data.clt)
317 # 318 "parser_cocci_menhir.ml"
318 )
319 | TMinus of (
320 # 121 "parser_cocci_menhir.mly"
321 (Data.clt)
322 # 323 "parser_cocci_menhir.ml"
323 )
324 | TMid0 of (
325 # 100 "parser_cocci_menhir.mly"
326 (Data.clt)
327 # 328 "parser_cocci_menhir.ml"
328 )
329 | TMetaType of (
330 # 87 "parser_cocci_menhir.mly"
331 (Parse_aux.info)
332 # 333 "parser_cocci_menhir.ml"
333 )
334 | TMetaStmList of (
335 # 87 "parser_cocci_menhir.mly"
336 (Parse_aux.info)
337 # 338 "parser_cocci_menhir.ml"
338 )
339 | TMetaStm of (
340 # 87 "parser_cocci_menhir.mly"
341 (Parse_aux.info)
342 # 343 "parser_cocci_menhir.ml"
343 )
344 | TMetaPos of (
345 # 91 "parser_cocci_menhir.mly"
346 (Parse_aux.pos_info)
347 # 348 "parser_cocci_menhir.ml"
348 )
349 | TMetaParamList of (
350 # 89 "parser_cocci_menhir.mly"
351 (Parse_aux.list_info)
352 # 353 "parser_cocci_menhir.ml"
353 )
354 | TMetaParam of (
355 # 87 "parser_cocci_menhir.mly"
356 (Parse_aux.info)
357 # 358 "parser_cocci_menhir.ml"
358 )
359 | TMetaLocalIdExp of (
360 # 90 "parser_cocci_menhir.mly"
361 (Parse_aux.typed_expinfo)
362 # 363 "parser_cocci_menhir.ml"
363 )
364 | TMetaLocalFunc of (
365 # 84 "parser_cocci_menhir.mly"
366 (Parse_aux.idinfo)
367 # 368 "parser_cocci_menhir.ml"
368 )
369 | TMetaIterator of (
370 # 85 "parser_cocci_menhir.mly"
371 (Parse_aux.idinfo)
372 # 373 "parser_cocci_menhir.ml"
373 )
374 | TMetaInit of (
375 # 88 "parser_cocci_menhir.mly"
376 (Parse_aux.info)
377 # 378 "parser_cocci_menhir.ml"
378 )
379 | TMetaIdExp of (
380 # 90 "parser_cocci_menhir.mly"
381 (Parse_aux.typed_expinfo)
382 # 383 "parser_cocci_menhir.ml"
383 )
384 | TMetaId of (
385 # 84 "parser_cocci_menhir.mly"
386 (Parse_aux.idinfo)
387 # 388 "parser_cocci_menhir.ml"
388 )
389 | TMetaFunc of (
390 # 84 "parser_cocci_menhir.mly"
391 (Parse_aux.idinfo)
392 # 393 "parser_cocci_menhir.ml"
393 )
394 | TMetaExpList of (
395 # 89 "parser_cocci_menhir.mly"
396 (Parse_aux.list_info)
397 # 398 "parser_cocci_menhir.ml"
398 )
399 | TMetaExp of (
400 # 90 "parser_cocci_menhir.mly"
401 (Parse_aux.typed_expinfo)
402 # 403 "parser_cocci_menhir.ml"
403 )
404 | TMetaErr of (
405 # 86 "parser_cocci_menhir.mly"
406 (Parse_aux.expinfo)
407 # 408 "parser_cocci_menhir.ml"
408 )
409 | TMetaDeclarer of (
410 # 85 "parser_cocci_menhir.mly"
411 (Parse_aux.idinfo)
412 # 413 "parser_cocci_menhir.ml"
413 )
414 | TMetaConst of (
415 # 90 "parser_cocci_menhir.mly"
416 (Parse_aux.typed_expinfo)
417 # 418 "parser_cocci_menhir.ml"
418 )
419 | TMPtVirg
420 | TLogOp of (
421 # 118 "parser_cocci_menhir.mly"
422 (Ast_cocci.logicalOp * Data.clt)
423 # 424 "parser_cocci_menhir.ml"
424 )
425 | TLocal
426 | TLineEnd of (
427 # 97 "parser_cocci_menhir.mly"
428 (Data.clt)
429 # 430 "parser_cocci_menhir.ml"
430 )
431 | TIteratorId of (
432 # 81 "parser_cocci_menhir.mly"
433 (string * Data.clt)
434 # 435 "parser_cocci_menhir.ml"
435 )
436 | TIterator
437 | TIsoType
438 | TIsoTopLevel
439 | TIsoToTestExpression
440 | TIsoTestExpression
441 | TIsoStatement
442 | TIsoExpression
443 | TIsoDeclaration
444 | TIsoArgExpression
445 | TIso
446 | TInvalid
447 | TInt of (
448 # 110 "parser_cocci_menhir.mly"
449 (string * Data.clt)
450 # 451 "parser_cocci_menhir.ml"
451 )
452 | TInitialize
453 | TInitialiser
454 | TIncludeNL of (
455 # 103 "parser_cocci_menhir.mly"
456 (string * Data.clt)
457 # 458 "parser_cocci_menhir.ml"
458 )
459 | TIncludeL of (
460 # 103 "parser_cocci_menhir.mly"
461 (string * Data.clt)
462 # 463 "parser_cocci_menhir.ml"
463 )
464 | TInc of (
465 # 108 "parser_cocci_menhir.mly"
466 (Data.clt)
467 # 468 "parser_cocci_menhir.ml"
468 )
469 | TIf of (
470 # 79 "parser_cocci_menhir.mly"
471 (Data.clt)
472 # 473 "parser_cocci_menhir.ml"
473 )
474 | TIdentifier
475 | TIdent of (
476 # 81 "parser_cocci_menhir.mly"
477 (string * Data.clt)
478 # 479 "parser_cocci_menhir.ml"
479 )
480 | TIdExpression
481 | TGoto of (
482 # 80 "parser_cocci_menhir.mly"
483 (Data.clt)
484 # 485 "parser_cocci_menhir.ml"
485 )
486 | TGenerated
487 | TFunction
488 | TFunDecl of (
489 # 80 "parser_cocci_menhir.mly"
490 (Data.clt)
491 # 492 "parser_cocci_menhir.ml"
492 )
493 | TFresh
494 | TForall
495 | TFor of (
496 # 79 "parser_cocci_menhir.mly"
497 (Data.clt)
498 # 499 "parser_cocci_menhir.ml"
499 )
500 | TFloat of (
501 # 110 "parser_cocci_menhir.mly"
502 (string * Data.clt)
503 # 504 "parser_cocci_menhir.ml"
504 )
505 | TFinalize
506 | TExtends
507 | TExpression
508 | TExists
509 | TEver
510 | TError
511 | TEqEq of (
512 # 117 "parser_cocci_menhir.mly"
513 (Data.clt)
514 # 515 "parser_cocci_menhir.ml"
515 )
516 | TEq of (
517 # 130 "parser_cocci_menhir.mly"
518 (Data.clt)
519 # 520 "parser_cocci_menhir.ml"
520 )
521 | TElse of (
522 # 79 "parser_cocci_menhir.mly"
523 (Data.clt)
524 # 525 "parser_cocci_menhir.ml"
525 )
526 | TEllipsis of (
527 # 96 "parser_cocci_menhir.mly"
528 (Data.clt)
529 # 530 "parser_cocci_menhir.ml"
530 )
531 | TDotDot of (
532 # 99 "parser_cocci_menhir.mly"
533 (Data.clt)
534 # 535 "parser_cocci_menhir.ml"
535 )
536 | TDot of (
537 # 130 "parser_cocci_menhir.mly"
538 (Data.clt)
539 # 540 "parser_cocci_menhir.ml"
540 )
541 | TDo of (
542 # 79 "parser_cocci_menhir.mly"
543 (Data.clt)
544 # 545 "parser_cocci_menhir.ml"
545 )
546 | TDmOp of (
547 # 120 "parser_cocci_menhir.mly"
548 (Ast_cocci.arithOp * Data.clt)
549 # 550 "parser_cocci_menhir.ml"
550 )
551 | TDisable
552 | TDepends
553 | TDefineParam of (
554 # 105 "parser_cocci_menhir.mly"
555 (Data.clt * token * int * int)
556 # 557 "parser_cocci_menhir.ml"
557 )
558 | TDefine of (
559 # 104 "parser_cocci_menhir.mly"
560 (Data.clt * token)
561 # 562 "parser_cocci_menhir.ml"
562 )
563 | TDefault of (
564 # 79 "parser_cocci_menhir.mly"
565 (Data.clt)
566 # 567 "parser_cocci_menhir.ml"
567 )
568 | TDeclarerId of (
569 # 81 "parser_cocci_menhir.mly"
570 (string * Data.clt)
571 # 572 "parser_cocci_menhir.ml"
572 )
573 | TDeclarer
574 | TDec of (
575 # 108 "parser_cocci_menhir.mly"
576 (Data.clt)
577 # 578 "parser_cocci_menhir.ml"
578 )
579 | TCppConcatOp
580 | TContinue of (
581 # 80 "parser_cocci_menhir.mly"
582 (Data.clt)
583 # 584 "parser_cocci_menhir.ml"
584 )
585 | TContext
586 | TConstant
587 | TComma of (
588 # 130 "parser_cocci_menhir.mly"
589 (Data.clt)
590 # 591 "parser_cocci_menhir.ml"
591 )
592 | TChar of (
593 # 110 "parser_cocci_menhir.mly"
594 (string * Data.clt)
595 # 596 "parser_cocci_menhir.ml"
596 )
597 | TCase of (
598 # 79 "parser_cocci_menhir.mly"
599 (Data.clt)
600 # 601 "parser_cocci_menhir.ml"
601 )
602 | TCPar0 of (
603 # 100 "parser_cocci_menhir.mly"
604 (Data.clt)
605 # 606 "parser_cocci_menhir.ml"
606 )
607 | TCPar of (
608 # 100 "parser_cocci_menhir.mly"
609 (Data.clt)
610 # 611 "parser_cocci_menhir.ml"
611 )
612 | TCEllipsis of (
613 # 96 "parser_cocci_menhir.mly"
614 (Data.clt)
615 # 616 "parser_cocci_menhir.ml"
616 )
617 | TCCro of (
618 # 125 "parser_cocci_menhir.mly"
619 (Data.clt)
620 # 621 "parser_cocci_menhir.ml"
621 )
622 | TCBrace of (
623 # 124 "parser_cocci_menhir.mly"
624 (Data.clt)
625 # 626 "parser_cocci_menhir.ml"
626 )
627 | TBreak of (
628 # 80 "parser_cocci_menhir.mly"
629 (Data.clt)
630 # 631 "parser_cocci_menhir.ml"
631 )
632 | TBang0
633 | TBang of (
634 # 99 "parser_cocci_menhir.mly"
635 (Data.clt)
636 # 637 "parser_cocci_menhir.ml"
637 )
638 | TAssign of (
639 # 131 "parser_cocci_menhir.mly"
640 (Ast_cocci.assignOp * Data.clt)
641 # 642 "parser_cocci_menhir.ml"
642 )
643 | TArobArob
644 | TArob
645 | TAny of (
646 # 97 "parser_cocci_menhir.mly"
647 (Data.clt)
648 # 649 "parser_cocci_menhir.ml"
649 )
650 | TAndLog of (
651 # 113 "parser_cocci_menhir.mly"
652 (Data.clt)
653 # 654 "parser_cocci_menhir.ml"
654 )
655 | TAnd of (
656 # 116 "parser_cocci_menhir.mly"
657 (Data.clt)
658 # 659 "parser_cocci_menhir.ml"
659 )
660 | EOF
661
662 and _menhir_jeton = token
663
664
665 # 45 "parser_cocci_menhir.mly"
666
667
668 (* Not clear how to allow function declarations to specify a return type
669 and how to allow both to be specified as static, because they are in
670 different rules. The rules seem to have to be combined, which would allow
671 functions to be declared as local variables *)
672
673 (* Not clear how to let a function have a parameter of type void. At the
674 moment, void is allowed to be the type of a variable, which is wrong, and a
675 parameter needs both a type and an identifier *)
676 module Ast0 = Ast0_cocci
677 module Ast = Ast_cocci
678 module P = Parse_aux
679
680 # 681 "parser_cocci_menhir.ml"
681 let _eRR =
682 Error
683
684 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
685
686 exception Error = Error
687
688 type token = _menhir_jeton
689
690 let token2terminal : token -> int =
691 fun _tok ->
692 match _tok with
693 | EOF ->
694 177
695 | TAnd _ ->
696 176
697 | TAndLog _ ->
698 175
699 | TAny _ ->
700 174
701 | TArob ->
702 173
703 | TArobArob ->
704 172
705 | TAssign _ ->
706 171
707 | TBang _ ->
708 170
709 | TBang0 ->
710 169
711 | TBreak _ ->
712 168
713 | TCBrace _ ->
714 167
715 | TCCro _ ->
716 166
717 | TCEllipsis _ ->
718 165
719 | TCPar _ ->
720 164
721 | TCPar0 _ ->
722 163
723 | TCase _ ->
724 162
725 | TChar _ ->
726 161
727 | TComma _ ->
728 160
729 | TConstant ->
730 159
731 | TContext ->
732 158
733 | TContinue _ ->
734 157
735 | TCppConcatOp ->
736 156
737 | TDec _ ->
738 155
739 | TDeclarer ->
740 154
741 | TDeclarerId _ ->
742 153
743 | TDefault _ ->
744 152
745 | TDefine _ ->
746 151
747 | TDefineParam _ ->
748 150
749 | TDepends ->
750 149
751 | TDisable ->
752 148
753 | TDmOp _ ->
754 147
755 | TDo _ ->
756 146
757 | TDot _ ->
758 145
759 | TDotDot _ ->
760 144
761 | TEllipsis _ ->
762 143
763 | TElse _ ->
764 142
765 | TEq _ ->
766 141
767 | TEqEq _ ->
768 140
769 | TError ->
770 139
771 | TEver ->
772 138
773 | TExists ->
774 137
775 | TExpression ->
776 136
777 | TExtends ->
778 135
779 | TFinalize ->
780 134
781 | TFloat _ ->
782 133
783 | TFor _ ->
784 132
785 | TForall ->
786 131
787 | TFresh ->
788 130
789 | TFunDecl _ ->
790 129
791 | TFunction ->
792 128
793 | TGenerated ->
794 127
795 | TGoto _ ->
796 126
797 | TIdExpression ->
798 125
799 | TIdent _ ->
800 124
801 | TIdentifier ->
802 123
803 | TIf _ ->
804 122
805 | TInc _ ->
806 121
807 | TIncludeL _ ->
808 120
809 | TIncludeNL _ ->
810 119
811 | TInitialiser ->
812 118
813 | TInitialize ->
814 117
815 | TInt _ ->
816 116
817 | TInvalid ->
818 115
819 | TIso ->
820 114
821 | TIsoArgExpression ->
822 113
823 | TIsoDeclaration ->
824 112
825 | TIsoExpression ->
826 111
827 | TIsoStatement ->
828 110
829 | TIsoTestExpression ->
830 109
831 | TIsoToTestExpression ->
832 108
833 | TIsoTopLevel ->
834 107
835 | TIsoType ->
836 106
837 | TIterator ->
838 105
839 | TIteratorId _ ->
840 104
841 | TLineEnd _ ->
842 103
843 | TLocal ->
844 102
845 | TLogOp _ ->
846 101
847 | TMPtVirg ->
848 100
849 | TMetaConst _ ->
850 99
851 | TMetaDeclarer _ ->
852 98
853 | TMetaErr _ ->
854 97
855 | TMetaExp _ ->
856 96
857 | TMetaExpList _ ->
858 95
859 | TMetaFunc _ ->
860 94
861 | TMetaId _ ->
862 93
863 | TMetaIdExp _ ->
864 92
865 | TMetaInit _ ->
866 91
867 | TMetaIterator _ ->
868 90
869 | TMetaLocalFunc _ ->
870 89
871 | TMetaLocalIdExp _ ->
872 88
873 | TMetaParam _ ->
874 87
875 | TMetaParamList _ ->
876 86
877 | TMetaPos _ ->
878 85
879 | TMetaStm _ ->
880 84
881 | TMetaStmList _ ->
882 83
883 | TMetaType _ ->
884 82
885 | TMid0 _ ->
886 81
887 | TMinus _ ->
888 80
889 | TMinusFile _ ->
890 79
891 | TMul _ ->
892 78
893 | TName ->
894 77
895 | TNever ->
896 76
897 | TNotEq _ ->
898 75
899 | TNothing ->
900 74
901 | TOBrace _ ->
902 73
903 | TOCro _ ->
904 72
905 | TOEllipsis _ ->
906 71
907 | TOInit _ ->
908 70
909 | TOPar _ ->
910 69
911 | TOPar0 _ ->
912 68
913 | TOn ->
914 67
915 | TOr _ ->
916 66
917 | TOrLog _ ->
918 65
919 | TPArob ->
920 64
921 | TPCEllipsis _ ->
922 63
923 | TPOEllipsis _ ->
924 62
925 | TParameter ->
926 61
927 | TPathIsoFile _ ->
928 60
929 | TPlus _ ->
930 59
931 | TPlus0 ->
932 58
933 | TPlusFile _ ->
934 57
935 | TPosAny ->
936 56
937 | TPosition ->
938 55
939 | TPragma _ ->
940 54
941 | TPtVirg _ ->
942 53
943 | TPtrOp _ ->
944 52
945 | TPure ->
946 51
947 | TReturn _ ->
948 50
949 | TRightIso ->
950 49
951 | TRuleName _ ->
952 48
953 | TScript ->
954 47
955 | TScriptData _ ->
956 46
957 | TShOp _ ->
958 45
959 | TSizeof _ ->
960 44
961 | TStatement ->
962 43
963 | TStrict _ ->
964 42
965 | TString _ ->
966 41
967 | TSub _ ->
968 40
969 | TSwitch _ ->
970 39
971 | TTilde _ ->
972 38
973 | TTildeEq _ ->
974 37
975 | TTildeExclEq _ ->
976 36
977 | TType ->
978 35
979 | TTypeId _ ->
980 34
981 | TTypedef ->
982 33
983 | TUsing ->
984 32
985 | TVirtual ->
986 31
987 | TWhen _ ->
988 30
989 | TWhenFalse _ ->
990 29
991 | TWhenTrue _ ->
992 28
993 | TWhile _ ->
994 27
995 | TWhy _ ->
996 26
997 | TWhy0 ->
998 25
999 | TWords ->
1000 24
1001 | TXor _ ->
1002 23
1003 | Tattr _ ->
1004 22
1005 | Tauto _ ->
1006 21
1007 | Tchar _ ->
1008 20
1009 | Tconst _ ->
1010 19
1011 | Tdouble _ ->
1012 18
1013 | Tenum _ ->
1014 17
1015 | Textern _ ->
1016 16
1017 | Tfloat _ ->
1018 15
1019 | Tinline _ ->
1020 14
1021 | Tint _ ->
1022 13
1023 | Tlist ->
1024 12
1025 | Tlong _ ->
1026 11
1027 | Tregister _ ->
1028 10
1029 | Tshort _ ->
1030 9
1031 | Tsigned _ ->
1032 8
1033 | Tstatic _ ->
1034 7
1035 | Tstruct _ ->
1036 6
1037 | Ttypedef _ ->
1038 5
1039 | Tunion _ ->
1040 4
1041 | Tunsigned _ ->
1042 3
1043 | Tvoid _ ->
1044 2
1045 | Tvolatile _ ->
1046 1
1047
1048 let error_terminal =
1049 0
1050
1051 let token2value : token -> Obj.t =
1052 fun _tok ->
1053 match _tok with
1054 | EOF ->
1055 Obj.repr ()
1056 | TAnd _v ->
1057 Obj.repr _v
1058 | TAndLog _v ->
1059 Obj.repr _v
1060 | TAny _v ->
1061 Obj.repr _v
1062 | TArob ->
1063 Obj.repr ()
1064 | TArobArob ->
1065 Obj.repr ()
1066 | TAssign _v ->
1067 Obj.repr _v
1068 | TBang _v ->
1069 Obj.repr _v
1070 | TBang0 ->
1071 Obj.repr ()
1072 | TBreak _v ->
1073 Obj.repr _v
1074 | TCBrace _v ->
1075 Obj.repr _v
1076 | TCCro _v ->
1077 Obj.repr _v
1078 | TCEllipsis _v ->
1079 Obj.repr _v
1080 | TCPar _v ->
1081 Obj.repr _v
1082 | TCPar0 _v ->
1083 Obj.repr _v
1084 | TCase _v ->
1085 Obj.repr _v
1086 | TChar _v ->
1087 Obj.repr _v
1088 | TComma _v ->
1089 Obj.repr _v
1090 | TConstant ->
1091 Obj.repr ()
1092 | TContext ->
1093 Obj.repr ()
1094 | TContinue _v ->
1095 Obj.repr _v
1096 | TCppConcatOp ->
1097 Obj.repr ()
1098 | TDec _v ->
1099 Obj.repr _v
1100 | TDeclarer ->
1101 Obj.repr ()
1102 | TDeclarerId _v ->
1103 Obj.repr _v
1104 | TDefault _v ->
1105 Obj.repr _v
1106 | TDefine _v ->
1107 Obj.repr _v
1108 | TDefineParam _v ->
1109 Obj.repr _v
1110 | TDepends ->
1111 Obj.repr ()
1112 | TDisable ->
1113 Obj.repr ()
1114 | TDmOp _v ->
1115 Obj.repr _v
1116 | TDo _v ->
1117 Obj.repr _v
1118 | TDot _v ->
1119 Obj.repr _v
1120 | TDotDot _v ->
1121 Obj.repr _v
1122 | TEllipsis _v ->
1123 Obj.repr _v
1124 | TElse _v ->
1125 Obj.repr _v
1126 | TEq _v ->
1127 Obj.repr _v
1128 | TEqEq _v ->
1129 Obj.repr _v
1130 | TError ->
1131 Obj.repr ()
1132 | TEver ->
1133 Obj.repr ()
1134 | TExists ->
1135 Obj.repr ()
1136 | TExpression ->
1137 Obj.repr ()
1138 | TExtends ->
1139 Obj.repr ()
1140 | TFinalize ->
1141 Obj.repr ()
1142 | TFloat _v ->
1143 Obj.repr _v
1144 | TFor _v ->
1145 Obj.repr _v
1146 | TForall ->
1147 Obj.repr ()
1148 | TFresh ->
1149 Obj.repr ()
1150 | TFunDecl _v ->
1151 Obj.repr _v
1152 | TFunction ->
1153 Obj.repr ()
1154 | TGenerated ->
1155 Obj.repr ()
1156 | TGoto _v ->
1157 Obj.repr _v
1158 | TIdExpression ->
1159 Obj.repr ()
1160 | TIdent _v ->
1161 Obj.repr _v
1162 | TIdentifier ->
1163 Obj.repr ()
1164 | TIf _v ->
1165 Obj.repr _v
1166 | TInc _v ->
1167 Obj.repr _v
1168 | TIncludeL _v ->
1169 Obj.repr _v
1170 | TIncludeNL _v ->
1171 Obj.repr _v
1172 | TInitialiser ->
1173 Obj.repr ()
1174 | TInitialize ->
1175 Obj.repr ()
1176 | TInt _v ->
1177 Obj.repr _v
1178 | TInvalid ->
1179 Obj.repr ()
1180 | TIso ->
1181 Obj.repr ()
1182 | TIsoArgExpression ->
1183 Obj.repr ()
1184 | TIsoDeclaration ->
1185 Obj.repr ()
1186 | TIsoExpression ->
1187 Obj.repr ()
1188 | TIsoStatement ->
1189 Obj.repr ()
1190 | TIsoTestExpression ->
1191 Obj.repr ()
1192 | TIsoToTestExpression ->
1193 Obj.repr ()
1194 | TIsoTopLevel ->
1195 Obj.repr ()
1196 | TIsoType ->
1197 Obj.repr ()
1198 | TIterator ->
1199 Obj.repr ()
1200 | TIteratorId _v ->
1201 Obj.repr _v
1202 | TLineEnd _v ->
1203 Obj.repr _v
1204 | TLocal ->
1205 Obj.repr ()
1206 | TLogOp _v ->
1207 Obj.repr _v
1208 | TMPtVirg ->
1209 Obj.repr ()
1210 | TMetaConst _v ->
1211 Obj.repr _v
1212 | TMetaDeclarer _v ->
1213 Obj.repr _v
1214 | TMetaErr _v ->
1215 Obj.repr _v
1216 | TMetaExp _v ->
1217 Obj.repr _v
1218 | TMetaExpList _v ->
1219 Obj.repr _v
1220 | TMetaFunc _v ->
1221 Obj.repr _v
1222 | TMetaId _v ->
1223 Obj.repr _v
1224 | TMetaIdExp _v ->
1225 Obj.repr _v
1226 | TMetaInit _v ->
1227 Obj.repr _v
1228 | TMetaIterator _v ->
1229 Obj.repr _v
1230 | TMetaLocalFunc _v ->
1231 Obj.repr _v
1232 | TMetaLocalIdExp _v ->
1233 Obj.repr _v
1234 | TMetaParam _v ->
1235 Obj.repr _v
1236 | TMetaParamList _v ->
1237 Obj.repr _v
1238 | TMetaPos _v ->
1239 Obj.repr _v
1240 | TMetaStm _v ->
1241 Obj.repr _v
1242 | TMetaStmList _v ->
1243 Obj.repr _v
1244 | TMetaType _v ->
1245 Obj.repr _v
1246 | TMid0 _v ->
1247 Obj.repr _v
1248 | TMinus _v ->
1249 Obj.repr _v
1250 | TMinusFile _v ->
1251 Obj.repr _v
1252 | TMul _v ->
1253 Obj.repr _v
1254 | TName ->
1255 Obj.repr ()
1256 | TNever ->
1257 Obj.repr ()
1258 | TNotEq _v ->
1259 Obj.repr _v
1260 | TNothing ->
1261 Obj.repr ()
1262 | TOBrace _v ->
1263 Obj.repr _v
1264 | TOCro _v ->
1265 Obj.repr _v
1266 | TOEllipsis _v ->
1267 Obj.repr _v
1268 | TOInit _v ->
1269 Obj.repr _v
1270 | TOPar _v ->
1271 Obj.repr _v
1272 | TOPar0 _v ->
1273 Obj.repr _v
1274 | TOn ->
1275 Obj.repr ()
1276 | TOr _v ->
1277 Obj.repr _v
1278 | TOrLog _v ->
1279 Obj.repr _v
1280 | TPArob ->
1281 Obj.repr ()
1282 | TPCEllipsis _v ->
1283 Obj.repr _v
1284 | TPOEllipsis _v ->
1285 Obj.repr _v
1286 | TParameter ->
1287 Obj.repr ()
1288 | TPathIsoFile _v ->
1289 Obj.repr _v
1290 | TPlus _v ->
1291 Obj.repr _v
1292 | TPlus0 ->
1293 Obj.repr ()
1294 | TPlusFile _v ->
1295 Obj.repr _v
1296 | TPosAny ->
1297 Obj.repr ()
1298 | TPosition ->
1299 Obj.repr ()
1300 | TPragma _v ->
1301 Obj.repr _v
1302 | TPtVirg _v ->
1303 Obj.repr _v
1304 | TPtrOp _v ->
1305 Obj.repr _v
1306 | TPure ->
1307 Obj.repr ()
1308 | TReturn _v ->
1309 Obj.repr _v
1310 | TRightIso ->
1311 Obj.repr ()
1312 | TRuleName _v ->
1313 Obj.repr _v
1314 | TScript ->
1315 Obj.repr ()
1316 | TScriptData _v ->
1317 Obj.repr _v
1318 | TShOp _v ->
1319 Obj.repr _v
1320 | TSizeof _v ->
1321 Obj.repr _v
1322 | TStatement ->
1323 Obj.repr ()
1324 | TStrict _v ->
1325 Obj.repr _v
1326 | TString _v ->
1327 Obj.repr _v
1328 | TSub _v ->
1329 Obj.repr _v
1330 | TSwitch _v ->
1331 Obj.repr _v
1332 | TTilde _v ->
1333 Obj.repr _v
1334 | TTildeEq _v ->
1335 Obj.repr _v
1336 | TTildeExclEq _v ->
1337 Obj.repr _v
1338 | TType ->
1339 Obj.repr ()
1340 | TTypeId _v ->
1341 Obj.repr _v
1342 | TTypedef ->
1343 Obj.repr ()
1344 | TUsing ->
1345 Obj.repr ()
1346 | TVirtual ->
1347 Obj.repr ()
1348 | TWhen _v ->
1349 Obj.repr _v
1350 | TWhenFalse _v ->
1351 Obj.repr _v
1352 | TWhenTrue _v ->
1353 Obj.repr _v
1354 | TWhile _v ->
1355 Obj.repr _v
1356 | TWhy _v ->
1357 Obj.repr _v
1358 | TWhy0 ->
1359 Obj.repr ()
1360 | TWords ->
1361 Obj.repr ()
1362 | TXor _v ->
1363 Obj.repr _v
1364 | Tattr _v ->
1365 Obj.repr _v
1366 | Tauto _v ->
1367 Obj.repr _v
1368 | Tchar _v ->
1369 Obj.repr _v
1370 | Tconst _v ->
1371 Obj.repr _v
1372 | Tdouble _v ->
1373 Obj.repr _v
1374 | Tenum _v ->
1375 Obj.repr _v
1376 | Textern _v ->
1377 Obj.repr _v
1378 | Tfloat _v ->
1379 Obj.repr _v
1380 | Tinline _v ->
1381 Obj.repr _v
1382 | Tint _v ->
1383 Obj.repr _v
1384 | Tlist ->
1385 Obj.repr ()
1386 | Tlong _v ->
1387 Obj.repr _v
1388 | Tregister _v ->
1389 Obj.repr _v
1390 | Tshort _v ->
1391 Obj.repr _v
1392 | Tsigned _v ->
1393 Obj.repr _v
1394 | Tstatic _v ->
1395 Obj.repr _v
1396 | Tstruct _v ->
1397 Obj.repr _v
1398 | Ttypedef _v ->
1399 Obj.repr _v
1400 | Tunion _v ->
1401 Obj.repr _v
1402 | Tunsigned _v ->
1403 Obj.repr _v
1404 | Tvoid _v ->
1405 Obj.repr _v
1406 | Tvolatile _v ->
1407 Obj.repr _v
1408
1409 let default_reduction =
1410 (16, "\000\000\000\000\002\158\000z\000\000\000\000\002\231\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\137\000\000\000\000\000\138\000\000\000\000\001y\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\030\003\029\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\020\000\000\000\000\000\000\000\000\000\000\003\025\000\000\000\000\000\168\000\000\003\027\000\000\000\000\000\000\003\152\002h\000\000\003\150\000\000\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\149\003\151\002n\001?\002m\001=\001>\002l\002k\002j\002f\000\000\000\000\002g\001\012\000\000\002i\000\000\003\148\000\000\000c\001<\002I\000\000\000\000\002L\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002e\002q\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\002$\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002O\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\011\000\209\000\000\000\000\000n\000o\002\n\001\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\236\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\129\000\000\000\000\003\022\000\000\003\021\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\024\003\028\000\189\000\000\000\000\001\027\000\000\000\000\002J\002M\000\000\002K\002N\003{\003|\003z\000\000\002o\003y\000\000\002\137\000\000\000\000\002\136\002\135\002\134\002\133\002\132\002\128\000\000\000\000\002\129\000\000\002\131\000\000\000\000\000g\002W\000\000\000\000\002Z\000\000\000\000\002]\000\000\000\000\002X\002[\000\000\002Y\002\\\002\139\002\127\003\137\003\138\003\136\003\135\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\245\000\000\000\000\000\000\000\000\000\000\001\017\001\251\000\000\000\000\001\161\000U\0001\001\n\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002p\000\000\000\204\000\000\000\000\001\230\000\000\001\151\001\211\000\000\000\000\001\229\000\000\001\149\001\210\000\000\000\000\000d\000\000\002\138\000\000\000\000\003\140\003\139\000\000\001\246\000\000\000\000\003~\003}\000\000\000Q\000\205\000\000\001{\000\000\003\023\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001c\000\000\001b\000\000\001q\000\000\001\139\000\000\000\000\000\000\003N\000\000\000\000\003A\000\000\000\000\003F\003E\000\000\003B\000\000\003@\000\000\000\000\000\000\003D\000\000\003C\000\000\000\000\003:\000\000\000\000\003?\003>\000\000\003;\000\000\0039\000\000\000\000\000\000\003=\000\000\003<\000\000\003H\000\000\000\000\003M\003L\000\000\003I\000\000\003P\000\000\000\000\003Q\000\000\003O\000\000\003G\000\000\003V\000\000\000\000\000\000\003K\000\000\000\000\003u\000\000\000\000\000\000\000\000\003U\003J\000\000\003w\000\000\000\000\002\247\003v\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003S\000\000\000\000\000\000\000\000\003T\003R\000\000\000\000\003l\000\000\000\000\003_\000\000\000\000\003d\003c\000\000\003`\000\000\003^\000\000\000\000\000\000\003b\000\000\003a\000\000\000\000\003X\000\000\000\000\003]\003\\\000\000\003Y\000\000\003W\000\000\000\000\000\000\003[\000\000\003Z\000\000\003f\000\000\000\000\003k\003j\000\000\003g\000\000\003n\000\000\000\000\003o\000\000\003m\000\000\003e\000\000\003t\000\000\000\000\000\000\003i\000\000\000\000\000\000\000\000\003s\003h\000\000\000\000\000\000\000\000\003q\000\000\000\000\000\000\000\000\003r\003p\003\016\003\018\003\019\003\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002u\000\000\000\000\000\000\002}\000\000\000\000\002|\000\000\003\133\002{\002z\002y\002x\002w\001_\002s\000\000\000\000\002t\000\000\002v\000\000\000\000\000\000\000\000\000\000\000e\002P\000\000\000\000\002S\000\000\000\000\002V\000\000\000\000\002Q\002T\000\000\002R\002U\002~\002r\000f\003\130\003\131\003\129\003\128\003\132\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001U\000\000\001\019\001R\000\000\001\007\001X\000\000\000\000\000\000\001Y\000\000\000\000\001Z\000\000\001\133\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001[\000\000\001W\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001^\001T\000\000\001S\000\000\000\242\000\000\002\225\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\143\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\149\002\148\002\147\002\146\002\145\002\141\000\000\000\000\002\142\000\000\002\144\000\000\000\000\000i\002^\000\000\000\000\002a\000\000\000\000\002d\000\000\000\000\002_\002b\000\000\002`\002c\002\152\002\140\003\144\003\145\003\143\003\142\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\151\000\000\001\212\000X\000?\001\031\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\003\146\000\000\003\007\000\000\003\006\000\000\000\000\000\000\000\000\003\159\000\000\000\000\000\000\003\160\000\000\000\018\000\000\000\000\000\000\003\155\000\000\001\163\000\000\000\000\000\000\000\222\002\253\001w\001v\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\014\001\015\000\255\000\000\001\135\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\t\000\000\003\008\002\250\000\000\000\000\000\000\000\000\000\000\003\003\000\000\000\000\000\000\000\000\003\004\002\252\000\000\003\n\000\000\002\254\000\000\000\226\001O\000\000\003\013\000\000\001Q\000\000\000\000\003$\000\000\003+\000\228\000\000\000\233\000\000\003%\000\227\000\000\003&\000\000\003-\000\000\000\000\000\000\000\000\000\246\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003.\003/\000\000\0030\000\000\0031\000\000\001P\003\001\000\000\000\000\001\234\000\000\001\159\001\216\000\000\002\251\000\000\000\000\000\000\003\000\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\012\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\231\000\000\0013\000\000\0014\000\000\001\153\001\213\000\000\000\000\000\000\001\241\000\000\001\239\000\000\000\000\001\243\001\237\000\000\001\244\001\238\000\000\003\014\001\247\000\000\000\225\000\000\000\000\001\232\000\000\001\155\001\214\000\000\003\156\000\000\003\153\000\000\003\154\000\019\000\020\000\000\000\000\002\203\000\000\002\202\000\000\000\000\002\205\000\000\002\204\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\027\000\000\000\000\002\030\000\000\002\014\000\000\000\000\002\017\000\000\000\000\000\000\002\021\000\000\000\000\002\025\000\000\000\000\001\233\000\000\000\000\002\018\000\000\000\000\002\022\002\200\002\015\000\000\002\201\000\000\000\000\000\000\000\000\002\028\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\001\157\001\215\000\000\002\206\000\000\000\000\000\000\003\157\000\017\000u\000\000\003\158\000\000\000\000\002\221\000\000\000\000\003\015\000a\000\000\000\000\000\000\000b\000\000\003\005\000\000\001}\000\000\001\131\003\002\000\000\000\000\001i\000\000\001h\000\000\001r\000\000\001\145\000\000\000\000\000\000\001g\000\000\001f\000\000\001o\000\000\001\143\000\000\000\000\000\000\001n\000\000\000\000\000\000\001k\000\000\001j\000\000\001p\000\000\001\147\000\000\000\000\000\000\001l\000\000\000\000\000\000\001e\000\000\001d\000\000\001s\000\000\001\141\000\000\000\000\000\000\001m\000\002\000\000\000N\000O\000\000\000\000\002\168\002\172\002\176\002\164\002\161\000\000\000\000\002\173\002\180\002\165\002\179\002\163\002\178\002\167\002\159\002\166\002\175\002\162\002\169\002\160\002\171\002\177\002\174\002\170\001\179\001\178\000\128\000\000\000\000\002\243\000\000\000\000\002\215\000\000\000\000\002\217\002\216\002\190\000\000\000\000\002\249\002\182\002\181\002\183\000\000\001\191\000M\001t\000\003\000\000\000\000\002\155\000\000\002\"\000\000\000\129\000\000\000\000\002\245\000\000\000\000\000\000\000y\000\000\000\000\002\229\000\000\002\007\002\006\001\173\002\191\000\000\001\207\000\000\002\156\000\000\000\000\000{\000\000\000\000\002\233\000\000\001\188\000\000\000\000\001\184\000\000\000\000\000\000\001\187\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\208\000\000\001\182\000\000\001\181\000\000\000v\000\000\000\000\002\223\000\000\000\000\001\177\000\000\000\000\000~\000\000\000\000\002\239\000\000\000\000\002\198\000\000\002\197\000\000\000\000\000\000\002\005\002\004\002\195\002*\002\186\002\196\000\000\001\194\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\001\185\000\000\000\000\000\000\002\188\000\127\000\000\000\000\002\241\000\000\002\187\000\000\001\192\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\253\000|\000\000\000\000\002\235\000\000\000\000\000\000\000\000\003 \003\031\000\000\000\000\001F\000x\001E\000\000\000\000\002\227\000\000\001\255\001\254\002\001\002\184\002&\002\000\000\000\000}\000\000\000\000\002\237\000\000\000\000\000\000\000\000\002\003\002\002\002\194\002\192\002(\002\185\002\193\000\000\001\201\000\000\001\205\000\000\000\000\001\197\000\000\000\000\000\000\001\189\000\000\001\195\000\000\000\000\000\000\000\000\001\176\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\200\000\000\000\000\001\199\000\000\001\198\000\000\000\000\000\000\000\000\001\202\000\000\001\206\000\000\000\000\001u\000\004\000\000\001\180\000\005\000\000\000\000\001#\000\006\000\000\001\220\001\221\001\219\000\000\001\218\003!\001\169\000\000\000\007\000\000\001\223\001\224\001\222\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\001*\001,\001+\001&\001(\001'\000\000\000\000\000\000\000\000\000\000\003'\0034\000\000\003(\000\000\003)\000\000\000\000\003\"\000\000\000\000\000\000\000\000\0033\000\000\000\000\0032\001\228\001\227\000\000\000\000\001\171\001\217\001\225\000\000\000\000\000\000\000\000\002\t\000\000\000\000\000l\000m\002\008\000\000\000\000\000\000\000\218\000\000\001\127\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0037\000\000\0038\000\000\000\000\001\250\001\248\000\000\001\249\000\008\000\000\000\t\000\000\0029\002:\0028\000\000\0027\000\000\000\n\000\000\002<\002=\002;\000\000\002?\000\000\000\000\000\000\0021\000\000\000\000\0023\000\000\002-\000\000\002/\000\000\0024\000\000\0025\000\000\002.\002,\002@\001\175\0026\000\000\002B\000\000\002A\000\000\002C\000\000\002\199\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002D\000\000\000\000\002G\000\000\002F\000\000\002E\001\002\000\000\000\000\000\000\000\000\001\003\002H\000\000\000\000\002\210\000\000\000\000\000\000\000\000\002\211\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\219\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001a\000\000\002\209\001\167\001\165\000\000\000\000\000\000\000\000\002\212\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\000\000\000\000\000\000\000\000\002\207\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\002\213")
1411
1412 let error =
1413 (178, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\016\192\000\000\129\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018\168h\005\001\013P@Hf\004`4\002!\222\t\000\0029\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\163\128\000\0001\000\001\000\024\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\008\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016B \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008'\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\t\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\019\004\217d\176\000\001@\008\016\000\003t\004'\135p\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000DA\006\001,\000\000P\002\000\000\000\217\000\t\161\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\013\144\000\158\029\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000`\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\002\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000D$\004`\016\002\000\132\000\000\000\t\144\197\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\004\000\000\000\008\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\128\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\173W\128\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\017\t\001\024\004\000\128!\000\000\000\002d1z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000\137\"\000H4\n\131?@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\002\004Y$\160\000\001\000\000\016\000\003T\004\001\004`\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\003D\000\001\004`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000 $\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\030\181^\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\004\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000^\181^\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\000\128\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\003\024\128\000\t\000\008v\130@\000\140\000\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\002\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\192!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\129\006I(\000\000@\000\004\000\000\133\001\008\000\024\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\0030\1603\180\000\006\018\001\001P\004\016H \000\000\018\000\000D\1936Y,\000\000P\002\004\000\000\221\001\tA\220\000\000\000\008\t \000@3\n\003;@\000a \016\021\000A\004\130\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\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\003\004\025$\176\000\001\000\000\016\000\0034\004$\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\t \000@3\n\003;@\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@D\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\t \000@3\n\003;@\000a \016\017\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\146\000\004\0030\1603\180\000\006\018\001\001P\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000F\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\128\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\018=F\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008'\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000D\1936Y,\000\000P\002\004\000\000\213\001\001A\220\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000DA6\017,\000\000P\002\000\000\000\209\000\001A\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003w\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128A \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255_\193\2264\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\000A\016\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\016\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\t\255\215\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\135\136\210(\004\003\024\190;\188`\006z\147\000\008\245\028k0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\018\013B\248\238\240\128\025\234\012\001#TP\160\159\253\127\004\008\210(\004\131P\174;\188 \006z\131\000H\213\016h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \016H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\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\008\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\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\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255_\193\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\135\136\210(\004\003\024\190;\188`\006z\147\000\008\245\028k0\000\000\000\000\000\000\000\000\000\000\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\031\253\127\004\008\210(\004\003\024\174;\188`\006z\131\000\008\213\016( \000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\241\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\0170M\150K\000\016\020\000\129 \0007@@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000@\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001\000\198+\142\239\024\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\n\227\187\198\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\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\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\000\004`\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\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\007\255\127\225\0024\142\0010\212/\142\239\024\003\158\164\1922=GZ\204\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\245\028h \000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\016\000\000\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\131P\190;\188 \006z\131\000H\245\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\141QB\130\000\000\000\000\000\000\000\002\001\000@\000\000\000\000\000\000\001\000\000\016\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\213\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\016\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000@F\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\008\000\000\000@\000\001\000\023\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\003\001\000\000\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\007\255_\193\0024\142\0010\212+\142\239\008\003\158\160\192\0185DJ\013\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\142\0010\212+\142\239\008\003\158\160\192\0185DJ\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\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\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"H\160\016\012\002\160\206\240\000\024H\004\000\000T@\160\128\000\000\000\000\146\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\253\127\000\008\146(\004\003\000\1683\188\000\006\018\001\000\000\021\016( \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\173W\128\002\000\008\000\000\128\002\000\000\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 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\128\000\000\000\000\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\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$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\002\000\008\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\007\191_\192\002$\138\001\000\192*\012\239\000\001\132\128@\000\005D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004\012\016d\146\192\004\004\000\000H\000\012P\016\016\017\128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131?@\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000@\004\004`\000\000\000\128\000\000\000\001\000\000\000\000\000\000\000\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\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\002\000\000\000\000\000\000\000\000\000\000\001\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\018=F\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\192!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\023\255_\192\002\000\008\000\000\128\002\000\002\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\225\001\192BD\144!\000\128\000\t\000\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\008\005\001\001\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\000\008\000\000\000\000\000\000\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\000\000\000\000\000\000\001\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\028\004$A\002\016\008\000\000\144\000\133 $\000\008\192\000\007\173W\128\007\001\008\000@\132\002\000\000$\000!H\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\132\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\128\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\028\004$\001\002\016\008\000\000\144\000\133 $\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\192B\000\016!\000\128\000\t\000\008R\002@\000\132\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\016\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\000\016\000\000)\000\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000!\000\000\002\144\000\135h$\000\008\224\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 \020\004$A\000!\128\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\004\000\000\002\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\128\008\005\001\t\016@\004@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\193\t\016@\001@\000\000\164\000!\218\t\000\0028\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\021\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\129P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\128\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\t\t\016@\t@\000\000\164\000!\218\t\000\0028\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000`\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\016\000\000\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\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\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \023\004$A\000\005\000\000\002\144\000\135h$\000\008\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\215\136\007\001\t\016@\132B\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\008\000\128P\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \023$$A\000\005\128\000\002\144\000\135h$\000\008\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 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\030\183^ \028\004$A\002\017\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\181^\016\028\004$I\002\016\008\000\000\144\000\133($\000\008\192\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\003\128\206\208\000\008H\004\001\000\016@ \128\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\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\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\015C\184\238\240\128\025\234L\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244+\142\239\008\001\158\164\192\0185D\n\205\239\223\248\000\128\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \000\128\000\008\000 \000\000\000\000\000@\000\000\000\000\000\030\253\255\128\008\000 \000\002\000\008\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\004\138\024\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\136\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\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\001\255\215\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\253\255\128\008\000 \000\002\000\008\000\000\000\000\002\016\000\000\000\000\000\000\018(`\000\000\000\000\000@\000\004`\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\004\000\000\000\008\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\240\128\025\234\012\001#TA\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\016\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\131P\174;\188 \006z\131\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\0001\000\000\000\000\000\002\002\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\128\001 \2088\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244;\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\015B\184\238\240\128\025\234L\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001\000\198+\142\239\008\001\158\164\192\0025D\n\204\000\000\000\000\000\000\000\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016#H\160\016\012b\184\238\240\128\025\234L\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \212+\142\239\008\001\158\164\192\0185D\n\205\255\223\248@\141\"\128@1\138\227\187\194\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\002\016\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\001\000\000\000\000\000\000\000\000\004\t\019\192\012\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\008\000\000\000\008\000\000\000\000\000\000\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\128\000\000\000\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \004\000\000\000\000\000\000\128\000\004\008\000\000\000\000\000\000\000 \000\000\000 \000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\0040\002\000\002\001@\000\000\000\000\000\008\000\000@\128\000\000\000\000\000\000\002\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\016\000\000\000\000\000\000\000\0040\002\000\000\001@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\004p\003\000\000\001\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\016\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\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\000C\000 \002\000\016\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\004p\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\192\000\000@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\0040\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\002\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\002\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")
1414
1415 let action =
1416 ((16, "\000\136\000\193\000\000\000\000\t\156\000\193\000\000\000\000\000\021\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\136\000\000\001^,4\000\000\018\212\018\212\000\000\000\000*L\018\212\000\000<\208\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000%\000B\018\212\000\000\018\212\000\000\000\000\000\000*\180\018\212\000\000<\220\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000|\000\244\018\212\000\000\018\212\000\000\018\212\000\000=\012\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\000\000\000\000\018\212\000\000\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000\252\001\180\018\212\000\000,4<\208I,\000\000\021@\002&-\176\000EI,\000\000\001\188\018\212\000\000I,\000\000\000w\003z/\226\000\000\000\0009\138\000\000=\212\000\000>`-\228-\228\0206\0206=\212\0206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\022-\228\000\000\000\000:\022\000\000:\022\000\000-\228\000\000\000\000\000\000\023\186\000w\000\000\0206\000\000+F-\228\027\232-\228\000\000\000\000\000\000\000\000\000\000\000\000\030\198-\228\031\192-\228 \030-\228!\024-\228\000\000-\228\000\000-\228!v-\228\"p-\228\"\206-\228#\200-\228$&/\226\002\"-\228\000\000\000\000\000\000\000\000\000\000-\228% -\228%~-\228&x-\228\000\000\000\000-\228\000\000\000\000\002x\000\000\000\000\000\000\000\000\001\182\018\212\000\000\000\252\018\212\000\000>\226\018\212\000\000\000\000\018\212\000\000\018\212\000\000\002\180\003\002\018\212\000\000\018\212\000\000\007\230\018\212\000\000?\022\018\212\000\000\000\000\018\212\000\000\018\212\000\000\0030\003\226\018\212\000\000\018\212\000\000\018\212\000\000?\"\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\018\212\000\000\018\212\000\000\018\212\000\000\018\212\000\000\003\218\004\006\018\212\000\000= I,\003\238\018\212\000\000I\160IX\000\000\000\031\004\178\000w\004\028\004\230-\176\000\000\000\000\000)JZ\000\000\000\000\000\000\000\000\005\218\005X\000E\005\146-\176\001B-\176\000\000\000\000\004\234\000\000\005\006\005\210-\176\005\022\000\000\000\000\000\000\000)\000\000\0054\006.\000\000\0062\000\000\005\220\000\150I,\005p\018\212\000\000>\226I,\005t\018\212\000\000\000\000\000w\006Z\000\000\000\000\000\000\001v\0206\000\000-\228\005\130\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\005\136\000\000\000\000\005\144\000\000\005\148=\212\000\000\000\000\000\000\000\000\000\000\000\000@\020-\228\000\000@\020\000\000@\020=\212\000\000\000\000@\176\000w\000\000\0206\005\156\000\000-\228\005\208\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\166-\228\000\000-\228\000\000\000\000\005\214\000\000\000\000:\192\006\142-\228\006\\\000\000\000\000=\212\000\000\000\000\000\000\000\000\000\000\000\000J\234=\212Kv=\212K\166=\212K\234=\212\000\000=\212\000\000=\212LD=\212L\156=\212L\246=\212M:=\212Mj/\226\0062=\212\000\000=\212M\174=\212N\008=\212N`\006\016\000\000\006\"\000\000\000\132-\228\000\000\000\132\000\000\000\000\002\016,4\000\000\002\016\000\000\000\000\006\"-\228\000\000\006&\000\000\0206\0064\000\000\000\000\007\000\000\000\0206\0068\000\000\000\000\006:\000\000\000\000\003z\000\000\007(\000\000?\022I,\006H\018\212\000\000\000\000\006\226\000\000\006f\018\212\000\000\000\000\000\t,4\000\000,4\000\000\006X\000\000\000\t\000\000\016\150\030\198\018\170\000\000\008d\018\170\000\000\018\170\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\156\006\200\018\170\000\000\018\170\000\000\t\002\018\170\000\000\018\212\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\160\006\210\018\170\000\000\018\170\000\000\018\170\000\000\018\226\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\170\006\218\018\170\000\000,4\006\142\000\000\018\196I,\006\144\018\170\000\000\000\000\000=\000\000\002\028\000=\000\000\000\000\000\000\007|\000\000\001\020I,\006\154\018\170\000\000\018\212I,\006\158\018\170\000\000\000\000\007>\018\170\000\000\n\002\018\170\000\0000\174\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\212\007\002\018\170\000\000\018\170\000\000\n0\018\170\000\0000\198\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\220\007\012\018\170\000\000\018\170\000\000\018\170\000\0000\202\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\230\007\018\018\170\000\000\018\226I,\006\194\018\170\000\000\000\000\002bI,\006\196\018\170\000\0000\198I,\006\206\018\170\000\000\000\000\000\000\000\000\000\000\000\000\007\150-\228\006\220\021\246\007\156-\228\006\224\007\158-\176\000\000\000\000-\176\000w\000\000\001\192-\228'\152\000\000@\246-\228\006\236\000\000\0206\006\236\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\160-\228\000\000A\160\000\000A\160B,\0206\006\246B,\000\000\000\000J\\\000w\000\000\0206\006\252\000\000-\228\007\022\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\228\001,-\228\007\026\000\000\000\000(B\026(&\196\007\230-\228\000\000\007\184\000\000\000\000\000w\000\000\000\000;\\\007n'\152\000\000\007p'\152\000\000\001L\000\000\000\000\023FB,\0312B,*\190B,90B,\000\000B,\000\000B,N\160B,N\194B,O\006B,OFB,O\192B,P\000B,P@B,P\146\000\000\007D\000\000\007T(\236\000\000)\150\007^)\150,\"\007`)\150\000\000\000\000\000\000\000\000\000\000\007V\000\000\008<\000\000\000w\000\000\001\192\008>\000\000\004F\008\020\000w\007j\008,-\176\007p\002*\000\000-\228\008R\000\000\005\252\006\174\0084-\176\007z\008`\000\000\002.-\228\008d\000\000\008l\000\000\005\220\000w\002\190-\228\008p\000\000\008t\000\000\000w\003t-\228\008v\000\000\008x\000\000\001\018\007\196\006\232\000\000B\184CD\0206\007\160\000\000\007\172CD\000\000\000\000\000\000\000\000\000\000\000\000C\208-\228\000\000C\208\000\000C\208CD\000\000\000\000\026\134\000w\000\000\0206\007\174\000\000-\228\007\172\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\204-\228\000\000-\228\000\000\007\186\000\000\000\132\000\000\000\000\000\000\000\000\000\0001\176CD1\224CD2\234CD3\026CD\000\000CD\000\000CD4$CD4TCD5^CD5\142CD6\152/\226\007\242CD\000\000CD6\200CD7\210CD8\002\0206\007\206\000\000\000\000-\228\000\000\008\180\000\000\001`\008\138-\228\008T\000\000\008\142-\228\008X\000\000\000\031\000\000\006\232\006\232\001`\000\000\001`\000\000\016\150\006\232\006\232\000\000\000\000\000\000\000\000\000\000\000\000\008\158-\228\007\228\021\246\022\198\000w\008\202\000\000\008\172/\226\008\214/\226\008\218-\228\008\002\021\246\021\246\000w\002^\001T\000\000\000\000\000\000\002^\000\000\003,\000w\000\000\000\000\008\004\000\000\000\000\000\000\008\238\000\000\008\242\000\000\000\000\t(\008\214-\228\008\"\t\002\000\000\008\232\0206\008,\021\246\000\000\000\000\008Z\000\000\000\015\000\000\005\134\000\000\000\000\001`\000\000\008\176\000\000\012p\004\020\000\000\012p\000\000\000\000\025\028\000\000\004\020\000\000\000\000\t\172\000\000\012p\000\000\008\248\0206\008>\t \000\000\000%\000\000\008\242\000w\008J\t\012-\176\008T\002\146\000\000-\228\t>\000\000\t>-\176\008\144\tv\000\000\004\028-\228\tz\000\000\t|\000\000\005\220\000w\004\156-\228\t~\000\000\t\128\000\000\000\000\000\000\t\172\000\000\000\000\004\020\000\000\006\232\000\000\000%\000\000\000\000\003^\022\198\000\000\003^\000\000\000\000\008\168\000\000\003:\000\003\021\246\000\000\004$\000O\004$\000\000\000\015\000\000\006\232\000\000\006\232\000\000\000\000\000\000\008\164\000\000\000\000\008\182\000\000\004\216\005\134\001V\004$\000\000\000\000\000\000\008J\000\000\006\232\000\000\004\216\000\000\000\000\003\022\000\015\016\150\000\000\000\015\000\000\008J\016\150\000\000\000\000\008J\000\000\000\000\008\182\000\000\000\000\008\188\000\000\004\222\006\232\000\000\004\222\000\000\000\000\t8\000\000\004\020\000\000\006\232\000\000\000\000\000\000\017\2368\254\000\000\t\160\000\000\017\236\t\164\000\000\t\168\000\000-\176\000w\003\140\000\000-\228\t\172\000\000\005\166\t~\000w\008\214\t\150-\176\008\220\003\180\000\000-\228\t\188\000\000\003\244\000\000-\228\t\196\000\000\005\220\000w\004,\000\000-\228\t\198\000\000\005*\017\236\000\000\025\028\004\192\000\000-\228\t\214\000\000\000\000\000\000\003\250\000\000\t\186\0206\t\006\t\236\000\000\007\n\000\000\t\190\000w\t\"\t\234-\176\t0\005\156\000\000-\228\n\020\000\000\005\160\000\000-\228\n\022\000\000\005\220\000w\005\172\000\000-\228\n\024\000\000\005*\000\000\000\000\t>\000\000\003\250\008\230\t\184\000\000\000\000\000\000\t\186\000\000\0020\000\031\000\000\016\150\n\012\000\000\000\000-\228\tn\006\232\000\000\tH\000\000\001\018\000\000-\176\000\000\000\000\002\190\016\150\000\000\016\150\000\000\t6\000\000\002\190\000\000-\228\003\138-\228\000\000-\228\000\000\tN\000\000\003\138\000\000-\228\003\138\tP\000\000\021\246\004 \021\246\000\000\021\246\000\000\tV\000\000\004 \000\000-\228\003\138\tX\000\000-\176\004\226-\176\000\000-\176\000\000\t^\000\000\004\226\000\000-\228\003\138\t`\000\000\000\000\025\028\000\000\000\000\t\206.\194\000\000\000\000\000\000\000\000\000\000\t\170\004$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202.\194\000\000\004\132\000x\000\000\t\172\000\193\000\000\000\000\000\000\004\130\000x\000\000\000\000\000\000\000\000\n\n\000\000\000\000\000\000\000\000\027\232\029J\000\000D\142\000\000.\194\000\000\0016.\194\000\000\000?\000K\000K\000\000\002L\000K\000\000\t\136\000\000\000\000\000\000\000\000\n\024\000\000\029\196\000\000\030\198.\194\000\000\000W.\194\000\000\n\028\000\000.\194\n \000\000F\022/P\n$\000\000\n(\000\000F\194;\216.\194\t\166.\194\n0\000\000\n2\000\000\n6\000\000,4\000\000\002\134,4\000\000\t\180\018\170\000\000\000\207.\194\000\000\005l.\194\000\000\003L\n\182\000\000\n\184\000\000.\194.\194\t\216\000\000\000\000\000\000\000\000\000\000\000\000\nt\000\000G\028.\194\nv\000\000\nx\000\000.\194\nz\000\000.\194\n$\000\193\000\000\000\000\005\230.\194\000\000\003L\000\000\n\128\000\000.\194\n\130\000\000D\252/P.\194\n\000.\194\n\134\000\000\n\136\000\000E\168\000\000\000\000\006\026.\194\000\000\002\194\000L\000K\n\008\000\000\000\000\000N\000N\000\000\000\000\000\000\003\186\000N\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000.\194\000\000\006f.\194\000\000\001`\004@\000\193\n\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\156\000\000\n\162\000\000.\194\n\164\000\000G\148.\194\n\172\000\000\n\182\000\000\021\140\n^G\238\018\196\000\000.\194\n\190\000\000\n\192\000\000\n\144\021\140.\194\n\200\000\000.\194\n\210\000\000\n\212\000\000.\194\nR.\194\n\224\000\000\n\228\000\000\000\193\nV\000\000\000\000\025\028\000\000\000\000\002z\011F\000\000\000\000\002\174\000\000\000\000\000\000-\228\000\000\000\000\000\000\002\194\000\000\004\248\000\000\000\000\000\000\004$-\176-\176-\176\000\000\002P\002P\002P\002P\000\000\000\000\000\000\000\000\000\000\000\000\001`\016\150\011<\013\210\000O\000\000\000\000\001&\000\000\t\172\000\000'\152\nn\000\000\001`\016\150\n\130\0154\000\000\001`\013\210\000\000\000\000\000\000-\176\006v\000\000\000\000\000\000\n\214\0014\011PI\160\000\000\004\136J\138\000\000\000\000\000\000\t~\011@\000w\000\000\004\136\000\000\004\176I\160\000\000\000\000\n\152\011P\006\232\n\150\000\000\001&\000\000\t\172\000\000;\002\004<\000\000\000\000\011<\000\000\000\000\002z\000\000\005\016\000\000\000\000\000\000-\228\000\000\002\194\000\000\005N\000\000\000\000\000\000\005\134\000\000\011\014\002\144\011\014\000\000\006\232\011\014\000\000\002\144\000\000\006\232\000\000\006\232\000\000\006\232\000\000\t:\000\000\000\000\000\000\000\000\000\000\006\232\000\000\002\144\000\000\006\232\000\000C\170\000\000\000\000\nj\n\200\000\193\005p\011d\003\004\000\000\003\004\011\140\000\000\011\142\000\000\011\144\000\000\000\000\004p\003\004\007r\003\004\000\000\000\000\004\174\n\152\000\000\n\216\000\193\005p\n\160\000\000\nj\011\164\000\000\n|\003P\011\182\000\215\011\182\000\000\000\000\002\030\000\193\000\000\001\152\000\000\000\000\002\178\000\000\n\178\000\000\000\000\000\000\n\238\000\193\005p\n\184\000\000\000\000\nj\n|\003P\002\030\001\152\002\178\n\186\000\000\n|\003P\002\030\001\152\002\178\n\192\000\000\000\193\000\000\011\194\001V\n\252\000\193\011X\000\000\011\000\000\193\011\\\000\000"), (16, "\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\021&\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\008}\014\218\011e\022\210\011\249\015\002\000\n\011e\011e\000&\015\014\011\249\001\"\016\138\022\006\011\249\011\249\001~\011\249\011e\007\189\011\249\022\002\007\150\016\022\011\249\011\249\011\249\000*\016\142\008\210\027\226\004>\014\218\007\189\011\157\011\249\001\"\015\006\011\249\011\249\006}\015\014\000\n\011e\011\249\011\249\006\173\011\249\001\230\011\249\0007\000;\012\226\001\242\011\249\001\"\011\249\011\249\011\249\011\249\011\249\015\138\017.\021&\011\249\011\249\011\249\000\n\011\249\011\249\011\249\000\n\011\249\011\249\011\249\011\249\000\006\000\"\021\146\011\249\011\249\016&\003\237\000\n\007\189\021\150\000\n\007\158\023\202\023\222\011\249\011\249\011\249\018Z\022N\011\249\011\249\011\249\011\249\018^\011\249\011\157\011\249\018b\000\150\011\249\006\173\004~\011\249\011\249\012\165\012\165\003:\016&\003B\012\165\003R\004^\017^\011\249\006\026\005\253\011\249\003Z\006\222\004\222\011\249\011\249\011\249\011\249\021\162\011\249\023\226\011\249\000\154\007\189\019\214\011\249\011\249\011\249\000\n\011\249\006}\011\249\011\249\001\"\011\249\007\189\011\249\011\249\006%\003b\011\249\011\249\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000.\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000\n\016\022\011\197\028\130\006\133\014\222\014\238\014\254\000\226\003r\014\218\006\133\008\246\022\234\022\242\006\133\006\133\023\198\006\133\015\014\028\146\006\133\003.\0036\000\170\006\133\000\174\006\133\003z\003\190\006U\003\198\001\"\003\214\014\218\003\222\006\133\003\230\003\242\011n\003\250\006\029\006\029\015\014\001\230\006\133\006\133\000\230\001\238\001\242\006\133\006\133\024.\004\213\004\002\006\133\011\205\006\133\006\133\006\133\006\133\006\133\021\130\000\n\001\"\006\133\006\133\006\133\004\n\006\133\006\133\006\133\001R\006\133\006\133\006\133\006\133\008\153\011}\000\n\006\133\006\133\000N\007\182\020R\020z\020\138\020\178\020\194\020\234\013V\016&\006\133\006\133\011v\000\n\006\133\006\133\006\133\006\133\020\002\006\133\004\026\006\133\nR\005\237\006\133\nV\006\013\006\133\006\133\025r\011\170\nZ\015\146\016&\021\246\011\130\n^\025v\012\165\012\165\004\138\006\133\011\213\012\165\003i\006\133\006\133\006\133\006\133\012\210\006\133\011}\006\133\004\213\027\254\008\153\006\133\006\133\006\133\004u\028\002\001V\006\133\006\133\006\246\006\133\005\030\006\133\006\133\001v\004e\006\133\006\133\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\n\158\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\004u\n*\006\157\006\157\016\022\016\170\011m\012\158\006\157\006\157\006\157\006\157\001\138\014\218\006\157\006\157\023\198\006\157\006\157\025\022\006\157\001\"\015\014\0202\006\157\006\149\006\157\011}\006\157\006\157\006\149\006\149\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\002\206\012\214\027\242\013\002\006\157\006\157\006\157\006\157\004\161\006\157\006M\023\218\000\n\008\218\006\157\025\022\006\157\027j\006\157\006\157\006\157\006\157\012\158\019\234\006\157\006\157\006\157\006\149\006\157\006\157\006\157\016\138\006\157\006\157\006\157\006\157\008\145\022\018\027n\027\218\006\157\022\234\022\242\006\157\011\141\027r\015\142\016\142\020:\016\022\006\021\006\157\006\157\016\174\016&\006\157\006\157\006\157\006\157\006\246\006\157\006\157\006\157\003\026\028\n\006\157\022\186\001\230\006\157\006\157\006\157\012\226\001\242\011u\003f\013\"\006\157\006\222\011}\006\157\022\250\005\229\006\157\008\189\008\189\020Z\006\157\006\157\008\189\006\157\018\150\006\157\003j\006\157\012\158\017:\008\145\006\157\025'\025+\001\162\005}\000\n\025/\006\157\008\161\006\157\027z\006\157\006\157\018\198\006=\006\157\006\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\018\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\003\170\021\022\006\141\027\130\nb\006M\018\218\006\141\006\141\0196\021\026\001F\021\030\015\170\020b\001\166\nr\003\241\013^\006\141\021\"\013b\016\022\006U\020\146\001N\011}\014\202\021.\008\161\013>\014\218\0212\005\229\018\246\026\135\001\178\006\222\0216\025\150\015\014\006u\018\154\026\139\006\141\015\"\013j\025\194\025\206\012\158\015&\017j\005\229\026\142\021:\001\218\005\229\001\222\004\177\001b\016\030\015.\018\202\012\182\0242\013~\001\230\0152\003\174\013\130\011\138\001\242\012\165\013\134\013\138\n\134\013\142\0065\004\021\021>\027\146\0156\021B\001\230\023\242\004\014\004\018\012\226\001\242\020\154\011}\011\133\n\226\013\146\018\222\021F\015:\015>\013\150\015B\021J\000\n\021N\015V\021R\021V\004\141\021Z\019\026\015b\013\158\027\146\016&\021^\016\210\000\n\021b\004&\000\n\006U\025\226\020\202\018\250\015\130\011\221\n\241\004B\015\134\015\194\004\177\n\138\021f\013\162\012\158\015\198\021j\021n\004J\013\166\004\177\004\177\012\165\012\165\004N\004\177\015\206\012\165\013\170\017\174\006\165\006\165\018.\006E\002\"\006\165\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\142\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\004\021\016\242\027\162\021\174\nb\004\021\004\021\011\221\n\241\020\210\026\"\001F\019\n\027\154\005\245\001\166\nr\004\021\013^\019\030\012\158\013b\003.\0036\000\170\001N\000\174\014\202\003z\003\190\026N\003\198\004z\003\214\003]\003\222\001\178\003\230\003\242\014\218\003\250\019r\004\021\019\134\027\154\015\"\013j\025\194\015\014\019\162\015&\017\178\004\130\006]\004\002\001\218\006e\001\222\004\193\001b\016\030\015.\018\170\004\154\011\181\013~\001\230\0152\004\n\013\130\011\138\001\242\006-\013\134\013\138\n\134\013\142\004\162\025O\025S\016\"\0156\001\230\025W\004\166\004\174\012\226\001\242\004v\005\013\026\167\026\171\n\226\013\146\006m\026\175\015:\015>\013\150\015B\004\198\000\n\004\026\015V\nR\004\241\004\141\nV\005\013\015b\013\158\025r\001\"\nZ\004\202\027b\004\210\000\n\n^\025v\016&\026\199\026\203\015\130\022\222\011\189\026\207\015\134\015\194\019v\n\138\019\138\013\162\004\230\015\198\004\250\005\014\019\166\013\166\004\017\004\193\005.\005R\000\n\000\n\015\206\005^\013\170\005f\006\181\006\181\011\165\005\186\002\"\006\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\005\013\005\t\0039\005\198\nb\006\018\0039\006\"\023b\001\230\006*\001F\011\173\012\226\001\242\001\166\nr\004\237\013^\005\013\005\t\013b\t\"\t*\000\170\001N\000\174\014\202\tn\t\178\006\170\t\186\006\206\t\202\023\186\t\210\001\178\t\218\t\230\014\218\t\238\006\214\007\014\007\026\000\n\015\n\013j\019R\015\014\004\161\015&\007&\0072\007>\t\246\001\218\007J\001\222\004\221\001b\015*\015.\007^\019V\007n\013~\001\230\0152\t\254\013\130\011\138\001\242\024\"\013\134\013\138\n\134\013\142\007~\004\013\007\134\012\173\0156\007\171\001\230\007\246\007\250\008:\012\226\001\242\005\t\008>\008\158\n\226\013\146\008\162\008\178\015:\015>\013\150\015B\008\194\000\n\n\014\015V\008\238\008\254\004\141\t\018\005\t\015b\013\158\004\013\tZ\003~\t^\003\134\t\158\003\150\000\n\t\162\016&\n\002\n\006\015\130\003\158\n\026\n2\015\134\015\194\004\221\n\138\nF\013\162\nf\015\198\nn\nv\n~\013\166\004\221\004\221\n\130\n\182\n\194\004\221\015\206\n\202\013\170\011\014\008\197\008\197\011.\003\166\002\"\008\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011:\001\014\011~\001\022\nZ\001\030\0012\001:\001>\n^\007\202\004\013\007\210\011\150\007\226\nb\004\013\004\013\011\162\011\190\003\182\007\234\001F\011\202\012R\012Z\001\166\nr\004\013\013^\012j\012v\013b\012\146\012\154\012\174\001N\007\197\014\202\012\186\012\194\016\022\012\198\012\206\004\013\012\222\012\238\001\178\012\246\007\242\014\218\007\197\012\250\004\013\013\n\027\154\015\n\013j\013\018\015\014\013*\015&\0132\013F\013N\013Z\001\218\013r\001\222\004\213\001b\015*\015.\013z\013\206\013\218\013~\001\230\0152\014\"\013\130\011\138\001\242\008\002\013\134\013\138\n\134\013\142\014\154\008\014\014\194\008\022\0156\008&\014\214\014\226\014\234\014\242\014\250\015F\008.\015N\007\197\n\226\013\146\015^\015f\015:\015>\013\150\015B\015n\000\n\015v\015V\nR\015~\015\186\nV\019R\015b\013\158\025r\015\202\nZ\015\210\015\222\015\226\0086\n^\025v\016&\015\234\015\238\015\130\019V\015\246\015\254\015\134\015\194\016\014\n\138\0162\013\162\016v\015\198\016~\006\246\016\130\013\166\016\146\004\213\016\154\007\197\016\158\001\230\015\206\016\166\013\170\012\226\001\242\016\138\008F\016\182\002\"\007\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\142\001\014\016\190\001\022\nZ\001\030\0012\001:\001>\n^\016\198\011\149\011\149\000\n\016\202\nb\016\218\016\226\016\250\017\002\001\230\017R\001F\017\154\012\226\001\242\001\166\nr\017\166\013^\018\026\018&\013b\018F\0266\018r\001N\018~\014\202\018\134\t.\018\162\t6\018\174\tF\018\182\018\186\001\178\018\194\018\210\014\218\tN\006M\018\230\019\002\000\n\015\n\013j\001\"\015\014\004\161\015&\019&\tr\019>\tz\001\218\t\138\001\222\019F\001b\015*\015.\019J\t\146\019Z\013~\001\230\0152\tV\013\130\011\138\001\242\019b\013\134\013\138\n\134\013\142\019f\000\n\019n\012\173\0156\019~\019\146\019\174\019\194\019\210\019\226\019\250\011\149\020\n\t\154\n\226\013\146\020\022\020G\015:\015>\013\150\015B\011\149\000\n\tf\015V\004\129\011\149\011\149\020o\020\135\015b\013\158\020\167\020\191\004\017\0039\020\223\020\247\021\014\0039\027V\016&\021*\021\154\015\130\021\199\t\170\022\030\015\134\015\194\000\022\n\138\0223\013\162\022[\015\198\022g\011\149\022w\013\166\022\127\022\146\011\149\011\149\022\155\022\163\015\206\022\171\013\170\022\198\012\173\012\173\022\238\022\246\002\"\012\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\023\006\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\023#\0233\023;\023G\nb\023R\023w\023\131\023\150\023\159\023\167\001F\027\178\023\210\023\254\001\166\nr\024:\013^\000\n\024[\013b\027\198\024c\024o\001N\004\129\014\202\024\127\028\030\027\202\004\129\004\129\024\135\024\146\004\017\001\178\024\167\024\175\024\182\004\017\004\017\024\195\004\129\004\129\015\"\013j\024\207\024\215\024\226\015&\026\222\004\017\027b\024\235\001\218\024\243\001\222\024\255\001b\016\030\015.\025\026\025\162\025\202\013~\001\230\0152\004\129\013\130\011\138\001\242\025\218\013\134\013\138\n\134\013\142\004\017\026\014\026\022\026:\0156\026^\026b\026j\026\147\027Z\027f\027v\027~\027\134\027\175\n\226\013\146\027\182\027\195\015:\015>\013\150\015B\027\206\000\n\027\222\015V\028\019\028\"\004\141\028/\028S\015b\013\158\028o\028~\028\134\028\143\028\150\028\159\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\169\008\169\000\000\000\000\002\"\008\169\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\016:\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012\137\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\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\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\137\012\137\000\000\000\000\002\"\012\137\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\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\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\213\012\213\000\000\000\000\002\"\012\213\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\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\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\209\012\209\000\000\000\000\002\"\012\209\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\230\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\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\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\018f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018v\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\007\214\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\005\221\005\221\013\150\000\000\005\221\000\n\000\000\005\221\008\026\005\221\000\000\005\221\000\000\005\221\013\158\008Z\005\221\000\000\005\221\005\221\000\000\005\221\005\221\000\000\005\221\nu\nu\005\221\005\221\nu\005\221\005\221\005\221\000\000\n\138\000\000\013\162\005\221\018z\005\221\005\221\000\000\013\166\000\000\005\221\005\221\005\221\005\221\005\221\018\130\005\221\013\170\005\221\005\221\000Z\005\221\000\000\002\"\005\221\005\221\000\000\005\221\008\186\000\000\nu\005\221\005\221\000Z\000\000\005\221\t\n\005\221\000\000\000\000\005\221\000Z\005\221\n\018\005\221\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\000\000\nu\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\221\nu\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\002\018\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\001r\004a\000\000\000\000\004M\000\000\000\000\002\030\000\000\000R\007\190\007\198\000\170\002\"\000\174\000\000\008\n\008N\004M\008V\021\018\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\021\026\008\146\021\030\004M\000\000\000\000\000\000\000\000\000\000\000\000\021\"\004M\000\000\000\000\000\000\024\142\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\174\000\000\000\000\000\000\021:\023\170\000\000\nb\000\000\008\182\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\000\000\021>\014\202\000\000\021B\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\015R\013j\021J\000\n\021N\015&\021R\021V\004M\021Z\001\218\000\000\001\222\000\000\000\000\021^\015.\000\000\021b\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021f\000\000\000\000\0156\021j\021n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\nb\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\015\130\000\000\013b\000\000\015\134\015\194\000\000\000\000\014\202\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\001\178\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\013f\013j\000\000\000\000\002\"\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015.\000\000\000\000\011\226\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\0122\012:\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\013\221\015\130\000\000\013\221\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\012\026\000\000\013\221\015\206\000\000\013\170\013\221\000\000\000\000\002:\013\221\002\"\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\000\000\013\221\013\221\000\000\000\000\002B\000\000\013\221\005&\000\000\000\000\013\221\000\000\000\000\013\221\000\000\013\221\013\221\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\005U\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\000\000\000\012B\012*\000\000\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\013\221\000\000\013\221\013\221\0056\000\000\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\013\221\013\221\000\000\000\000\000\000\000\000\013\221\013\221\013\221\000\000\013\221\013\221\013\221\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\237\000\000\021\002\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\021\006\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\n\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\237\000\000\004\241\001=\001=\004\241\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\202\000\000\004\237\004\237\004\237\000\000\004\237\004\237\004\237\000\000\004\241\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\0141\004\241\004\241\0141\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\000\000\000\000\000\000\0141\000\000\000\000\013\190\0141\004\241\000\000\004\241\000\000\000\000\0141\000\000\000\000\0141\0141\000\000\0141\0141\004\241\000\000\013\198\000\000\0141\013\210\000\000\004\241\0141\000\000\000\000\0141\000\000\0141\0141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\0141\000\000\0141\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\004\241\0141\000\000\004\241\000\000\004\241\000\000\000\000\013\222\000\000\000\000\004\241\004\241\004\241\000\000\004\241\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\0141\000\000\0141\000\000\013\226\000\000\0141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\000\000\0141\000\000\000\000\000\000\000\000\000\000\0141\0141\0141\000\000\0141\0141\0141\nq\nq\nq\nq\000\000\nq\000\000\nq\nq\000\000\nq\000\000\nq\000\000\nq\000\000\nq\nq\nq\nq\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nq\nq\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\001\137\000\000\000\000\nq\001\137\000\000\021\218\000\000\001\137\000\000\021\226\000\000\000\000\000\000\001\137\000\000\nq\001\137\001\137\000\000\001\137\001\137\000\000\nq\000\000\000\000\001\137\000\000\nq\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\nq\001\137\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\nq\000\000\000\000\000\000\000\000\nq\000\000\nq\000\000\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\000\000\nq\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\000\000\000\000\0226\nq\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\na\na\na\na\000\000\na\000\000\na\na\000\000\na\000\000\na\000\000\na\000\000\na\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\ne\ne\ne\ne\000\000\ne\na\ne\ne\000\000\ne\na\ne\000\000\ne\000\000\ne\ne\ne\ne\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\na\000\000\ne\na\000\000\000\000\000\000\ne\000\000\000\000\022:\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\ne\na\000\000\na\000\000\000\000\na\ne\000\000\000\000\000\000\000\000\ne\000\000\na\000\000\000\000\na\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\021\222\na\000\000\000\000\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000R\007\190\007\198\000\170\000\000\000\174\ne\008\n\008N\ne\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\ne\002\198\000\000\000\000\000\000\ne\000\000\000\000\022B\008\146\022^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022j\000\000\002~\000\000\000\000\008\154\002\t\000\000\000\000\000\000\002\t\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022\130\002\t\002\t\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\t\000\000\022\174\000\000\002\166\000\000\000\181\002\142\000\000\002\158\002\t\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\002\174\022\206\002\t\000\000\023&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\002\t\000\000\000\000\000\000\023>\000\181\000\181\000\000\000\000\023J\000\000\008y\000\000\000\000\023z\012\018\000\000\000\000\011\250\000\000\012\n\000\000\023\134\000\000\000\000\024f\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000}\000\000\000\000\000}\000\000\000\000\024r\012\026\000\000\000\000\000\000\024\138\002\t\000\000\000\000\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\000\000\002\t\002\t\000}\002\246\002\190\002\t\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\012\"\000e\000}\000\000\000e\000\000\002\166\012\002\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\002\174\000\000\000}\000\181\012*\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000}\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000e\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000e\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\000\000\000]\000\000\000\000\002\142\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000]\000\000\000]\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000]\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000i\000q\000\000\000i\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\002\174\000\000\000q\000\000\000\000\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000q\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000i\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000u\000m\000\000\000u\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\002\174\000\000\000m\000\000\000\000\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000m\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\002\174\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000u\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\002v\000\133\000\000\000y\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\002\174\000\000\000\133\000\000\000\000\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\133\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\002\174\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\002v\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\011\146\000\000\000\000\000\129\000\000\000\000\000\000\002\166\004E\000\000\002\142\004E\002\158\000\129\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\001\178\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\n\174\011\006\004E\000\000\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\138\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\011\178\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005m\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\003)\n\222\000j\003)\000r\000\000\000\130\003)\000\000\003)\000\000\000\000\000\000\000\138\003)\003)\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003)\006\013\000\000\011\142\003)\011\170\000\000\000\000\000\000\000\000\003%\000\000\000\182\003%\000\190\n\246\000\206\003%\000\000\003%\003)\n\250\000\000\000\214\003%\003%\000\000\001\189\000\000\000\000\n\254\000\157\003)\000\162\000\000\000\000\002\"\000\000\000\000\000\000\003)\000\000\000\000\000\000\003)\003)\000\000\000\000\000\000\000\000\000\000\000\222\003%\000\157\003)\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\011\242\000\000\000\000\000\000\000\000\003%\000\157\000\157\003)\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\157\003%\000\238\011\250\000\000\012\n\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\003%\000\000\000\000\000\157\000\000\003)\000\000\000\000\003)\003)\000\000\003%\003)\000\000\000\000\001\137\000\000\003)\003)\001\137\000\000\003%\003)\001\137\000\000\000\000\003%\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\001\137\000\000\000\000\001\137\012\002\001\137\001\137\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\000\157\000\000\003%\000\000\000\000\000\000\000\000\003%\003%\001\137\000\000\001\137\003%\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\001\166\000\000\000\000\n\166\000\000\001F\n\170\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\001N\000\000\001\178\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\000\000\001^\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\001b\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\n\242\001\161\000\000\000\000\000\000\001\161\000\000\000\000\006\013\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\000\000\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\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\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\000\000\000\000\000\000\001\161\014\014\000\000\001\161\000\000\000\000\000\000\001\161\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\001N\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014\022\001\161\001\161\000\000\001\161\001\161\001\161\001\166\000\000\000\000\001\170\001^\000\000\001\174\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\014\206\000\000\000\000\001b\000\000\000\000\001\178\004R\004V\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\n\134\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\011\154\001\234\001\238\001\242\000\000\001\246\001\250\000\n\001\254\000\000\000\000\000\000\004\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\004Z\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\006\005\n\138\000\000\000\000\000\000\000\000\000\000\002\014\000\000\021\022\006\005\000\000\003U\000\000\000\000\006\005\023N\002\018\021\026\000\000\021\030\n\201\n\201\000\000\000\000\000\000\000\000\000\000\021\"\002\022\000\000\000\000\000\000\021&\000\000\002\026\021.\000\000\008\137\000\000\0212\000\000\000\000\000\000\002\030\000\000\0216\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\024\222\022\254\000\000\n\201\000\000\021:\000\000\000\000\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\n\201\000\000\021>\000\000\021\026\021B\021\030\000\000\000\000\000\000\000\000\n\157\000\000\000\000\021\"\000\000\000\000\000\000\021F\021&\000\000\000\000\021.\021J\000\n\021N\0212\021R\021V\000\000\021Z\000\000\0216\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\023\142\000\000\000\000\n\157\000\000\021:\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\n\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\157\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\008\137\021R\021V\000\000\021Z\000\000\001\178\000\000\000\000\001\182\021^\000\000\000\000\021b\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021f\000\000\000\000\000\000\021j\021n\n\157\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t:\005\221\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\t~\005\221\t\190\005\221\000\000\000\000\000\000\000\000\002\014\000\000\005\221\000\000\005\221\005\221\000\000\005\221\000\000\000\000\002\018\008\137\005\221\000\000\005\221\000\000\005\221\005\221\005\221\000\000\005\221\000\000\002\022\000\000\005\221\000\000\005\221\000\000\002\026\005\221\005\221\005\221\005\221\008\137\005\221\000\000\005\221\002\030\005\221\000\000\000\000\005\221\005\221\002\"\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\005\221\n>\005\221\000\000\000\000\005\221\000Z\005\221\000Z\000\000\005\221\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\005\221\005\221\014B\005\221\005\221\014\146\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\014J\000\000\001%\000\000\002\025\001%\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\014\138\001%\001\013\000\000\001\005\000\000\001\013\001\005\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\001\025\000\000\001\t\001\025\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014J\000\000\001\021\000\000\001\017\001\021\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\014J\000\000\014B\000\000\001\029\001-\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\014B\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\014\178\014\138\001-\014J\000\000\014B\000\000\001!\001)\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\014\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\000\000\001\170\000\000\000\000\001\174\000\000\001)\001)\000\149\001)\014\138\001)\000\000\018j\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\149\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\149\000\000\000\000\000\000\001\226\001\230\000\149\000\149\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\149\000\000\000\000\011\250\000\000\000\149\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\149\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\0076\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\149\001\246\001\250\000\000\001\254\002\030\000\000\012\002\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\149\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\149\000\149\001\182\002\014\000\000\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\030\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004=\000\n\nR\004=\000\000\nV\004=\000\000\000\000\025r\002\014\nZ\000\000\000\000\000\000\000\000\n^\025v\000\000\000\000\002\018\004=\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\004=\002\022\004=\000\000\000\000\000\000\000\000\002\026\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\030\016\138\000\000\004=\004=\000\000\002\"\004=\004=\004=\000\000\004=\004=\000\000\004=\000\000\004\237\016\142\000\000\004\237\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\004=\001\230\004\237\004=\000\000\012\226\001\242\000\000\000\000\004\237\004\237\000\000\004=\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\021\018\004\237\000\000\004=\004\237\000\n\004\237\004\237\000\000\004=\004\161\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004=\000\000\000\000\021\026\000\000\021\030\004=\000\000\000\000\004\237\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\004\237\000\000\0216\000\000\000\000\000\000\007\133\007\133\000\000\000\000\000\000\007\133\000\000\022\138\000\000\000\000\000\000\000\000\021:\004\237\004\237\000\000\000\000\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\004\237\000\000\n\157\004\237\021>\000\000\000\000\021B\000\000\000\000\000\000\004\237\000\000\000\000\000\000\004\237\004\237\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\000\000\021R\021V\000\000\021Z\005\221\000\000\000\000\005\221\000v\021^\005\221\005\221\021b\005\221\000\194\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\021f\000\000\000\000\000\000\021j\021n\n\157\005\221\000\000\000\000\005\221\001\002\000\000\000\000\005\221\000\000\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\001f\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\005\221\000Z\000\000\000\000\005\221\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000Z\005\221\000\000\005\221\000\000\004\030\005\221\000\000\000\000\000\000\000Z\005\221\005\221\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\001\178\005\221\000\000\001\182\005\221\005\221\000\000\000\000\005\221\001\194\001\214\005\221\001\210\005\221\005\221\005\221\000\000\000\000\005\221\001\218\000\000\001\222\000\000\005\221\005\221\000\000\000\000\000\000\005\221\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\186\000\000\000\000\001\190\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\005\138\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\221\000\000\000\000\005\221\003F\000\000\001\218\005\221\001\222\005\221\000\000\000\000\000\000\005\142\005\221\005\221\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\005\221\005z\005\150\005\221\003\138\000\000\005\221\005\221\002\"\005\221\003\202\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005~\000\000\005\221\005\221\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\005\221\000\000\000\000\000\000\004\242\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\142\000\000\000\000\005\221\005\221\005\221\005\146\000\000\000\000\007f\000\000\005\221\000\000\005\221\000Z\005\150\000\000\005\221\000\000\000\000\000Z\002\"\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\005\134\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\014\021\000\000\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\014\021\000\n\000\000\000\000\000\000\000\000\000\000\005\170\000\000\000\000\005\138\000\000\000\000\000\000\014\021\000\000\000\000\000\000\014\021\000\000\014\021\014\021\000\000\000\000\005\178\000\000\000\000\005\190\001\166\000\000\014\021\n\166\005\142\014\021\n\170\014\021\000\000\000\000\005\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\001\178\000\000\000\000\000\000\002\"\000\000\000\000\014\021\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\005\202\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\014\021\014\021\000\000\014\021\000\000\005\206\000\000\014\021\000\000\000\000\n\226\n\230\000\000\000\000\000\000\005\214\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\014\021\000\000\000\000\n\242\000\000\000\000\014\021\000\000\000\000\000\000\014\021\014\021\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\013~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\nR\001\178\000\000\nV\000\000\013\158\000\000\025r\000\000\nZ\013f\013j\000\000\000\000\n^\025v\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\016\138\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\016\142\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\013f\013\154\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\000\000\000\n\002\"\008\129\000\000\000\000\004\161\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\008\129\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\008\129\000\000\008\129\000\000\000\000\013\158\000\000\000\000\000\000\000\000\008\129\000\000\000\000\000\000\000\000\008\129\000\000\000\000\008\129\000\000\000\000\000\000\008\129\021\230\000\000\008\245\008\245\013\162\008\129\000\000\008\245\000\000\000\000\013\166\023\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\008\129\000\000\021\022\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\008\129\021&\000\000\008\129\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\008\129\000\000\000\000\000\000\000\000\008\129\008\129\008\129\000\000\008\129\008\129\000\000\008\129\000\000\021:\023\170\000\000\000\000\008\129\000\000\000\000\008\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\007\237\008\129\000\000\000\000\021>\008\129\008\129\021B\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\007\237\000\000\007\237\000\000\021J\000\n\021N\000\000\021R\021V\007\237\021Z\000\000\000\000\000\000\007\237\000\000\021^\007\237\000\000\021b\000\000\007\237\000\000\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\022n\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\007\237\023\170\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\007\237\021&\000\000\007\237\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\007\237\000\000\000\000\000\000\000\000\007\237\007\237\007\237\000\000\007\237\007\237\000\000\007\237\000\000\021:\000\000\000\000\000\000\007\237\000\000\000\000\007\237\000\000\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\134\007\237\000\000\000\000\021>\007\237\007\237\021B\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\021\026\000\000\021\030\000\000\021J\000\n\021N\000\000\021R\021V\021\"\021Z\000\000\000\000\000\000\021&\000\000\021^\021.\000\000\021b\000\000\0212\000\000\021\018\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\021f\021\022\000\000\000\000\021j\021n\000\000\000\000\000\000\021:\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021F\000\000\000\000\000\000\023*\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\021>\021\"\000\000\021B\000\000\000\000\021&\021f\000\000\021.\000\000\021j\021n\0212\000\000\021\018\021F\000\000\000\000\0216\000\000\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\024v\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021f\000\000\021.\000\000\021j\021n\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\000\000\021:\021J\000\n\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\024\150\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\026\026\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\012e\001\030\0012\001:\001>\000\000\000\000\000\000\013\249\000R\000V\000f\000\170\000\000\000\174\000\n\000\178\000\246\001F\000\254\000\000\001\014\0021\001\022\000\000\001\030\0012\001:\001>\000\000\013\249\000\000\001N\000\000\026\030\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001F\000\000\013\249\001\153\000\000\000\000\001\153\000\000\013\249\013\249\001^\000\000\011&\003M\001N\0112\002)\000\000\013\249\000\000\000\000\013\249\000\000\013\249\001b\001\153\000\000\000\000\004R\004V\000\000\000\000\000\000\000\000\001^\000\000\000\000\006R\000\000\001\153\006\162\000\000\000\000\001\153\013\249\001\153\001\153\000\000\001b\000\000\000\000\000\000\026\026\004V\000\000\001\153\000\000\000\000\001\153\006Z\001\153\000\000\000\000\000\000\011>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\001\153\000\000\013\249\000\000\004b\000\000\000\000\011B\006\130\013\249\000\000\006j\000\000\006z\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\013\249\000\000\000\000\000\000\000\237\000\000\026&\000\237\000\000\000\000\000\000\000\000\006\138\000\000\000\000\013\249\013\249\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\006Z\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\001\153\000\000\000\237\000\000\000\237\000\237\006\002\000\000\000\213\006\146\001\153\001\153\002\017\000\000\006\130\000\000\006r\006j\000\000\006z\000\205\000\000\006b\000\205\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\213\000\000\006\138\006j\000\205\006z\006\194\006\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\213\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\000\006\146\000\000\000\000\000\237\000\000\000\000\000\000\006r\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\209\000\000\000\213\000\237\000\209\000\213\000\209\000\209\000\225\006r\000\000\000\225\000\000\000\237\006\154\000\000\000\209\000\000\000\000\006j\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\205\000\213\000\213\000\205\000\000\000\000\000\209\006r\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\000\225\000\205\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\205\000\205\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\006\138\000\221\006r\006b\000\221\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\000\006j\006Z\006z\000\229\000\000\000\000\000\229\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\225\000\221\000\221\000\217\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\006j\000\000\006z\006R\000\000\006b\000\245\000\000\000\225\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\006\130\000\000\006\138\006j\006Z\006z\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\245\000\000\000\245\006\186\006\138\006R\000\000\000\000\000\233\000\000\000\217\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\221\000\217\000\217\000\221\000\000\000\000\000\000\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\006b\000\000\006\146\000\221\000\233\000\229\000\233\000\233\006R\006r\000\000\000\241\000\000\000\221\000\221\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006\146\000\229\000\229\000\245\000\153\000\000\006\138\006r\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\006\130\000\245\000\153\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\153\000\000\000\000\011\234\000\000\006\146\000\153\000\153\000\233\000\000\006\138\000\000\006r\000\000\000\000\000\161\000\153\011\242\000\000\011\250\000\000\000\153\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\169\000\000\000\000\011\250\011\234\012\n\000\000\000\233\006\154\000\153\000\000\000\000\000\000\000\000\000\165\000\000\006\146\000\000\011\242\000\241\000\000\000\000\000\000\006r\000\161\000\161\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\011\234\011\250\000\000\012\n\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\011\242\000\241\006\154\000\000\000\000\012\002\000\165\000\165\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\169\000\165\000\000\000\153\011\250\000\000\012\n\012\002\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\169\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\169\000\169\000\000\000\000\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\165\012\n\000\000\000\161\000\161\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\189\012:\000\165\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\000\012\n\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011\226\000\177\000\177\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\012\"\000\000\011\250\000\000\012\n\000\000\000\000\012\002\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\011\242\012\026\000\000\000\000\000\000\000\000\000\185\012:\012\"\000\000\000\000\000\173\000\173\000\000\000\000\012\002\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\012\026\012B\012*\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*"))
1417
1418 let lhs =
1419 (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\003\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\249\000\248\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\229\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\227\000\226\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\222\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\188\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\178\000\178\000\178\000\177\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\166\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000z\000y\000y\000y\000x\000x\000x\000x\000w\000v\000u\000t\000s\000r\000q\000q\000p\000p\000p\000o\000o\000n\000n\000n\000m\000m\000l\000k\000k\000k\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Z\000Y\000Y\000X\000X\000X\000X\000W\000V\000U\000U\000U\000T\000T\000T\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000E\000D\000C\000B\000B\000A\000A\000@\000?\000?\000?\000>\000>\000=\000=\000<\000;\000;\000;\000;\000;\000;\000;\000:\000:\000:\000:\000:\000:\0009\0009\0008\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000%\000%\000%\000$\000$\000$\000$\000#\000#\000#\000#\000#\000\"\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013")
1420
1421 let goto =
1422 ((16, "\000\193\000l\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001C\000\182\000\000\001\019\000\197\000\000\000\000\000\000\000\139\000\000\000[\000\252\000\000\000\000\001t\000\000\001\166\000\000\000\000\000\000\001\206\000\000\002\018\000\000\000\000\000\000\000\000\003@\000\000\003R\003\134\000\000\000\000\004\132\000\000\004\172\000\000\000\000\000\000\005\166\000\000\005\182\000\000\005\208\000\000\006\000\006(\000\000\000\000\006J\000\000\006\200\000\000\000\000\000\000\000\000\007f\000\000\007n\000\000\000\000\007\218\000\000\008\018\000\000\000\000\000\000\008\026\000\000\000\160\008P\000\011\000\000\000\000\000\000\0072\002@\002\240\000\000\000\000\008\170\000\000\000\236\000\000\000\168\000\247\000\023\000\000\000\000\013\196\000\000\002\246\000\000\0028\004\128\000\160\011\002\000\160\003\148\031<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\226\011\002\000\000\000\000\017\002\000\000\0188\000\000\001^\000\000\000\000\000\000\000\000\002R\000\000\018\144\000\000\000\000\014\156\000\000\023\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n,\000\000\011@\000\000\011D\000\000\015\144\000\000\019\236\000\000\019\240\000\000\023*\000\000\023>\000\000\028`\000\000!\030\000\000\006\026\000\000\006D\000\000\000\000\000\000\000\000\000\000#P\000\000)J\000\0006l\000\000\027v\000\000\000\000\028\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\008\228\000\000\000\000\t\"\000\000\t\132\t\202\000\000\000\000\t\208\000\000\t\218\000\000\000\000\000\000\t\222\000\000\t\224\000\000\000\000\t\230\000\000\t\246\n\016\000\000\000\000\n\024\000\000\n \000\000\000\000\000\000\n*\000\000\n,\000\000\n.\000\000\n2\nB\000\000\000\000\n\130\000\000\n\144\000\000\003\014\n\176\000\000\n\210\000\000\n\220\000\000\n\232\000\000\000\000\000\000\011\000\000\000\011\004\0056\000\000\011\014\000\000\000\194\006\154\000\000\002\216\000\000\004\006\000\000\000\000\007F\000\000\000\000\001\017\003z\000\000\000\000\000\000\000\000\003>\000\000\003P\000\000\008\168\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\008\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\0001\003\152\017\172\000\000\011\020\000\000\011\024\019\142\000\000\011\026\000\000\000\000\004\190\000\000\000\000\000\000\000\000\000\000\026\152\000\0000\026\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\006\160\031<\000\000\007\142\000\000\020\216\022\190\000\000\000\000\000\000\004@\000\000 2\000\000\000\0000r\000\000\000\000\000\000\005\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\128\000\000&\208\000\000\000\000\000\000\000\000\000\199\000\000\000\0000\186\000\000\000\000\000\000\000n\000s\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\004\144\000\000\005\158\000\000\n~\000\000\011^\000\000\012\016\000\000\012\146\000\000\016\142\000\000\027\210\000\000\0302\000\000\014\144\000\000\004\012\000\000\031n\000\000%\172\000\000-\178\000\000\000\000\000\000\000\000\000\000\000\1710\200\000\000\000:\000\000\000\000\000}\001\132\000\000\001\028\000\000\000\000\000\000\005\190\000\000\000\000\000\000'(\000\000\000\000\000\000\000\000\000\000(\n\000\000\000\000\000\000\000\000\000\000\000\000\001\028\000\000\000\000\000\000\011(\020\254\000\000\011*\000\000\000\000\000\000\000\000\000\000\011,\000\000\000\000\000\129\007\166\000\000\008H\000\000\000\000\000\000\000}\000\000\012\206\001\196\011.\000\000\000\000\011:\000\000\011B\011F\000\000\000\000\011J\000\000\011N\000\000\000\000\000\000\011T\000\000\011V\000\000\000\000\011^\000\000\011d\011f\000\000\000\000\011v\000\000\011~\000\000\000\000\000\000\011\128\000\000\011\146\000\000\011\150\000\000\011\152\011\160\000\000\000\000\011\162\000\000\011\166\000\000\005\218\011\172\000\000\011\174\000\000\011\176\000\000\011\192\000\000\000\000\000\000\011\198\000\000\006\020\000\000\000\000\011\206\023\164\000\000\011\210\000\000\000\000\000`\000\000\000\000\003J\000\000\000\000\000\000\000\000\000\000\006&\025\134\000\000\011\218\000\000\011\224\030\"\000\000\011\228\000\000\000\000\012\236\011\236\000\000\000\000\011\238\000\000\012\004\012\018\000\000\000\000\012\030\000\000\012(\000\000\000\000\000\000\012*\000\000\012,\000\000\000\000\0122\000\000\012:\012<\000\000\000\000\012@\000\000\012B\000\000\000\000\000\000\012R\000\000\012T\000\000\012V\000\000\012X\012Z\000\000\000\000\012b\000\000\012d\000\000\007\008\012v\000\000\012z\000\000\012\154\000\000\012\160\000\000\000\000\000\000\012\162\000\000\012\164\"\028\000\000\012\168\000\000\000\000\007x#d\000\000\012\170\000\000\012\174&\028\000\000\012\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\252\000\000#\240\000\0001>\000\000\000\000\000Z\000\000\000\000\001\188\000\214\000\000\000\000\020H%\136\000\000\017$\017\030\000\000\000\000((\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\028((\000\000\029\184\000\000$\240\0120(\156\000\000\016\214\000\000\000\000\000\000\007\168\000\000 \214\000\000\000\0001^\000\000\000\000\000\000\007\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\212\000\0002\008\000\000\000\000\000\000(\242\000\000\000\000\000\000\022~\000\000\000\000\000\000\000\000\007\206\000\000\000\000\000\000\000\000\031\132\000\000\000\0005t\000\000\000\157\000\000\000\000\000\000\000\025\000\000\001\248\000\000\002\140\000\000\0042\000\000\008\146\000\000\t\164\000\000\014R\000\000\014\170\000\000\017\128\000\000\022\\\000\000\024@\000\000\027*\000\000\031\008\000\000\000\000\000\000\000\000\000\000\007:\000\000)\246\000\000*82X\000\000*\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\005z\000\000\004\216\000\000\000\000\024<\000\000\000\000\000\000*:\000\000\000\000\000\000\000\000\000\000\0258\000\000\000\000\000\000\000\000*\134\000\000\000\000\000\000\000\000\004\004\004r\000\000*\224\000\000\000\000\000\000\000\000\008\176\000\000*\254\000\000\000\000\000\000\000\000\000~\000\000\007|\000\000\015\178\006t(\214\000\000\000\000\000\000\013F\000\000\000\000\000\000\000\000\000\000\000\000\018\246(\214\000\000\021\170\000\000\024\234\013\248\000\000\000\000\000\000\0080\000\000 \240\000\000\000\0002L\000\000\000\000\000\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\148\000\00060\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\016T\000\000\018\190\000\000\024h\000\000\025\152\000\000'\n\000\000-\170\000\000/r\000\000/\186\000\0005B\000\000+&\000\000\000&\000\0006\006\000\0006^\000\0006\186\000\000),\000\000\000\000\000\0002\152\000\000\000\000\000\000\004 \000\0002\158\000\000\000\000\000\0002\238\000\000\000\000\0010\000\000\024\200\000!\005\026\000\000\005:\000\000\013\144\002\n\008\014\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\"\000\000$<$\000\008\142\000\000\000\000\000\000+\158\000\000+\234\000\000,D\000\000%$%H\002\154\000\144\008\170\000\000\000\000\000\000\002>\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\162\000\000\000\000\000\000\000\000!<\000\000&\n\000\000\000\000\000\000\000\000\000\000\000\000\014\024\000\000\000\000\005\188\000\000\000\000\000\000\025v\002\164\000\000\026\016\000\000\000\000\008\176\000\000\002\196\000\000\000\000\014\198\000\000\026\206\000\000\000\000!\254\000\000\000\000\000\000\006\204\000\000\000\000\005\002\000\000\000\000\0266\000\000\000\000\000\000,j\000\000\000\000\000\000\027\222\000\000\000\000\000\000\000\000,\136\000\000\000\000\000\000\000\000\004>\011\144\000\000,\194\000\000\000\000\000\000\000\000\000\000\000\000\015N\000\000\000\000\002\238\000\000\015\204\000\000\006\204\000\000\000\000\001\130\tD\000\000\003\006\000\000\000\000\000\000\000\000\001 \000\000&$\000\000\026 \003H\027h\000\000\003h\000\000\016\192\000\000\017>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\254\028&\005\024\028\192\000\000\000\000\000\000\005\154\000\000\017\180\000\000\004\"\000\000\000\000\t\192\004\246\029n\000\000\006\136\000\000\0182\029~\000\000\000\000\019&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\190\0082\000\000\0064\000\000\000\000\000\000\000\000\006V\000\000\019\164\000\000\000\000\000\000\"\1643\176\000\000\000\000\000\000 \024\000\000\000\000\000\000\000\000\0070\006`\000\000\000\000-\008\000\000\000\000\002\236\000\000\007\024\000\000\000\000\030>\000\000\000\000\000\000-.\000\000\000\000\000\000\000\000.\012\000\000\000\000\006\236\008\150\000\000\000\000.\016\000\000\000\000\006\206#\006\000\000\008\194\000\000\000\000.X\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\"\000\000\000\000\000\000\000}\000\000\000\000\008\224\000\000\000\000\"n\000\000\000\000\000\000.\208\000\000\000\000\000\000\000\000.\238\000\000\000\000\008\182\t(\000\000\000\000/\024\000\000\000\000\008.\000\000\000\000\000\000\000\000\001 \000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002t\000\000\020,\000\000\000\000\000\00048\000\000\t\194\000\000\000\000\000\000\003\154\000\000\005\004\000\000\000\000\006\192\020\238\000\000\021v\000\000\000\000\000\000\008\008\000\0004F\00884`\000\0004\188\000\000\000\000\000\000\008l\000\0004\240\008t\000\000\000\000&\128\008\204&\230\000\000'B\000\000\000\000\000\000\t\020\000\0005\020\t\026\000\000\000\000\020\190\t\132!\192\000\000$\018\000\000\000\000\000\000\t\136\000\0005\128\t\184\000\000\000\000\000\000\000?\000\000\000\000\000\000\007v\000\000\000\000\000\000\000\000\000\000\000\000\005\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002X\000\000\000\000\003\026\000\000\000\000\013h\000\000\000\000\000\000\000\000\007\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013l\000\000\000\000\013B\000\000\000%\000\000\000\000\000\134\000\000\0052\012\246\002\156\000\000\000\000\003\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\252\018\016\000\000\000\000\005\\\000\000\000\000\000\000\021\156\000\000\000\000\0224\023\014\000\000\000\000\000\000\000\000\023\172\027\254\000w\000\000\031\246\000\000\000\000\000\000\000\000\000\000\000\000\008*\000\000\000\000\006\164\000\000\000\000\012\190\000\000\000\000\003n\000\000\000\000\012\194\000\000\000w\000\000\000\000\000\000\000\000\011\n \020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138 \196\000\000\000\000\000\000\000\000#L\000\000\000\000\003\022\000\000\013z\000\000\000\000\000\000\t\238\000\000\000\186\000\000\000\000\000\000\017X\000\000\000\000\015l$N\011~\000\000$\152\000\000\000\000\000\000\000\000\013>\000\000\000\000\000\000\n4\000\000\001\170\013\016\004\016\000\000\000\000\000\000\008|\008J\000\000\000\000\000\000\000\000\002D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\132\000\000\000\000\016^\000\000\000\029\013\142\003\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\144\000\000\000\000\0248%b\000\000\000\000\000\000\000\000\0026\000\000\005\008\011\198\000\000\028\202\000\000\000\000\000\000\000\000\000\000\000\146!\012\000\000\000\000&\176\000\000\000\000\000\000\000\000\nV\000\000)\240\000\000\000\000\000\000\000\000\007D\000\000\000\000\000\000\006\242\000\000\000\000\001\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\174\000\000\000\000\000\000\005\028\000\000\000\000\000\000\000\000\000\000\000\004\004\150\007\150\008\220\000\000\005\186\005\212\t\004\t\134\000\000\000\000\000\000\000\000\000\000\000\000\006b\021\244\000\000\030d\007X\000\000\000\000\008\248\000\000\022\232\000\000)\226\000\000\000\000\008\160\023f\000\000\030t\000\000\008\176\031\"\000\000\000\000\000\000\004\242\005\186\000\000\000\000\000\000\000\000\0088\000\000\011<\000\000\000\157\011z\000\000\000\000\000\000\003>\000\000\003P\000\000\t\002\000\000\000\000\0032\000\000\000\000\000\000\000\000\n8\000\000\000\000\t\238\000\000\023\220\000\000\020\236\013L\000\000\000\000\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000/\250\000\000\000R\000\000\000\000\000\000\000\000\000\000\001\148\000\000\n\182\t\136\011\200\000\000\002\170\012F\000\000\n\146\000\000\003\164\000\000\004D\000\000\005>\000\000\020\236\000\000\000\000\000\000\000\000\000\000\005\222\000\000\n\162\000\000\006\216\000\000\020\236\013\174\000\000\004\222\000\000\013\160\012\138\000\000\tH\000\000\n\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\168\000\000\011\020\000\000\000\000\000\000\000\000\000\000\000\000\013\166\012\158\000\000\000\000\012\196\000\000\000\000\012\166\t\218\013\226\000\000\013\232\000\000\000\000\t\186\011P\000\000\012\220\000\000\000\000\013\018\000\000\000\000\000\000\000\000\000\000\000\000\013\222\012\204\000\000\000\000\000\000\012\238\012\212\n\166\n\156\012\240\013&\000\000\000\000\012\222\n\176\n\170\012\252\0138\000\000\000\000\n\138\000\000\000\000\000\000\000\000\014\008\000\000\000\000\000\000\014\016\000\000\000\000"), (16, "\003l\003\131\005\196\005\197\002\193\000\138\005?\002\197\0017\000\147\003:\005\164\005n\005o\000\007\000\018\000_\006\017\003l\003\131\002\164\004Z\004B\001.\005|\006|\000\025\000_\000a\001\225\000e\006}\005\198\001\186\000_\003l\003m\000\005\006~\001\212\004\019\000\017\005\199\001g\001\140\001h\005}\006\018\001B\006\019\006\168\006\169\005\128\005n\005o\0010\004\020\001\192\003n\000\013\000\140\000\140\003o\001\188\002\198\000\024\000\141\000g\002\199\0026\000\142\001g\000J\001~\004\020\005p\003n\000_\006\020\002\246\003o\002\164\006\144\001\210\000\016\000\017\001\143\001\194\006\021\002:\001\234\000\140\001\237\003n\000\028\006'\000\138\003o\000\151\000\140\000\147\005t\001i\000\004\006\173\002=\001j\001\141\001\236\005\127\001\236\004\137\000_\003\136\001/\001\181\005p\003N\000 \006\007\0029\000h\006\128\000_\004/\006\176\000\005\000\140\006\177\000_\001i\005}\001\013\002\245\001j\005u\001w\005\128\005n\005o\006\129\006\008\001\213\006\011\005n\005o\001/\001\186\003\253\001\141\000_\000f\000\140\000e\005\196\005\197\000J\000\141\003|\002\166\006P\000\142\002\212\004\002\001w\004\225\003\253\004\003\004\021\000g\003}\004\139\004h\006\145\002\213\000\152\003|\001\187\006/\000J\006\181\004\002\004V\000K\005\220\004\003\004\021\006\130\003}\000\151\000g\000\138\000\182\003|\005\199\000\139\006\131\000\153\004\007\001\012\006\156\005p\004C\003U\004b\003}\004\247\005p\0062\004\029\001\179\001\181\004y\001x\004:\003\140\004\007\005\140\003l\003\131\004\024\006\158\000\183\001\015\005\005\0016\000_\004\029\003\231\004\021\006\160\006\182\004:\003\140\000_\005v\006P\003\141\006~\006\183\004\019\001x\003\142\002\247\006\002\000\155\003\143\000\140\0024\000\184\003\168\003\144\000\141\000\185\000_\003\141\000\142\002\250\002=\000\157\003\142\001\192\001\186\005\t\003\143\001\142\000\152\000h\002\193\003\144\004\029\002\197\003\141\004\"\004\020\004:\003n\003l\003\131\003\232\003o\001\145\002;\001\183\000\151\006\202\003\144\001\144\000\153\000\031\000h\001\193\003\139\000_\002\165\001\150\000\008\002\164\004Z\004B\001g\000_\001\203\002H\001\214\006'\006\003\004Q\001\189\001\145\000\203\001\215\0065\000\183\001\146\002=\006\004\006\005\001\147\001\229\005\007\000\203\001\012\001\148\000\140\001\015\001E\0016\002\198\006\007\006H\006I\002\199\004\020\002\167\003n\000\155\004S\006\203\003o\000\184\005\254\002\193\005b\000\185\002\197\001\015\006M\0016\000\"\000\157\006\008\003+\006\011\005n\005o\000\140\003l\003\131\001i\000J\000\152\005\251\001j\004\016\005`\003\253\001\"\004\252\000J\005c\005n\005o\000_\000$\004\017\003|\006~\006\188\004B\004\023\004\002\001\027\000\153\005\131\004\003\004\021\006\204\003}\004i\003\136\004\017\001\181\001w\000(\001g\006\131\001~\000\140\004\248\006\206\004H\002\198\006P\006'\000J\002\199\001\213\000_\000a\000b\000e\004\017\004\020\002=\003n\004\007\005p\006(\003o\004\024\006\208\001\191\004\250\000\203\003\253\002\212\004\029\000*\006\199\006\210\001Q\004:\003\140\005p\003|\000J\005j\002\213\005\215\004\002\000_\0026\003\233\004\003\004\021\003:\003}\000g\004k\003-\000\140\003F\005k\001i\003\141\002H\004\\\001j\004V\003\142\005\216\0028\000J\003\143\005\219\005n\005o\005\132\003\144\001x\001\217\005\252\004\\\001g\004\007\001~\000_\006-\004C\000\144\004b\003l\003\131\005\182\001\131\004\029\000J\001w\004y\001$\004:\003\140\0029\003\232\001\028\000J\001\029\000_\000\203\002\212\004Q\006~\006\188\004B\003\253\005\183\002\247\006\147\005\186\005n\005o\002\213\002H\003\141\003|\003\234\0067\000J\003\142\004\002\002\252\006+\003\143\004\003\004\021\006\194\003}\003\144\005p\000\140\004R\000J\001i\001g\006\131\001h\001j\004\020\004\005\003n\003\197\003\198\001\026\003o\000\004\0017\000h\003\237\003\238\003\240\000J\005\134\002\193\006\193\004\007\002\197\000h\001\027\004C\003;\006\196\003l\003\131\001\131\001x\004\029\001w\000\005\006\198\005\131\004:\003\140\005p\000\251\0017\001\204\005\135\000_\000/\001\012\002\247\006~\006\188\004B\004\250\003G\000J\0003\001\134\000\140\0014\000\138\001i\003\141\002\254\000\147\001j\001-\003\142\001g\004\182\001h\003\143\001\015\003)\0016\001(\003\144\000\140\004d\001\144\002H\002\198\0002\004;\000J\002\199\004\020\000_\003n\002\166\005\008\006Z\003o\000J\004_\001w\004v\003\234\003\253\006\149\005\221\001\145\006\195\006\140\005\132\006\141\001\146\000\203\003|\000J\001\147\001<\001x\004\002\004v\001\148\000\140\004\003\004\021\006\194\003}\000\141\005\132\001\132\000\140\000\142\004x\001i\006\131\003\236\001O\001j\004\005\000_\003\197\003\198\001\134\006Z\004\253\001\028\004{\001\029\000_\000\203\004w\005\200\002\164\000J\004\007\007\013\003\197\003\198\004C\000\151\006\196\003l\003\131\004n\001\144\004\029\000J\001w\006\198\007\014\004:\003\140\000h\000_\000a\001\t\000e\000_\001x\002\165\001\198\006~\006\188\004B\003\253\002\212\001\145\000J\003N\005]\005^\001\146\005\007\003\141\003|\001\147\000J\002\213\003\142\004\002\001\148\001l\003\143\004\003\004\021\006\194\003}\003\144\005\149\001g\000h\001h\006\014\000g\006\131\0005\001\018\004\020\004\005\003n\004\133\003\197\003\198\003o\001\172\000\138\000h\002\166\004n\000\139\005\147\005n\005o\006\197\004\007\0007\000\152\005\244\004C\005\138\006\196\003l\003\131\006_\001x\004\029\001\145\003:\006\198\006R\004:\003\140\006S\001\183\003*\006e\006_\000_\000\153\002\166\001\148\006~\006\188\004B\000h\000\140\002\247\006W\001i\003\200\003H\000\138\001j\003\141\005\n\000\147\005\139\000h\003\142\003:\003\000\000\140\003\143\000\183\000_\003\199\000\141\003\144\003L\006\\\000\142\000\203\000\138\007\022\005p\000J\000\139\004\020\000h\003n\004\021\006[\001w\003o\003\197\003\198\000\155\001u\001C\003\253\000\184\004\148\001\145\006\205\000\185\004p\003l\003\131\000\151\003|\000\157\0030\004\017\006P\004\002\004\142\001\152\000\140\004\003\004\021\006\194\003}\000\141\000J\005\t\006\127\000\142\003F\001g\006\131\001|\004\029\004&\004\005\004\"\001\012\004:\004{\000\140\000\179\004\011\000_\001\014\000\141\000e\004\144\000_\000\142\000h\004\007\000;\003;\000J\004C\000\151\006\196\003l\003\131\000=\001\015\004\029\0016\000\140\006\198\003n\004:\003\140\005\176\003o\001x\004s\000?\000_\002,\004\142\000\151\006~\006\188\004B\003\253\000h\000g\0017\003;\000\140\000\152\002\166\001i\003\141\003|\006c\001j\003@\003\142\004\002\000C\002\031\003\143\004\003\004\021\006\194\003}\003\144\006b\004\143\002\193\003:\000\153\002\197\006\131\003D\004~\004\020\004\005\003n\000B\000_\000_\003o\003\136\001\223\001w\004\188\006g\003@\003l\003m\000_\006\209\004\007\006k\000\152\000E\004C\002B\006\196\000J\001\145\003l\003\131\004\029\004\017\003D\006\198\000J\004:\003\140\001g\000\182\001{\004\237\001\154\000\152\000\153\000_\001\197\004\164\000g\002\164\004Z\004B\002\238\005_\000h\003|\002\198\006?\000_\003\141\002\199\001\189\006Z\000\203\003\142\000\153\000_\003}\003\143\000\183\005\017\004\239\000\140\003\144\003n\005`\006C\006D\003o\003\138\005c\005n\005o\000J\001\"\004\020\000G\003n\005\019\001x\000\181\003o\000\155\005m\000\140\003\253\000\184\001i\004\165\001\027\000\185\001j\003l\003\131\001\012\003|\000\157\000J\000h\005k\004\002\004/\003\140\000\155\004\003\004\021\006\194\003}\000_\000J\003l\003\131\002\164\004Z\004B\006\131\000J\000\157\001\015\004\005\0016\001w\000_\005\174\003\141\000\203\000_\002\239\002x\003\142\002\164\004Z\004B\003\143\005p\004\007\000h\000_\003\144\004C\006A\006\196\0044\005\173\002\212\003\024\004\029\003\022\004\020\006\198\003n\004:\003\140\002\242\003o\000L\002\213\005\250\002\193\000N\0048\002\197\003\197\003\198\003|\000J\004\020\003\253\003n\000\140\003\197\003\198\003o\000J\003\141\003\025\003}\003|\005\251\003\142\004\173\002\245\004\002\003\143\002\143\000_\004\003\004\021\003\144\003}\005\000\004h\0017\004\170\001\015\004\187\0016\001%\001x\0011\005v\004\005\001\028\005\251\001\029\000_\000\203\004\237\002\201\002\166\006d\000_\000J\000Q\000\140\006Z\000J\004\007\002\198\006n\002\210\004C\002\199\004b\005\020\002\247\000J\002\236\004\029\000J\004\017\004\"\004\231\004:\003\140\006_\005q\004\238\000J\002\248\003\253\000S\005\019\003\141\006\\\000W\000\203\003l\003\131\005\027\003|\001\"\001\231\000J\000\203\004\002\003\141\003\146\003\253\004\003\004\021\003\142\003}\004f\004h\003\143\001\027\005\029\003|\004P\003\144\001\"\001\228\004\002\004\005\005\030\003q\004\003\004\021\005!\003}\004\141\004h\006\133\003z\001g\001\027\001h\005\252\000J\004\007\006u\004\005\005\029\004C\002\193\004b\005\029\002\197\006z\006_\004\029\006\185\002\238\004\"\003n\004:\003\140\004\007\003o\003l\003\131\004C\006\001\004b\006\227\002\212\000d\005\174\004\029\000\203\005)\004\"\003\215\004:\003\140\000_\000h\002\213\003\141\002\164\004Z\004B\001\233\003\142\000\203\005\177\003\230\003\143\005+\000h\000\140\006\157\003\144\001i\002\166\000\205\003\141\001j\000h\005\255\000\140\003\142\004\017\006\200\002\198\003\143\005,\006\146\002\199\005\218\003\144\005/\000\138\000h\003:\004\020\000\139\003n\003l\003\131\004\189\003o\006[\001%\005+\001&\000\208\001w\001\028\005\029\001\029\005\216\000\203\003O\000_\005\219\005n\005o\002\164\004Z\004B\006a\004\198\001%\003\253\001+\002\247\005\240\001\028\000h\001\029\003S\000\203\001g\003|\001h\006\\\004\216\000\203\004\002\003\002\001\192\006\227\004\003\005\237\0057\003}\005:\000\140\005\238\005\241\005n\005o\000\141\004\020\000\212\003n\000\142\004\005\006\255\003o\003l\003\131\0059\006\185\0059\005\238\005\241\005n\005o\005=\001\194\006\185\004\232\004\007\006\234\006\252\000_\006\145\005p\007\030\006~\002\212\004\019\001x\000\151\006`\003\253\005\029\000\140\000\211\003\140\001i\000\214\002\213\007\031\001j\003|\000\216\000\138\000\220\000\222\004\002\000\147\000\225\000h\004\003\004\021\004/\003}\005\004\004h\000\229\003\141\005p\000_\006\191\004\020\003\142\003n\006\227\004\005\003\143\003o\006\207\000\228\001w\003\144\007\006\000\231\000\138\005p\000\138\000\233\000\139\006\201\000\139\004\007\000\237\000\239\000\241\004C\000\245\004b\000_\001g\003\253\001h\004\029\0044\000\244\004\"\001}\004:\003\140\000\140\003|\005\195\005n\005o\000\141\004\002\000\152\002\247\000\142\004\003\004\021\0048\003}\006\154\004h\006\254\007\018\006\228\006\227\000_\003\141\003\004\007\017\007\025\004\005\003\142\000\247\007\024\000\153\003\143\000\140\007\007\000\140\000\249\003\144\000\141\000\151\000\141\000\005\000\142\004\007\000\142\003l\003\131\004C\000\140\004b\001x\001i\000\252\002\166\004\029\001j\003\253\004\"\006\147\004:\003\140\000_\005\229\005n\005o\006~\003|\004\019\005p\000\254\000\151\004\002\000\151\000J\001\000\004\003\004\021\006\187\003}\000\155\001\002\001g\003\141\001h\006<\001w\006\131\003\142\007\006\006\139\006\190\003\143\001\006\000\159\001F\007\006\003\144\002\193\006\230\001\011\002\197\004\020\001;\003n\001A\001@\004\007\003o\003l\003\131\004\024\006\192\001\222\001\221\001\227\001\241\000\152\004\029\001\145\006\186\006\198\001\244\004:\003\140\000_\001\248\005p\001\247\006~\001\250\004\019\001\252\001\156\001T\002\000\002\002\007\007\000\140\000\153\002\005\001i\007\007\002\t\002\008\001j\003\141\001g\000\152\001h\000\152\003\142\002\011\006\232\000\140\003\143\002\013\002\017\002\198\001\195\003\144\000\203\002\199\001x\000\183\004\020\002\019\003n\002\021\002\025\000\153\003o\000\153\002\024\002\027\001w\002\029\003l\003\131\002 \002\"\002$\006\150\006\189\006\151\000h\006\140\000\155\006\141\002&\000\203\000\184\002*\000_\003\253\000\185\0023\002\164\0022\004\019\005\185\000\157\002A\000\140\003|\002G\001i\002F\002\138\004\002\001j\002J\002M\004\003\004\021\006\187\003}\006\140\000\155\006\141\000\155\000\203\005\183\002Q\006\131\005\186\005n\005o\006\190\004<\002P\001\145\000\161\004\020\000\163\003n\002S\003l\003m\003o\001w\002U\002Y\002[\004\007\001\158\002^\004@\004\024\006\192\002b\002a\001x\002d\002f\004\029\002\212\003\253\006\198\005\182\004:\003\140\002j\002l\002n\002r\002q\003|\002\213\005\012\002t\002v\004\002\004\136\003l\003\131\004\003\004\021\006\187\003}\002y\005\183\002{\003\141\005\186\005n\005o\006\131\003\142\005p\000_\006\190\003\143\000\140\002\164\003n\004\019\003\144\002}\003o\000\138\002\127\002\131\002\137\001\209\002\136\002\142\004\007\002\148\002\147\005h\004\024\006\192\005\144\005{\005\137\005\179\001x\004\029\005\214\001\145\006\198\005\236\004:\003\140\003\253\003l\003m\005\246\006\016\004\020\006\166\003n\006\212\001\160\003|\003o\002\215\006\216\006\235\004\002\006\239\003l\003\131\004\003\004\021\003\141\003}\005p\006\240\004\012\003\142\006\245\006\246\006\251\003\143\000\140\006\250\000_\004}\003\144\000\141\002\164\004\014\004\019\000\142\004\134\007\002\007\004\007\n\004\136\002\193\007\011\007\015\002\197\004\007\007\016\007\019\007\020\004\024\004\127\007\023\000\140\007\026\003n\001\145\004\029\007\027\003o\004\"\007#\004:\003\140\000\151\007'\003|\000\000\000\000\004\020\001\162\003n\000\000\000\138\000\000\003o\000\000\000\147\003}\000\138\000\000\000\000\000\000\000\149\000\000\003\141\002\193\000\000\000\000\002\197\003\142\000\000\000\000\003\253\003\143\000\000\000\000\000\000\000\140\003\144\003l\003\131\002\198\003|\000\000\000\000\002\199\000\000\004\002\004\026\000\000\000\000\004\003\004\021\000\138\003}\000_\000\000\001V\000\000\002\164\004\027\004B\005\206\000\000\000\000\000\000\004}\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\000\000\000\141\000\152\000\140\004\007\000\142\003\130\002\198\004\024\004\127\000\000\002\199\001\170\000\000\000\000\004\029\003|\004\020\004\"\003n\004:\003\140\003\253\003o\000\153\000\000\000\000\000\151\003}\003l\003\131\000\140\003|\000\151\000\000\000\000\000\141\004\002\004E\000\000\000\142\004\003\004\021\003\141\003}\000_\000\000\000\000\003\142\002\164\004\027\004B\003\143\000\000\000\000\000\000\004G\003\144\000\000\000\000\000\000\002\212\000\138\000\000\000\000\000\000\000\139\000\000\000\151\000\000\000\000\000\000\004\007\002\213\000\000\005\237\004\024\004I\000\000\003l\003\178\000\000\000\000\004\029\000\000\004\020\004K\003n\004:\003\140\000\000\003o\003l\003\131\000\000\003~\000\000\005\238\005\241\005n\005o\004J\000\000\000\000\000\152\002\212\000\000\000\000\000_\003\253\000\152\003\141\002\164\004\027\004B\000\000\003\142\002\213\000\140\003|\003\143\000\182\000\000\000\141\004\002\003\144\000\153\000\142\004\003\004\021\000\000\003}\000\153\006\006\000\000\000\140\000\000\003n\000\000\000\000\000\000\003o\002\247\004\005\000\000\000\152\000\000\000\000\004\020\000\000\003n\000\183\000\000\000\000\003o\000\151\003\006\000\154\000\000\004\007\003l\003m\005p\004C\000\000\004D\000\000\000\153\000\000\000\000\004\029\000\000\000\000\004\"\000\155\004:\003\140\003\253\000\184\000\000\000\155\000\000\000\185\000\000\000\000\000\194\002\247\003|\000\157\001g\000\000\001h\004\002\000\000\000\157\006\n\004\003\004\021\003\141\003}\003\008\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\004\005\003\144\000\000\003l\003\131\000\140\006\008\003n\006\011\005n\005o\003o\000\000\000\000\002\193\000\000\004\007\002\197\000\000\000_\004C\000\152\004D\002\164\004Z\004B\003|\004\029\000\000\003\253\004\"\000\000\004:\003\140\000\140\000\000\000\138\001i\003}\003|\001S\001j\000\000\000\153\004\002\000\000\000\000\000\000\004\003\004\021\000\138\003}\000\000\002\193\000\147\003\141\002\219\006\024\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\140\001w\005p\000\000\002\198\000\000\000\000\000\000\002\199\004\007\000\000\000\000\000_\004C\000\000\004D\002\164\004Z\004B\000\000\004\029\000\155\000\140\004\"\000\000\004:\003\140\000\141\000\000\002\193\000\000\000\142\002\197\000\000\000\000\000\165\000\140\003|\005\182\000\140\000\000\000\141\000\000\002\198\000\000\000\142\000\000\002\199\003\141\003}\000\000\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\005\183\000\000\003\144\005\186\005n\005o\000\000\000_\000a\0019\000e\000_\000\000\000\151\000\000\002\164\004Z\004B\001x\000\000\000\000\003\253\000\000\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003|\000\000\002\199\002\173\000\000\004\002\000\000\000\000\000\000\004\003\004\021\002\212\003}\000\000\004a\000\000\000g\000\000\000\000\000\000\004\020\000\000\003n\002\213\004\005\003\141\003o\003l\003\131\000\000\000\138\000\000\000\000\000\000\001R\000\000\005p\000\000\000\000\003\148\004\007\000\000\005\146\000_\004C\000\152\004b\002\164\004\128\004B\002\212\004\029\000\000\003\253\004\"\001\145\004:\003\140\000\000\000\152\000\000\000\000\002\213\003|\005\147\005n\005o\000\153\004\002\001\164\000\000\000\000\004\003\004\021\000\138\003}\001\183\004c\000\147\003\141\000\000\000\153\000\000\004\020\003\142\003n\000\140\004\005\003\143\003o\000_\000\141\002\214\003\144\000\000\000\142\002\212\003l\003m\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\183\004C\002\213\004b\000\000\000\000\003\253\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\130\003|\000\151\000\000\003l\003\129\004\002\005p\000\155\000\140\004\003\004\021\000\184\003}\000\141\004u\000\185\000\000\000\142\005\224\000\000\003\141\000\157\000\000\000\000\004\005\003\142\001\012\003l\003\131\003\143\000\000\000\140\000\000\003n\003\144\000\000\000\000\003o\000\000\000\000\004\007\000\000\000\000\000_\004C\000\151\004b\002\164\004\128\004B\001\015\004\029\0016\003\253\004\"\002\247\004:\003\140\000\000\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\004\002\003\n\000\000\000\000\004\003\004\021\000\000\003}\000\000\000\000\000\152\003\141\000\000\000\000\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\000\000_\000a\001>\000e\004\150\000\153\000\000\000\000\004\007\000\000\000\000\000_\004C\000\000\004\131\002\164\004\027\004B\005\150\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\132\000\152\000\000\000\000\000\000\000\138\000\000\000\138\000\000\000\139\000\000\000\139\003|\000\000\000g\000\197\000\198\000\200\000\201\000\000\000\000\003\141\000\000\000\153\003}\004\020\003\142\003n\000\000\000\000\003\143\003o\000\000\000\000\000\000\003\144\000\000\003l\003\131\000\000\003|\000\000\000\000\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\138\003}\000_\003\253\000\147\000\000\002\164\000\000\004\019\000\000\000\140\000\000\000\140\003|\000\000\000\141\000\000\000\141\004\002\000\142\000\155\000\142\004\003\004\021\000\184\003}\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\004\005\000\000\000\000\003\141\000\000\004\020\000\000\003n\000\000\000\000\000\151\003o\000\151\000\000\000\000\000\000\004\007\003\150\000\000\000\140\004C\000\000\004\131\000\000\000\141\000\000\000\000\004\029\000\142\003\253\004\"\000\000\004:\003\140\000\000\001g\000\000\001z\000_\003|\000\000\004\254\002\164\000\000\004\002\004\136\003l\003\131\004\003\004\021\000\000\003}\000\000\000\000\000\000\003\141\000\151\000\000\001\012\000\000\003\142\000\000\000_\004\005\003\143\006_\002\164\000\000\004\019\003\144\000_\000a\001\219\000e\000\000\000\000\000\000\000\000\003N\004\007\000\000\002\166\001\015\004C\0016\004D\000\000\000\152\000\000\000\152\004\029\000\140\000\000\004\"\001i\004:\003\140\003\253\001j\000\000\000\000\003:\004\020\000\000\003n\000\000\000\000\003|\003o\000\153\000g\000\153\004\002\000\000\003l\003\131\004\003\004\021\003\141\003}\000\000\000\000\000\000\003\142\000\000\003&\000\000\003\143\001w\000\000\000_\004}\003\144\000\152\002\164\000\000\004\019\000\000\005\014\000\000\003l\003\128\004\136\000\000\000\000\000\000\000\000\004\007\000\000\000\000\002\234\004\024\004\127\000\000\000\000\000\153\000\000\000\155\004\029\000\155\000\000\004\"\000\000\004:\003\140\005\146\000\000\000\000\000\000\000\000\004\020\000\167\003n\000\169\000\000\000\000\003o\003l\003\131\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\141\005\147\005n\005o\004\021\003\142\000\000\000_\003\253\003\143\000\140\002\164\003n\004\019\003\144\000\000\003o\000\155\003|\001x\005\016\000\184\000\000\004\002\004\136\000\185\000h\004\003\004\021\004/\003}\000\157\000\000\000\000\000\000\000\000\006c\000\000\0052\000\000\000\000\000\000\004}\002\193\000\000\004\029\002\197\004\020\004\"\003n\004:\000\000\000\000\003o\000\000\005\146\001\012\000\000\004\007\000\000\000\138\000\000\004\024\004\127\000\147\005p\000\000\000\000\000\000\004\029\0044\000\000\004\"\000\000\004:\003\140\003\253\005\147\005n\005o\001\015\000\000\0016\006h\000\000\000\000\003|\004\136\0048\000\000\000\000\004\002\001g\006\007\001h\004\003\004\021\003\141\003}\000\140\000\000\000\000\003\142\002\198\000\000\000\000\003\143\002\199\000\000\000\000\004}\003\144\003|\003l\003\131\006\008\000\140\006\011\005n\005o\000\000\000\141\006p\000\000\003}\000\142\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\004\027\004B\000\000\004\029\000\000\003\253\004\"\005p\004:\003\140\000\000\000\000\000\138\000\000\000\140\003|\000\139\001i\000\000\000\151\004\002\001j\000\138\000\000\004\003\004\021\000\139\003}\000\000\000\000\005\146\003\141\000\000\000\000\000\000\004\020\003\142\003n\005\153\004}\003\143\003o\003l\003\131\000\000\003\144\000\000\005p\000\000\000\000\000\000\001w\005\147\005n\005o\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\000\000\004\019\000\000\004\029\002\212\000\140\004\"\000\000\004:\003\140\000\141\000\000\000\000\000\000\000\142\000\140\002\213\000\138\000\000\000\000\000\141\000\149\000\000\000\000\000\142\002\232\000_\000a\0020\000e\000\000\003\141\000\000\000\152\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\000\000\000\000\003\144\005\146\006\159\000\000\000\000\002\234\005\159\000\151\005p\000_\000\153\000\000\000\000\002\164\004\027\004B\000\000\000\000\000\000\003\253\001x\000g\000\000\005\147\005n\005o\006v\000\000\000\140\003|\004\136\000\000\000\000\000\141\004\002\000\183\000\000\000\142\004\003\004\021\002\247\003}\000\000\002\193\006\022\000\000\002\197\000\000\000\000\004\020\000\000\003n\000\000\004\005\003\012\003o\000\000\000_\000\155\000\000\000\000\000\000\000\184\003l\003m\000\151\000\185\000\000\005\182\004\007\000\000\000\000\000\157\004C\000\152\004D\000\000\000\000\000\000\000\000\004\029\000\000\003\253\004\"\000\152\004:\003\140\005p\001y\000\000\005\183\000\000\003|\005\186\005n\005o\000\153\004\002\000\000\000\140\000\000\004\003\004\021\002\198\003}\000\000\000\153\002\199\003\141\000\000\004\145\003l\003\131\003\142\000\000\005\157\004}\003\143\000\000\000\140\000\000\003n\003\144\001\"\000\000\003o\000\000\000_\003l\003\127\000\000\002\164\004\007\004B\000\000\000\000\004\024\004\127\001\027\000\000\000\000\003\253\000\152\004\029\000\155\000\000\004\"\000\000\004:\003\140\000\000\003|\000\000\001\012\000\155\000\000\004\002\005p\000\171\000\000\004\003\004\021\000\000\003}\000\153\000\000\000\000\004\020\000\173\003n\000\000\003\141\000\000\003o\000\000\004\005\003\142\001\015\000\000\0016\003\143\000\000\000\000\000_\000\140\003\144\003n\000\000\000\000\000\154\003o\004\007\000\000\000\000\005\170\004C\000\000\004D\003l\003\131\000\000\002\212\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\004F\000\000\000\155\002\213\000_\003l\003m\000\156\002\164\000\000\004\019\003|\000_\000a\002?\000e\000\157\000\000\000\000\000\000\003\141\000\000\000\000\003}\000\000\003\142\000\000\000\000\000\000\003\143\000\000\006\007\000\000\000\000\003\144\000\000\001%\000\000\0033\001\"\000\000\001\028\000\000\001\029\004\020\000\203\003n\000\000\000\000\003\253\003o\006!\000g\006\008\001\027\006\011\005n\005o\000\000\003|\000\000\000\140\000\000\003n\004\002\003l\003\131\003o\004\003\004\021\000\000\003}\002\247\003l\003\131\000\000\003|\004\018\000\000\000\000\000\000\000_\000\000\004\147\000\000\002\164\003\014\004\019\003}\000_\003\141\000\000\000\000\002\164\000\000\004\019\000\000\000\000\000\000\004\007\000_\000\000\000\000\004C\003\152\004\149\000\000\000\000\000\000\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\000\005p\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\000\000\004\020\000\000\003n\000\000\000\138\000\000\003o\003\253\000\147\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\001%\003|\003=\000\000\001\"\001\028\000\000\001\029\004\022\000\203\004\028\000\000\000\000\003}\000_\000\000\000\000\000\000\002\164\001\027\004\019\000\000\001\012\000\000\004\007\000\000\000\000\000\140\004\024\004\025\000\000\000\000\000\141\000\000\000\000\004\029\000\142\000\000\004\"\000\000\004:\003\140\000\000\000\000\002\193\000\000\001\015\002\197\0016\000\000\000\000\003\253\000\000\000\000\004\020\000\000\003n\000\000\000\000\003\253\003o\003|\006\027\003\141\000\151\000\000\004\002\000\000\003\142\003|\004\003\004\021\003\143\003}\004\002\003l\003\131\003\144\004\003\004\021\003\141\003}\000\138\000\000\000\000\004\022\000\149\004e\000\000\000\000\000\000\000_\000\000\004^\003\154\002\164\000\000\004\019\000\000\000\000\000\140\004\007\000\000\000\000\002\198\004\024\004\025\000\000\002\199\004\007\000\000\000\000\004\029\004\024\004`\004\"\000\000\004:\003\140\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\001%\001g\004)\001h\004\020\001\028\003n\001\029\000\000\000\203\003o\000\140\000\000\003\141\000\152\000\000\000\141\000\000\003\142\003\253\000\142\003\141\003\143\000_\000\000\000\000\003\142\003\144\001I\003|\003\143\000\201\000\000\000\000\004\002\003\144\000\153\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\004\022\000\000\005\146\000\202\000\140\000\203\000_\001i\000\183\000\000\002\164\001j\004\019\000\000\000\000\000\000\004\007\000\000\000\000\000\138\004\024\004\025\002\212\000\139\005\147\005n\005o\004\029\000\000\000\000\004\"\000\155\004:\003\140\002\213\000\184\001\"\000\000\000\000\000\185\000\000\001w\000\000\003\253\000\000\000\157\004\020\001G\003n\000\000\000\000\001\027\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\003l\003\131\003\144\000\000\004]\000\152\000\000\000\138\000\140\000\000\004^\000\149\000\000\000\141\000\000\000\000\000_\000\142\000\000\000\000\002\164\005p\004\019\000\000\000\000\000\000\004\007\000\153\000\000\000\000\004\024\004`\000\000\000\000\000\000\006\007\002\247\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\151\002\193\000\000\000\000\002\218\003\016\001x\000\154\000\000\000\000\000\000\004\020\006\008\003n\006\011\005n\005o\003o\000\140\000\000\003\141\000\000\000\000\000\141\000\000\003\142\003\253\000\142\000\000\003\143\000\155\000\000\000\000\000\000\003\144\000\193\003|\000\000\000\000\000\000\000\000\004\002\003l\003\131\000\157\004\003\004\021\001%\003}\0041\003l\003\131\001\028\004q\001\029\000\151\000\203\000\140\000_\000\000\004r\002\198\002\164\000\000\004\019\002\199\000_\000\000\000\000\000\000\002\164\000\000\004\019\000\000\001\145\000\000\004\007\000\152\005p\002\193\004\024\004t\002\217\005\168\000\000\000\000\000\000\004\029\001\166\000\000\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\004\020\000\153\003n\000\000\000\000\003\253\003o\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\000\000\000\000\003\144\000\000\004o\000\152\000\000\000\000\000\140\000\000\004^\004|\002\198\001g\000\000\001h\002\199\000\000\000\000\004\129\000\155\000_\000a\002D\000e\000\000\004\007\000\153\000\000\000\000\004\024\004`\002\212\000\000\000\175\000_\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\002\213\000\000\003l\003\131\000\000\006l\000\000\000\000\000\154\000\000\000_\000\000\006)\006x\002\164\000\000\004\019\000g\000_\003\253\000\000\003\141\002\164\000\000\004\019\000\140\003\142\003\253\001i\003|\003\143\000\155\001j\000\000\004\002\003\144\000\196\003|\004\003\004\021\000\000\003}\004\002\000\000\000\000\000\157\004\003\004\021\000\000\003}\004\020\000\000\003n\004}\000\000\000\000\003o\001\"\004\020\000\000\003n\004}\001w\000\000\003o\000\000\002\212\000\000\000\000\004\007\000\000\000\000\001\027\004\024\004\127\000\000\002\193\004\007\002\213\002\197\004\029\004\024\004\127\004\"\000\000\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\000\000\006{\000\000\000\138\000\000\000\000\000_\000\147\000\000\003\141\002\164\000\000\004\019\000\000\003\142\000\000\000\000\003\141\003\143\000_\000\000\000\000\003\142\003\144\000\000\000\000\003\143\000\000\001g\000\000\001h\003\144\000\000\000\140\000\000\000\000\000\000\002\198\000\000\002\193\001x\002\199\002\197\003\253\000\000\000\000\004\020\000\000\003n\000\000\001\012\003\253\003o\003|\000\000\000\000\000\000\000\000\004\002\000\140\000\000\003|\004\003\004\021\000\141\003}\004\002\000\000\000\142\000\000\004\003\004\021\000\000\003}\001\015\000\000\0016\006m\000\000\000\000\000\000\001%\000\000\004\176\000\140\006m\001\028\001i\001\029\000\000\000\203\001j\000\000\004\007\000\000\002\238\000\151\004\024\006o\002\198\000\000\004\007\000\000\002\199\004\029\004\024\006o\004\"\001\145\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\001w\001\168\000\000\000\000\000\000\000\138\000\000\005\146\000_\000\147\000\000\003\141\004\163\000\000\002\212\000\000\003\142\003\253\000\000\003\141\003\143\000_\005\146\000\000\003\142\003\144\002\213\003|\003\143\005\147\005n\005o\004\002\003\144\000\000\004\194\004\003\004\021\000\000\003}\000\000\000\000\000\000\000\000\005\147\005n\005o\000\000\004\197\000\000\003n\006m\000\152\000\000\003o\000\000\000\000\000\000\000\000\002\239\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\007\000\000\001W\000\142\004\024\006o\004\203\000\153\000\000\002\212\001x\004\029\002\241\000\000\004\"\000\000\004:\003\140\002\242\000\000\000\138\002\213\000\000\000\000\000\147\000\000\005p\001Y\002\247\000\203\000\000\000\151\000\183\000\138\000\000\004\240\000_\000\147\003\136\003\141\001\181\005p\003\018\005\146\003\142\000\000\002\245\000\000\003\143\000_\000\000\000\000\000\000\003\144\000\000\000\155\000\138\000\000\000\000\000\184\000\139\000\000\000\000\000\185\000\000\005\147\005n\005o\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000\140\006\007\001\145\000\000\000\000\000\141\000\000\003|\000\000\000\142\000\000\000_\000\000\000\140\002\247\000\000\001\174\004\204\000\141\003}\000\000\000\000\000\142\006\008\000\000\006\011\005n\005o\002\248\000\138\000\000\004\242\000\152\000\149\000\000\000\000\000\140\000\151\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\197\001n\000\200\000\201\000\151\000\140\000\000\005p\000\153\000\000\000\141\005\166\004\207\000\000\000\142\004\243\000\000\004\230\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\193\000\151\000\202\000\000\000\203\000_\000\000\000\183\000\000\002\164\000\000\000\000\000\000\000\140\003\141\000\000\000\151\005p\000\141\003\142\000\138\000\000\000\142\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000_\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\003N\001G\000\000\000\000\000\000\000\151\000_\000a\002\134\000e\000\152\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\197\003s\000\200\000\201\000\000\000\000\000\000\000\140\000\153\000\152\000\000\000\000\000\141\000\000\000\000\000\202\000\142\000\203\000\000\005\204\000\183\000\000\000g\000_\000\152\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\003l\003\131\000\000\000\000\000\197\003\255\000\200\000\201\000\000\000\155\000\151\000\000\000\153\000\184\000\000\000\000\000_\000\185\000\000\0060\004\163\000\000\000\155\000\157\000\152\001G\000\184\000\000\000\000\000\000\000\185\000\000\000\202\000\000\000\203\000\000\000\157\000\183\001G\000\000\000\000\000\000\000\000\004\244\000\000\000\155\000\153\000\000\000\000\003l\003\131\000\000\000\000\000\000\004\021\001\"\004\197\000\000\003n\000\177\000\155\000\000\003o\000\138\000\184\000_\000\000\000\147\000\185\004\163\001\027\000\154\000\000\000\000\000\157\000\000\001G\000\000\000\000\000_\000\000\004\203\000\000\000\000\000\000\000\000\000\138\000\152\0054\000\000\000\139\000\000\004\196\000\000\000\155\004\029\000\000\000\000\004\"\001\128\004:\000\197\004\031\000\200\000\201\004\197\000\000\003n\000\157\000\153\000\000\003o\000_\000a\002\140\000e\005\146\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\202\004\203\000\203\000\000\000\000\000\183\000\000\000\000\000\000\005\147\005n\005o\000\000\000\140\000\000\001\015\000\000\0016\000\141\000\000\000\000\000\000\000\142\000g\000\000\000\000\000\000\000\151\000\155\003|\000\000\000\000\000\184\000\000\000\000\000\000\000\185\003l\003\131\004\204\000\000\003}\000\157\000\000\001G\003l\003\131\000\000\000\000\001%\000\151\004\219\000\000\004\205\001\028\000\000\001\029\000\000\000\203\003\246\005\011\000\000\000\000\000\000\000\000\000\000\000\000\004N\000\000\000\000\000_\000\000\000\000\005p\002\164\003l\003\131\000\000\003|\000\000\004\207\000\000\000\000\004\212\000\000\004\230\003\140\000\000\004\204\000\000\003}\000\000\000\000\002\238\000\000\003n\000\000\003\246\004W\003o\000\000\002\238\004\205\003n\000\152\000\000\000\000\003o\003\141\000\000\003N\000\000\000\000\003\142\000\000\000\000\005\146\003\143\000\197\004\209\000\200\000\201\003\144\000\000\000\000\000\000\000\153\000\152\000\000\004\207\000\000\002\238\004\212\003n\004\230\003\140\000\000\003o\005\147\005n\005o\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\000\000\005\146\004T\001\012\000\000\003\141\003\136\000\000\000\000\000\000\003\142\000\000\000\000\002\193\003\143\000\000\002\216\000\000\000\000\003\144\000\000\000\000\000\155\005\147\005n\005o\000\184\001\015\005\209\0016\000\185\000\000\000\000\003\253\000\000\000\000\000\157\000\000\001G\003l\003\131\003\253\000\000\003|\000\000\000\155\000\000\000\000\004\002\000\000\005p\003|\004\003\000\000\000\000\003}\004\002\003l\003\131\000\187\004\003\003\246\004M\003}\000\000\000\000\000\000\004\005\000\000\000\140\004\021\003\253\000\000\002\198\000\000\004V\000\000\002\199\000\000\003\246\003\247\003|\000\000\004\007\000\000\000\000\004\002\005p\000\000\002\193\004\003\004\007\002\197\003}\000\000\002\238\000\000\003n\000\000\000\000\003\140\003o\005\146\000\000\0056\004\005\000\000\001g\003\140\001h\000\000\004\029\000\000\002\238\004\"\003n\004:\000\000\000\000\003o\000\000\004\007\003\141\000\000\005\147\005n\005o\003\142\000\000\000\000\003\141\003\143\000\000\000\000\000\000\003\142\003\144\000\000\003\140\003\143\000\000\000\000\000\000\000\000\003\144\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\003l\003\131\000\000\005\233\000\000\000\000\003\141\000\000\000\000\000\140\000\000\003\142\001i\003l\003\131\003\143\001j\002\212\000\000\000\000\003\144\000\000\003\246\004\001\000\000\000_\000a\002\145\000e\002\213\000\000\000\000\000\000\003\253\005p\003\246\004Y\000\000\000\000\000\000\005\231\000\000\000\000\003|\000\000\000\000\001w\000\000\004\002\000\000\000\000\003\253\004\003\000\000\000\000\003}\002\238\000\000\003n\003l\003\131\003|\003o\000\000\000\000\000g\004\002\004\005\000\000\002\238\004\003\003n\000\000\003}\000\000\003o\002\239\000\000\000\000\000\000\000\000\003\246\005$\004\007\000\000\004\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\212\003\019\003$\003\022\000\000\000\000\000\138\003\140\004\007\002\242\000\149\000\000\002\213\000\000\000\000\000\000\000\000\003l\003\131\000\000\006\007\000\000\002\238\000\000\003n\003\140\000\000\000\000\003o\003\141\001x\003\025\000\000\000\000\003\142\003l\003m\002\245\003\143\003\246\005&\000\000\006\008\003\144\006\011\005n\005o\003\141\006\031\000\000\000\138\000\000\003\142\000\000\000\147\003\253\003\143\000\000\000\000\000\000\000\000\003\144\000\140\003l\003\131\003|\000_\000\141\003\253\000\000\004\002\000\142\000\000\002\238\004\003\003n\000\000\003}\003|\003o\000\000\002\247\000\000\004\002\000\000\003\246\005(\004\003\000\000\004\005\003}\000\140\000\000\003n\000\000\002\248\000\000\003o\001\145\000\151\000\000\000\000\004\005\000\000\001\012\004\007\000\140\000\000\005p\000\000\000\000\000\141\001\176\000\000\003\253\000\142\000\000\000\000\004\007\002\238\000\000\003n\003\140\000\000\003|\003o\000\000\000\000\001\015\004\002\0016\000\000\000\000\004\003\000\000\003\140\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003\141\000\000\000\000\000\000\004\005\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\000\000\000\000\000\003\142\000\138\004\007\003\253\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003|\000\152\000\000\000\138\000_\004\002\003\140\000\147\000\000\004\003\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\003|\000_\000\000\000\000\000\000\000\153\004\005\000\000\000\000\000\000\003\141\000\000\003}\000\000\000\000\003\142\000\000\000\000\003\253\003\143\0063\000\000\004\007\000\000\003\144\000\000\000\140\000\152\003|\000\000\000\154\000\141\000\000\004\002\000\000\000\142\000\000\004\003\000\000\003\140\003}\000\140\000\000\000\138\001W\000\000\000\141\000\147\000\000\000\153\000\142\000\000\004\005\000\155\000\000\000\000\000\000\000\000\001\130\000_\000\000\003\141\000\000\000\151\000\000\000\000\003\142\000\157\004\007\001\201\003\143\000\203\000\138\000\000\000\183\003\144\000\147\000\000\000\151\003\141\000\000\000\000\000\000\000\000\000\000\003\140\002\193\000\000\000_\002\197\000\000\000\000\000\000\003\156\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\000\000\000\000\141\000\185\000\000\003\141\000\142\000\000\000\000\000\157\003\142\000\000\000\000\000\138\003\143\000\000\000\000\000\147\000\000\003\144\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000_\000\000\000\141\000\139\000\000\000\151\000\142\000\000\000\000\000\152\000\000\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\152\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\140\002\176\000\000\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\001\207\000\000\000\203\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\178\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\151\002\197\000\155\000\000\000\000\000\152\000\184\000\000\002\193\000\000\000\185\002\197\000\000\000\000\000\000\000\151\000\157\000\155\000\000\002\239\000\000\000\184\002\176\000\000\000\000\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\152\006\007\002\212\003\019\003\020\003\022\000\000\002\193\000\138\000\000\002\197\002\242\000\147\002\195\002\213\000\203\000\000\003\\\000\183\000\000\002\238\000\000\000\153\006\008\002\198\006\011\005n\005o\002\199\000\000\002\238\000\000\000\000\003\025\002\198\000\000\000\000\000\000\002\199\002\245\000\000\000\155\003^\000\152\000\203\000\184\000\138\000\183\002\193\000\185\000\147\002\197\000\000\000\000\000\000\000\157\000\000\000\000\000\152\000\000\003\\\000\000\000\000\002\238\000\140\000\153\000\000\002\198\000\000\000\141\000\155\002\199\000\000\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\153\000\000\000\000\002\247\000\157\003\176\000\000\000\203\000\000\005p\000\183\000\138\000\000\000\000\000\000\000\147\000\000\002\248\000\000\000\000\000\000\000\151\000\140\000\000\002\238\002\239\000\138\000\141\002\198\000\000\000\147\000\142\002\199\000\155\000\000\002\239\000\000\000\184\000\000\000\000\000\000\000\185\002\212\003\019\006r\003\022\000\138\000\157\000\155\000\000\000\147\002\242\002\212\000\000\002\213\003\026\000\000\000\000\000\000\000\151\000\000\002\242\000\189\000\000\002\213\000\000\000\000\000\140\002\239\000\000\000\000\000\000\000\141\003\025\000\000\000\000\000\142\000\000\000\000\002\245\000\000\000\000\000\140\003\028\000\000\002\212\000\000\000\141\003\026\002\245\0037\000\142\000\000\000\000\002\242\000\000\000\000\002\213\000\152\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\138\000\141\000\000\002\239\000\147\000\142\000\000\000\000\006:\002\234\003\028\000\000\000\000\000\151\000\153\000\000\002\245\002\247\003\166\000\000\002\212\003\"\003B\003\026\000\000\000\000\000\000\002\247\000\000\002\242\000\152\002\248\002\213\000\151\000\000\000\000\000\000\000\000\000\138\000\183\000\000\002\248\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\003\028\000\153\000\000\003!\000\000\000\140\002\245\000\000\000\000\002\247\000\141\000\155\000\000\000\000\000\142\000\184\003J\000\000\000\000\000\185\000\000\000\000\000\000\002\248\000\152\000\157\000\183\003\219\000\000\000\000\000\000\003Q\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\152\000\000\002\234\000\151\000\140\003\031\000\000\000\153\000\000\000\141\000\155\002\247\000\138\000\142\000\184\000\000\000\147\002\234\000\185\000\000\000\152\000\000\000\153\000\000\000\157\002\248\003\221\000\138\000\000\000\000\000\000\000\147\000\183\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\151\000\153\000\000\000\000\000\000\000\000\000\183\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\155\000\138\000\000\000\142\000\184\000\147\000\000\000\000\000\185\000\000\000\000\000\000\000\183\000\140\000\157\000\155\003\223\000\000\000\141\000\184\000\000\000\000\000\142\000\185\000\000\000\152\000\000\000\000\000\140\000\157\000\000\000\151\000\000\000\141\000\000\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\182\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\000\000\000\000\000\000\000\000\138\000\000\000\140\000\000\000\147\000\000\000\000\000\141\000\152\000\000\000\151\000\142\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\183\000\140\000\000\000\000\000\000\000\000\000\141\003l\003m\004-\000\142\001g\000\000\001h\000\000\000\182\000\000\000\152\000\000\000\151\000\153\000\000\000\000\000\155\0046\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\000\002\234\000\000\000\000\000\157\000\151\000\153\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\002\234\000\000\000\000\000\000\004>\000\153\000\000\000\138\000\000\000\138\000\000\000\147\000\152\000\147\000\140\000\183\003n\000\000\000\140\000\155\003o\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\002\234\000\183\000\000\000\000\000\157\000\153\000\000\000\000\000\000\000\155\004\168\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\152\000\000\000\147\000\000\000\000\000\157\000\155\000\000\001w\000\000\000\184\004\180\000\183\000\000\000\185\000\000\000\140\002\234\000\140\000\152\000\157\000\141\000\153\000\141\000\000\000\142\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\002\234\000\000\000\000\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\183\000\000\000\157\000\000\000\000\000\000\000\151\000\140\000\151\000\000\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\003|\000\155\000\000\000\000\000\138\000\184\000\000\000\000\000\147\000\185\000\000\000\000\003}\000\000\000\000\000\157\001x\000\000\000\000\000\000\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\004\185\000\142\004\192\000\000\000\000\000\000\000\000\000\140\000\152\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\142\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\002\234\003\141\002\234\000\140\000\151\000\153\001\145\000\153\000\141\000\000\000\000\000\000\000\142\004\201\000\000\003\158\000\000\000\000\000\000\000\151\001\178\000\152\000\138\000\000\000\000\000\000\000\147\000\000\003l\003m\000\183\000\000\000\183\000\000\000\000\000\000\006N\000\000\002\234\000\000\000\151\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\140\000\000\003n\000\000\000\000\000\155\003o\000\155\000\000\000\184\000\000\000\184\000\138\000\185\000\000\000\185\000\147\000\000\000\000\000\157\000\183\000\157\000\000\000\000\000\000\004\223\006\174\000\000\000\138\000\000\000\140\000\000\000\147\000\152\000\000\000\141\000\140\000\000\003n\000\142\004\228\000\000\003o\000\155\000\000\000\000\000\000\000\184\000\152\000\000\002\234\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\004\235\000\000\000\000\000\000\002\234\000\000\000\151\000\140\000\152\000\153\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\000\000\000\140\000\000\002\234\000\000\000\000\000\141\000\000\000\153\000\000\000\142\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\003}\000\138\000\183\000\157\000\155\000\147\000\000\000\151\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\000\000\000\000\000\000\157\000\141\000\000\000\000\000\000\000\142\003|\000\155\000\000\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\003}\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006O\000\000\000\000\000\140\000\151\000\153\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\003\141\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\000\000\147\003\160\000\000\000\140\000\152\006O\000\000\000\151\000\141\000\000\000\153\000\000\000\142\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\155\001K\000\000\003\141\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\140\003\162\000\000\000\000\000\151\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\183\000\140\000\000\000\000\000\138\000\000\000\141\000\155\000\147\000\000\000\142\000\184\000\000\000\000\001q\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\000\000\152\000\147\000\000\000\000\000\157\000\151\000\000\000\152\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\153\000\000\001\185\000\000\000\000\000\140\000\000\000\153\000\000\000\138\000\141\000\152\000\155\000\147\000\142\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\183\000\157\000\000\002\155\000\000\000\000\000\140\000\183\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\151\000\000\000\152\000\000\000\000\000\138\000\155\000\000\000\138\000\147\000\184\000\000\000\147\000\155\000\185\000\000\000\183\000\184\000\152\002\159\000\157\000\185\000\000\000\140\000\153\000\000\000\151\000\157\000\141\002\238\000\000\000\000\000\142\002\198\000\000\002\206\000\000\002\199\000\000\000\155\000\153\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\183\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\140\000\000\000\000\000\140\000\183\000\141\000\000\000\000\000\141\000\142\000\000\000\155\000\142\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\155\000\000\000\000\000\000\000\184\000\000\002\221\000\000\000\185\000\000\000\151\000\153\000\000\000\151\000\157\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\239\000\000\000\000\000\000\000\000\000\000\002\223\000\000\000\000\000\000\000\183\000\153\000\000\000\000\000\000\000\000\000\140\002\212\000\000\000\000\003\029\000\141\000\000\000\152\000\138\000\142\002\242\000\151\000\147\002\213\000\000\000\138\000\000\000\155\000\000\000\147\000\183\000\184\000\000\000\000\003v\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\151\002\245\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\000\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\183\000\000\000\000\000\157\000\000\000\000\000\000\000\000\003\181\000\000\000\140\003\186\000\000\000\153\000\000\000\141\000\153\000\140\000\000\000\142\000\000\003 \000\141\000\155\000\000\000\000\000\142\000\184\002\247\000\138\000\000\000\185\000\000\000\147\000\152\000\000\000\138\000\157\000\183\000\000\000\147\000\183\002\248\000\000\000\000\000\000\000\000\000\151\000\000\000\138\000\000\003\190\000\000\000\147\000\151\000\000\000\153\000\000\000\000\000\000\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\003\211\000\157\000\000\000\000\000\183\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\000\000\000\000\000\155\000\140\000\000\000\183\000\184\000\000\000\141\000\000\000\185\000\000\000\142\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\151\000\000\000\152\000\147\000\000\000\000\000\000\000\151\000\155\000\152\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\000\003\250\000\151\000\147\000\157\000\000\000\153\000\000\004\156\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\193\000\151\000\000\002\197\000\000\000\000\000\138\000\155\000\140\000\000\000\147\000\184\000\152\000\141\000\155\000\185\000\138\000\142\000\184\000\152\000\149\000\157\000\185\000\000\000\000\000\000\000\000\000\151\000\157\005\002\000\000\000\140\000\152\003n\000\153\000\000\005\022\003o\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\151\000\000\000\000\000\000\005\024\000\000\000\000\000\000\000\000\000\153\000\000\002\238\000\000\000\000\000\183\002\198\000\000\000\140\000\000\002\199\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\140\003l\003m\000\000\000\000\000\141\000\152\000\183\000\000\000\142\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\000\138\005\026\000\157\000\185\000\149\000\151\000\153\000\000\000\155\000\157\000\152\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003l\003m\000\000\000\000\005 \000\152\000\000\000\138\000\183\000\153\000\000\000\139\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\000\000\005.\000\000\002\239\000\000\000\000\000\153\003}\000\000\000\000\000\155\000\000\000\140\000\183\000\184\000\000\000\000\000\141\000\185\000\000\002\212\000\142\000\000\002\244\000\157\003l\003m\000\000\000\000\002\242\000\000\000\183\002\213\000\000\000\000\000\140\000\155\003n\000\152\000\000\000\184\003o\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\151\000\157\000\142\000\000\000\000\000\155\005<\000\000\002\245\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\153\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\151\000\000\000\140\000\000\003n\000\000\000\183\000\000\003o\003\164\000\000\000\000\000\000\000\000\003|\000\000\000\154\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\000\000\003}\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\002\248\000\185\000\000\000\155\000\000\000\000\000\000\000\157\003\133\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\141\000\154\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\003|\000\000\000\000\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\155\000\000\000\000\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\174"))
1423
1424 let semantic_action =
1425 [|
1426 (fun _menhir_env ->
1427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1428 let {
1429 MenhirLib.EngineTypes.state = _menhir_s;
1430 MenhirLib.EngineTypes.semv = _1;
1431 MenhirLib.EngineTypes.startp = _startpos__1_;
1432 MenhirLib.EngineTypes.endp = _endpos__1_;
1433 MenhirLib.EngineTypes.next = _menhir_stack;
1434 } = _menhir_stack in
1435 raise (MenhirLib.TableInterpreter.Accept _1));
1436 (fun _menhir_env ->
1437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1438 let {
1439 MenhirLib.EngineTypes.state = _menhir_s;
1440 MenhirLib.EngineTypes.semv = _1;
1441 MenhirLib.EngineTypes.startp = _startpos__1_;
1442 MenhirLib.EngineTypes.endp = _endpos__1_;
1443 MenhirLib.EngineTypes.next = _menhir_stack;
1444 } = _menhir_stack in
1445 raise (MenhirLib.TableInterpreter.Accept _1));
1446 (fun _menhir_env ->
1447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1448 let {
1449 MenhirLib.EngineTypes.state = _menhir_s;
1450 MenhirLib.EngineTypes.semv = _1;
1451 MenhirLib.EngineTypes.startp = _startpos__1_;
1452 MenhirLib.EngineTypes.endp = _endpos__1_;
1453 MenhirLib.EngineTypes.next = _menhir_stack;
1454 } = _menhir_stack in
1455 raise (MenhirLib.TableInterpreter.Accept _1));
1456 (fun _menhir_env ->
1457 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1458 let {
1459 MenhirLib.EngineTypes.state = _menhir_s;
1460 MenhirLib.EngineTypes.semv = _1;
1461 MenhirLib.EngineTypes.startp = _startpos__1_;
1462 MenhirLib.EngineTypes.endp = _endpos__1_;
1463 MenhirLib.EngineTypes.next = _menhir_stack;
1464 } = _menhir_stack in
1465 raise (MenhirLib.TableInterpreter.Accept _1));
1466 (fun _menhir_env ->
1467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1468 let {
1469 MenhirLib.EngineTypes.state = _menhir_s;
1470 MenhirLib.EngineTypes.semv = _1;
1471 MenhirLib.EngineTypes.startp = _startpos__1_;
1472 MenhirLib.EngineTypes.endp = _endpos__1_;
1473 MenhirLib.EngineTypes.next = _menhir_stack;
1474 } = _menhir_stack in
1475 raise (MenhirLib.TableInterpreter.Accept _1));
1476 (fun _menhir_env ->
1477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1478 let {
1479 MenhirLib.EngineTypes.state = _menhir_s;
1480 MenhirLib.EngineTypes.semv = _1;
1481 MenhirLib.EngineTypes.startp = _startpos__1_;
1482 MenhirLib.EngineTypes.endp = _endpos__1_;
1483 MenhirLib.EngineTypes.next = _menhir_stack;
1484 } = _menhir_stack in
1485 raise (MenhirLib.TableInterpreter.Accept _1));
1486 (fun _menhir_env ->
1487 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1488 let {
1489 MenhirLib.EngineTypes.state = _menhir_s;
1490 MenhirLib.EngineTypes.semv = _1;
1491 MenhirLib.EngineTypes.startp = _startpos__1_;
1492 MenhirLib.EngineTypes.endp = _endpos__1_;
1493 MenhirLib.EngineTypes.next = _menhir_stack;
1494 } = _menhir_stack in
1495 raise (MenhirLib.TableInterpreter.Accept _1));
1496 (fun _menhir_env ->
1497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1498 let {
1499 MenhirLib.EngineTypes.state = _menhir_s;
1500 MenhirLib.EngineTypes.semv = _1;
1501 MenhirLib.EngineTypes.startp = _startpos__1_;
1502 MenhirLib.EngineTypes.endp = _endpos__1_;
1503 MenhirLib.EngineTypes.next = _menhir_stack;
1504 } = _menhir_stack in
1505 raise (MenhirLib.TableInterpreter.Accept _1));
1506 (fun _menhir_env ->
1507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1508 let {
1509 MenhirLib.EngineTypes.state = _menhir_s;
1510 MenhirLib.EngineTypes.semv = _1;
1511 MenhirLib.EngineTypes.startp = _startpos__1_;
1512 MenhirLib.EngineTypes.endp = _endpos__1_;
1513 MenhirLib.EngineTypes.next = _menhir_stack;
1514 } = _menhir_stack in
1515 raise (MenhirLib.TableInterpreter.Accept _1));
1516 (fun _menhir_env ->
1517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1518 let {
1519 MenhirLib.EngineTypes.state = _menhir_s;
1520 MenhirLib.EngineTypes.semv = _1;
1521 MenhirLib.EngineTypes.startp = _startpos__1_;
1522 MenhirLib.EngineTypes.endp = _endpos__1_;
1523 MenhirLib.EngineTypes.next = _menhir_stack;
1524 } = _menhir_stack in
1525 raise (MenhirLib.TableInterpreter.Accept _1));
1526 (fun _menhir_env ->
1527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1528 let {
1529 MenhirLib.EngineTypes.state = _menhir_s;
1530 MenhirLib.EngineTypes.semv = _1;
1531 MenhirLib.EngineTypes.startp = _startpos__1_;
1532 MenhirLib.EngineTypes.endp = _endpos__1_;
1533 MenhirLib.EngineTypes.next = _menhir_stack;
1534 } = _menhir_stack in
1535 raise (MenhirLib.TableInterpreter.Accept _1));
1536 (fun _menhir_env ->
1537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1538 let {
1539 MenhirLib.EngineTypes.state = _menhir_s;
1540 MenhirLib.EngineTypes.semv = _1;
1541 MenhirLib.EngineTypes.startp = _startpos__1_;
1542 MenhirLib.EngineTypes.endp = _endpos__1_;
1543 MenhirLib.EngineTypes.next = _menhir_stack;
1544 } = _menhir_stack in
1545 raise (MenhirLib.TableInterpreter.Accept _1));
1546 (fun _menhir_env ->
1547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1548 let {
1549 MenhirLib.EngineTypes.state = _menhir_s;
1550 MenhirLib.EngineTypes.semv = _1;
1551 MenhirLib.EngineTypes.startp = _startpos__1_;
1552 MenhirLib.EngineTypes.endp = _endpos__1_;
1553 MenhirLib.EngineTypes.next = _menhir_stack;
1554 } = _menhir_stack in
1555 raise (MenhirLib.TableInterpreter.Accept _1));
1556 (fun _menhir_env ->
1557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1558 let {
1559 MenhirLib.EngineTypes.state = _menhir_s;
1560 MenhirLib.EngineTypes.semv = _1;
1561 MenhirLib.EngineTypes.startp = _startpos__1_;
1562 MenhirLib.EngineTypes.endp = _endpos__1_;
1563 MenhirLib.EngineTypes.next = _menhir_stack;
1564 } = _menhir_stack in
1565 let _1 : 'tv_eexpr = Obj.magic _1 in
1566 let _startpos = _startpos__1_ in
1567 let _endpos = _endpos__1_ in
1568 let _v : 'tv_aexpr =
1569 # 1952 "parser_cocci_menhir.mly"
1570 ( Ast0.set_arg_exp _1 )
1571 # 1572 "parser_cocci_menhir.ml"
1572 in
1573 _menhir_env.MenhirLib.EngineTypes.stack <- {
1574 MenhirLib.EngineTypes.state = _menhir_s;
1575 MenhirLib.EngineTypes.semv = Obj.repr _v;
1576 MenhirLib.EngineTypes.startp = _startpos;
1577 MenhirLib.EngineTypes.endp = _endpos;
1578 MenhirLib.EngineTypes.next = _menhir_stack;
1579 });
1580 (fun _menhir_env ->
1581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1582 let {
1583 MenhirLib.EngineTypes.state = _menhir_s;
1584 MenhirLib.EngineTypes.semv = _1;
1585 MenhirLib.EngineTypes.startp = _startpos__1_;
1586 MenhirLib.EngineTypes.endp = _endpos__1_;
1587 MenhirLib.EngineTypes.next = _menhir_stack;
1588 } = _menhir_stack in
1589 let _1 : (
1590 # 89 "parser_cocci_menhir.mly"
1591 (Parse_aux.list_info)
1592 # 1593 "parser_cocci_menhir.ml"
1593 ) = Obj.magic _1 in
1594 let _startpos = _startpos__1_ in
1595 let _endpos = _endpos__1_ in
1596 let _v : 'tv_aexpr =
1597 # 1954 "parser_cocci_menhir.mly"
1598 ( let (nm,lenname,pure,clt) = _1 in
1599 let nm = P.clt2mcode nm clt in
1600 let lenname =
1601 match lenname with
1602 Some nm -> Some(P.clt2mcode nm clt)
1603 | None -> None in
1604 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1605 # 1606 "parser_cocci_menhir.ml"
1606 in
1607 _menhir_env.MenhirLib.EngineTypes.stack <- {
1608 MenhirLib.EngineTypes.state = _menhir_s;
1609 MenhirLib.EngineTypes.semv = Obj.repr _v;
1610 MenhirLib.EngineTypes.startp = _startpos;
1611 MenhirLib.EngineTypes.endp = _endpos;
1612 MenhirLib.EngineTypes.next = _menhir_stack;
1613 });
1614 (fun _menhir_env ->
1615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1616 let {
1617 MenhirLib.EngineTypes.state = _menhir_s;
1618 MenhirLib.EngineTypes.semv = _1;
1619 MenhirLib.EngineTypes.startp = _startpos__1_;
1620 MenhirLib.EngineTypes.endp = _endpos__1_;
1621 MenhirLib.EngineTypes.next = _menhir_stack;
1622 } = _menhir_stack in
1623 let _1 : 'tv_ctype = Obj.magic _1 in
1624 let _startpos = _startpos__1_ in
1625 let _endpos = _endpos__1_ in
1626 let _v : 'tv_aexpr =
1627 # 1962 "parser_cocci_menhir.mly"
1628 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1629 # 1630 "parser_cocci_menhir.ml"
1630 in
1631 _menhir_env.MenhirLib.EngineTypes.stack <- {
1632 MenhirLib.EngineTypes.state = _menhir_s;
1633 MenhirLib.EngineTypes.semv = Obj.repr _v;
1634 MenhirLib.EngineTypes.startp = _startpos;
1635 MenhirLib.EngineTypes.endp = _endpos;
1636 MenhirLib.EngineTypes.next = _menhir_stack;
1637 });
1638 (fun _menhir_env ->
1639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1640 let {
1641 MenhirLib.EngineTypes.state = _menhir_s;
1642 MenhirLib.EngineTypes.startp = _startpos__1_;
1643 MenhirLib.EngineTypes.endp = _endpos__1_;
1644 MenhirLib.EngineTypes.next = _menhir_stack;
1645 } = _menhir_stack in
1646 let _startpos = _startpos__1_ in
1647 let _endpos = _endpos__1_ in
1648 let _v : 'tv_any_strict =
1649 # 2006 "parser_cocci_menhir.mly"
1650 ( Ast.WhenAny )
1651 # 1652 "parser_cocci_menhir.ml"
1652 in
1653 _menhir_env.MenhirLib.EngineTypes.stack <- {
1654 MenhirLib.EngineTypes.state = _menhir_s;
1655 MenhirLib.EngineTypes.semv = Obj.repr _v;
1656 MenhirLib.EngineTypes.startp = _startpos;
1657 MenhirLib.EngineTypes.endp = _endpos;
1658 MenhirLib.EngineTypes.next = _menhir_stack;
1659 });
1660 (fun _menhir_env ->
1661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1662 let {
1663 MenhirLib.EngineTypes.state = _menhir_s;
1664 MenhirLib.EngineTypes.startp = _startpos__1_;
1665 MenhirLib.EngineTypes.endp = _endpos__1_;
1666 MenhirLib.EngineTypes.next = _menhir_stack;
1667 } = _menhir_stack in
1668 let _startpos = _startpos__1_ in
1669 let _endpos = _endpos__1_ in
1670 let _v : 'tv_any_strict =
1671 # 2007 "parser_cocci_menhir.mly"
1672 ( Ast.WhenStrict )
1673 # 1674 "parser_cocci_menhir.ml"
1674 in
1675 _menhir_env.MenhirLib.EngineTypes.stack <- {
1676 MenhirLib.EngineTypes.state = _menhir_s;
1677 MenhirLib.EngineTypes.semv = Obj.repr _v;
1678 MenhirLib.EngineTypes.startp = _startpos;
1679 MenhirLib.EngineTypes.endp = _endpos;
1680 MenhirLib.EngineTypes.next = _menhir_stack;
1681 });
1682 (fun _menhir_env ->
1683 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1684 let {
1685 MenhirLib.EngineTypes.state = _menhir_s;
1686 MenhirLib.EngineTypes.startp = _startpos__1_;
1687 MenhirLib.EngineTypes.endp = _endpos__1_;
1688 MenhirLib.EngineTypes.next = _menhir_stack;
1689 } = _menhir_stack in
1690 let _startpos = _startpos__1_ in
1691 let _endpos = _endpos__1_ in
1692 let _v : 'tv_any_strict =
1693 # 2008 "parser_cocci_menhir.mly"
1694 ( Ast.WhenForall )
1695 # 1696 "parser_cocci_menhir.ml"
1696 in
1697 _menhir_env.MenhirLib.EngineTypes.stack <- {
1698 MenhirLib.EngineTypes.state = _menhir_s;
1699 MenhirLib.EngineTypes.semv = Obj.repr _v;
1700 MenhirLib.EngineTypes.startp = _startpos;
1701 MenhirLib.EngineTypes.endp = _endpos;
1702 MenhirLib.EngineTypes.next = _menhir_stack;
1703 });
1704 (fun _menhir_env ->
1705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1706 let {
1707 MenhirLib.EngineTypes.state = _menhir_s;
1708 MenhirLib.EngineTypes.startp = _startpos__1_;
1709 MenhirLib.EngineTypes.endp = _endpos__1_;
1710 MenhirLib.EngineTypes.next = _menhir_stack;
1711 } = _menhir_stack in
1712 let _startpos = _startpos__1_ in
1713 let _endpos = _endpos__1_ in
1714 let _v : 'tv_any_strict =
1715 # 2009 "parser_cocci_menhir.mly"
1716 ( Ast.WhenExists )
1717 # 1718 "parser_cocci_menhir.ml"
1718 in
1719 _menhir_env.MenhirLib.EngineTypes.stack <- {
1720 MenhirLib.EngineTypes.state = _menhir_s;
1721 MenhirLib.EngineTypes.semv = Obj.repr _v;
1722 MenhirLib.EngineTypes.startp = _startpos;
1723 MenhirLib.EngineTypes.endp = _endpos;
1724 MenhirLib.EngineTypes.next = _menhir_stack;
1725 });
1726 (fun _menhir_env ->
1727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1728 let {
1729 MenhirLib.EngineTypes.state = _menhir_s;
1730 MenhirLib.EngineTypes.semv = _1;
1731 MenhirLib.EngineTypes.startp = _startpos__1_;
1732 MenhirLib.EngineTypes.endp = _endpos__1_;
1733 MenhirLib.EngineTypes.next = _menhir_stack;
1734 } = _menhir_stack in
1735 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1736 let _startpos = _startpos__1_ in
1737 let _endpos = _endpos__1_ in
1738 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1739 # 1313 "parser_cocci_menhir.mly"
1740 ( _1 )
1741 # 1742 "parser_cocci_menhir.ml"
1742 in
1743 _menhir_env.MenhirLib.EngineTypes.stack <- {
1744 MenhirLib.EngineTypes.state = _menhir_s;
1745 MenhirLib.EngineTypes.semv = Obj.repr _v;
1746 MenhirLib.EngineTypes.startp = _startpos;
1747 MenhirLib.EngineTypes.endp = _endpos;
1748 MenhirLib.EngineTypes.next = _menhir_stack;
1749 });
1750 (fun _menhir_env ->
1751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1752 let {
1753 MenhirLib.EngineTypes.semv = _3;
1754 MenhirLib.EngineTypes.startp = _startpos__3_;
1755 MenhirLib.EngineTypes.endp = _endpos__3_;
1756 MenhirLib.EngineTypes.next = {
1757 MenhirLib.EngineTypes.semv = _2;
1758 MenhirLib.EngineTypes.startp = _startpos__2_;
1759 MenhirLib.EngineTypes.endp = _endpos__2_;
1760 MenhirLib.EngineTypes.next = {
1761 MenhirLib.EngineTypes.state = _menhir_s;
1762 MenhirLib.EngineTypes.semv = _1;
1763 MenhirLib.EngineTypes.startp = _startpos__1_;
1764 MenhirLib.EngineTypes.endp = _endpos__1_;
1765 MenhirLib.EngineTypes.next = _menhir_stack;
1766 };
1767 };
1768 } = _menhir_stack in
1769 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1770 let _2 : (
1771 # 122 "parser_cocci_menhir.mly"
1772 (Data.clt)
1773 # 1774 "parser_cocci_menhir.ml"
1774 ) = Obj.magic _2 in
1775 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1776 let _startpos = _startpos__1_ in
1777 let _endpos = _endpos__3_ in
1778 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1779 # 1315 "parser_cocci_menhir.mly"
1780 ( P.arith_op Ast.Mul _1 _2 _3 )
1781 # 1782 "parser_cocci_menhir.ml"
1782 in
1783 _menhir_env.MenhirLib.EngineTypes.stack <- {
1784 MenhirLib.EngineTypes.state = _menhir_s;
1785 MenhirLib.EngineTypes.semv = Obj.repr _v;
1786 MenhirLib.EngineTypes.startp = _startpos;
1787 MenhirLib.EngineTypes.endp = _endpos;
1788 MenhirLib.EngineTypes.next = _menhir_stack;
1789 });
1790 (fun _menhir_env ->
1791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1792 let {
1793 MenhirLib.EngineTypes.semv = _3;
1794 MenhirLib.EngineTypes.startp = _startpos__3_;
1795 MenhirLib.EngineTypes.endp = _endpos__3_;
1796 MenhirLib.EngineTypes.next = {
1797 MenhirLib.EngineTypes.semv = _2;
1798 MenhirLib.EngineTypes.startp = _startpos__2_;
1799 MenhirLib.EngineTypes.endp = _endpos__2_;
1800 MenhirLib.EngineTypes.next = {
1801 MenhirLib.EngineTypes.state = _menhir_s;
1802 MenhirLib.EngineTypes.semv = _1;
1803 MenhirLib.EngineTypes.startp = _startpos__1_;
1804 MenhirLib.EngineTypes.endp = _endpos__1_;
1805 MenhirLib.EngineTypes.next = _menhir_stack;
1806 };
1807 };
1808 } = _menhir_stack in
1809 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1810 let _2 : (
1811 # 120 "parser_cocci_menhir.mly"
1812 (Ast_cocci.arithOp * Data.clt)
1813 # 1814 "parser_cocci_menhir.ml"
1814 ) = Obj.magic _2 in
1815 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1816 let _startpos = _startpos__1_ in
1817 let _endpos = _endpos__3_ in
1818 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1819 # 1317 "parser_cocci_menhir.mly"
1820 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1821 # 1822 "parser_cocci_menhir.ml"
1822 in
1823 _menhir_env.MenhirLib.EngineTypes.stack <- {
1824 MenhirLib.EngineTypes.state = _menhir_s;
1825 MenhirLib.EngineTypes.semv = Obj.repr _v;
1826 MenhirLib.EngineTypes.startp = _startpos;
1827 MenhirLib.EngineTypes.endp = _endpos;
1828 MenhirLib.EngineTypes.next = _menhir_stack;
1829 });
1830 (fun _menhir_env ->
1831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1832 let {
1833 MenhirLib.EngineTypes.semv = _3;
1834 MenhirLib.EngineTypes.startp = _startpos__3_;
1835 MenhirLib.EngineTypes.endp = _endpos__3_;
1836 MenhirLib.EngineTypes.next = {
1837 MenhirLib.EngineTypes.semv = _2;
1838 MenhirLib.EngineTypes.startp = _startpos__2_;
1839 MenhirLib.EngineTypes.endp = _endpos__2_;
1840 MenhirLib.EngineTypes.next = {
1841 MenhirLib.EngineTypes.state = _menhir_s;
1842 MenhirLib.EngineTypes.semv = _1;
1843 MenhirLib.EngineTypes.startp = _startpos__1_;
1844 MenhirLib.EngineTypes.endp = _endpos__1_;
1845 MenhirLib.EngineTypes.next = _menhir_stack;
1846 };
1847 };
1848 } = _menhir_stack in
1849 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1850 let _2 : (
1851 # 121 "parser_cocci_menhir.mly"
1852 (Data.clt)
1853 # 1854 "parser_cocci_menhir.ml"
1854 ) = Obj.magic _2 in
1855 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1856 let _startpos = _startpos__1_ in
1857 let _endpos = _endpos__3_ in
1858 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1859 # 1319 "parser_cocci_menhir.mly"
1860 ( P.arith_op Ast.Plus _1 _2 _3 )
1861 # 1862 "parser_cocci_menhir.ml"
1862 in
1863 _menhir_env.MenhirLib.EngineTypes.stack <- {
1864 MenhirLib.EngineTypes.state = _menhir_s;
1865 MenhirLib.EngineTypes.semv = Obj.repr _v;
1866 MenhirLib.EngineTypes.startp = _startpos;
1867 MenhirLib.EngineTypes.endp = _endpos;
1868 MenhirLib.EngineTypes.next = _menhir_stack;
1869 });
1870 (fun _menhir_env ->
1871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1872 let {
1873 MenhirLib.EngineTypes.semv = _3;
1874 MenhirLib.EngineTypes.startp = _startpos__3_;
1875 MenhirLib.EngineTypes.endp = _endpos__3_;
1876 MenhirLib.EngineTypes.next = {
1877 MenhirLib.EngineTypes.semv = _2;
1878 MenhirLib.EngineTypes.startp = _startpos__2_;
1879 MenhirLib.EngineTypes.endp = _endpos__2_;
1880 MenhirLib.EngineTypes.next = {
1881 MenhirLib.EngineTypes.state = _menhir_s;
1882 MenhirLib.EngineTypes.semv = _1;
1883 MenhirLib.EngineTypes.startp = _startpos__1_;
1884 MenhirLib.EngineTypes.endp = _endpos__1_;
1885 MenhirLib.EngineTypes.next = _menhir_stack;
1886 };
1887 };
1888 } = _menhir_stack in
1889 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1890 let _2 : (
1891 # 121 "parser_cocci_menhir.mly"
1892 (Data.clt)
1893 # 1894 "parser_cocci_menhir.ml"
1894 ) = Obj.magic _2 in
1895 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1896 let _startpos = _startpos__1_ in
1897 let _endpos = _endpos__3_ in
1898 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1899 # 1321 "parser_cocci_menhir.mly"
1900 ( P.arith_op Ast.Minus _1 _2 _3 )
1901 # 1902 "parser_cocci_menhir.ml"
1902 in
1903 _menhir_env.MenhirLib.EngineTypes.stack <- {
1904 MenhirLib.EngineTypes.state = _menhir_s;
1905 MenhirLib.EngineTypes.semv = Obj.repr _v;
1906 MenhirLib.EngineTypes.startp = _startpos;
1907 MenhirLib.EngineTypes.endp = _endpos;
1908 MenhirLib.EngineTypes.next = _menhir_stack;
1909 });
1910 (fun _menhir_env ->
1911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1912 let {
1913 MenhirLib.EngineTypes.semv = _3;
1914 MenhirLib.EngineTypes.startp = _startpos__3_;
1915 MenhirLib.EngineTypes.endp = _endpos__3_;
1916 MenhirLib.EngineTypes.next = {
1917 MenhirLib.EngineTypes.semv = _2;
1918 MenhirLib.EngineTypes.startp = _startpos__2_;
1919 MenhirLib.EngineTypes.endp = _endpos__2_;
1920 MenhirLib.EngineTypes.next = {
1921 MenhirLib.EngineTypes.state = _menhir_s;
1922 MenhirLib.EngineTypes.semv = _1;
1923 MenhirLib.EngineTypes.startp = _startpos__1_;
1924 MenhirLib.EngineTypes.endp = _endpos__1_;
1925 MenhirLib.EngineTypes.next = _menhir_stack;
1926 };
1927 };
1928 } = _menhir_stack in
1929 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1930 let _2 : (
1931 # 119 "parser_cocci_menhir.mly"
1932 (Ast_cocci.arithOp * Data.clt)
1933 # 1934 "parser_cocci_menhir.ml"
1934 ) = Obj.magic _2 in
1935 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1936 let _startpos = _startpos__1_ in
1937 let _endpos = _endpos__3_ in
1938 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1939 # 1323 "parser_cocci_menhir.mly"
1940 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1941 # 1942 "parser_cocci_menhir.ml"
1942 in
1943 _menhir_env.MenhirLib.EngineTypes.stack <- {
1944 MenhirLib.EngineTypes.state = _menhir_s;
1945 MenhirLib.EngineTypes.semv = Obj.repr _v;
1946 MenhirLib.EngineTypes.startp = _startpos;
1947 MenhirLib.EngineTypes.endp = _endpos;
1948 MenhirLib.EngineTypes.next = _menhir_stack;
1949 });
1950 (fun _menhir_env ->
1951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1952 let {
1953 MenhirLib.EngineTypes.semv = _3;
1954 MenhirLib.EngineTypes.startp = _startpos__3_;
1955 MenhirLib.EngineTypes.endp = _endpos__3_;
1956 MenhirLib.EngineTypes.next = {
1957 MenhirLib.EngineTypes.semv = _2;
1958 MenhirLib.EngineTypes.startp = _startpos__2_;
1959 MenhirLib.EngineTypes.endp = _endpos__2_;
1960 MenhirLib.EngineTypes.next = {
1961 MenhirLib.EngineTypes.state = _menhir_s;
1962 MenhirLib.EngineTypes.semv = _1;
1963 MenhirLib.EngineTypes.startp = _startpos__1_;
1964 MenhirLib.EngineTypes.endp = _endpos__1_;
1965 MenhirLib.EngineTypes.next = _menhir_stack;
1966 };
1967 };
1968 } = _menhir_stack in
1969 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1970 let _2 : (
1971 # 118 "parser_cocci_menhir.mly"
1972 (Ast_cocci.logicalOp * Data.clt)
1973 # 1974 "parser_cocci_menhir.ml"
1974 ) = Obj.magic _2 in
1975 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1976 let _startpos = _startpos__1_ in
1977 let _endpos = _endpos__3_ in
1978 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1979 # 1325 "parser_cocci_menhir.mly"
1980 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
1981 # 1982 "parser_cocci_menhir.ml"
1982 in
1983 _menhir_env.MenhirLib.EngineTypes.stack <- {
1984 MenhirLib.EngineTypes.state = _menhir_s;
1985 MenhirLib.EngineTypes.semv = Obj.repr _v;
1986 MenhirLib.EngineTypes.startp = _startpos;
1987 MenhirLib.EngineTypes.endp = _endpos;
1988 MenhirLib.EngineTypes.next = _menhir_stack;
1989 });
1990 (fun _menhir_env ->
1991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1992 let {
1993 MenhirLib.EngineTypes.semv = _3;
1994 MenhirLib.EngineTypes.startp = _startpos__3_;
1995 MenhirLib.EngineTypes.endp = _endpos__3_;
1996 MenhirLib.EngineTypes.next = {
1997 MenhirLib.EngineTypes.semv = _2;
1998 MenhirLib.EngineTypes.startp = _startpos__2_;
1999 MenhirLib.EngineTypes.endp = _endpos__2_;
2000 MenhirLib.EngineTypes.next = {
2001 MenhirLib.EngineTypes.state = _menhir_s;
2002 MenhirLib.EngineTypes.semv = _1;
2003 MenhirLib.EngineTypes.startp = _startpos__1_;
2004 MenhirLib.EngineTypes.endp = _endpos__1_;
2005 MenhirLib.EngineTypes.next = _menhir_stack;
2006 };
2007 };
2008 } = _menhir_stack in
2009 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2010 let _2 : (
2011 # 117 "parser_cocci_menhir.mly"
2012 (Data.clt)
2013 # 2014 "parser_cocci_menhir.ml"
2014 ) = Obj.magic _2 in
2015 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2016 let _startpos = _startpos__1_ in
2017 let _endpos = _endpos__3_ in
2018 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2019 # 1327 "parser_cocci_menhir.mly"
2020 ( P.logic_op Ast.Eq _1 _2 _3 )
2021 # 2022 "parser_cocci_menhir.ml"
2022 in
2023 _menhir_env.MenhirLib.EngineTypes.stack <- {
2024 MenhirLib.EngineTypes.state = _menhir_s;
2025 MenhirLib.EngineTypes.semv = Obj.repr _v;
2026 MenhirLib.EngineTypes.startp = _startpos;
2027 MenhirLib.EngineTypes.endp = _endpos;
2028 MenhirLib.EngineTypes.next = _menhir_stack;
2029 });
2030 (fun _menhir_env ->
2031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2032 let {
2033 MenhirLib.EngineTypes.semv = _3;
2034 MenhirLib.EngineTypes.startp = _startpos__3_;
2035 MenhirLib.EngineTypes.endp = _endpos__3_;
2036 MenhirLib.EngineTypes.next = {
2037 MenhirLib.EngineTypes.semv = _2;
2038 MenhirLib.EngineTypes.startp = _startpos__2_;
2039 MenhirLib.EngineTypes.endp = _endpos__2_;
2040 MenhirLib.EngineTypes.next = {
2041 MenhirLib.EngineTypes.state = _menhir_s;
2042 MenhirLib.EngineTypes.semv = _1;
2043 MenhirLib.EngineTypes.startp = _startpos__1_;
2044 MenhirLib.EngineTypes.endp = _endpos__1_;
2045 MenhirLib.EngineTypes.next = _menhir_stack;
2046 };
2047 };
2048 } = _menhir_stack in
2049 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2050 let _2 : (
2051 # 117 "parser_cocci_menhir.mly"
2052 (Data.clt)
2053 # 2054 "parser_cocci_menhir.ml"
2054 ) = Obj.magic _2 in
2055 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2056 let _startpos = _startpos__1_ in
2057 let _endpos = _endpos__3_ in
2058 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2059 # 1329 "parser_cocci_menhir.mly"
2060 ( P.logic_op Ast.NotEq _1 _2 _3 )
2061 # 2062 "parser_cocci_menhir.ml"
2062 in
2063 _menhir_env.MenhirLib.EngineTypes.stack <- {
2064 MenhirLib.EngineTypes.state = _menhir_s;
2065 MenhirLib.EngineTypes.semv = Obj.repr _v;
2066 MenhirLib.EngineTypes.startp = _startpos;
2067 MenhirLib.EngineTypes.endp = _endpos;
2068 MenhirLib.EngineTypes.next = _menhir_stack;
2069 });
2070 (fun _menhir_env ->
2071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2072 let {
2073 MenhirLib.EngineTypes.semv = _3;
2074 MenhirLib.EngineTypes.startp = _startpos__3_;
2075 MenhirLib.EngineTypes.endp = _endpos__3_;
2076 MenhirLib.EngineTypes.next = {
2077 MenhirLib.EngineTypes.semv = _2;
2078 MenhirLib.EngineTypes.startp = _startpos__2_;
2079 MenhirLib.EngineTypes.endp = _endpos__2_;
2080 MenhirLib.EngineTypes.next = {
2081 MenhirLib.EngineTypes.state = _menhir_s;
2082 MenhirLib.EngineTypes.semv = _1;
2083 MenhirLib.EngineTypes.startp = _startpos__1_;
2084 MenhirLib.EngineTypes.endp = _endpos__1_;
2085 MenhirLib.EngineTypes.next = _menhir_stack;
2086 };
2087 };
2088 } = _menhir_stack in
2089 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2090 let _2 : (
2091 # 116 "parser_cocci_menhir.mly"
2092 (Data.clt)
2093 # 2094 "parser_cocci_menhir.ml"
2094 ) = Obj.magic _2 in
2095 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2096 let _startpos = _startpos__1_ in
2097 let _endpos = _endpos__3_ in
2098 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2099 # 1331 "parser_cocci_menhir.mly"
2100 ( P.arith_op Ast.And _1 _2 _3 )
2101 # 2102 "parser_cocci_menhir.ml"
2102 in
2103 _menhir_env.MenhirLib.EngineTypes.stack <- {
2104 MenhirLib.EngineTypes.state = _menhir_s;
2105 MenhirLib.EngineTypes.semv = Obj.repr _v;
2106 MenhirLib.EngineTypes.startp = _startpos;
2107 MenhirLib.EngineTypes.endp = _endpos;
2108 MenhirLib.EngineTypes.next = _menhir_stack;
2109 });
2110 (fun _menhir_env ->
2111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2112 let {
2113 MenhirLib.EngineTypes.semv = _3;
2114 MenhirLib.EngineTypes.startp = _startpos__3_;
2115 MenhirLib.EngineTypes.endp = _endpos__3_;
2116 MenhirLib.EngineTypes.next = {
2117 MenhirLib.EngineTypes.semv = _2;
2118 MenhirLib.EngineTypes.startp = _startpos__2_;
2119 MenhirLib.EngineTypes.endp = _endpos__2_;
2120 MenhirLib.EngineTypes.next = {
2121 MenhirLib.EngineTypes.state = _menhir_s;
2122 MenhirLib.EngineTypes.semv = _1;
2123 MenhirLib.EngineTypes.startp = _startpos__1_;
2124 MenhirLib.EngineTypes.endp = _endpos__1_;
2125 MenhirLib.EngineTypes.next = _menhir_stack;
2126 };
2127 };
2128 } = _menhir_stack in
2129 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2130 let _2 : (
2131 # 114 "parser_cocci_menhir.mly"
2132 (Data.clt)
2133 # 2134 "parser_cocci_menhir.ml"
2134 ) = Obj.magic _2 in
2135 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2136 let _startpos = _startpos__1_ in
2137 let _endpos = _endpos__3_ in
2138 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2139 # 1333 "parser_cocci_menhir.mly"
2140 ( P.arith_op Ast.Or _1 _2 _3 )
2141 # 2142 "parser_cocci_menhir.ml"
2142 in
2143 _menhir_env.MenhirLib.EngineTypes.stack <- {
2144 MenhirLib.EngineTypes.state = _menhir_s;
2145 MenhirLib.EngineTypes.semv = Obj.repr _v;
2146 MenhirLib.EngineTypes.startp = _startpos;
2147 MenhirLib.EngineTypes.endp = _endpos;
2148 MenhirLib.EngineTypes.next = _menhir_stack;
2149 });
2150 (fun _menhir_env ->
2151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2152 let {
2153 MenhirLib.EngineTypes.semv = _3;
2154 MenhirLib.EngineTypes.startp = _startpos__3_;
2155 MenhirLib.EngineTypes.endp = _endpos__3_;
2156 MenhirLib.EngineTypes.next = {
2157 MenhirLib.EngineTypes.semv = _2;
2158 MenhirLib.EngineTypes.startp = _startpos__2_;
2159 MenhirLib.EngineTypes.endp = _endpos__2_;
2160 MenhirLib.EngineTypes.next = {
2161 MenhirLib.EngineTypes.state = _menhir_s;
2162 MenhirLib.EngineTypes.semv = _1;
2163 MenhirLib.EngineTypes.startp = _startpos__1_;
2164 MenhirLib.EngineTypes.endp = _endpos__1_;
2165 MenhirLib.EngineTypes.next = _menhir_stack;
2166 };
2167 };
2168 } = _menhir_stack in
2169 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2170 let _2 : (
2171 # 115 "parser_cocci_menhir.mly"
2172 (Data.clt)
2173 # 2174 "parser_cocci_menhir.ml"
2174 ) = Obj.magic _2 in
2175 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2176 let _startpos = _startpos__1_ in
2177 let _endpos = _endpos__3_ in
2178 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2179 # 1335 "parser_cocci_menhir.mly"
2180 ( P.arith_op Ast.Xor _1 _2 _3 )
2181 # 2182 "parser_cocci_menhir.ml"
2182 in
2183 _menhir_env.MenhirLib.EngineTypes.stack <- {
2184 MenhirLib.EngineTypes.state = _menhir_s;
2185 MenhirLib.EngineTypes.semv = Obj.repr _v;
2186 MenhirLib.EngineTypes.startp = _startpos;
2187 MenhirLib.EngineTypes.endp = _endpos;
2188 MenhirLib.EngineTypes.next = _menhir_stack;
2189 });
2190 (fun _menhir_env ->
2191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2192 let {
2193 MenhirLib.EngineTypes.semv = _3;
2194 MenhirLib.EngineTypes.startp = _startpos__3_;
2195 MenhirLib.EngineTypes.endp = _endpos__3_;
2196 MenhirLib.EngineTypes.next = {
2197 MenhirLib.EngineTypes.semv = _2;
2198 MenhirLib.EngineTypes.startp = _startpos__2_;
2199 MenhirLib.EngineTypes.endp = _endpos__2_;
2200 MenhirLib.EngineTypes.next = {
2201 MenhirLib.EngineTypes.state = _menhir_s;
2202 MenhirLib.EngineTypes.semv = _1;
2203 MenhirLib.EngineTypes.startp = _startpos__1_;
2204 MenhirLib.EngineTypes.endp = _endpos__1_;
2205 MenhirLib.EngineTypes.next = _menhir_stack;
2206 };
2207 };
2208 } = _menhir_stack in
2209 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2210 let _2 : (
2211 # 113 "parser_cocci_menhir.mly"
2212 (Data.clt)
2213 # 2214 "parser_cocci_menhir.ml"
2214 ) = Obj.magic _2 in
2215 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2216 let _startpos = _startpos__1_ in
2217 let _endpos = _endpos__3_ in
2218 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2219 # 1337 "parser_cocci_menhir.mly"
2220 ( P.logic_op Ast.AndLog _1 _2 _3 )
2221 # 2222 "parser_cocci_menhir.ml"
2222 in
2223 _menhir_env.MenhirLib.EngineTypes.stack <- {
2224 MenhirLib.EngineTypes.state = _menhir_s;
2225 MenhirLib.EngineTypes.semv = Obj.repr _v;
2226 MenhirLib.EngineTypes.startp = _startpos;
2227 MenhirLib.EngineTypes.endp = _endpos;
2228 MenhirLib.EngineTypes.next = _menhir_stack;
2229 });
2230 (fun _menhir_env ->
2231 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2232 let {
2233 MenhirLib.EngineTypes.semv = _3;
2234 MenhirLib.EngineTypes.startp = _startpos__3_;
2235 MenhirLib.EngineTypes.endp = _endpos__3_;
2236 MenhirLib.EngineTypes.next = {
2237 MenhirLib.EngineTypes.semv = _2;
2238 MenhirLib.EngineTypes.startp = _startpos__2_;
2239 MenhirLib.EngineTypes.endp = _endpos__2_;
2240 MenhirLib.EngineTypes.next = {
2241 MenhirLib.EngineTypes.state = _menhir_s;
2242 MenhirLib.EngineTypes.semv = _1;
2243 MenhirLib.EngineTypes.startp = _startpos__1_;
2244 MenhirLib.EngineTypes.endp = _endpos__1_;
2245 MenhirLib.EngineTypes.next = _menhir_stack;
2246 };
2247 };
2248 } = _menhir_stack in
2249 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2250 let _2 : (
2251 # 112 "parser_cocci_menhir.mly"
2252 (Data.clt)
2253 # 2254 "parser_cocci_menhir.ml"
2254 ) = Obj.magic _2 in
2255 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2256 let _startpos = _startpos__1_ in
2257 let _endpos = _endpos__3_ in
2258 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2259 # 1339 "parser_cocci_menhir.mly"
2260 ( P.logic_op Ast.OrLog _1 _2 _3 )
2261 # 2262 "parser_cocci_menhir.ml"
2262 in
2263 _menhir_env.MenhirLib.EngineTypes.stack <- {
2264 MenhirLib.EngineTypes.state = _menhir_s;
2265 MenhirLib.EngineTypes.semv = Obj.repr _v;
2266 MenhirLib.EngineTypes.startp = _startpos;
2267 MenhirLib.EngineTypes.endp = _endpos;
2268 MenhirLib.EngineTypes.next = _menhir_stack;
2269 });
2270 (fun _menhir_env ->
2271 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2272 let {
2273 MenhirLib.EngineTypes.state = _menhir_s;
2274 MenhirLib.EngineTypes.semv = _1;
2275 MenhirLib.EngineTypes.startp = _startpos__1_;
2276 MenhirLib.EngineTypes.endp = _endpos__1_;
2277 MenhirLib.EngineTypes.next = _menhir_stack;
2278 } = _menhir_stack in
2279 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2280 let _startpos = _startpos__1_ in
2281 let _endpos = _endpos__1_ in
2282 let _v : 'tv_arith_expr_eexpr_invalid_ =
2283 # 1313 "parser_cocci_menhir.mly"
2284 ( _1 )
2285 # 2286 "parser_cocci_menhir.ml"
2286 in
2287 _menhir_env.MenhirLib.EngineTypes.stack <- {
2288 MenhirLib.EngineTypes.state = _menhir_s;
2289 MenhirLib.EngineTypes.semv = Obj.repr _v;
2290 MenhirLib.EngineTypes.startp = _startpos;
2291 MenhirLib.EngineTypes.endp = _endpos;
2292 MenhirLib.EngineTypes.next = _menhir_stack;
2293 });
2294 (fun _menhir_env ->
2295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2296 let {
2297 MenhirLib.EngineTypes.semv = _3;
2298 MenhirLib.EngineTypes.startp = _startpos__3_;
2299 MenhirLib.EngineTypes.endp = _endpos__3_;
2300 MenhirLib.EngineTypes.next = {
2301 MenhirLib.EngineTypes.semv = _2;
2302 MenhirLib.EngineTypes.startp = _startpos__2_;
2303 MenhirLib.EngineTypes.endp = _endpos__2_;
2304 MenhirLib.EngineTypes.next = {
2305 MenhirLib.EngineTypes.state = _menhir_s;
2306 MenhirLib.EngineTypes.semv = _1;
2307 MenhirLib.EngineTypes.startp = _startpos__1_;
2308 MenhirLib.EngineTypes.endp = _endpos__1_;
2309 MenhirLib.EngineTypes.next = _menhir_stack;
2310 };
2311 };
2312 } = _menhir_stack in
2313 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2314 let _2 : (
2315 # 122 "parser_cocci_menhir.mly"
2316 (Data.clt)
2317 # 2318 "parser_cocci_menhir.ml"
2318 ) = Obj.magic _2 in
2319 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2320 let _startpos = _startpos__1_ in
2321 let _endpos = _endpos__3_ in
2322 let _v : 'tv_arith_expr_eexpr_invalid_ =
2323 # 1315 "parser_cocci_menhir.mly"
2324 ( P.arith_op Ast.Mul _1 _2 _3 )
2325 # 2326 "parser_cocci_menhir.ml"
2326 in
2327 _menhir_env.MenhirLib.EngineTypes.stack <- {
2328 MenhirLib.EngineTypes.state = _menhir_s;
2329 MenhirLib.EngineTypes.semv = Obj.repr _v;
2330 MenhirLib.EngineTypes.startp = _startpos;
2331 MenhirLib.EngineTypes.endp = _endpos;
2332 MenhirLib.EngineTypes.next = _menhir_stack;
2333 });
2334 (fun _menhir_env ->
2335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2336 let {
2337 MenhirLib.EngineTypes.semv = _3;
2338 MenhirLib.EngineTypes.startp = _startpos__3_;
2339 MenhirLib.EngineTypes.endp = _endpos__3_;
2340 MenhirLib.EngineTypes.next = {
2341 MenhirLib.EngineTypes.semv = _2;
2342 MenhirLib.EngineTypes.startp = _startpos__2_;
2343 MenhirLib.EngineTypes.endp = _endpos__2_;
2344 MenhirLib.EngineTypes.next = {
2345 MenhirLib.EngineTypes.state = _menhir_s;
2346 MenhirLib.EngineTypes.semv = _1;
2347 MenhirLib.EngineTypes.startp = _startpos__1_;
2348 MenhirLib.EngineTypes.endp = _endpos__1_;
2349 MenhirLib.EngineTypes.next = _menhir_stack;
2350 };
2351 };
2352 } = _menhir_stack in
2353 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2354 let _2 : (
2355 # 120 "parser_cocci_menhir.mly"
2356 (Ast_cocci.arithOp * Data.clt)
2357 # 2358 "parser_cocci_menhir.ml"
2358 ) = Obj.magic _2 in
2359 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2360 let _startpos = _startpos__1_ in
2361 let _endpos = _endpos__3_ in
2362 let _v : 'tv_arith_expr_eexpr_invalid_ =
2363 # 1317 "parser_cocci_menhir.mly"
2364 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2365 # 2366 "parser_cocci_menhir.ml"
2366 in
2367 _menhir_env.MenhirLib.EngineTypes.stack <- {
2368 MenhirLib.EngineTypes.state = _menhir_s;
2369 MenhirLib.EngineTypes.semv = Obj.repr _v;
2370 MenhirLib.EngineTypes.startp = _startpos;
2371 MenhirLib.EngineTypes.endp = _endpos;
2372 MenhirLib.EngineTypes.next = _menhir_stack;
2373 });
2374 (fun _menhir_env ->
2375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2376 let {
2377 MenhirLib.EngineTypes.semv = _3;
2378 MenhirLib.EngineTypes.startp = _startpos__3_;
2379 MenhirLib.EngineTypes.endp = _endpos__3_;
2380 MenhirLib.EngineTypes.next = {
2381 MenhirLib.EngineTypes.semv = _2;
2382 MenhirLib.EngineTypes.startp = _startpos__2_;
2383 MenhirLib.EngineTypes.endp = _endpos__2_;
2384 MenhirLib.EngineTypes.next = {
2385 MenhirLib.EngineTypes.state = _menhir_s;
2386 MenhirLib.EngineTypes.semv = _1;
2387 MenhirLib.EngineTypes.startp = _startpos__1_;
2388 MenhirLib.EngineTypes.endp = _endpos__1_;
2389 MenhirLib.EngineTypes.next = _menhir_stack;
2390 };
2391 };
2392 } = _menhir_stack in
2393 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2394 let _2 : (
2395 # 121 "parser_cocci_menhir.mly"
2396 (Data.clt)
2397 # 2398 "parser_cocci_menhir.ml"
2398 ) = Obj.magic _2 in
2399 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2400 let _startpos = _startpos__1_ in
2401 let _endpos = _endpos__3_ in
2402 let _v : 'tv_arith_expr_eexpr_invalid_ =
2403 # 1319 "parser_cocci_menhir.mly"
2404 ( P.arith_op Ast.Plus _1 _2 _3 )
2405 # 2406 "parser_cocci_menhir.ml"
2406 in
2407 _menhir_env.MenhirLib.EngineTypes.stack <- {
2408 MenhirLib.EngineTypes.state = _menhir_s;
2409 MenhirLib.EngineTypes.semv = Obj.repr _v;
2410 MenhirLib.EngineTypes.startp = _startpos;
2411 MenhirLib.EngineTypes.endp = _endpos;
2412 MenhirLib.EngineTypes.next = _menhir_stack;
2413 });
2414 (fun _menhir_env ->
2415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2416 let {
2417 MenhirLib.EngineTypes.semv = _3;
2418 MenhirLib.EngineTypes.startp = _startpos__3_;
2419 MenhirLib.EngineTypes.endp = _endpos__3_;
2420 MenhirLib.EngineTypes.next = {
2421 MenhirLib.EngineTypes.semv = _2;
2422 MenhirLib.EngineTypes.startp = _startpos__2_;
2423 MenhirLib.EngineTypes.endp = _endpos__2_;
2424 MenhirLib.EngineTypes.next = {
2425 MenhirLib.EngineTypes.state = _menhir_s;
2426 MenhirLib.EngineTypes.semv = _1;
2427 MenhirLib.EngineTypes.startp = _startpos__1_;
2428 MenhirLib.EngineTypes.endp = _endpos__1_;
2429 MenhirLib.EngineTypes.next = _menhir_stack;
2430 };
2431 };
2432 } = _menhir_stack in
2433 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2434 let _2 : (
2435 # 121 "parser_cocci_menhir.mly"
2436 (Data.clt)
2437 # 2438 "parser_cocci_menhir.ml"
2438 ) = Obj.magic _2 in
2439 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2440 let _startpos = _startpos__1_ in
2441 let _endpos = _endpos__3_ in
2442 let _v : 'tv_arith_expr_eexpr_invalid_ =
2443 # 1321 "parser_cocci_menhir.mly"
2444 ( P.arith_op Ast.Minus _1 _2 _3 )
2445 # 2446 "parser_cocci_menhir.ml"
2446 in
2447 _menhir_env.MenhirLib.EngineTypes.stack <- {
2448 MenhirLib.EngineTypes.state = _menhir_s;
2449 MenhirLib.EngineTypes.semv = Obj.repr _v;
2450 MenhirLib.EngineTypes.startp = _startpos;
2451 MenhirLib.EngineTypes.endp = _endpos;
2452 MenhirLib.EngineTypes.next = _menhir_stack;
2453 });
2454 (fun _menhir_env ->
2455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2456 let {
2457 MenhirLib.EngineTypes.semv = _3;
2458 MenhirLib.EngineTypes.startp = _startpos__3_;
2459 MenhirLib.EngineTypes.endp = _endpos__3_;
2460 MenhirLib.EngineTypes.next = {
2461 MenhirLib.EngineTypes.semv = _2;
2462 MenhirLib.EngineTypes.startp = _startpos__2_;
2463 MenhirLib.EngineTypes.endp = _endpos__2_;
2464 MenhirLib.EngineTypes.next = {
2465 MenhirLib.EngineTypes.state = _menhir_s;
2466 MenhirLib.EngineTypes.semv = _1;
2467 MenhirLib.EngineTypes.startp = _startpos__1_;
2468 MenhirLib.EngineTypes.endp = _endpos__1_;
2469 MenhirLib.EngineTypes.next = _menhir_stack;
2470 };
2471 };
2472 } = _menhir_stack in
2473 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2474 let _2 : (
2475 # 119 "parser_cocci_menhir.mly"
2476 (Ast_cocci.arithOp * Data.clt)
2477 # 2478 "parser_cocci_menhir.ml"
2478 ) = Obj.magic _2 in
2479 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2480 let _startpos = _startpos__1_ in
2481 let _endpos = _endpos__3_ in
2482 let _v : 'tv_arith_expr_eexpr_invalid_ =
2483 # 1323 "parser_cocci_menhir.mly"
2484 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2485 # 2486 "parser_cocci_menhir.ml"
2486 in
2487 _menhir_env.MenhirLib.EngineTypes.stack <- {
2488 MenhirLib.EngineTypes.state = _menhir_s;
2489 MenhirLib.EngineTypes.semv = Obj.repr _v;
2490 MenhirLib.EngineTypes.startp = _startpos;
2491 MenhirLib.EngineTypes.endp = _endpos;
2492 MenhirLib.EngineTypes.next = _menhir_stack;
2493 });
2494 (fun _menhir_env ->
2495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2496 let {
2497 MenhirLib.EngineTypes.semv = _3;
2498 MenhirLib.EngineTypes.startp = _startpos__3_;
2499 MenhirLib.EngineTypes.endp = _endpos__3_;
2500 MenhirLib.EngineTypes.next = {
2501 MenhirLib.EngineTypes.semv = _2;
2502 MenhirLib.EngineTypes.startp = _startpos__2_;
2503 MenhirLib.EngineTypes.endp = _endpos__2_;
2504 MenhirLib.EngineTypes.next = {
2505 MenhirLib.EngineTypes.state = _menhir_s;
2506 MenhirLib.EngineTypes.semv = _1;
2507 MenhirLib.EngineTypes.startp = _startpos__1_;
2508 MenhirLib.EngineTypes.endp = _endpos__1_;
2509 MenhirLib.EngineTypes.next = _menhir_stack;
2510 };
2511 };
2512 } = _menhir_stack in
2513 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2514 let _2 : (
2515 # 118 "parser_cocci_menhir.mly"
2516 (Ast_cocci.logicalOp * Data.clt)
2517 # 2518 "parser_cocci_menhir.ml"
2518 ) = Obj.magic _2 in
2519 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2520 let _startpos = _startpos__1_ in
2521 let _endpos = _endpos__3_ in
2522 let _v : 'tv_arith_expr_eexpr_invalid_ =
2523 # 1325 "parser_cocci_menhir.mly"
2524 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2525 # 2526 "parser_cocci_menhir.ml"
2526 in
2527 _menhir_env.MenhirLib.EngineTypes.stack <- {
2528 MenhirLib.EngineTypes.state = _menhir_s;
2529 MenhirLib.EngineTypes.semv = Obj.repr _v;
2530 MenhirLib.EngineTypes.startp = _startpos;
2531 MenhirLib.EngineTypes.endp = _endpos;
2532 MenhirLib.EngineTypes.next = _menhir_stack;
2533 });
2534 (fun _menhir_env ->
2535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2536 let {
2537 MenhirLib.EngineTypes.semv = _3;
2538 MenhirLib.EngineTypes.startp = _startpos__3_;
2539 MenhirLib.EngineTypes.endp = _endpos__3_;
2540 MenhirLib.EngineTypes.next = {
2541 MenhirLib.EngineTypes.semv = _2;
2542 MenhirLib.EngineTypes.startp = _startpos__2_;
2543 MenhirLib.EngineTypes.endp = _endpos__2_;
2544 MenhirLib.EngineTypes.next = {
2545 MenhirLib.EngineTypes.state = _menhir_s;
2546 MenhirLib.EngineTypes.semv = _1;
2547 MenhirLib.EngineTypes.startp = _startpos__1_;
2548 MenhirLib.EngineTypes.endp = _endpos__1_;
2549 MenhirLib.EngineTypes.next = _menhir_stack;
2550 };
2551 };
2552 } = _menhir_stack in
2553 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2554 let _2 : (
2555 # 117 "parser_cocci_menhir.mly"
2556 (Data.clt)
2557 # 2558 "parser_cocci_menhir.ml"
2558 ) = Obj.magic _2 in
2559 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2560 let _startpos = _startpos__1_ in
2561 let _endpos = _endpos__3_ in
2562 let _v : 'tv_arith_expr_eexpr_invalid_ =
2563 # 1327 "parser_cocci_menhir.mly"
2564 ( P.logic_op Ast.Eq _1 _2 _3 )
2565 # 2566 "parser_cocci_menhir.ml"
2566 in
2567 _menhir_env.MenhirLib.EngineTypes.stack <- {
2568 MenhirLib.EngineTypes.state = _menhir_s;
2569 MenhirLib.EngineTypes.semv = Obj.repr _v;
2570 MenhirLib.EngineTypes.startp = _startpos;
2571 MenhirLib.EngineTypes.endp = _endpos;
2572 MenhirLib.EngineTypes.next = _menhir_stack;
2573 });
2574 (fun _menhir_env ->
2575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2576 let {
2577 MenhirLib.EngineTypes.semv = _3;
2578 MenhirLib.EngineTypes.startp = _startpos__3_;
2579 MenhirLib.EngineTypes.endp = _endpos__3_;
2580 MenhirLib.EngineTypes.next = {
2581 MenhirLib.EngineTypes.semv = _2;
2582 MenhirLib.EngineTypes.startp = _startpos__2_;
2583 MenhirLib.EngineTypes.endp = _endpos__2_;
2584 MenhirLib.EngineTypes.next = {
2585 MenhirLib.EngineTypes.state = _menhir_s;
2586 MenhirLib.EngineTypes.semv = _1;
2587 MenhirLib.EngineTypes.startp = _startpos__1_;
2588 MenhirLib.EngineTypes.endp = _endpos__1_;
2589 MenhirLib.EngineTypes.next = _menhir_stack;
2590 };
2591 };
2592 } = _menhir_stack in
2593 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2594 let _2 : (
2595 # 117 "parser_cocci_menhir.mly"
2596 (Data.clt)
2597 # 2598 "parser_cocci_menhir.ml"
2598 ) = Obj.magic _2 in
2599 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2600 let _startpos = _startpos__1_ in
2601 let _endpos = _endpos__3_ in
2602 let _v : 'tv_arith_expr_eexpr_invalid_ =
2603 # 1329 "parser_cocci_menhir.mly"
2604 ( P.logic_op Ast.NotEq _1 _2 _3 )
2605 # 2606 "parser_cocci_menhir.ml"
2606 in
2607 _menhir_env.MenhirLib.EngineTypes.stack <- {
2608 MenhirLib.EngineTypes.state = _menhir_s;
2609 MenhirLib.EngineTypes.semv = Obj.repr _v;
2610 MenhirLib.EngineTypes.startp = _startpos;
2611 MenhirLib.EngineTypes.endp = _endpos;
2612 MenhirLib.EngineTypes.next = _menhir_stack;
2613 });
2614 (fun _menhir_env ->
2615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2616 let {
2617 MenhirLib.EngineTypes.semv = _3;
2618 MenhirLib.EngineTypes.startp = _startpos__3_;
2619 MenhirLib.EngineTypes.endp = _endpos__3_;
2620 MenhirLib.EngineTypes.next = {
2621 MenhirLib.EngineTypes.semv = _2;
2622 MenhirLib.EngineTypes.startp = _startpos__2_;
2623 MenhirLib.EngineTypes.endp = _endpos__2_;
2624 MenhirLib.EngineTypes.next = {
2625 MenhirLib.EngineTypes.state = _menhir_s;
2626 MenhirLib.EngineTypes.semv = _1;
2627 MenhirLib.EngineTypes.startp = _startpos__1_;
2628 MenhirLib.EngineTypes.endp = _endpos__1_;
2629 MenhirLib.EngineTypes.next = _menhir_stack;
2630 };
2631 };
2632 } = _menhir_stack in
2633 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2634 let _2 : (
2635 # 116 "parser_cocci_menhir.mly"
2636 (Data.clt)
2637 # 2638 "parser_cocci_menhir.ml"
2638 ) = Obj.magic _2 in
2639 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2640 let _startpos = _startpos__1_ in
2641 let _endpos = _endpos__3_ in
2642 let _v : 'tv_arith_expr_eexpr_invalid_ =
2643 # 1331 "parser_cocci_menhir.mly"
2644 ( P.arith_op Ast.And _1 _2 _3 )
2645 # 2646 "parser_cocci_menhir.ml"
2646 in
2647 _menhir_env.MenhirLib.EngineTypes.stack <- {
2648 MenhirLib.EngineTypes.state = _menhir_s;
2649 MenhirLib.EngineTypes.semv = Obj.repr _v;
2650 MenhirLib.EngineTypes.startp = _startpos;
2651 MenhirLib.EngineTypes.endp = _endpos;
2652 MenhirLib.EngineTypes.next = _menhir_stack;
2653 });
2654 (fun _menhir_env ->
2655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2656 let {
2657 MenhirLib.EngineTypes.semv = _3;
2658 MenhirLib.EngineTypes.startp = _startpos__3_;
2659 MenhirLib.EngineTypes.endp = _endpos__3_;
2660 MenhirLib.EngineTypes.next = {
2661 MenhirLib.EngineTypes.semv = _2;
2662 MenhirLib.EngineTypes.startp = _startpos__2_;
2663 MenhirLib.EngineTypes.endp = _endpos__2_;
2664 MenhirLib.EngineTypes.next = {
2665 MenhirLib.EngineTypes.state = _menhir_s;
2666 MenhirLib.EngineTypes.semv = _1;
2667 MenhirLib.EngineTypes.startp = _startpos__1_;
2668 MenhirLib.EngineTypes.endp = _endpos__1_;
2669 MenhirLib.EngineTypes.next = _menhir_stack;
2670 };
2671 };
2672 } = _menhir_stack in
2673 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2674 let _2 : (
2675 # 114 "parser_cocci_menhir.mly"
2676 (Data.clt)
2677 # 2678 "parser_cocci_menhir.ml"
2678 ) = Obj.magic _2 in
2679 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2680 let _startpos = _startpos__1_ in
2681 let _endpos = _endpos__3_ in
2682 let _v : 'tv_arith_expr_eexpr_invalid_ =
2683 # 1333 "parser_cocci_menhir.mly"
2684 ( P.arith_op Ast.Or _1 _2 _3 )
2685 # 2686 "parser_cocci_menhir.ml"
2686 in
2687 _menhir_env.MenhirLib.EngineTypes.stack <- {
2688 MenhirLib.EngineTypes.state = _menhir_s;
2689 MenhirLib.EngineTypes.semv = Obj.repr _v;
2690 MenhirLib.EngineTypes.startp = _startpos;
2691 MenhirLib.EngineTypes.endp = _endpos;
2692 MenhirLib.EngineTypes.next = _menhir_stack;
2693 });
2694 (fun _menhir_env ->
2695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2696 let {
2697 MenhirLib.EngineTypes.semv = _3;
2698 MenhirLib.EngineTypes.startp = _startpos__3_;
2699 MenhirLib.EngineTypes.endp = _endpos__3_;
2700 MenhirLib.EngineTypes.next = {
2701 MenhirLib.EngineTypes.semv = _2;
2702 MenhirLib.EngineTypes.startp = _startpos__2_;
2703 MenhirLib.EngineTypes.endp = _endpos__2_;
2704 MenhirLib.EngineTypes.next = {
2705 MenhirLib.EngineTypes.state = _menhir_s;
2706 MenhirLib.EngineTypes.semv = _1;
2707 MenhirLib.EngineTypes.startp = _startpos__1_;
2708 MenhirLib.EngineTypes.endp = _endpos__1_;
2709 MenhirLib.EngineTypes.next = _menhir_stack;
2710 };
2711 };
2712 } = _menhir_stack in
2713 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2714 let _2 : (
2715 # 115 "parser_cocci_menhir.mly"
2716 (Data.clt)
2717 # 2718 "parser_cocci_menhir.ml"
2718 ) = Obj.magic _2 in
2719 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2720 let _startpos = _startpos__1_ in
2721 let _endpos = _endpos__3_ in
2722 let _v : 'tv_arith_expr_eexpr_invalid_ =
2723 # 1335 "parser_cocci_menhir.mly"
2724 ( P.arith_op Ast.Xor _1 _2 _3 )
2725 # 2726 "parser_cocci_menhir.ml"
2726 in
2727 _menhir_env.MenhirLib.EngineTypes.stack <- {
2728 MenhirLib.EngineTypes.state = _menhir_s;
2729 MenhirLib.EngineTypes.semv = Obj.repr _v;
2730 MenhirLib.EngineTypes.startp = _startpos;
2731 MenhirLib.EngineTypes.endp = _endpos;
2732 MenhirLib.EngineTypes.next = _menhir_stack;
2733 });
2734 (fun _menhir_env ->
2735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2736 let {
2737 MenhirLib.EngineTypes.semv = _3;
2738 MenhirLib.EngineTypes.startp = _startpos__3_;
2739 MenhirLib.EngineTypes.endp = _endpos__3_;
2740 MenhirLib.EngineTypes.next = {
2741 MenhirLib.EngineTypes.semv = _2;
2742 MenhirLib.EngineTypes.startp = _startpos__2_;
2743 MenhirLib.EngineTypes.endp = _endpos__2_;
2744 MenhirLib.EngineTypes.next = {
2745 MenhirLib.EngineTypes.state = _menhir_s;
2746 MenhirLib.EngineTypes.semv = _1;
2747 MenhirLib.EngineTypes.startp = _startpos__1_;
2748 MenhirLib.EngineTypes.endp = _endpos__1_;
2749 MenhirLib.EngineTypes.next = _menhir_stack;
2750 };
2751 };
2752 } = _menhir_stack in
2753 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2754 let _2 : (
2755 # 113 "parser_cocci_menhir.mly"
2756 (Data.clt)
2757 # 2758 "parser_cocci_menhir.ml"
2758 ) = Obj.magic _2 in
2759 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2760 let _startpos = _startpos__1_ in
2761 let _endpos = _endpos__3_ in
2762 let _v : 'tv_arith_expr_eexpr_invalid_ =
2763 # 1337 "parser_cocci_menhir.mly"
2764 ( P.logic_op Ast.AndLog _1 _2 _3 )
2765 # 2766 "parser_cocci_menhir.ml"
2766 in
2767 _menhir_env.MenhirLib.EngineTypes.stack <- {
2768 MenhirLib.EngineTypes.state = _menhir_s;
2769 MenhirLib.EngineTypes.semv = Obj.repr _v;
2770 MenhirLib.EngineTypes.startp = _startpos;
2771 MenhirLib.EngineTypes.endp = _endpos;
2772 MenhirLib.EngineTypes.next = _menhir_stack;
2773 });
2774 (fun _menhir_env ->
2775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2776 let {
2777 MenhirLib.EngineTypes.semv = _3;
2778 MenhirLib.EngineTypes.startp = _startpos__3_;
2779 MenhirLib.EngineTypes.endp = _endpos__3_;
2780 MenhirLib.EngineTypes.next = {
2781 MenhirLib.EngineTypes.semv = _2;
2782 MenhirLib.EngineTypes.startp = _startpos__2_;
2783 MenhirLib.EngineTypes.endp = _endpos__2_;
2784 MenhirLib.EngineTypes.next = {
2785 MenhirLib.EngineTypes.state = _menhir_s;
2786 MenhirLib.EngineTypes.semv = _1;
2787 MenhirLib.EngineTypes.startp = _startpos__1_;
2788 MenhirLib.EngineTypes.endp = _endpos__1_;
2789 MenhirLib.EngineTypes.next = _menhir_stack;
2790 };
2791 };
2792 } = _menhir_stack in
2793 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2794 let _2 : (
2795 # 112 "parser_cocci_menhir.mly"
2796 (Data.clt)
2797 # 2798 "parser_cocci_menhir.ml"
2798 ) = Obj.magic _2 in
2799 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2800 let _startpos = _startpos__1_ in
2801 let _endpos = _endpos__3_ in
2802 let _v : 'tv_arith_expr_eexpr_invalid_ =
2803 # 1339 "parser_cocci_menhir.mly"
2804 ( P.logic_op Ast.OrLog _1 _2 _3 )
2805 # 2806 "parser_cocci_menhir.ml"
2806 in
2807 _menhir_env.MenhirLib.EngineTypes.stack <- {
2808 MenhirLib.EngineTypes.state = _menhir_s;
2809 MenhirLib.EngineTypes.semv = Obj.repr _v;
2810 MenhirLib.EngineTypes.startp = _startpos;
2811 MenhirLib.EngineTypes.endp = _endpos;
2812 MenhirLib.EngineTypes.next = _menhir_stack;
2813 });
2814 (fun _menhir_env ->
2815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2816 let {
2817 MenhirLib.EngineTypes.state = _menhir_s;
2818 MenhirLib.EngineTypes.semv = _1;
2819 MenhirLib.EngineTypes.startp = _startpos__1_;
2820 MenhirLib.EngineTypes.endp = _endpos__1_;
2821 MenhirLib.EngineTypes.next = _menhir_stack;
2822 } = _menhir_stack in
2823 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2824 let _startpos = _startpos__1_ in
2825 let _endpos = _endpos__1_ in
2826 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2827 # 1313 "parser_cocci_menhir.mly"
2828 ( _1 )
2829 # 2830 "parser_cocci_menhir.ml"
2830 in
2831 _menhir_env.MenhirLib.EngineTypes.stack <- {
2832 MenhirLib.EngineTypes.state = _menhir_s;
2833 MenhirLib.EngineTypes.semv = Obj.repr _v;
2834 MenhirLib.EngineTypes.startp = _startpos;
2835 MenhirLib.EngineTypes.endp = _endpos;
2836 MenhirLib.EngineTypes.next = _menhir_stack;
2837 });
2838 (fun _menhir_env ->
2839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2840 let {
2841 MenhirLib.EngineTypes.semv = _3;
2842 MenhirLib.EngineTypes.startp = _startpos__3_;
2843 MenhirLib.EngineTypes.endp = _endpos__3_;
2844 MenhirLib.EngineTypes.next = {
2845 MenhirLib.EngineTypes.semv = _2;
2846 MenhirLib.EngineTypes.startp = _startpos__2_;
2847 MenhirLib.EngineTypes.endp = _endpos__2_;
2848 MenhirLib.EngineTypes.next = {
2849 MenhirLib.EngineTypes.state = _menhir_s;
2850 MenhirLib.EngineTypes.semv = _1;
2851 MenhirLib.EngineTypes.startp = _startpos__1_;
2852 MenhirLib.EngineTypes.endp = _endpos__1_;
2853 MenhirLib.EngineTypes.next = _menhir_stack;
2854 };
2855 };
2856 } = _menhir_stack in
2857 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2858 let _2 : (
2859 # 122 "parser_cocci_menhir.mly"
2860 (Data.clt)
2861 # 2862 "parser_cocci_menhir.ml"
2862 ) = Obj.magic _2 in
2863 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2864 let _startpos = _startpos__1_ in
2865 let _endpos = _endpos__3_ in
2866 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2867 # 1315 "parser_cocci_menhir.mly"
2868 ( P.arith_op Ast.Mul _1 _2 _3 )
2869 # 2870 "parser_cocci_menhir.ml"
2870 in
2871 _menhir_env.MenhirLib.EngineTypes.stack <- {
2872 MenhirLib.EngineTypes.state = _menhir_s;
2873 MenhirLib.EngineTypes.semv = Obj.repr _v;
2874 MenhirLib.EngineTypes.startp = _startpos;
2875 MenhirLib.EngineTypes.endp = _endpos;
2876 MenhirLib.EngineTypes.next = _menhir_stack;
2877 });
2878 (fun _menhir_env ->
2879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2880 let {
2881 MenhirLib.EngineTypes.semv = _3;
2882 MenhirLib.EngineTypes.startp = _startpos__3_;
2883 MenhirLib.EngineTypes.endp = _endpos__3_;
2884 MenhirLib.EngineTypes.next = {
2885 MenhirLib.EngineTypes.semv = _2;
2886 MenhirLib.EngineTypes.startp = _startpos__2_;
2887 MenhirLib.EngineTypes.endp = _endpos__2_;
2888 MenhirLib.EngineTypes.next = {
2889 MenhirLib.EngineTypes.state = _menhir_s;
2890 MenhirLib.EngineTypes.semv = _1;
2891 MenhirLib.EngineTypes.startp = _startpos__1_;
2892 MenhirLib.EngineTypes.endp = _endpos__1_;
2893 MenhirLib.EngineTypes.next = _menhir_stack;
2894 };
2895 };
2896 } = _menhir_stack in
2897 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2898 let _2 : (
2899 # 120 "parser_cocci_menhir.mly"
2900 (Ast_cocci.arithOp * Data.clt)
2901 # 2902 "parser_cocci_menhir.ml"
2902 ) = Obj.magic _2 in
2903 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2904 let _startpos = _startpos__1_ in
2905 let _endpos = _endpos__3_ in
2906 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2907 # 1317 "parser_cocci_menhir.mly"
2908 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2909 # 2910 "parser_cocci_menhir.ml"
2910 in
2911 _menhir_env.MenhirLib.EngineTypes.stack <- {
2912 MenhirLib.EngineTypes.state = _menhir_s;
2913 MenhirLib.EngineTypes.semv = Obj.repr _v;
2914 MenhirLib.EngineTypes.startp = _startpos;
2915 MenhirLib.EngineTypes.endp = _endpos;
2916 MenhirLib.EngineTypes.next = _menhir_stack;
2917 });
2918 (fun _menhir_env ->
2919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2920 let {
2921 MenhirLib.EngineTypes.semv = _3;
2922 MenhirLib.EngineTypes.startp = _startpos__3_;
2923 MenhirLib.EngineTypes.endp = _endpos__3_;
2924 MenhirLib.EngineTypes.next = {
2925 MenhirLib.EngineTypes.semv = _2;
2926 MenhirLib.EngineTypes.startp = _startpos__2_;
2927 MenhirLib.EngineTypes.endp = _endpos__2_;
2928 MenhirLib.EngineTypes.next = {
2929 MenhirLib.EngineTypes.state = _menhir_s;
2930 MenhirLib.EngineTypes.semv = _1;
2931 MenhirLib.EngineTypes.startp = _startpos__1_;
2932 MenhirLib.EngineTypes.endp = _endpos__1_;
2933 MenhirLib.EngineTypes.next = _menhir_stack;
2934 };
2935 };
2936 } = _menhir_stack in
2937 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2938 let _2 : (
2939 # 121 "parser_cocci_menhir.mly"
2940 (Data.clt)
2941 # 2942 "parser_cocci_menhir.ml"
2942 ) = Obj.magic _2 in
2943 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2944 let _startpos = _startpos__1_ in
2945 let _endpos = _endpos__3_ in
2946 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2947 # 1319 "parser_cocci_menhir.mly"
2948 ( P.arith_op Ast.Plus _1 _2 _3 )
2949 # 2950 "parser_cocci_menhir.ml"
2950 in
2951 _menhir_env.MenhirLib.EngineTypes.stack <- {
2952 MenhirLib.EngineTypes.state = _menhir_s;
2953 MenhirLib.EngineTypes.semv = Obj.repr _v;
2954 MenhirLib.EngineTypes.startp = _startpos;
2955 MenhirLib.EngineTypes.endp = _endpos;
2956 MenhirLib.EngineTypes.next = _menhir_stack;
2957 });
2958 (fun _menhir_env ->
2959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2960 let {
2961 MenhirLib.EngineTypes.semv = _3;
2962 MenhirLib.EngineTypes.startp = _startpos__3_;
2963 MenhirLib.EngineTypes.endp = _endpos__3_;
2964 MenhirLib.EngineTypes.next = {
2965 MenhirLib.EngineTypes.semv = _2;
2966 MenhirLib.EngineTypes.startp = _startpos__2_;
2967 MenhirLib.EngineTypes.endp = _endpos__2_;
2968 MenhirLib.EngineTypes.next = {
2969 MenhirLib.EngineTypes.state = _menhir_s;
2970 MenhirLib.EngineTypes.semv = _1;
2971 MenhirLib.EngineTypes.startp = _startpos__1_;
2972 MenhirLib.EngineTypes.endp = _endpos__1_;
2973 MenhirLib.EngineTypes.next = _menhir_stack;
2974 };
2975 };
2976 } = _menhir_stack in
2977 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2978 let _2 : (
2979 # 121 "parser_cocci_menhir.mly"
2980 (Data.clt)
2981 # 2982 "parser_cocci_menhir.ml"
2982 ) = Obj.magic _2 in
2983 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2984 let _startpos = _startpos__1_ in
2985 let _endpos = _endpos__3_ in
2986 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2987 # 1321 "parser_cocci_menhir.mly"
2988 ( P.arith_op Ast.Minus _1 _2 _3 )
2989 # 2990 "parser_cocci_menhir.ml"
2990 in
2991 _menhir_env.MenhirLib.EngineTypes.stack <- {
2992 MenhirLib.EngineTypes.state = _menhir_s;
2993 MenhirLib.EngineTypes.semv = Obj.repr _v;
2994 MenhirLib.EngineTypes.startp = _startpos;
2995 MenhirLib.EngineTypes.endp = _endpos;
2996 MenhirLib.EngineTypes.next = _menhir_stack;
2997 });
2998 (fun _menhir_env ->
2999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3000 let {
3001 MenhirLib.EngineTypes.semv = _3;
3002 MenhirLib.EngineTypes.startp = _startpos__3_;
3003 MenhirLib.EngineTypes.endp = _endpos__3_;
3004 MenhirLib.EngineTypes.next = {
3005 MenhirLib.EngineTypes.semv = _2;
3006 MenhirLib.EngineTypes.startp = _startpos__2_;
3007 MenhirLib.EngineTypes.endp = _endpos__2_;
3008 MenhirLib.EngineTypes.next = {
3009 MenhirLib.EngineTypes.state = _menhir_s;
3010 MenhirLib.EngineTypes.semv = _1;
3011 MenhirLib.EngineTypes.startp = _startpos__1_;
3012 MenhirLib.EngineTypes.endp = _endpos__1_;
3013 MenhirLib.EngineTypes.next = _menhir_stack;
3014 };
3015 };
3016 } = _menhir_stack in
3017 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3018 let _2 : (
3019 # 119 "parser_cocci_menhir.mly"
3020 (Ast_cocci.arithOp * Data.clt)
3021 # 3022 "parser_cocci_menhir.ml"
3022 ) = Obj.magic _2 in
3023 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3024 let _startpos = _startpos__1_ in
3025 let _endpos = _endpos__3_ in
3026 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3027 # 1323 "parser_cocci_menhir.mly"
3028 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3029 # 3030 "parser_cocci_menhir.ml"
3030 in
3031 _menhir_env.MenhirLib.EngineTypes.stack <- {
3032 MenhirLib.EngineTypes.state = _menhir_s;
3033 MenhirLib.EngineTypes.semv = Obj.repr _v;
3034 MenhirLib.EngineTypes.startp = _startpos;
3035 MenhirLib.EngineTypes.endp = _endpos;
3036 MenhirLib.EngineTypes.next = _menhir_stack;
3037 });
3038 (fun _menhir_env ->
3039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3040 let {
3041 MenhirLib.EngineTypes.semv = _3;
3042 MenhirLib.EngineTypes.startp = _startpos__3_;
3043 MenhirLib.EngineTypes.endp = _endpos__3_;
3044 MenhirLib.EngineTypes.next = {
3045 MenhirLib.EngineTypes.semv = _2;
3046 MenhirLib.EngineTypes.startp = _startpos__2_;
3047 MenhirLib.EngineTypes.endp = _endpos__2_;
3048 MenhirLib.EngineTypes.next = {
3049 MenhirLib.EngineTypes.state = _menhir_s;
3050 MenhirLib.EngineTypes.semv = _1;
3051 MenhirLib.EngineTypes.startp = _startpos__1_;
3052 MenhirLib.EngineTypes.endp = _endpos__1_;
3053 MenhirLib.EngineTypes.next = _menhir_stack;
3054 };
3055 };
3056 } = _menhir_stack in
3057 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3058 let _2 : (
3059 # 118 "parser_cocci_menhir.mly"
3060 (Ast_cocci.logicalOp * Data.clt)
3061 # 3062 "parser_cocci_menhir.ml"
3062 ) = Obj.magic _2 in
3063 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3064 let _startpos = _startpos__1_ in
3065 let _endpos = _endpos__3_ in
3066 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3067 # 1325 "parser_cocci_menhir.mly"
3068 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3069 # 3070 "parser_cocci_menhir.ml"
3070 in
3071 _menhir_env.MenhirLib.EngineTypes.stack <- {
3072 MenhirLib.EngineTypes.state = _menhir_s;
3073 MenhirLib.EngineTypes.semv = Obj.repr _v;
3074 MenhirLib.EngineTypes.startp = _startpos;
3075 MenhirLib.EngineTypes.endp = _endpos;
3076 MenhirLib.EngineTypes.next = _menhir_stack;
3077 });
3078 (fun _menhir_env ->
3079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3080 let {
3081 MenhirLib.EngineTypes.semv = _3;
3082 MenhirLib.EngineTypes.startp = _startpos__3_;
3083 MenhirLib.EngineTypes.endp = _endpos__3_;
3084 MenhirLib.EngineTypes.next = {
3085 MenhirLib.EngineTypes.semv = _2;
3086 MenhirLib.EngineTypes.startp = _startpos__2_;
3087 MenhirLib.EngineTypes.endp = _endpos__2_;
3088 MenhirLib.EngineTypes.next = {
3089 MenhirLib.EngineTypes.state = _menhir_s;
3090 MenhirLib.EngineTypes.semv = _1;
3091 MenhirLib.EngineTypes.startp = _startpos__1_;
3092 MenhirLib.EngineTypes.endp = _endpos__1_;
3093 MenhirLib.EngineTypes.next = _menhir_stack;
3094 };
3095 };
3096 } = _menhir_stack in
3097 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3098 let _2 : (
3099 # 117 "parser_cocci_menhir.mly"
3100 (Data.clt)
3101 # 3102 "parser_cocci_menhir.ml"
3102 ) = Obj.magic _2 in
3103 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3104 let _startpos = _startpos__1_ in
3105 let _endpos = _endpos__3_ in
3106 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3107 # 1327 "parser_cocci_menhir.mly"
3108 ( P.logic_op Ast.Eq _1 _2 _3 )
3109 # 3110 "parser_cocci_menhir.ml"
3110 in
3111 _menhir_env.MenhirLib.EngineTypes.stack <- {
3112 MenhirLib.EngineTypes.state = _menhir_s;
3113 MenhirLib.EngineTypes.semv = Obj.repr _v;
3114 MenhirLib.EngineTypes.startp = _startpos;
3115 MenhirLib.EngineTypes.endp = _endpos;
3116 MenhirLib.EngineTypes.next = _menhir_stack;
3117 });
3118 (fun _menhir_env ->
3119 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3120 let {
3121 MenhirLib.EngineTypes.semv = _3;
3122 MenhirLib.EngineTypes.startp = _startpos__3_;
3123 MenhirLib.EngineTypes.endp = _endpos__3_;
3124 MenhirLib.EngineTypes.next = {
3125 MenhirLib.EngineTypes.semv = _2;
3126 MenhirLib.EngineTypes.startp = _startpos__2_;
3127 MenhirLib.EngineTypes.endp = _endpos__2_;
3128 MenhirLib.EngineTypes.next = {
3129 MenhirLib.EngineTypes.state = _menhir_s;
3130 MenhirLib.EngineTypes.semv = _1;
3131 MenhirLib.EngineTypes.startp = _startpos__1_;
3132 MenhirLib.EngineTypes.endp = _endpos__1_;
3133 MenhirLib.EngineTypes.next = _menhir_stack;
3134 };
3135 };
3136 } = _menhir_stack in
3137 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3138 let _2 : (
3139 # 117 "parser_cocci_menhir.mly"
3140 (Data.clt)
3141 # 3142 "parser_cocci_menhir.ml"
3142 ) = Obj.magic _2 in
3143 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3144 let _startpos = _startpos__1_ in
3145 let _endpos = _endpos__3_ in
3146 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3147 # 1329 "parser_cocci_menhir.mly"
3148 ( P.logic_op Ast.NotEq _1 _2 _3 )
3149 # 3150 "parser_cocci_menhir.ml"
3150 in
3151 _menhir_env.MenhirLib.EngineTypes.stack <- {
3152 MenhirLib.EngineTypes.state = _menhir_s;
3153 MenhirLib.EngineTypes.semv = Obj.repr _v;
3154 MenhirLib.EngineTypes.startp = _startpos;
3155 MenhirLib.EngineTypes.endp = _endpos;
3156 MenhirLib.EngineTypes.next = _menhir_stack;
3157 });
3158 (fun _menhir_env ->
3159 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3160 let {
3161 MenhirLib.EngineTypes.semv = _3;
3162 MenhirLib.EngineTypes.startp = _startpos__3_;
3163 MenhirLib.EngineTypes.endp = _endpos__3_;
3164 MenhirLib.EngineTypes.next = {
3165 MenhirLib.EngineTypes.semv = _2;
3166 MenhirLib.EngineTypes.startp = _startpos__2_;
3167 MenhirLib.EngineTypes.endp = _endpos__2_;
3168 MenhirLib.EngineTypes.next = {
3169 MenhirLib.EngineTypes.state = _menhir_s;
3170 MenhirLib.EngineTypes.semv = _1;
3171 MenhirLib.EngineTypes.startp = _startpos__1_;
3172 MenhirLib.EngineTypes.endp = _endpos__1_;
3173 MenhirLib.EngineTypes.next = _menhir_stack;
3174 };
3175 };
3176 } = _menhir_stack in
3177 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3178 let _2 : (
3179 # 116 "parser_cocci_menhir.mly"
3180 (Data.clt)
3181 # 3182 "parser_cocci_menhir.ml"
3182 ) = Obj.magic _2 in
3183 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3184 let _startpos = _startpos__1_ in
3185 let _endpos = _endpos__3_ in
3186 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3187 # 1331 "parser_cocci_menhir.mly"
3188 ( P.arith_op Ast.And _1 _2 _3 )
3189 # 3190 "parser_cocci_menhir.ml"
3190 in
3191 _menhir_env.MenhirLib.EngineTypes.stack <- {
3192 MenhirLib.EngineTypes.state = _menhir_s;
3193 MenhirLib.EngineTypes.semv = Obj.repr _v;
3194 MenhirLib.EngineTypes.startp = _startpos;
3195 MenhirLib.EngineTypes.endp = _endpos;
3196 MenhirLib.EngineTypes.next = _menhir_stack;
3197 });
3198 (fun _menhir_env ->
3199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3200 let {
3201 MenhirLib.EngineTypes.semv = _3;
3202 MenhirLib.EngineTypes.startp = _startpos__3_;
3203 MenhirLib.EngineTypes.endp = _endpos__3_;
3204 MenhirLib.EngineTypes.next = {
3205 MenhirLib.EngineTypes.semv = _2;
3206 MenhirLib.EngineTypes.startp = _startpos__2_;
3207 MenhirLib.EngineTypes.endp = _endpos__2_;
3208 MenhirLib.EngineTypes.next = {
3209 MenhirLib.EngineTypes.state = _menhir_s;
3210 MenhirLib.EngineTypes.semv = _1;
3211 MenhirLib.EngineTypes.startp = _startpos__1_;
3212 MenhirLib.EngineTypes.endp = _endpos__1_;
3213 MenhirLib.EngineTypes.next = _menhir_stack;
3214 };
3215 };
3216 } = _menhir_stack in
3217 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3218 let _2 : (
3219 # 114 "parser_cocci_menhir.mly"
3220 (Data.clt)
3221 # 3222 "parser_cocci_menhir.ml"
3222 ) = Obj.magic _2 in
3223 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3224 let _startpos = _startpos__1_ in
3225 let _endpos = _endpos__3_ in
3226 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3227 # 1333 "parser_cocci_menhir.mly"
3228 ( P.arith_op Ast.Or _1 _2 _3 )
3229 # 3230 "parser_cocci_menhir.ml"
3230 in
3231 _menhir_env.MenhirLib.EngineTypes.stack <- {
3232 MenhirLib.EngineTypes.state = _menhir_s;
3233 MenhirLib.EngineTypes.semv = Obj.repr _v;
3234 MenhirLib.EngineTypes.startp = _startpos;
3235 MenhirLib.EngineTypes.endp = _endpos;
3236 MenhirLib.EngineTypes.next = _menhir_stack;
3237 });
3238 (fun _menhir_env ->
3239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3240 let {
3241 MenhirLib.EngineTypes.semv = _3;
3242 MenhirLib.EngineTypes.startp = _startpos__3_;
3243 MenhirLib.EngineTypes.endp = _endpos__3_;
3244 MenhirLib.EngineTypes.next = {
3245 MenhirLib.EngineTypes.semv = _2;
3246 MenhirLib.EngineTypes.startp = _startpos__2_;
3247 MenhirLib.EngineTypes.endp = _endpos__2_;
3248 MenhirLib.EngineTypes.next = {
3249 MenhirLib.EngineTypes.state = _menhir_s;
3250 MenhirLib.EngineTypes.semv = _1;
3251 MenhirLib.EngineTypes.startp = _startpos__1_;
3252 MenhirLib.EngineTypes.endp = _endpos__1_;
3253 MenhirLib.EngineTypes.next = _menhir_stack;
3254 };
3255 };
3256 } = _menhir_stack in
3257 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3258 let _2 : (
3259 # 115 "parser_cocci_menhir.mly"
3260 (Data.clt)
3261 # 3262 "parser_cocci_menhir.ml"
3262 ) = Obj.magic _2 in
3263 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3264 let _startpos = _startpos__1_ in
3265 let _endpos = _endpos__3_ in
3266 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3267 # 1335 "parser_cocci_menhir.mly"
3268 ( P.arith_op Ast.Xor _1 _2 _3 )
3269 # 3270 "parser_cocci_menhir.ml"
3270 in
3271 _menhir_env.MenhirLib.EngineTypes.stack <- {
3272 MenhirLib.EngineTypes.state = _menhir_s;
3273 MenhirLib.EngineTypes.semv = Obj.repr _v;
3274 MenhirLib.EngineTypes.startp = _startpos;
3275 MenhirLib.EngineTypes.endp = _endpos;
3276 MenhirLib.EngineTypes.next = _menhir_stack;
3277 });
3278 (fun _menhir_env ->
3279 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3280 let {
3281 MenhirLib.EngineTypes.semv = _3;
3282 MenhirLib.EngineTypes.startp = _startpos__3_;
3283 MenhirLib.EngineTypes.endp = _endpos__3_;
3284 MenhirLib.EngineTypes.next = {
3285 MenhirLib.EngineTypes.semv = _2;
3286 MenhirLib.EngineTypes.startp = _startpos__2_;
3287 MenhirLib.EngineTypes.endp = _endpos__2_;
3288 MenhirLib.EngineTypes.next = {
3289 MenhirLib.EngineTypes.state = _menhir_s;
3290 MenhirLib.EngineTypes.semv = _1;
3291 MenhirLib.EngineTypes.startp = _startpos__1_;
3292 MenhirLib.EngineTypes.endp = _endpos__1_;
3293 MenhirLib.EngineTypes.next = _menhir_stack;
3294 };
3295 };
3296 } = _menhir_stack in
3297 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3298 let _2 : (
3299 # 113 "parser_cocci_menhir.mly"
3300 (Data.clt)
3301 # 3302 "parser_cocci_menhir.ml"
3302 ) = Obj.magic _2 in
3303 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3304 let _startpos = _startpos__1_ in
3305 let _endpos = _endpos__3_ in
3306 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3307 # 1337 "parser_cocci_menhir.mly"
3308 ( P.logic_op Ast.AndLog _1 _2 _3 )
3309 # 3310 "parser_cocci_menhir.ml"
3310 in
3311 _menhir_env.MenhirLib.EngineTypes.stack <- {
3312 MenhirLib.EngineTypes.state = _menhir_s;
3313 MenhirLib.EngineTypes.semv = Obj.repr _v;
3314 MenhirLib.EngineTypes.startp = _startpos;
3315 MenhirLib.EngineTypes.endp = _endpos;
3316 MenhirLib.EngineTypes.next = _menhir_stack;
3317 });
3318 (fun _menhir_env ->
3319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3320 let {
3321 MenhirLib.EngineTypes.semv = _3;
3322 MenhirLib.EngineTypes.startp = _startpos__3_;
3323 MenhirLib.EngineTypes.endp = _endpos__3_;
3324 MenhirLib.EngineTypes.next = {
3325 MenhirLib.EngineTypes.semv = _2;
3326 MenhirLib.EngineTypes.startp = _startpos__2_;
3327 MenhirLib.EngineTypes.endp = _endpos__2_;
3328 MenhirLib.EngineTypes.next = {
3329 MenhirLib.EngineTypes.state = _menhir_s;
3330 MenhirLib.EngineTypes.semv = _1;
3331 MenhirLib.EngineTypes.startp = _startpos__1_;
3332 MenhirLib.EngineTypes.endp = _endpos__1_;
3333 MenhirLib.EngineTypes.next = _menhir_stack;
3334 };
3335 };
3336 } = _menhir_stack in
3337 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3338 let _2 : (
3339 # 112 "parser_cocci_menhir.mly"
3340 (Data.clt)
3341 # 3342 "parser_cocci_menhir.ml"
3342 ) = Obj.magic _2 in
3343 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3344 let _startpos = _startpos__1_ in
3345 let _endpos = _endpos__3_ in
3346 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3347 # 1339 "parser_cocci_menhir.mly"
3348 ( P.logic_op Ast.OrLog _1 _2 _3 )
3349 # 3350 "parser_cocci_menhir.ml"
3350 in
3351 _menhir_env.MenhirLib.EngineTypes.stack <- {
3352 MenhirLib.EngineTypes.state = _menhir_s;
3353 MenhirLib.EngineTypes.semv = Obj.repr _v;
3354 MenhirLib.EngineTypes.startp = _startpos;
3355 MenhirLib.EngineTypes.endp = _endpos;
3356 MenhirLib.EngineTypes.next = _menhir_stack;
3357 });
3358 (fun _menhir_env ->
3359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3360 let {
3361 MenhirLib.EngineTypes.state = _menhir_s;
3362 MenhirLib.EngineTypes.semv = _1;
3363 MenhirLib.EngineTypes.startp = _startpos__1_;
3364 MenhirLib.EngineTypes.endp = _endpos__1_;
3365 MenhirLib.EngineTypes.next = _menhir_stack;
3366 } = _menhir_stack in
3367 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3368 let _startpos = _startpos__1_ in
3369 let _endpos = _endpos__1_ in
3370 let _v : 'tv_arith_expr_expr_invalid_ =
3371 # 1313 "parser_cocci_menhir.mly"
3372 ( _1 )
3373 # 3374 "parser_cocci_menhir.ml"
3374 in
3375 _menhir_env.MenhirLib.EngineTypes.stack <- {
3376 MenhirLib.EngineTypes.state = _menhir_s;
3377 MenhirLib.EngineTypes.semv = Obj.repr _v;
3378 MenhirLib.EngineTypes.startp = _startpos;
3379 MenhirLib.EngineTypes.endp = _endpos;
3380 MenhirLib.EngineTypes.next = _menhir_stack;
3381 });
3382 (fun _menhir_env ->
3383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3384 let {
3385 MenhirLib.EngineTypes.semv = _3;
3386 MenhirLib.EngineTypes.startp = _startpos__3_;
3387 MenhirLib.EngineTypes.endp = _endpos__3_;
3388 MenhirLib.EngineTypes.next = {
3389 MenhirLib.EngineTypes.semv = _2;
3390 MenhirLib.EngineTypes.startp = _startpos__2_;
3391 MenhirLib.EngineTypes.endp = _endpos__2_;
3392 MenhirLib.EngineTypes.next = {
3393 MenhirLib.EngineTypes.state = _menhir_s;
3394 MenhirLib.EngineTypes.semv = _1;
3395 MenhirLib.EngineTypes.startp = _startpos__1_;
3396 MenhirLib.EngineTypes.endp = _endpos__1_;
3397 MenhirLib.EngineTypes.next = _menhir_stack;
3398 };
3399 };
3400 } = _menhir_stack in
3401 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3402 let _2 : (
3403 # 122 "parser_cocci_menhir.mly"
3404 (Data.clt)
3405 # 3406 "parser_cocci_menhir.ml"
3406 ) = Obj.magic _2 in
3407 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3408 let _startpos = _startpos__1_ in
3409 let _endpos = _endpos__3_ in
3410 let _v : 'tv_arith_expr_expr_invalid_ =
3411 # 1315 "parser_cocci_menhir.mly"
3412 ( P.arith_op Ast.Mul _1 _2 _3 )
3413 # 3414 "parser_cocci_menhir.ml"
3414 in
3415 _menhir_env.MenhirLib.EngineTypes.stack <- {
3416 MenhirLib.EngineTypes.state = _menhir_s;
3417 MenhirLib.EngineTypes.semv = Obj.repr _v;
3418 MenhirLib.EngineTypes.startp = _startpos;
3419 MenhirLib.EngineTypes.endp = _endpos;
3420 MenhirLib.EngineTypes.next = _menhir_stack;
3421 });
3422 (fun _menhir_env ->
3423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3424 let {
3425 MenhirLib.EngineTypes.semv = _3;
3426 MenhirLib.EngineTypes.startp = _startpos__3_;
3427 MenhirLib.EngineTypes.endp = _endpos__3_;
3428 MenhirLib.EngineTypes.next = {
3429 MenhirLib.EngineTypes.semv = _2;
3430 MenhirLib.EngineTypes.startp = _startpos__2_;
3431 MenhirLib.EngineTypes.endp = _endpos__2_;
3432 MenhirLib.EngineTypes.next = {
3433 MenhirLib.EngineTypes.state = _menhir_s;
3434 MenhirLib.EngineTypes.semv = _1;
3435 MenhirLib.EngineTypes.startp = _startpos__1_;
3436 MenhirLib.EngineTypes.endp = _endpos__1_;
3437 MenhirLib.EngineTypes.next = _menhir_stack;
3438 };
3439 };
3440 } = _menhir_stack in
3441 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3442 let _2 : (
3443 # 120 "parser_cocci_menhir.mly"
3444 (Ast_cocci.arithOp * Data.clt)
3445 # 3446 "parser_cocci_menhir.ml"
3446 ) = Obj.magic _2 in
3447 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3448 let _startpos = _startpos__1_ in
3449 let _endpos = _endpos__3_ in
3450 let _v : 'tv_arith_expr_expr_invalid_ =
3451 # 1317 "parser_cocci_menhir.mly"
3452 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3453 # 3454 "parser_cocci_menhir.ml"
3454 in
3455 _menhir_env.MenhirLib.EngineTypes.stack <- {
3456 MenhirLib.EngineTypes.state = _menhir_s;
3457 MenhirLib.EngineTypes.semv = Obj.repr _v;
3458 MenhirLib.EngineTypes.startp = _startpos;
3459 MenhirLib.EngineTypes.endp = _endpos;
3460 MenhirLib.EngineTypes.next = _menhir_stack;
3461 });
3462 (fun _menhir_env ->
3463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3464 let {
3465 MenhirLib.EngineTypes.semv = _3;
3466 MenhirLib.EngineTypes.startp = _startpos__3_;
3467 MenhirLib.EngineTypes.endp = _endpos__3_;
3468 MenhirLib.EngineTypes.next = {
3469 MenhirLib.EngineTypes.semv = _2;
3470 MenhirLib.EngineTypes.startp = _startpos__2_;
3471 MenhirLib.EngineTypes.endp = _endpos__2_;
3472 MenhirLib.EngineTypes.next = {
3473 MenhirLib.EngineTypes.state = _menhir_s;
3474 MenhirLib.EngineTypes.semv = _1;
3475 MenhirLib.EngineTypes.startp = _startpos__1_;
3476 MenhirLib.EngineTypes.endp = _endpos__1_;
3477 MenhirLib.EngineTypes.next = _menhir_stack;
3478 };
3479 };
3480 } = _menhir_stack in
3481 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3482 let _2 : (
3483 # 121 "parser_cocci_menhir.mly"
3484 (Data.clt)
3485 # 3486 "parser_cocci_menhir.ml"
3486 ) = Obj.magic _2 in
3487 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3488 let _startpos = _startpos__1_ in
3489 let _endpos = _endpos__3_ in
3490 let _v : 'tv_arith_expr_expr_invalid_ =
3491 # 1319 "parser_cocci_menhir.mly"
3492 ( P.arith_op Ast.Plus _1 _2 _3 )
3493 # 3494 "parser_cocci_menhir.ml"
3494 in
3495 _menhir_env.MenhirLib.EngineTypes.stack <- {
3496 MenhirLib.EngineTypes.state = _menhir_s;
3497 MenhirLib.EngineTypes.semv = Obj.repr _v;
3498 MenhirLib.EngineTypes.startp = _startpos;
3499 MenhirLib.EngineTypes.endp = _endpos;
3500 MenhirLib.EngineTypes.next = _menhir_stack;
3501 });
3502 (fun _menhir_env ->
3503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3504 let {
3505 MenhirLib.EngineTypes.semv = _3;
3506 MenhirLib.EngineTypes.startp = _startpos__3_;
3507 MenhirLib.EngineTypes.endp = _endpos__3_;
3508 MenhirLib.EngineTypes.next = {
3509 MenhirLib.EngineTypes.semv = _2;
3510 MenhirLib.EngineTypes.startp = _startpos__2_;
3511 MenhirLib.EngineTypes.endp = _endpos__2_;
3512 MenhirLib.EngineTypes.next = {
3513 MenhirLib.EngineTypes.state = _menhir_s;
3514 MenhirLib.EngineTypes.semv = _1;
3515 MenhirLib.EngineTypes.startp = _startpos__1_;
3516 MenhirLib.EngineTypes.endp = _endpos__1_;
3517 MenhirLib.EngineTypes.next = _menhir_stack;
3518 };
3519 };
3520 } = _menhir_stack in
3521 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3522 let _2 : (
3523 # 121 "parser_cocci_menhir.mly"
3524 (Data.clt)
3525 # 3526 "parser_cocci_menhir.ml"
3526 ) = Obj.magic _2 in
3527 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3528 let _startpos = _startpos__1_ in
3529 let _endpos = _endpos__3_ in
3530 let _v : 'tv_arith_expr_expr_invalid_ =
3531 # 1321 "parser_cocci_menhir.mly"
3532 ( P.arith_op Ast.Minus _1 _2 _3 )
3533 # 3534 "parser_cocci_menhir.ml"
3534 in
3535 _menhir_env.MenhirLib.EngineTypes.stack <- {
3536 MenhirLib.EngineTypes.state = _menhir_s;
3537 MenhirLib.EngineTypes.semv = Obj.repr _v;
3538 MenhirLib.EngineTypes.startp = _startpos;
3539 MenhirLib.EngineTypes.endp = _endpos;
3540 MenhirLib.EngineTypes.next = _menhir_stack;
3541 });
3542 (fun _menhir_env ->
3543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3544 let {
3545 MenhirLib.EngineTypes.semv = _3;
3546 MenhirLib.EngineTypes.startp = _startpos__3_;
3547 MenhirLib.EngineTypes.endp = _endpos__3_;
3548 MenhirLib.EngineTypes.next = {
3549 MenhirLib.EngineTypes.semv = _2;
3550 MenhirLib.EngineTypes.startp = _startpos__2_;
3551 MenhirLib.EngineTypes.endp = _endpos__2_;
3552 MenhirLib.EngineTypes.next = {
3553 MenhirLib.EngineTypes.state = _menhir_s;
3554 MenhirLib.EngineTypes.semv = _1;
3555 MenhirLib.EngineTypes.startp = _startpos__1_;
3556 MenhirLib.EngineTypes.endp = _endpos__1_;
3557 MenhirLib.EngineTypes.next = _menhir_stack;
3558 };
3559 };
3560 } = _menhir_stack in
3561 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3562 let _2 : (
3563 # 119 "parser_cocci_menhir.mly"
3564 (Ast_cocci.arithOp * Data.clt)
3565 # 3566 "parser_cocci_menhir.ml"
3566 ) = Obj.magic _2 in
3567 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3568 let _startpos = _startpos__1_ in
3569 let _endpos = _endpos__3_ in
3570 let _v : 'tv_arith_expr_expr_invalid_ =
3571 # 1323 "parser_cocci_menhir.mly"
3572 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3573 # 3574 "parser_cocci_menhir.ml"
3574 in
3575 _menhir_env.MenhirLib.EngineTypes.stack <- {
3576 MenhirLib.EngineTypes.state = _menhir_s;
3577 MenhirLib.EngineTypes.semv = Obj.repr _v;
3578 MenhirLib.EngineTypes.startp = _startpos;
3579 MenhirLib.EngineTypes.endp = _endpos;
3580 MenhirLib.EngineTypes.next = _menhir_stack;
3581 });
3582 (fun _menhir_env ->
3583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3584 let {
3585 MenhirLib.EngineTypes.semv = _3;
3586 MenhirLib.EngineTypes.startp = _startpos__3_;
3587 MenhirLib.EngineTypes.endp = _endpos__3_;
3588 MenhirLib.EngineTypes.next = {
3589 MenhirLib.EngineTypes.semv = _2;
3590 MenhirLib.EngineTypes.startp = _startpos__2_;
3591 MenhirLib.EngineTypes.endp = _endpos__2_;
3592 MenhirLib.EngineTypes.next = {
3593 MenhirLib.EngineTypes.state = _menhir_s;
3594 MenhirLib.EngineTypes.semv = _1;
3595 MenhirLib.EngineTypes.startp = _startpos__1_;
3596 MenhirLib.EngineTypes.endp = _endpos__1_;
3597 MenhirLib.EngineTypes.next = _menhir_stack;
3598 };
3599 };
3600 } = _menhir_stack in
3601 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3602 let _2 : (
3603 # 118 "parser_cocci_menhir.mly"
3604 (Ast_cocci.logicalOp * Data.clt)
3605 # 3606 "parser_cocci_menhir.ml"
3606 ) = Obj.magic _2 in
3607 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3608 let _startpos = _startpos__1_ in
3609 let _endpos = _endpos__3_ in
3610 let _v : 'tv_arith_expr_expr_invalid_ =
3611 # 1325 "parser_cocci_menhir.mly"
3612 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3613 # 3614 "parser_cocci_menhir.ml"
3614 in
3615 _menhir_env.MenhirLib.EngineTypes.stack <- {
3616 MenhirLib.EngineTypes.state = _menhir_s;
3617 MenhirLib.EngineTypes.semv = Obj.repr _v;
3618 MenhirLib.EngineTypes.startp = _startpos;
3619 MenhirLib.EngineTypes.endp = _endpos;
3620 MenhirLib.EngineTypes.next = _menhir_stack;
3621 });
3622 (fun _menhir_env ->
3623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3624 let {
3625 MenhirLib.EngineTypes.semv = _3;
3626 MenhirLib.EngineTypes.startp = _startpos__3_;
3627 MenhirLib.EngineTypes.endp = _endpos__3_;
3628 MenhirLib.EngineTypes.next = {
3629 MenhirLib.EngineTypes.semv = _2;
3630 MenhirLib.EngineTypes.startp = _startpos__2_;
3631 MenhirLib.EngineTypes.endp = _endpos__2_;
3632 MenhirLib.EngineTypes.next = {
3633 MenhirLib.EngineTypes.state = _menhir_s;
3634 MenhirLib.EngineTypes.semv = _1;
3635 MenhirLib.EngineTypes.startp = _startpos__1_;
3636 MenhirLib.EngineTypes.endp = _endpos__1_;
3637 MenhirLib.EngineTypes.next = _menhir_stack;
3638 };
3639 };
3640 } = _menhir_stack in
3641 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3642 let _2 : (
3643 # 117 "parser_cocci_menhir.mly"
3644 (Data.clt)
3645 # 3646 "parser_cocci_menhir.ml"
3646 ) = Obj.magic _2 in
3647 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3648 let _startpos = _startpos__1_ in
3649 let _endpos = _endpos__3_ in
3650 let _v : 'tv_arith_expr_expr_invalid_ =
3651 # 1327 "parser_cocci_menhir.mly"
3652 ( P.logic_op Ast.Eq _1 _2 _3 )
3653 # 3654 "parser_cocci_menhir.ml"
3654 in
3655 _menhir_env.MenhirLib.EngineTypes.stack <- {
3656 MenhirLib.EngineTypes.state = _menhir_s;
3657 MenhirLib.EngineTypes.semv = Obj.repr _v;
3658 MenhirLib.EngineTypes.startp = _startpos;
3659 MenhirLib.EngineTypes.endp = _endpos;
3660 MenhirLib.EngineTypes.next = _menhir_stack;
3661 });
3662 (fun _menhir_env ->
3663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3664 let {
3665 MenhirLib.EngineTypes.semv = _3;
3666 MenhirLib.EngineTypes.startp = _startpos__3_;
3667 MenhirLib.EngineTypes.endp = _endpos__3_;
3668 MenhirLib.EngineTypes.next = {
3669 MenhirLib.EngineTypes.semv = _2;
3670 MenhirLib.EngineTypes.startp = _startpos__2_;
3671 MenhirLib.EngineTypes.endp = _endpos__2_;
3672 MenhirLib.EngineTypes.next = {
3673 MenhirLib.EngineTypes.state = _menhir_s;
3674 MenhirLib.EngineTypes.semv = _1;
3675 MenhirLib.EngineTypes.startp = _startpos__1_;
3676 MenhirLib.EngineTypes.endp = _endpos__1_;
3677 MenhirLib.EngineTypes.next = _menhir_stack;
3678 };
3679 };
3680 } = _menhir_stack in
3681 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3682 let _2 : (
3683 # 117 "parser_cocci_menhir.mly"
3684 (Data.clt)
3685 # 3686 "parser_cocci_menhir.ml"
3686 ) = Obj.magic _2 in
3687 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3688 let _startpos = _startpos__1_ in
3689 let _endpos = _endpos__3_ in
3690 let _v : 'tv_arith_expr_expr_invalid_ =
3691 # 1329 "parser_cocci_menhir.mly"
3692 ( P.logic_op Ast.NotEq _1 _2 _3 )
3693 # 3694 "parser_cocci_menhir.ml"
3694 in
3695 _menhir_env.MenhirLib.EngineTypes.stack <- {
3696 MenhirLib.EngineTypes.state = _menhir_s;
3697 MenhirLib.EngineTypes.semv = Obj.repr _v;
3698 MenhirLib.EngineTypes.startp = _startpos;
3699 MenhirLib.EngineTypes.endp = _endpos;
3700 MenhirLib.EngineTypes.next = _menhir_stack;
3701 });
3702 (fun _menhir_env ->
3703 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3704 let {
3705 MenhirLib.EngineTypes.semv = _3;
3706 MenhirLib.EngineTypes.startp = _startpos__3_;
3707 MenhirLib.EngineTypes.endp = _endpos__3_;
3708 MenhirLib.EngineTypes.next = {
3709 MenhirLib.EngineTypes.semv = _2;
3710 MenhirLib.EngineTypes.startp = _startpos__2_;
3711 MenhirLib.EngineTypes.endp = _endpos__2_;
3712 MenhirLib.EngineTypes.next = {
3713 MenhirLib.EngineTypes.state = _menhir_s;
3714 MenhirLib.EngineTypes.semv = _1;
3715 MenhirLib.EngineTypes.startp = _startpos__1_;
3716 MenhirLib.EngineTypes.endp = _endpos__1_;
3717 MenhirLib.EngineTypes.next = _menhir_stack;
3718 };
3719 };
3720 } = _menhir_stack in
3721 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3722 let _2 : (
3723 # 116 "parser_cocci_menhir.mly"
3724 (Data.clt)
3725 # 3726 "parser_cocci_menhir.ml"
3726 ) = Obj.magic _2 in
3727 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3728 let _startpos = _startpos__1_ in
3729 let _endpos = _endpos__3_ in
3730 let _v : 'tv_arith_expr_expr_invalid_ =
3731 # 1331 "parser_cocci_menhir.mly"
3732 ( P.arith_op Ast.And _1 _2 _3 )
3733 # 3734 "parser_cocci_menhir.ml"
3734 in
3735 _menhir_env.MenhirLib.EngineTypes.stack <- {
3736 MenhirLib.EngineTypes.state = _menhir_s;
3737 MenhirLib.EngineTypes.semv = Obj.repr _v;
3738 MenhirLib.EngineTypes.startp = _startpos;
3739 MenhirLib.EngineTypes.endp = _endpos;
3740 MenhirLib.EngineTypes.next = _menhir_stack;
3741 });
3742 (fun _menhir_env ->
3743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3744 let {
3745 MenhirLib.EngineTypes.semv = _3;
3746 MenhirLib.EngineTypes.startp = _startpos__3_;
3747 MenhirLib.EngineTypes.endp = _endpos__3_;
3748 MenhirLib.EngineTypes.next = {
3749 MenhirLib.EngineTypes.semv = _2;
3750 MenhirLib.EngineTypes.startp = _startpos__2_;
3751 MenhirLib.EngineTypes.endp = _endpos__2_;
3752 MenhirLib.EngineTypes.next = {
3753 MenhirLib.EngineTypes.state = _menhir_s;
3754 MenhirLib.EngineTypes.semv = _1;
3755 MenhirLib.EngineTypes.startp = _startpos__1_;
3756 MenhirLib.EngineTypes.endp = _endpos__1_;
3757 MenhirLib.EngineTypes.next = _menhir_stack;
3758 };
3759 };
3760 } = _menhir_stack in
3761 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3762 let _2 : (
3763 # 114 "parser_cocci_menhir.mly"
3764 (Data.clt)
3765 # 3766 "parser_cocci_menhir.ml"
3766 ) = Obj.magic _2 in
3767 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3768 let _startpos = _startpos__1_ in
3769 let _endpos = _endpos__3_ in
3770 let _v : 'tv_arith_expr_expr_invalid_ =
3771 # 1333 "parser_cocci_menhir.mly"
3772 ( P.arith_op Ast.Or _1 _2 _3 )
3773 # 3774 "parser_cocci_menhir.ml"
3774 in
3775 _menhir_env.MenhirLib.EngineTypes.stack <- {
3776 MenhirLib.EngineTypes.state = _menhir_s;
3777 MenhirLib.EngineTypes.semv = Obj.repr _v;
3778 MenhirLib.EngineTypes.startp = _startpos;
3779 MenhirLib.EngineTypes.endp = _endpos;
3780 MenhirLib.EngineTypes.next = _menhir_stack;
3781 });
3782 (fun _menhir_env ->
3783 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3784 let {
3785 MenhirLib.EngineTypes.semv = _3;
3786 MenhirLib.EngineTypes.startp = _startpos__3_;
3787 MenhirLib.EngineTypes.endp = _endpos__3_;
3788 MenhirLib.EngineTypes.next = {
3789 MenhirLib.EngineTypes.semv = _2;
3790 MenhirLib.EngineTypes.startp = _startpos__2_;
3791 MenhirLib.EngineTypes.endp = _endpos__2_;
3792 MenhirLib.EngineTypes.next = {
3793 MenhirLib.EngineTypes.state = _menhir_s;
3794 MenhirLib.EngineTypes.semv = _1;
3795 MenhirLib.EngineTypes.startp = _startpos__1_;
3796 MenhirLib.EngineTypes.endp = _endpos__1_;
3797 MenhirLib.EngineTypes.next = _menhir_stack;
3798 };
3799 };
3800 } = _menhir_stack in
3801 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3802 let _2 : (
3803 # 115 "parser_cocci_menhir.mly"
3804 (Data.clt)
3805 # 3806 "parser_cocci_menhir.ml"
3806 ) = Obj.magic _2 in
3807 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3808 let _startpos = _startpos__1_ in
3809 let _endpos = _endpos__3_ in
3810 let _v : 'tv_arith_expr_expr_invalid_ =
3811 # 1335 "parser_cocci_menhir.mly"
3812 ( P.arith_op Ast.Xor _1 _2 _3 )
3813 # 3814 "parser_cocci_menhir.ml"
3814 in
3815 _menhir_env.MenhirLib.EngineTypes.stack <- {
3816 MenhirLib.EngineTypes.state = _menhir_s;
3817 MenhirLib.EngineTypes.semv = Obj.repr _v;
3818 MenhirLib.EngineTypes.startp = _startpos;
3819 MenhirLib.EngineTypes.endp = _endpos;
3820 MenhirLib.EngineTypes.next = _menhir_stack;
3821 });
3822 (fun _menhir_env ->
3823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3824 let {
3825 MenhirLib.EngineTypes.semv = _3;
3826 MenhirLib.EngineTypes.startp = _startpos__3_;
3827 MenhirLib.EngineTypes.endp = _endpos__3_;
3828 MenhirLib.EngineTypes.next = {
3829 MenhirLib.EngineTypes.semv = _2;
3830 MenhirLib.EngineTypes.startp = _startpos__2_;
3831 MenhirLib.EngineTypes.endp = _endpos__2_;
3832 MenhirLib.EngineTypes.next = {
3833 MenhirLib.EngineTypes.state = _menhir_s;
3834 MenhirLib.EngineTypes.semv = _1;
3835 MenhirLib.EngineTypes.startp = _startpos__1_;
3836 MenhirLib.EngineTypes.endp = _endpos__1_;
3837 MenhirLib.EngineTypes.next = _menhir_stack;
3838 };
3839 };
3840 } = _menhir_stack in
3841 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3842 let _2 : (
3843 # 113 "parser_cocci_menhir.mly"
3844 (Data.clt)
3845 # 3846 "parser_cocci_menhir.ml"
3846 ) = Obj.magic _2 in
3847 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3848 let _startpos = _startpos__1_ in
3849 let _endpos = _endpos__3_ in
3850 let _v : 'tv_arith_expr_expr_invalid_ =
3851 # 1337 "parser_cocci_menhir.mly"
3852 ( P.logic_op Ast.AndLog _1 _2 _3 )
3853 # 3854 "parser_cocci_menhir.ml"
3854 in
3855 _menhir_env.MenhirLib.EngineTypes.stack <- {
3856 MenhirLib.EngineTypes.state = _menhir_s;
3857 MenhirLib.EngineTypes.semv = Obj.repr _v;
3858 MenhirLib.EngineTypes.startp = _startpos;
3859 MenhirLib.EngineTypes.endp = _endpos;
3860 MenhirLib.EngineTypes.next = _menhir_stack;
3861 });
3862 (fun _menhir_env ->
3863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3864 let {
3865 MenhirLib.EngineTypes.semv = _3;
3866 MenhirLib.EngineTypes.startp = _startpos__3_;
3867 MenhirLib.EngineTypes.endp = _endpos__3_;
3868 MenhirLib.EngineTypes.next = {
3869 MenhirLib.EngineTypes.semv = _2;
3870 MenhirLib.EngineTypes.startp = _startpos__2_;
3871 MenhirLib.EngineTypes.endp = _endpos__2_;
3872 MenhirLib.EngineTypes.next = {
3873 MenhirLib.EngineTypes.state = _menhir_s;
3874 MenhirLib.EngineTypes.semv = _1;
3875 MenhirLib.EngineTypes.startp = _startpos__1_;
3876 MenhirLib.EngineTypes.endp = _endpos__1_;
3877 MenhirLib.EngineTypes.next = _menhir_stack;
3878 };
3879 };
3880 } = _menhir_stack in
3881 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3882 let _2 : (
3883 # 112 "parser_cocci_menhir.mly"
3884 (Data.clt)
3885 # 3886 "parser_cocci_menhir.ml"
3886 ) = Obj.magic _2 in
3887 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3888 let _startpos = _startpos__1_ in
3889 let _endpos = _endpos__3_ in
3890 let _v : 'tv_arith_expr_expr_invalid_ =
3891 # 1339 "parser_cocci_menhir.mly"
3892 ( P.logic_op Ast.OrLog _1 _2 _3 )
3893 # 3894 "parser_cocci_menhir.ml"
3894 in
3895 _menhir_env.MenhirLib.EngineTypes.stack <- {
3896 MenhirLib.EngineTypes.state = _menhir_s;
3897 MenhirLib.EngineTypes.semv = Obj.repr _v;
3898 MenhirLib.EngineTypes.startp = _startpos;
3899 MenhirLib.EngineTypes.endp = _endpos;
3900 MenhirLib.EngineTypes.next = _menhir_stack;
3901 });
3902 (fun _menhir_env ->
3903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3904 let {
3905 MenhirLib.EngineTypes.state = _menhir_s;
3906 MenhirLib.EngineTypes.startp = _startpos__1_;
3907 MenhirLib.EngineTypes.endp = _endpos__1_;
3908 MenhirLib.EngineTypes.next = _menhir_stack;
3909 } = _menhir_stack in
3910 let _startpos = _startpos__1_ in
3911 let _endpos = _endpos__1_ in
3912 let _v : 'tv_arity =
3913 # 519 "parser_cocci_menhir.mly"
3914 ( Ast.UNIQUE )
3915 # 3916 "parser_cocci_menhir.ml"
3916 in
3917 _menhir_env.MenhirLib.EngineTypes.stack <- {
3918 MenhirLib.EngineTypes.state = _menhir_s;
3919 MenhirLib.EngineTypes.semv = Obj.repr _v;
3920 MenhirLib.EngineTypes.startp = _startpos;
3921 MenhirLib.EngineTypes.endp = _endpos;
3922 MenhirLib.EngineTypes.next = _menhir_stack;
3923 });
3924 (fun _menhir_env ->
3925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3926 let {
3927 MenhirLib.EngineTypes.state = _menhir_s;
3928 MenhirLib.EngineTypes.startp = _startpos__1_;
3929 MenhirLib.EngineTypes.endp = _endpos__1_;
3930 MenhirLib.EngineTypes.next = _menhir_stack;
3931 } = _menhir_stack in
3932 let _startpos = _startpos__1_ in
3933 let _endpos = _endpos__1_ in
3934 let _v : 'tv_arity =
3935 # 520 "parser_cocci_menhir.mly"
3936 ( Ast.OPT )
3937 # 3938 "parser_cocci_menhir.ml"
3938 in
3939 _menhir_env.MenhirLib.EngineTypes.stack <- {
3940 MenhirLib.EngineTypes.state = _menhir_s;
3941 MenhirLib.EngineTypes.semv = Obj.repr _v;
3942 MenhirLib.EngineTypes.startp = _startpos;
3943 MenhirLib.EngineTypes.endp = _endpos;
3944 MenhirLib.EngineTypes.next = _menhir_stack;
3945 });
3946 (fun _menhir_env ->
3947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3948 let {
3949 MenhirLib.EngineTypes.state = _menhir_s;
3950 MenhirLib.EngineTypes.startp = _startpos__1_;
3951 MenhirLib.EngineTypes.endp = _endpos__1_;
3952 MenhirLib.EngineTypes.next = _menhir_stack;
3953 } = _menhir_stack in
3954 let _startpos = _startpos__1_ in
3955 let _endpos = _endpos__1_ in
3956 let _v : 'tv_arity =
3957 # 521 "parser_cocci_menhir.mly"
3958 ( Ast.MULTI )
3959 # 3960 "parser_cocci_menhir.ml"
3960 in
3961 _menhir_env.MenhirLib.EngineTypes.stack <- {
3962 MenhirLib.EngineTypes.state = _menhir_s;
3963 MenhirLib.EngineTypes.semv = Obj.repr _v;
3964 MenhirLib.EngineTypes.startp = _startpos;
3965 MenhirLib.EngineTypes.endp = _endpos;
3966 MenhirLib.EngineTypes.next = _menhir_stack;
3967 });
3968 (fun _menhir_env ->
3969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3970 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
3971 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
3972 let _endpos = _startpos in
3973 let _v : 'tv_arity =
3974 # 522 "parser_cocci_menhir.mly"
3975 ( Ast.NONE )
3976 # 3977 "parser_cocci_menhir.ml"
3977 in
3978 _menhir_env.MenhirLib.EngineTypes.stack <- {
3979 MenhirLib.EngineTypes.state = _menhir_s;
3980 MenhirLib.EngineTypes.semv = Obj.repr _v;
3981 MenhirLib.EngineTypes.startp = _startpos;
3982 MenhirLib.EngineTypes.endp = _endpos;
3983 MenhirLib.EngineTypes.next = _menhir_stack;
3984 });
3985 (fun _menhir_env ->
3986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3987 let {
3988 MenhirLib.EngineTypes.semv = r;
3989 MenhirLib.EngineTypes.startp = _startpos_r_;
3990 MenhirLib.EngineTypes.endp = _endpos_r_;
3991 MenhirLib.EngineTypes.next = {
3992 MenhirLib.EngineTypes.semv = i;
3993 MenhirLib.EngineTypes.startp = _startpos_i_;
3994 MenhirLib.EngineTypes.endp = _endpos_i_;
3995 MenhirLib.EngineTypes.next = {
3996 MenhirLib.EngineTypes.state = _menhir_s;
3997 MenhirLib.EngineTypes.semv = l;
3998 MenhirLib.EngineTypes.startp = _startpos_l_;
3999 MenhirLib.EngineTypes.endp = _endpos_l_;
4000 MenhirLib.EngineTypes.next = _menhir_stack;
4001 };
4002 };
4003 } = _menhir_stack in
4004 let r : (
4005 # 125 "parser_cocci_menhir.mly"
4006 (Data.clt)
4007 # 4008 "parser_cocci_menhir.ml"
4008 ) = Obj.magic r in
4009 let i : 'tv_option_eexpr_ = Obj.magic i in
4010 let l : (
4011 # 125 "parser_cocci_menhir.mly"
4012 (Data.clt)
4013 # 4014 "parser_cocci_menhir.ml"
4014 ) = Obj.magic l in
4015 let _startpos = _startpos_l_ in
4016 let _endpos = _endpos_r_ in
4017 let _v : 'tv_array_dec =
4018 # 1120 "parser_cocci_menhir.mly"
4019 ( (l,i,r) )
4020 # 4021 "parser_cocci_menhir.ml"
4021 in
4022 _menhir_env.MenhirLib.EngineTypes.stack <- {
4023 MenhirLib.EngineTypes.state = _menhir_s;
4024 MenhirLib.EngineTypes.semv = Obj.repr _v;
4025 MenhirLib.EngineTypes.startp = _startpos;
4026 MenhirLib.EngineTypes.endp = _endpos;
4027 MenhirLib.EngineTypes.next = _menhir_stack;
4028 });
4029 (fun _menhir_env ->
4030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4031 let {
4032 MenhirLib.EngineTypes.state = _menhir_s;
4033 MenhirLib.EngineTypes.semv = _1;
4034 MenhirLib.EngineTypes.startp = _startpos__1_;
4035 MenhirLib.EngineTypes.endp = _endpos__1_;
4036 MenhirLib.EngineTypes.next = _menhir_stack;
4037 } = _menhir_stack in
4038 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4039 let _startpos = _startpos__1_ in
4040 let _endpos = _endpos__1_ in
4041 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4042 # 1285 "parser_cocci_menhir.mly"
4043 ( _1 )
4044 # 4045 "parser_cocci_menhir.ml"
4045 in
4046 _menhir_env.MenhirLib.EngineTypes.stack <- {
4047 MenhirLib.EngineTypes.state = _menhir_s;
4048 MenhirLib.EngineTypes.semv = Obj.repr _v;
4049 MenhirLib.EngineTypes.startp = _startpos;
4050 MenhirLib.EngineTypes.endp = _endpos;
4051 MenhirLib.EngineTypes.next = _menhir_stack;
4052 });
4053 (fun _menhir_env ->
4054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4055 let {
4056 MenhirLib.EngineTypes.semv = _3;
4057 MenhirLib.EngineTypes.startp = _startpos__3_;
4058 MenhirLib.EngineTypes.endp = _endpos__3_;
4059 MenhirLib.EngineTypes.next = {
4060 MenhirLib.EngineTypes.semv = _2;
4061 MenhirLib.EngineTypes.startp = _startpos__2_;
4062 MenhirLib.EngineTypes.endp = _endpos__2_;
4063 MenhirLib.EngineTypes.next = {
4064 MenhirLib.EngineTypes.state = _menhir_s;
4065 MenhirLib.EngineTypes.semv = _1;
4066 MenhirLib.EngineTypes.startp = _startpos__1_;
4067 MenhirLib.EngineTypes.endp = _endpos__1_;
4068 MenhirLib.EngineTypes.next = _menhir_stack;
4069 };
4070 };
4071 } = _menhir_stack in
4072 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4073 let _2 : (
4074 # 131 "parser_cocci_menhir.mly"
4075 (Ast_cocci.assignOp * Data.clt)
4076 # 4077 "parser_cocci_menhir.ml"
4077 ) = Obj.magic _2 in
4078 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4079 let _startpos = _startpos__1_ in
4080 let _endpos = _endpos__3_ in
4081 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4082 # 1287 "parser_cocci_menhir.mly"
4083 ( let (op,clt) = _2 in
4084 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4085 Ast0.set_arg_exp _3,false)) )
4086 # 4087 "parser_cocci_menhir.ml"
4087 in
4088 _menhir_env.MenhirLib.EngineTypes.stack <- {
4089 MenhirLib.EngineTypes.state = _menhir_s;
4090 MenhirLib.EngineTypes.semv = Obj.repr _v;
4091 MenhirLib.EngineTypes.startp = _startpos;
4092 MenhirLib.EngineTypes.endp = _endpos;
4093 MenhirLib.EngineTypes.next = _menhir_stack;
4094 });
4095 (fun _menhir_env ->
4096 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4097 let {
4098 MenhirLib.EngineTypes.semv = _3;
4099 MenhirLib.EngineTypes.startp = _startpos__3_;
4100 MenhirLib.EngineTypes.endp = _endpos__3_;
4101 MenhirLib.EngineTypes.next = {
4102 MenhirLib.EngineTypes.semv = _2;
4103 MenhirLib.EngineTypes.startp = _startpos__2_;
4104 MenhirLib.EngineTypes.endp = _endpos__2_;
4105 MenhirLib.EngineTypes.next = {
4106 MenhirLib.EngineTypes.state = _menhir_s;
4107 MenhirLib.EngineTypes.semv = _1;
4108 MenhirLib.EngineTypes.startp = _startpos__1_;
4109 MenhirLib.EngineTypes.endp = _endpos__1_;
4110 MenhirLib.EngineTypes.next = _menhir_stack;
4111 };
4112 };
4113 } = _menhir_stack in
4114 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4115 let _2 : (
4116 # 130 "parser_cocci_menhir.mly"
4117 (Data.clt)
4118 # 4119 "parser_cocci_menhir.ml"
4119 ) = Obj.magic _2 in
4120 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4121 let _startpos = _startpos__1_ in
4122 let _endpos = _endpos__3_ in
4123 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4124 # 1291 "parser_cocci_menhir.mly"
4125 ( Ast0.wrap
4126 (Ast0.Assignment
4127 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4128 # 4129 "parser_cocci_menhir.ml"
4129 in
4130 _menhir_env.MenhirLib.EngineTypes.stack <- {
4131 MenhirLib.EngineTypes.state = _menhir_s;
4132 MenhirLib.EngineTypes.semv = Obj.repr _v;
4133 MenhirLib.EngineTypes.startp = _startpos;
4134 MenhirLib.EngineTypes.endp = _endpos;
4135 MenhirLib.EngineTypes.next = _menhir_stack;
4136 });
4137 (fun _menhir_env ->
4138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4139 let {
4140 MenhirLib.EngineTypes.state = _menhir_s;
4141 MenhirLib.EngineTypes.semv = _1;
4142 MenhirLib.EngineTypes.startp = _startpos__1_;
4143 MenhirLib.EngineTypes.endp = _endpos__1_;
4144 MenhirLib.EngineTypes.next = _menhir_stack;
4145 } = _menhir_stack in
4146 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4147 let _startpos = _startpos__1_ in
4148 let _endpos = _endpos__1_ in
4149 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4150 # 1285 "parser_cocci_menhir.mly"
4151 ( _1 )
4152 # 4153 "parser_cocci_menhir.ml"
4153 in
4154 _menhir_env.MenhirLib.EngineTypes.stack <- {
4155 MenhirLib.EngineTypes.state = _menhir_s;
4156 MenhirLib.EngineTypes.semv = Obj.repr _v;
4157 MenhirLib.EngineTypes.startp = _startpos;
4158 MenhirLib.EngineTypes.endp = _endpos;
4159 MenhirLib.EngineTypes.next = _menhir_stack;
4160 });
4161 (fun _menhir_env ->
4162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4163 let {
4164 MenhirLib.EngineTypes.semv = _3;
4165 MenhirLib.EngineTypes.startp = _startpos__3_;
4166 MenhirLib.EngineTypes.endp = _endpos__3_;
4167 MenhirLib.EngineTypes.next = {
4168 MenhirLib.EngineTypes.semv = _2;
4169 MenhirLib.EngineTypes.startp = _startpos__2_;
4170 MenhirLib.EngineTypes.endp = _endpos__2_;
4171 MenhirLib.EngineTypes.next = {
4172 MenhirLib.EngineTypes.state = _menhir_s;
4173 MenhirLib.EngineTypes.semv = _1;
4174 MenhirLib.EngineTypes.startp = _startpos__1_;
4175 MenhirLib.EngineTypes.endp = _endpos__1_;
4176 MenhirLib.EngineTypes.next = _menhir_stack;
4177 };
4178 };
4179 } = _menhir_stack in
4180 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4181 let _2 : (
4182 # 131 "parser_cocci_menhir.mly"
4183 (Ast_cocci.assignOp * Data.clt)
4184 # 4185 "parser_cocci_menhir.ml"
4185 ) = Obj.magic _2 in
4186 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4187 let _startpos = _startpos__1_ in
4188 let _endpos = _endpos__3_ in
4189 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4190 # 1287 "parser_cocci_menhir.mly"
4191 ( let (op,clt) = _2 in
4192 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4193 Ast0.set_arg_exp _3,false)) )
4194 # 4195 "parser_cocci_menhir.ml"
4195 in
4196 _menhir_env.MenhirLib.EngineTypes.stack <- {
4197 MenhirLib.EngineTypes.state = _menhir_s;
4198 MenhirLib.EngineTypes.semv = Obj.repr _v;
4199 MenhirLib.EngineTypes.startp = _startpos;
4200 MenhirLib.EngineTypes.endp = _endpos;
4201 MenhirLib.EngineTypes.next = _menhir_stack;
4202 });
4203 (fun _menhir_env ->
4204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4205 let {
4206 MenhirLib.EngineTypes.semv = _3;
4207 MenhirLib.EngineTypes.startp = _startpos__3_;
4208 MenhirLib.EngineTypes.endp = _endpos__3_;
4209 MenhirLib.EngineTypes.next = {
4210 MenhirLib.EngineTypes.semv = _2;
4211 MenhirLib.EngineTypes.startp = _startpos__2_;
4212 MenhirLib.EngineTypes.endp = _endpos__2_;
4213 MenhirLib.EngineTypes.next = {
4214 MenhirLib.EngineTypes.state = _menhir_s;
4215 MenhirLib.EngineTypes.semv = _1;
4216 MenhirLib.EngineTypes.startp = _startpos__1_;
4217 MenhirLib.EngineTypes.endp = _endpos__1_;
4218 MenhirLib.EngineTypes.next = _menhir_stack;
4219 };
4220 };
4221 } = _menhir_stack in
4222 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4223 let _2 : (
4224 # 130 "parser_cocci_menhir.mly"
4225 (Data.clt)
4226 # 4227 "parser_cocci_menhir.ml"
4227 ) = Obj.magic _2 in
4228 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4229 let _startpos = _startpos__1_ in
4230 let _endpos = _endpos__3_ in
4231 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4232 # 1291 "parser_cocci_menhir.mly"
4233 ( Ast0.wrap
4234 (Ast0.Assignment
4235 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4236 # 4237 "parser_cocci_menhir.ml"
4237 in
4238 _menhir_env.MenhirLib.EngineTypes.stack <- {
4239 MenhirLib.EngineTypes.state = _menhir_s;
4240 MenhirLib.EngineTypes.semv = Obj.repr _v;
4241 MenhirLib.EngineTypes.startp = _startpos;
4242 MenhirLib.EngineTypes.endp = _endpos;
4243 MenhirLib.EngineTypes.next = _menhir_stack;
4244 });
4245 (fun _menhir_env ->
4246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4247 let {
4248 MenhirLib.EngineTypes.state = _menhir_s;
4249 MenhirLib.EngineTypes.semv = _1;
4250 MenhirLib.EngineTypes.startp = _startpos__1_;
4251 MenhirLib.EngineTypes.endp = _endpos__1_;
4252 MenhirLib.EngineTypes.next = _menhir_stack;
4253 } = _menhir_stack in
4254 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
4255 let _startpos = _startpos__1_ in
4256 let _endpos = _endpos__1_ in
4257 let _v : 'tv_assign_expr_expr_invalid_ =
4258 # 1285 "parser_cocci_menhir.mly"
4259 ( _1 )
4260 # 4261 "parser_cocci_menhir.ml"
4261 in
4262 _menhir_env.MenhirLib.EngineTypes.stack <- {
4263 MenhirLib.EngineTypes.state = _menhir_s;
4264 MenhirLib.EngineTypes.semv = Obj.repr _v;
4265 MenhirLib.EngineTypes.startp = _startpos;
4266 MenhirLib.EngineTypes.endp = _endpos;
4267 MenhirLib.EngineTypes.next = _menhir_stack;
4268 });
4269 (fun _menhir_env ->
4270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4271 let {
4272 MenhirLib.EngineTypes.semv = _3;
4273 MenhirLib.EngineTypes.startp = _startpos__3_;
4274 MenhirLib.EngineTypes.endp = _endpos__3_;
4275 MenhirLib.EngineTypes.next = {
4276 MenhirLib.EngineTypes.semv = _2;
4277 MenhirLib.EngineTypes.startp = _startpos__2_;
4278 MenhirLib.EngineTypes.endp = _endpos__2_;
4279 MenhirLib.EngineTypes.next = {
4280 MenhirLib.EngineTypes.state = _menhir_s;
4281 MenhirLib.EngineTypes.semv = _1;
4282 MenhirLib.EngineTypes.startp = _startpos__1_;
4283 MenhirLib.EngineTypes.endp = _endpos__1_;
4284 MenhirLib.EngineTypes.next = _menhir_stack;
4285 };
4286 };
4287 } = _menhir_stack in
4288 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4289 let _2 : (
4290 # 131 "parser_cocci_menhir.mly"
4291 (Ast_cocci.assignOp * Data.clt)
4292 # 4293 "parser_cocci_menhir.ml"
4293 ) = Obj.magic _2 in
4294 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4295 let _startpos = _startpos__1_ in
4296 let _endpos = _endpos__3_ in
4297 let _v : 'tv_assign_expr_expr_invalid_ =
4298 # 1287 "parser_cocci_menhir.mly"
4299 ( let (op,clt) = _2 in
4300 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4301 Ast0.set_arg_exp _3,false)) )
4302 # 4303 "parser_cocci_menhir.ml"
4303 in
4304 _menhir_env.MenhirLib.EngineTypes.stack <- {
4305 MenhirLib.EngineTypes.state = _menhir_s;
4306 MenhirLib.EngineTypes.semv = Obj.repr _v;
4307 MenhirLib.EngineTypes.startp = _startpos;
4308 MenhirLib.EngineTypes.endp = _endpos;
4309 MenhirLib.EngineTypes.next = _menhir_stack;
4310 });
4311 (fun _menhir_env ->
4312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4313 let {
4314 MenhirLib.EngineTypes.semv = _3;
4315 MenhirLib.EngineTypes.startp = _startpos__3_;
4316 MenhirLib.EngineTypes.endp = _endpos__3_;
4317 MenhirLib.EngineTypes.next = {
4318 MenhirLib.EngineTypes.semv = _2;
4319 MenhirLib.EngineTypes.startp = _startpos__2_;
4320 MenhirLib.EngineTypes.endp = _endpos__2_;
4321 MenhirLib.EngineTypes.next = {
4322 MenhirLib.EngineTypes.state = _menhir_s;
4323 MenhirLib.EngineTypes.semv = _1;
4324 MenhirLib.EngineTypes.startp = _startpos__1_;
4325 MenhirLib.EngineTypes.endp = _endpos__1_;
4326 MenhirLib.EngineTypes.next = _menhir_stack;
4327 };
4328 };
4329 } = _menhir_stack in
4330 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4331 let _2 : (
4332 # 130 "parser_cocci_menhir.mly"
4333 (Data.clt)
4334 # 4335 "parser_cocci_menhir.ml"
4335 ) = Obj.magic _2 in
4336 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4337 let _startpos = _startpos__1_ in
4338 let _endpos = _endpos__3_ in
4339 let _v : 'tv_assign_expr_expr_invalid_ =
4340 # 1291 "parser_cocci_menhir.mly"
4341 ( Ast0.wrap
4342 (Ast0.Assignment
4343 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4344 # 4345 "parser_cocci_menhir.ml"
4345 in
4346 _menhir_env.MenhirLib.EngineTypes.stack <- {
4347 MenhirLib.EngineTypes.state = _menhir_s;
4348 MenhirLib.EngineTypes.semv = Obj.repr _v;
4349 MenhirLib.EngineTypes.startp = _startpos;
4350 MenhirLib.EngineTypes.endp = _endpos;
4351 MenhirLib.EngineTypes.next = _menhir_stack;
4352 });
4353 (fun _menhir_env ->
4354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4355 let {
4356 MenhirLib.EngineTypes.state = _menhir_s;
4357 MenhirLib.EngineTypes.semv = _1;
4358 MenhirLib.EngineTypes.startp = _startpos__1_;
4359 MenhirLib.EngineTypes.endp = _endpos__1_;
4360 MenhirLib.EngineTypes.next = _menhir_stack;
4361 } = _menhir_stack in
4362 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4363 let _startpos = _startpos__1_ in
4364 let _endpos = _endpos__1_ in
4365 let _v : 'tv_assign_expr_bis =
4366 # 1296 "parser_cocci_menhir.mly"
4367 ( _1 )
4368 # 4369 "parser_cocci_menhir.ml"
4369 in
4370 _menhir_env.MenhirLib.EngineTypes.stack <- {
4371 MenhirLib.EngineTypes.state = _menhir_s;
4372 MenhirLib.EngineTypes.semv = Obj.repr _v;
4373 MenhirLib.EngineTypes.startp = _startpos;
4374 MenhirLib.EngineTypes.endp = _endpos;
4375 MenhirLib.EngineTypes.next = _menhir_stack;
4376 });
4377 (fun _menhir_env ->
4378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4379 let {
4380 MenhirLib.EngineTypes.semv = _3;
4381 MenhirLib.EngineTypes.startp = _startpos__3_;
4382 MenhirLib.EngineTypes.endp = _endpos__3_;
4383 MenhirLib.EngineTypes.next = {
4384 MenhirLib.EngineTypes.semv = _2;
4385 MenhirLib.EngineTypes.startp = _startpos__2_;
4386 MenhirLib.EngineTypes.endp = _endpos__2_;
4387 MenhirLib.EngineTypes.next = {
4388 MenhirLib.EngineTypes.state = _menhir_s;
4389 MenhirLib.EngineTypes.semv = _1;
4390 MenhirLib.EngineTypes.startp = _startpos__1_;
4391 MenhirLib.EngineTypes.endp = _endpos__1_;
4392 MenhirLib.EngineTypes.next = _menhir_stack;
4393 };
4394 };
4395 } = _menhir_stack in
4396 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4397 let _2 : (
4398 # 131 "parser_cocci_menhir.mly"
4399 (Ast_cocci.assignOp * Data.clt)
4400 # 4401 "parser_cocci_menhir.ml"
4401 ) = Obj.magic _2 in
4402 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4403 let _startpos = _startpos__1_ in
4404 let _endpos = _endpos__3_ in
4405 let _v : 'tv_assign_expr_bis =
4406 # 1298 "parser_cocci_menhir.mly"
4407 ( let (op,clt) = _2 in
4408 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4409 Ast0.set_arg_exp _3,false)) )
4410 # 4411 "parser_cocci_menhir.ml"
4411 in
4412 _menhir_env.MenhirLib.EngineTypes.stack <- {
4413 MenhirLib.EngineTypes.state = _menhir_s;
4414 MenhirLib.EngineTypes.semv = Obj.repr _v;
4415 MenhirLib.EngineTypes.startp = _startpos;
4416 MenhirLib.EngineTypes.endp = _endpos;
4417 MenhirLib.EngineTypes.next = _menhir_stack;
4418 });
4419 (fun _menhir_env ->
4420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4421 let {
4422 MenhirLib.EngineTypes.semv = _3;
4423 MenhirLib.EngineTypes.startp = _startpos__3_;
4424 MenhirLib.EngineTypes.endp = _endpos__3_;
4425 MenhirLib.EngineTypes.next = {
4426 MenhirLib.EngineTypes.semv = _2;
4427 MenhirLib.EngineTypes.startp = _startpos__2_;
4428 MenhirLib.EngineTypes.endp = _endpos__2_;
4429 MenhirLib.EngineTypes.next = {
4430 MenhirLib.EngineTypes.state = _menhir_s;
4431 MenhirLib.EngineTypes.semv = _1;
4432 MenhirLib.EngineTypes.startp = _startpos__1_;
4433 MenhirLib.EngineTypes.endp = _endpos__1_;
4434 MenhirLib.EngineTypes.next = _menhir_stack;
4435 };
4436 };
4437 } = _menhir_stack in
4438 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4439 let _2 : (
4440 # 130 "parser_cocci_menhir.mly"
4441 (Data.clt)
4442 # 4443 "parser_cocci_menhir.ml"
4443 ) = Obj.magic _2 in
4444 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4445 let _startpos = _startpos__1_ in
4446 let _endpos = _endpos__3_ in
4447 let _v : 'tv_assign_expr_bis =
4448 # 1302 "parser_cocci_menhir.mly"
4449 ( Ast0.wrap
4450 (Ast0.Assignment
4451 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4452 # 4453 "parser_cocci_menhir.ml"
4453 in
4454 _menhir_env.MenhirLib.EngineTypes.stack <- {
4455 MenhirLib.EngineTypes.state = _menhir_s;
4456 MenhirLib.EngineTypes.semv = Obj.repr _v;
4457 MenhirLib.EngineTypes.startp = _startpos;
4458 MenhirLib.EngineTypes.endp = _endpos;
4459 MenhirLib.EngineTypes.next = _menhir_stack;
4460 });
4461 (fun _menhir_env ->
4462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4463 let {
4464 MenhirLib.EngineTypes.state = _menhir_s;
4465 MenhirLib.EngineTypes.semv = _1;
4466 MenhirLib.EngineTypes.startp = _startpos__1_;
4467 MenhirLib.EngineTypes.endp = _endpos__1_;
4468 MenhirLib.EngineTypes.next = _menhir_stack;
4469 } = _menhir_stack in
4470 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4471 let _startpos = _startpos__1_ in
4472 let _endpos = _endpos__1_ in
4473 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
4474 # 1282 "parser_cocci_menhir.mly"
4475 ( _1 )
4476 # 4477 "parser_cocci_menhir.ml"
4477 in
4478 _menhir_env.MenhirLib.EngineTypes.stack <- {
4479 MenhirLib.EngineTypes.state = _menhir_s;
4480 MenhirLib.EngineTypes.semv = Obj.repr _v;
4481 MenhirLib.EngineTypes.startp = _startpos;
4482 MenhirLib.EngineTypes.endp = _endpos;
4483 MenhirLib.EngineTypes.next = _menhir_stack;
4484 });
4485 (fun _menhir_env ->
4486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4487 let {
4488 MenhirLib.EngineTypes.state = _menhir_s;
4489 MenhirLib.EngineTypes.semv = _1;
4490 MenhirLib.EngineTypes.startp = _startpos__1_;
4491 MenhirLib.EngineTypes.endp = _endpos__1_;
4492 MenhirLib.EngineTypes.next = _menhir_stack;
4493 } = _menhir_stack in
4494 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4495 let _startpos = _startpos__1_ in
4496 let _endpos = _endpos__1_ in
4497 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
4498 # 1282 "parser_cocci_menhir.mly"
4499 ( _1 )
4500 # 4501 "parser_cocci_menhir.ml"
4501 in
4502 _menhir_env.MenhirLib.EngineTypes.stack <- {
4503 MenhirLib.EngineTypes.state = _menhir_s;
4504 MenhirLib.EngineTypes.semv = Obj.repr _v;
4505 MenhirLib.EngineTypes.startp = _startpos;
4506 MenhirLib.EngineTypes.endp = _endpos;
4507 MenhirLib.EngineTypes.next = _menhir_stack;
4508 });
4509 (fun _menhir_env ->
4510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4511 let {
4512 MenhirLib.EngineTypes.state = _menhir_s;
4513 MenhirLib.EngineTypes.semv = _1;
4514 MenhirLib.EngineTypes.startp = _startpos__1_;
4515 MenhirLib.EngineTypes.endp = _endpos__1_;
4516 MenhirLib.EngineTypes.next = _menhir_stack;
4517 } = _menhir_stack in
4518 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
4519 let _startpos = _startpos__1_ in
4520 let _endpos = _endpos__1_ in
4521 let _v : 'tv_basic_expr_expr_invalid_ =
4522 # 1282 "parser_cocci_menhir.mly"
4523 ( _1 )
4524 # 4525 "parser_cocci_menhir.ml"
4525 in
4526 _menhir_env.MenhirLib.EngineTypes.stack <- {
4527 MenhirLib.EngineTypes.state = _menhir_s;
4528 MenhirLib.EngineTypes.semv = Obj.repr _v;
4529 MenhirLib.EngineTypes.startp = _startpos;
4530 MenhirLib.EngineTypes.endp = _endpos;
4531 MenhirLib.EngineTypes.next = _menhir_stack;
4532 });
4533 (fun _menhir_env ->
4534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4535 let {
4536 MenhirLib.EngineTypes.semv = _3;
4537 MenhirLib.EngineTypes.startp = _startpos__3_;
4538 MenhirLib.EngineTypes.endp = _endpos__3_;
4539 MenhirLib.EngineTypes.next = {
4540 MenhirLib.EngineTypes.semv = _2;
4541 MenhirLib.EngineTypes.startp = _startpos__2_;
4542 MenhirLib.EngineTypes.endp = _endpos__2_;
4543 MenhirLib.EngineTypes.next = {
4544 MenhirLib.EngineTypes.state = _menhir_s;
4545 MenhirLib.EngineTypes.semv = _1;
4546 MenhirLib.EngineTypes.startp = _startpos__1_;
4547 MenhirLib.EngineTypes.endp = _endpos__1_;
4548 MenhirLib.EngineTypes.next = _menhir_stack;
4549 };
4550 };
4551 } = _menhir_stack in
4552 let _3 : 'tv_fun_start = Obj.magic _3 in
4553 let _2 : (
4554 # 99 "parser_cocci_menhir.mly"
4555 (Data.clt)
4556 # 4557 "parser_cocci_menhir.ml"
4557 ) = Obj.magic _2 in
4558 let _1 : (
4559 # 79 "parser_cocci_menhir.mly"
4560 (Data.clt)
4561 # 4562 "parser_cocci_menhir.ml"
4562 ) = Obj.magic _1 in
4563 let _startpos = _startpos__1_ in
4564 let _endpos = _endpos__3_ in
4565 let _v : 'tv_case_line =
4566 # 984 "parser_cocci_menhir.mly"
4567 ( Ast0.wrap
4568 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
4569 # 4570 "parser_cocci_menhir.ml"
4570 in
4571 _menhir_env.MenhirLib.EngineTypes.stack <- {
4572 MenhirLib.EngineTypes.state = _menhir_s;
4573 MenhirLib.EngineTypes.semv = Obj.repr _v;
4574 MenhirLib.EngineTypes.startp = _startpos;
4575 MenhirLib.EngineTypes.endp = _endpos;
4576 MenhirLib.EngineTypes.next = _menhir_stack;
4577 });
4578 (fun _menhir_env ->
4579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4580 let {
4581 MenhirLib.EngineTypes.semv = _4;
4582 MenhirLib.EngineTypes.startp = _startpos__4_;
4583 MenhirLib.EngineTypes.endp = _endpos__4_;
4584 MenhirLib.EngineTypes.next = {
4585 MenhirLib.EngineTypes.semv = _3;
4586 MenhirLib.EngineTypes.startp = _startpos__3_;
4587 MenhirLib.EngineTypes.endp = _endpos__3_;
4588 MenhirLib.EngineTypes.next = {
4589 MenhirLib.EngineTypes.semv = _2;
4590 MenhirLib.EngineTypes.startp = _startpos__2_;
4591 MenhirLib.EngineTypes.endp = _endpos__2_;
4592 MenhirLib.EngineTypes.next = {
4593 MenhirLib.EngineTypes.state = _menhir_s;
4594 MenhirLib.EngineTypes.semv = _1;
4595 MenhirLib.EngineTypes.startp = _startpos__1_;
4596 MenhirLib.EngineTypes.endp = _endpos__1_;
4597 MenhirLib.EngineTypes.next = _menhir_stack;
4598 };
4599 };
4600 };
4601 } = _menhir_stack in
4602 let _4 : 'tv_fun_start = Obj.magic _4 in
4603 let _3 : (
4604 # 99 "parser_cocci_menhir.mly"
4605 (Data.clt)
4606 # 4607 "parser_cocci_menhir.ml"
4607 ) = Obj.magic _3 in
4608 let _2 : 'tv_eexpr = Obj.magic _2 in
4609 let _1 : (
4610 # 79 "parser_cocci_menhir.mly"
4611 (Data.clt)
4612 # 4613 "parser_cocci_menhir.ml"
4613 ) = Obj.magic _1 in
4614 let _startpos = _startpos__1_ in
4615 let _endpos = _endpos__4_ in
4616 let _v : 'tv_case_line =
4617 # 987 "parser_cocci_menhir.mly"
4618 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
4619 # 4620 "parser_cocci_menhir.ml"
4620 in
4621 _menhir_env.MenhirLib.EngineTypes.stack <- {
4622 MenhirLib.EngineTypes.state = _menhir_s;
4623 MenhirLib.EngineTypes.semv = Obj.repr _v;
4624 MenhirLib.EngineTypes.startp = _startpos;
4625 MenhirLib.EngineTypes.endp = _endpos;
4626 MenhirLib.EngineTypes.next = _menhir_stack;
4627 });
4628 (fun _menhir_env ->
4629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4630 let {
4631 MenhirLib.EngineTypes.state = _menhir_s;
4632 MenhirLib.EngineTypes.semv = _1;
4633 MenhirLib.EngineTypes.startp = _startpos__1_;
4634 MenhirLib.EngineTypes.endp = _endpos__1_;
4635 MenhirLib.EngineTypes.next = _menhir_stack;
4636 } = _menhir_stack in
4637 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4638 let _startpos = _startpos__1_ in
4639 let _endpos = _endpos__1_ in
4640 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4641 # 1342 "parser_cocci_menhir.mly"
4642 ( _1 )
4643 # 4644 "parser_cocci_menhir.ml"
4644 in
4645 _menhir_env.MenhirLib.EngineTypes.stack <- {
4646 MenhirLib.EngineTypes.state = _menhir_s;
4647 MenhirLib.EngineTypes.semv = Obj.repr _v;
4648 MenhirLib.EngineTypes.startp = _startpos;
4649 MenhirLib.EngineTypes.endp = _endpos;
4650 MenhirLib.EngineTypes.next = _menhir_stack;
4651 });
4652 (fun _menhir_env ->
4653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4654 let {
4655 MenhirLib.EngineTypes.semv = e;
4656 MenhirLib.EngineTypes.startp = _startpos_e_;
4657 MenhirLib.EngineTypes.endp = _endpos_e_;
4658 MenhirLib.EngineTypes.next = {
4659 MenhirLib.EngineTypes.semv = rp;
4660 MenhirLib.EngineTypes.startp = _startpos_rp_;
4661 MenhirLib.EngineTypes.endp = _endpos_rp_;
4662 MenhirLib.EngineTypes.next = {
4663 MenhirLib.EngineTypes.semv = t;
4664 MenhirLib.EngineTypes.startp = _startpos_t_;
4665 MenhirLib.EngineTypes.endp = _endpos_t_;
4666 MenhirLib.EngineTypes.next = {
4667 MenhirLib.EngineTypes.state = _menhir_s;
4668 MenhirLib.EngineTypes.semv = lp;
4669 MenhirLib.EngineTypes.startp = _startpos_lp_;
4670 MenhirLib.EngineTypes.endp = _endpos_lp_;
4671 MenhirLib.EngineTypes.next = _menhir_stack;
4672 };
4673 };
4674 };
4675 } = _menhir_stack in
4676 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
4677 let rp : (
4678 # 100 "parser_cocci_menhir.mly"
4679 (Data.clt)
4680 # 4681 "parser_cocci_menhir.ml"
4681 ) = Obj.magic rp in
4682 let t : 'tv_ctype = Obj.magic t in
4683 let lp : (
4684 # 99 "parser_cocci_menhir.mly"
4685 (Data.clt)
4686 # 4687 "parser_cocci_menhir.ml"
4687 ) = Obj.magic lp in
4688 let _startpos = _startpos_lp_ in
4689 let _endpos = _endpos_e_ in
4690 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4691 # 1344 "parser_cocci_menhir.mly"
4692 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4693 P.clt2mcode ")" rp, e)) )
4694 # 4695 "parser_cocci_menhir.ml"
4695 in
4696 _menhir_env.MenhirLib.EngineTypes.stack <- {
4697 MenhirLib.EngineTypes.state = _menhir_s;
4698 MenhirLib.EngineTypes.semv = Obj.repr _v;
4699 MenhirLib.EngineTypes.startp = _startpos;
4700 MenhirLib.EngineTypes.endp = _endpos;
4701 MenhirLib.EngineTypes.next = _menhir_stack;
4702 });
4703 (fun _menhir_env ->
4704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4705 let {
4706 MenhirLib.EngineTypes.state = _menhir_s;
4707 MenhirLib.EngineTypes.semv = _1;
4708 MenhirLib.EngineTypes.startp = _startpos__1_;
4709 MenhirLib.EngineTypes.endp = _endpos__1_;
4710 MenhirLib.EngineTypes.next = _menhir_stack;
4711 } = _menhir_stack in
4712 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
4713 let _startpos = _startpos__1_ in
4714 let _endpos = _endpos__1_ in
4715 let _v : 'tv_cast_expr_eexpr_invalid_ =
4716 # 1342 "parser_cocci_menhir.mly"
4717 ( _1 )
4718 # 4719 "parser_cocci_menhir.ml"
4719 in
4720 _menhir_env.MenhirLib.EngineTypes.stack <- {
4721 MenhirLib.EngineTypes.state = _menhir_s;
4722 MenhirLib.EngineTypes.semv = Obj.repr _v;
4723 MenhirLib.EngineTypes.startp = _startpos;
4724 MenhirLib.EngineTypes.endp = _endpos;
4725 MenhirLib.EngineTypes.next = _menhir_stack;
4726 });
4727 (fun _menhir_env ->
4728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4729 let {
4730 MenhirLib.EngineTypes.semv = e;
4731 MenhirLib.EngineTypes.startp = _startpos_e_;
4732 MenhirLib.EngineTypes.endp = _endpos_e_;
4733 MenhirLib.EngineTypes.next = {
4734 MenhirLib.EngineTypes.semv = rp;
4735 MenhirLib.EngineTypes.startp = _startpos_rp_;
4736 MenhirLib.EngineTypes.endp = _endpos_rp_;
4737 MenhirLib.EngineTypes.next = {
4738 MenhirLib.EngineTypes.semv = t;
4739 MenhirLib.EngineTypes.startp = _startpos_t_;
4740 MenhirLib.EngineTypes.endp = _endpos_t_;
4741 MenhirLib.EngineTypes.next = {
4742 MenhirLib.EngineTypes.state = _menhir_s;
4743 MenhirLib.EngineTypes.semv = lp;
4744 MenhirLib.EngineTypes.startp = _startpos_lp_;
4745 MenhirLib.EngineTypes.endp = _endpos_lp_;
4746 MenhirLib.EngineTypes.next = _menhir_stack;
4747 };
4748 };
4749 };
4750 } = _menhir_stack in
4751 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
4752 let rp : (
4753 # 100 "parser_cocci_menhir.mly"
4754 (Data.clt)
4755 # 4756 "parser_cocci_menhir.ml"
4756 ) = Obj.magic rp in
4757 let t : 'tv_ctype = Obj.magic t in
4758 let lp : (
4759 # 99 "parser_cocci_menhir.mly"
4760 (Data.clt)
4761 # 4762 "parser_cocci_menhir.ml"
4762 ) = Obj.magic lp in
4763 let _startpos = _startpos_lp_ in
4764 let _endpos = _endpos_e_ in
4765 let _v : 'tv_cast_expr_eexpr_invalid_ =
4766 # 1344 "parser_cocci_menhir.mly"
4767 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4768 P.clt2mcode ")" rp, e)) )
4769 # 4770 "parser_cocci_menhir.ml"
4770 in
4771 _menhir_env.MenhirLib.EngineTypes.stack <- {
4772 MenhirLib.EngineTypes.state = _menhir_s;
4773 MenhirLib.EngineTypes.semv = Obj.repr _v;
4774 MenhirLib.EngineTypes.startp = _startpos;
4775 MenhirLib.EngineTypes.endp = _endpos;
4776 MenhirLib.EngineTypes.next = _menhir_stack;
4777 });
4778 (fun _menhir_env ->
4779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4780 let {
4781 MenhirLib.EngineTypes.state = _menhir_s;
4782 MenhirLib.EngineTypes.semv = _1;
4783 MenhirLib.EngineTypes.startp = _startpos__1_;
4784 MenhirLib.EngineTypes.endp = _endpos__1_;
4785 MenhirLib.EngineTypes.next = _menhir_stack;
4786 } = _menhir_stack in
4787 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4788 let _startpos = _startpos__1_ in
4789 let _endpos = _endpos__1_ in
4790 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4791 # 1342 "parser_cocci_menhir.mly"
4792 ( _1 )
4793 # 4794 "parser_cocci_menhir.ml"
4794 in
4795 _menhir_env.MenhirLib.EngineTypes.stack <- {
4796 MenhirLib.EngineTypes.state = _menhir_s;
4797 MenhirLib.EngineTypes.semv = Obj.repr _v;
4798 MenhirLib.EngineTypes.startp = _startpos;
4799 MenhirLib.EngineTypes.endp = _endpos;
4800 MenhirLib.EngineTypes.next = _menhir_stack;
4801 });
4802 (fun _menhir_env ->
4803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4804 let {
4805 MenhirLib.EngineTypes.semv = e;
4806 MenhirLib.EngineTypes.startp = _startpos_e_;
4807 MenhirLib.EngineTypes.endp = _endpos_e_;
4808 MenhirLib.EngineTypes.next = {
4809 MenhirLib.EngineTypes.semv = rp;
4810 MenhirLib.EngineTypes.startp = _startpos_rp_;
4811 MenhirLib.EngineTypes.endp = _endpos_rp_;
4812 MenhirLib.EngineTypes.next = {
4813 MenhirLib.EngineTypes.semv = t;
4814 MenhirLib.EngineTypes.startp = _startpos_t_;
4815 MenhirLib.EngineTypes.endp = _endpos_t_;
4816 MenhirLib.EngineTypes.next = {
4817 MenhirLib.EngineTypes.state = _menhir_s;
4818 MenhirLib.EngineTypes.semv = lp;
4819 MenhirLib.EngineTypes.startp = _startpos_lp_;
4820 MenhirLib.EngineTypes.endp = _endpos_lp_;
4821 MenhirLib.EngineTypes.next = _menhir_stack;
4822 };
4823 };
4824 };
4825 } = _menhir_stack in
4826 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
4827 let rp : (
4828 # 100 "parser_cocci_menhir.mly"
4829 (Data.clt)
4830 # 4831 "parser_cocci_menhir.ml"
4831 ) = Obj.magic rp in
4832 let t : 'tv_ctype = Obj.magic t in
4833 let lp : (
4834 # 99 "parser_cocci_menhir.mly"
4835 (Data.clt)
4836 # 4837 "parser_cocci_menhir.ml"
4837 ) = Obj.magic lp in
4838 let _startpos = _startpos_lp_ in
4839 let _endpos = _endpos_e_ in
4840 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4841 # 1344 "parser_cocci_menhir.mly"
4842 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4843 P.clt2mcode ")" rp, e)) )
4844 # 4845 "parser_cocci_menhir.ml"
4845 in
4846 _menhir_env.MenhirLib.EngineTypes.stack <- {
4847 MenhirLib.EngineTypes.state = _menhir_s;
4848 MenhirLib.EngineTypes.semv = Obj.repr _v;
4849 MenhirLib.EngineTypes.startp = _startpos;
4850 MenhirLib.EngineTypes.endp = _endpos;
4851 MenhirLib.EngineTypes.next = _menhir_stack;
4852 });
4853 (fun _menhir_env ->
4854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4855 let {
4856 MenhirLib.EngineTypes.state = _menhir_s;
4857 MenhirLib.EngineTypes.semv = _1;
4858 MenhirLib.EngineTypes.startp = _startpos__1_;
4859 MenhirLib.EngineTypes.endp = _endpos__1_;
4860 MenhirLib.EngineTypes.next = _menhir_stack;
4861 } = _menhir_stack in
4862 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4863 let _startpos = _startpos__1_ in
4864 let _endpos = _endpos__1_ in
4865 let _v : 'tv_cast_expr_expr_invalid_ =
4866 # 1342 "parser_cocci_menhir.mly"
4867 ( _1 )
4868 # 4869 "parser_cocci_menhir.ml"
4869 in
4870 _menhir_env.MenhirLib.EngineTypes.stack <- {
4871 MenhirLib.EngineTypes.state = _menhir_s;
4872 MenhirLib.EngineTypes.semv = Obj.repr _v;
4873 MenhirLib.EngineTypes.startp = _startpos;
4874 MenhirLib.EngineTypes.endp = _endpos;
4875 MenhirLib.EngineTypes.next = _menhir_stack;
4876 });
4877 (fun _menhir_env ->
4878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4879 let {
4880 MenhirLib.EngineTypes.semv = e;
4881 MenhirLib.EngineTypes.startp = _startpos_e_;
4882 MenhirLib.EngineTypes.endp = _endpos_e_;
4883 MenhirLib.EngineTypes.next = {
4884 MenhirLib.EngineTypes.semv = rp;
4885 MenhirLib.EngineTypes.startp = _startpos_rp_;
4886 MenhirLib.EngineTypes.endp = _endpos_rp_;
4887 MenhirLib.EngineTypes.next = {
4888 MenhirLib.EngineTypes.semv = t;
4889 MenhirLib.EngineTypes.startp = _startpos_t_;
4890 MenhirLib.EngineTypes.endp = _endpos_t_;
4891 MenhirLib.EngineTypes.next = {
4892 MenhirLib.EngineTypes.state = _menhir_s;
4893 MenhirLib.EngineTypes.semv = lp;
4894 MenhirLib.EngineTypes.startp = _startpos_lp_;
4895 MenhirLib.EngineTypes.endp = _endpos_lp_;
4896 MenhirLib.EngineTypes.next = _menhir_stack;
4897 };
4898 };
4899 };
4900 } = _menhir_stack in
4901 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
4902 let rp : (
4903 # 100 "parser_cocci_menhir.mly"
4904 (Data.clt)
4905 # 4906 "parser_cocci_menhir.ml"
4906 ) = Obj.magic rp in
4907 let t : 'tv_ctype = Obj.magic t in
4908 let lp : (
4909 # 99 "parser_cocci_menhir.mly"
4910 (Data.clt)
4911 # 4912 "parser_cocci_menhir.ml"
4912 ) = Obj.magic lp in
4913 let _startpos = _startpos_lp_ in
4914 let _endpos = _endpos_e_ in
4915 let _v : 'tv_cast_expr_expr_invalid_ =
4916 # 1344 "parser_cocci_menhir.mly"
4917 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4918 P.clt2mcode ")" rp, e)) )
4919 # 4920 "parser_cocci_menhir.ml"
4920 in
4921 _menhir_env.MenhirLib.EngineTypes.stack <- {
4922 MenhirLib.EngineTypes.state = _menhir_s;
4923 MenhirLib.EngineTypes.semv = Obj.repr _v;
4924 MenhirLib.EngineTypes.startp = _startpos;
4925 MenhirLib.EngineTypes.endp = _endpos;
4926 MenhirLib.EngineTypes.next = _menhir_stack;
4927 });
4928 (fun _menhir_env ->
4929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4930 let {
4931 MenhirLib.EngineTypes.semv = _2;
4932 MenhirLib.EngineTypes.startp = _startpos__2_;
4933 MenhirLib.EngineTypes.endp = _endpos__2_;
4934 MenhirLib.EngineTypes.next = {
4935 MenhirLib.EngineTypes.state = _menhir_s;
4936 MenhirLib.EngineTypes.startp = _startpos__1_;
4937 MenhirLib.EngineTypes.endp = _endpos__1_;
4938 MenhirLib.EngineTypes.next = _menhir_stack;
4939 };
4940 } = _menhir_stack in
4941 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
4942 let _startpos = _startpos__1_ in
4943 let _endpos = _endpos__2_ in
4944 let _v : 'tv_choose_iso =
4945 # 260 "parser_cocci_menhir.mly"
4946 ( List.map P.id2name _2 )
4947 # 4948 "parser_cocci_menhir.ml"
4948 in
4949 _menhir_env.MenhirLib.EngineTypes.stack <- {
4950 MenhirLib.EngineTypes.state = _menhir_s;
4951 MenhirLib.EngineTypes.semv = Obj.repr _v;
4952 MenhirLib.EngineTypes.startp = _startpos;
4953 MenhirLib.EngineTypes.endp = _endpos;
4954 MenhirLib.EngineTypes.next = _menhir_stack;
4955 });
4956 (fun _menhir_env ->
4957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4958 let {
4959 MenhirLib.EngineTypes.semv = _2;
4960 MenhirLib.EngineTypes.startp = _startpos__2_;
4961 MenhirLib.EngineTypes.endp = _endpos__2_;
4962 MenhirLib.EngineTypes.next = {
4963 MenhirLib.EngineTypes.state = _menhir_s;
4964 MenhirLib.EngineTypes.semv = _1;
4965 MenhirLib.EngineTypes.startp = _startpos__1_;
4966 MenhirLib.EngineTypes.endp = _endpos__1_;
4967 MenhirLib.EngineTypes.next = _menhir_stack;
4968 };
4969 } = _menhir_stack in
4970 let _2 : (
4971 # 96 "parser_cocci_menhir.mly"
4972 (Data.clt)
4973 # 4974 "parser_cocci_menhir.ml"
4974 ) = Obj.magic _2 in
4975 let _1 : (
4976 # 130 "parser_cocci_menhir.mly"
4977 (Data.clt)
4978 # 4979 "parser_cocci_menhir.ml"
4979 ) = Obj.magic _1 in
4980 let _startpos = _startpos__1_ in
4981 let _endpos = _endpos__2_ in
4982 let _v : 'tv_comma_decls_TEllipsis_decl_ =
4983 # 1747 "parser_cocci_menhir.mly"
4984 ( function dot_builder ->
4985 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
4986 dot_builder _2] )
4987 # 4988 "parser_cocci_menhir.ml"
4988 in
4989 _menhir_env.MenhirLib.EngineTypes.stack <- {
4990 MenhirLib.EngineTypes.state = _menhir_s;
4991 MenhirLib.EngineTypes.semv = Obj.repr _v;
4992 MenhirLib.EngineTypes.startp = _startpos;
4993 MenhirLib.EngineTypes.endp = _endpos;
4994 MenhirLib.EngineTypes.next = _menhir_stack;
4995 });
4996 (fun _menhir_env ->
4997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4998 let {
4999 MenhirLib.EngineTypes.semv = _2;
5000 MenhirLib.EngineTypes.startp = _startpos__2_;
5001 MenhirLib.EngineTypes.endp = _endpos__2_;
5002 MenhirLib.EngineTypes.next = {
5003 MenhirLib.EngineTypes.state = _menhir_s;
5004 MenhirLib.EngineTypes.semv = _1;
5005 MenhirLib.EngineTypes.startp = _startpos__1_;
5006 MenhirLib.EngineTypes.endp = _endpos__1_;
5007 MenhirLib.EngineTypes.next = _menhir_stack;
5008 };
5009 } = _menhir_stack in
5010 let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
5011 let _1 : (
5012 # 130 "parser_cocci_menhir.mly"
5013 (Data.clt)
5014 # 5015 "parser_cocci_menhir.ml"
5015 ) = Obj.magic _1 in
5016 let _startpos = _startpos__1_ in
5017 let _endpos = _endpos__2_ in
5018 let _v : 'tv_comma_decls_TEllipsis_decl_ =
5019 # 1751 "parser_cocci_menhir.mly"
5020 ( function dot_builder ->
5021 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5022 # 5023 "parser_cocci_menhir.ml"
5023 in
5024 _menhir_env.MenhirLib.EngineTypes.stack <- {
5025 MenhirLib.EngineTypes.state = _menhir_s;
5026 MenhirLib.EngineTypes.semv = Obj.repr _v;
5027 MenhirLib.EngineTypes.startp = _startpos;
5028 MenhirLib.EngineTypes.endp = _endpos;
5029 MenhirLib.EngineTypes.next = _menhir_stack;
5030 });
5031 (fun _menhir_env ->
5032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5033 let {
5034 MenhirLib.EngineTypes.semv = _2;
5035 MenhirLib.EngineTypes.startp = _startpos__2_;
5036 MenhirLib.EngineTypes.endp = _endpos__2_;
5037 MenhirLib.EngineTypes.next = {
5038 MenhirLib.EngineTypes.state = _menhir_s;
5039 MenhirLib.EngineTypes.semv = _1;
5040 MenhirLib.EngineTypes.startp = _startpos__1_;
5041 MenhirLib.EngineTypes.endp = _endpos__1_;
5042 MenhirLib.EngineTypes.next = _menhir_stack;
5043 };
5044 } = _menhir_stack in
5045 let _2 : (
5046 # 96 "parser_cocci_menhir.mly"
5047 (Data.clt)
5048 # 5049 "parser_cocci_menhir.ml"
5049 ) = Obj.magic _2 in
5050 let _1 : (
5051 # 130 "parser_cocci_menhir.mly"
5052 (Data.clt)
5053 # 5054 "parser_cocci_menhir.ml"
5054 ) = Obj.magic _1 in
5055 let _startpos = _startpos__1_ in
5056 let _endpos = _endpos__2_ in
5057 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5058 # 1747 "parser_cocci_menhir.mly"
5059 ( function dot_builder ->
5060 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
5061 dot_builder _2] )
5062 # 5063 "parser_cocci_menhir.ml"
5063 in
5064 _menhir_env.MenhirLib.EngineTypes.stack <- {
5065 MenhirLib.EngineTypes.state = _menhir_s;
5066 MenhirLib.EngineTypes.semv = Obj.repr _v;
5067 MenhirLib.EngineTypes.startp = _startpos;
5068 MenhirLib.EngineTypes.endp = _endpos;
5069 MenhirLib.EngineTypes.next = _menhir_stack;
5070 });
5071 (fun _menhir_env ->
5072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5073 let {
5074 MenhirLib.EngineTypes.semv = _2;
5075 MenhirLib.EngineTypes.startp = _startpos__2_;
5076 MenhirLib.EngineTypes.endp = _endpos__2_;
5077 MenhirLib.EngineTypes.next = {
5078 MenhirLib.EngineTypes.state = _menhir_s;
5079 MenhirLib.EngineTypes.semv = _1;
5080 MenhirLib.EngineTypes.startp = _startpos__1_;
5081 MenhirLib.EngineTypes.endp = _endpos__1_;
5082 MenhirLib.EngineTypes.next = _menhir_stack;
5083 };
5084 } = _menhir_stack in
5085 let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
5086 let _1 : (
5087 # 130 "parser_cocci_menhir.mly"
5088 (Data.clt)
5089 # 5090 "parser_cocci_menhir.ml"
5090 ) = Obj.magic _1 in
5091 let _startpos = _startpos__1_ in
5092 let _endpos = _endpos__2_ in
5093 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5094 # 1751 "parser_cocci_menhir.mly"
5095 ( function dot_builder ->
5096 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5097 # 5098 "parser_cocci_menhir.ml"
5098 in
5099 _menhir_env.MenhirLib.EngineTypes.stack <- {
5100 MenhirLib.EngineTypes.state = _menhir_s;
5101 MenhirLib.EngineTypes.semv = Obj.repr _v;
5102 MenhirLib.EngineTypes.startp = _startpos;
5103 MenhirLib.EngineTypes.endp = _endpos;
5104 MenhirLib.EngineTypes.next = _menhir_stack;
5105 });
5106 (fun _menhir_env ->
5107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5108 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5109 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5110 let _endpos = _startpos in
5111 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5112 # 1173 "parser_cocci_menhir.mly"
5113 ( [] )
5114 # 5115 "parser_cocci_menhir.ml"
5115 in
5116 _menhir_env.MenhirLib.EngineTypes.stack <- {
5117 MenhirLib.EngineTypes.state = _menhir_s;
5118 MenhirLib.EngineTypes.semv = Obj.repr _v;
5119 MenhirLib.EngineTypes.startp = _startpos;
5120 MenhirLib.EngineTypes.endp = _endpos;
5121 MenhirLib.EngineTypes.next = _menhir_stack;
5122 });
5123 (fun _menhir_env ->
5124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5125 let {
5126 MenhirLib.EngineTypes.semv = r;
5127 MenhirLib.EngineTypes.startp = _startpos_r_;
5128 MenhirLib.EngineTypes.endp = _endpos_r_;
5129 MenhirLib.EngineTypes.next = {
5130 MenhirLib.EngineTypes.state = _menhir_s;
5131 MenhirLib.EngineTypes.semv = d;
5132 MenhirLib.EngineTypes.startp = _startpos_d_;
5133 MenhirLib.EngineTypes.endp = _endpos_d_;
5134 MenhirLib.EngineTypes.next = _menhir_stack;
5135 };
5136 } = _menhir_stack in
5137 let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
5138 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
5139 let _startpos = _startpos_d_ in
5140 let _endpos = _endpos_r_ in
5141 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5142 # 1175 "parser_cocci_menhir.mly"
5143 ( (function dot_builder -> [dot_builder d])::r )
5144 # 5145 "parser_cocci_menhir.ml"
5145 in
5146 _menhir_env.MenhirLib.EngineTypes.stack <- {
5147 MenhirLib.EngineTypes.state = _menhir_s;
5148 MenhirLib.EngineTypes.semv = Obj.repr _v;
5149 MenhirLib.EngineTypes.startp = _startpos;
5150 MenhirLib.EngineTypes.endp = _endpos;
5151 MenhirLib.EngineTypes.next = _menhir_stack;
5152 });
5153 (fun _menhir_env ->
5154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5155 let {
5156 MenhirLib.EngineTypes.semv = r;
5157 MenhirLib.EngineTypes.startp = _startpos_r_;
5158 MenhirLib.EngineTypes.endp = _endpos_r_;
5159 MenhirLib.EngineTypes.next = {
5160 MenhirLib.EngineTypes.semv = c;
5161 MenhirLib.EngineTypes.startp = _startpos_c_;
5162 MenhirLib.EngineTypes.endp = _endpos_c_;
5163 MenhirLib.EngineTypes.next = {
5164 MenhirLib.EngineTypes.state = _menhir_s;
5165 MenhirLib.EngineTypes.semv = i;
5166 MenhirLib.EngineTypes.startp = _startpos_i_;
5167 MenhirLib.EngineTypes.endp = _endpos_i_;
5168 MenhirLib.EngineTypes.next = _menhir_stack;
5169 };
5170 };
5171 } = _menhir_stack in
5172 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5173 let c : (
5174 # 130 "parser_cocci_menhir.mly"
5175 (Data.clt)
5176 # 5177 "parser_cocci_menhir.ml"
5177 ) = Obj.magic c in
5178 let i : 'tv_initialize2 = Obj.magic i in
5179 let _startpos = _startpos_i_ in
5180 let _endpos = _endpos_r_ in
5181 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5182 # 1177 "parser_cocci_menhir.mly"
5183 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5184 r )
5185 # 5186 "parser_cocci_menhir.ml"
5186 in
5187 _menhir_env.MenhirLib.EngineTypes.stack <- {
5188 MenhirLib.EngineTypes.state = _menhir_s;
5189 MenhirLib.EngineTypes.semv = Obj.repr _v;
5190 MenhirLib.EngineTypes.startp = _startpos;
5191 MenhirLib.EngineTypes.endp = _endpos;
5192 MenhirLib.EngineTypes.next = _menhir_stack;
5193 });
5194 (fun _menhir_env ->
5195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5196 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5197 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5198 let _endpos = _startpos in
5199 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5200 # 1181 "parser_cocci_menhir.mly"
5201 ( [] )
5202 # 5203 "parser_cocci_menhir.ml"
5203 in
5204 _menhir_env.MenhirLib.EngineTypes.stack <- {
5205 MenhirLib.EngineTypes.state = _menhir_s;
5206 MenhirLib.EngineTypes.semv = Obj.repr _v;
5207 MenhirLib.EngineTypes.startp = _startpos;
5208 MenhirLib.EngineTypes.endp = _endpos;
5209 MenhirLib.EngineTypes.next = _menhir_stack;
5210 });
5211 (fun _menhir_env ->
5212 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5213 let {
5214 MenhirLib.EngineTypes.semv = r;
5215 MenhirLib.EngineTypes.startp = _startpos_r_;
5216 MenhirLib.EngineTypes.endp = _endpos_r_;
5217 MenhirLib.EngineTypes.next = {
5218 MenhirLib.EngineTypes.semv = c;
5219 MenhirLib.EngineTypes.startp = _startpos_c_;
5220 MenhirLib.EngineTypes.endp = _endpos_c_;
5221 MenhirLib.EngineTypes.next = {
5222 MenhirLib.EngineTypes.state = _menhir_s;
5223 MenhirLib.EngineTypes.semv = i;
5224 MenhirLib.EngineTypes.startp = _startpos_i_;
5225 MenhirLib.EngineTypes.endp = _endpos_i_;
5226 MenhirLib.EngineTypes.next = _menhir_stack;
5227 };
5228 };
5229 } = _menhir_stack in
5230 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5231 let c : (
5232 # 130 "parser_cocci_menhir.mly"
5233 (Data.clt)
5234 # 5235 "parser_cocci_menhir.ml"
5235 ) = Obj.magic c in
5236 let i : 'tv_initialize2 = Obj.magic i in
5237 let _startpos = _startpos_i_ in
5238 let _endpos = _endpos_r_ in
5239 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5240 # 1183 "parser_cocci_menhir.mly"
5241 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5242 r )
5243 # 5244 "parser_cocci_menhir.ml"
5244 in
5245 _menhir_env.MenhirLib.EngineTypes.stack <- {
5246 MenhirLib.EngineTypes.state = _menhir_s;
5247 MenhirLib.EngineTypes.semv = Obj.repr _v;
5248 MenhirLib.EngineTypes.startp = _startpos;
5249 MenhirLib.EngineTypes.endp = _endpos;
5250 MenhirLib.EngineTypes.next = _menhir_stack;
5251 });
5252 (fun _menhir_env ->
5253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5254 let {
5255 MenhirLib.EngineTypes.state = _menhir_s;
5256 MenhirLib.EngineTypes.semv = _1;
5257 MenhirLib.EngineTypes.startp = _startpos__1_;
5258 MenhirLib.EngineTypes.endp = _endpos__1_;
5259 MenhirLib.EngineTypes.next = _menhir_stack;
5260 } = _menhir_stack in
5261 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5262 let _startpos = _startpos__1_ in
5263 let _endpos = _endpos__1_ in
5264 let _v : 'tv_comma_list_any_strict_ =
5265 # 1984 "parser_cocci_menhir.mly"
5266 ( _1 )
5267 # 5268 "parser_cocci_menhir.ml"
5268 in
5269 _menhir_env.MenhirLib.EngineTypes.stack <- {
5270 MenhirLib.EngineTypes.state = _menhir_s;
5271 MenhirLib.EngineTypes.semv = Obj.repr _v;
5272 MenhirLib.EngineTypes.startp = _startpos;
5273 MenhirLib.EngineTypes.endp = _endpos;
5274 MenhirLib.EngineTypes.next = _menhir_stack;
5275 });
5276 (fun _menhir_env ->
5277 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5278 let {
5279 MenhirLib.EngineTypes.state = _menhir_s;
5280 MenhirLib.EngineTypes.semv = _1;
5281 MenhirLib.EngineTypes.startp = _startpos__1_;
5282 MenhirLib.EngineTypes.endp = _endpos__1_;
5283 MenhirLib.EngineTypes.next = _menhir_stack;
5284 } = _menhir_stack in
5285 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5286 let _startpos = _startpos__1_ in
5287 let _endpos = _endpos__1_ in
5288 let _v : 'tv_comma_list_ctype_ =
5289 # 1984 "parser_cocci_menhir.mly"
5290 ( _1 )
5291 # 5292 "parser_cocci_menhir.ml"
5292 in
5293 _menhir_env.MenhirLib.EngineTypes.stack <- {
5294 MenhirLib.EngineTypes.state = _menhir_s;
5295 MenhirLib.EngineTypes.semv = Obj.repr _v;
5296 MenhirLib.EngineTypes.startp = _startpos;
5297 MenhirLib.EngineTypes.endp = _endpos;
5298 MenhirLib.EngineTypes.next = _menhir_stack;
5299 });
5300 (fun _menhir_env ->
5301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5302 let {
5303 MenhirLib.EngineTypes.state = _menhir_s;
5304 MenhirLib.EngineTypes.semv = _1;
5305 MenhirLib.EngineTypes.startp = _startpos__1_;
5306 MenhirLib.EngineTypes.endp = _endpos__1_;
5307 MenhirLib.EngineTypes.next = _menhir_stack;
5308 } = _menhir_stack in
5309 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5310 let _startpos = _startpos__1_ in
5311 let _endpos = _endpos__1_ in
5312 let _v : 'tv_comma_list_d_ident_ =
5313 # 1984 "parser_cocci_menhir.mly"
5314 ( _1 )
5315 # 5316 "parser_cocci_menhir.ml"
5316 in
5317 _menhir_env.MenhirLib.EngineTypes.stack <- {
5318 MenhirLib.EngineTypes.state = _menhir_s;
5319 MenhirLib.EngineTypes.semv = Obj.repr _v;
5320 MenhirLib.EngineTypes.startp = _startpos;
5321 MenhirLib.EngineTypes.endp = _endpos;
5322 MenhirLib.EngineTypes.next = _menhir_stack;
5323 });
5324 (fun _menhir_env ->
5325 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5326 let {
5327 MenhirLib.EngineTypes.state = _menhir_s;
5328 MenhirLib.EngineTypes.semv = _1;
5329 MenhirLib.EngineTypes.startp = _startpos__1_;
5330 MenhirLib.EngineTypes.endp = _endpos__1_;
5331 MenhirLib.EngineTypes.next = _menhir_stack;
5332 } = _menhir_stack in
5333 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5334 let _startpos = _startpos__1_ in
5335 let _endpos = _endpos__1_ in
5336 let _v : 'tv_comma_list_ident_or_const_ =
5337 # 1984 "parser_cocci_menhir.mly"
5338 ( _1 )
5339 # 5340 "parser_cocci_menhir.ml"
5340 in
5341 _menhir_env.MenhirLib.EngineTypes.stack <- {
5342 MenhirLib.EngineTypes.state = _menhir_s;
5343 MenhirLib.EngineTypes.semv = Obj.repr _v;
5344 MenhirLib.EngineTypes.startp = _startpos;
5345 MenhirLib.EngineTypes.endp = _endpos;
5346 MenhirLib.EngineTypes.next = _menhir_stack;
5347 });
5348 (fun _menhir_env ->
5349 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5350 let {
5351 MenhirLib.EngineTypes.state = _menhir_s;
5352 MenhirLib.EngineTypes.semv = _1;
5353 MenhirLib.EngineTypes.startp = _startpos__1_;
5354 MenhirLib.EngineTypes.endp = _endpos__1_;
5355 MenhirLib.EngineTypes.next = _menhir_stack;
5356 } = _menhir_stack in
5357 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5358 let _startpos = _startpos__1_ in
5359 let _endpos = _endpos__1_ in
5360 let _v : 'tv_comma_list_meta_ident_ =
5361 # 1984 "parser_cocci_menhir.mly"
5362 ( _1 )
5363 # 5364 "parser_cocci_menhir.ml"
5364 in
5365 _menhir_env.MenhirLib.EngineTypes.stack <- {
5366 MenhirLib.EngineTypes.state = _menhir_s;
5367 MenhirLib.EngineTypes.semv = Obj.repr _v;
5368 MenhirLib.EngineTypes.startp = _startpos;
5369 MenhirLib.EngineTypes.endp = _endpos;
5370 MenhirLib.EngineTypes.next = _menhir_stack;
5371 });
5372 (fun _menhir_env ->
5373 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5374 let {
5375 MenhirLib.EngineTypes.state = _menhir_s;
5376 MenhirLib.EngineTypes.semv = _1;
5377 MenhirLib.EngineTypes.startp = _startpos__1_;
5378 MenhirLib.EngineTypes.endp = _endpos__1_;
5379 MenhirLib.EngineTypes.next = _menhir_stack;
5380 } = _menhir_stack in
5381 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5382 let _startpos = _startpos__1_ in
5383 let _endpos = _endpos__1_ in
5384 let _v : 'tv_comma_list_pure_ident_ =
5385 # 1984 "parser_cocci_menhir.mly"
5386 ( _1 )
5387 # 5388 "parser_cocci_menhir.ml"
5388 in
5389 _menhir_env.MenhirLib.EngineTypes.stack <- {
5390 MenhirLib.EngineTypes.state = _menhir_s;
5391 MenhirLib.EngineTypes.semv = Obj.repr _v;
5392 MenhirLib.EngineTypes.startp = _startpos;
5393 MenhirLib.EngineTypes.endp = _endpos;
5394 MenhirLib.EngineTypes.next = _menhir_stack;
5395 });
5396 (fun _menhir_env ->
5397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5398 let {
5399 MenhirLib.EngineTypes.state = _menhir_s;
5400 MenhirLib.EngineTypes.semv = _1;
5401 MenhirLib.EngineTypes.startp = _startpos__1_;
5402 MenhirLib.EngineTypes.endp = _endpos__1_;
5403 MenhirLib.EngineTypes.next = _menhir_stack;
5404 } = _menhir_stack in
5405 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5406 let _startpos = _startpos__1_ in
5407 let _endpos = _endpos__1_ in
5408 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5409 # 1984 "parser_cocci_menhir.mly"
5410 ( _1 )
5411 # 5412 "parser_cocci_menhir.ml"
5412 in
5413 _menhir_env.MenhirLib.EngineTypes.stack <- {
5414 MenhirLib.EngineTypes.state = _menhir_s;
5415 MenhirLib.EngineTypes.semv = Obj.repr _v;
5416 MenhirLib.EngineTypes.startp = _startpos;
5417 MenhirLib.EngineTypes.endp = _endpos;
5418 MenhirLib.EngineTypes.next = _menhir_stack;
5419 });
5420 (fun _menhir_env ->
5421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5422 let {
5423 MenhirLib.EngineTypes.state = _menhir_s;
5424 MenhirLib.EngineTypes.semv = _1;
5425 MenhirLib.EngineTypes.startp = _startpos__1_;
5426 MenhirLib.EngineTypes.endp = _endpos__1_;
5427 MenhirLib.EngineTypes.next = _menhir_stack;
5428 } = _menhir_stack in
5429 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
5430 let _startpos = _startpos__1_ in
5431 let _endpos = _endpos__1_ in
5432 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
5433 # 1984 "parser_cocci_menhir.mly"
5434 ( _1 )
5435 # 5436 "parser_cocci_menhir.ml"
5436 in
5437 _menhir_env.MenhirLib.EngineTypes.stack <- {
5438 MenhirLib.EngineTypes.state = _menhir_s;
5439 MenhirLib.EngineTypes.semv = Obj.repr _v;
5440 MenhirLib.EngineTypes.startp = _startpos;
5441 MenhirLib.EngineTypes.endp = _endpos;
5442 MenhirLib.EngineTypes.next = _menhir_stack;
5443 });
5444 (fun _menhir_env ->
5445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5446 let {
5447 MenhirLib.EngineTypes.state = _menhir_s;
5448 MenhirLib.EngineTypes.semv = _1;
5449 MenhirLib.EngineTypes.startp = _startpos__1_;
5450 MenhirLib.EngineTypes.endp = _endpos__1_;
5451 MenhirLib.EngineTypes.next = _menhir_stack;
5452 } = _menhir_stack in
5453 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
5454 let _startpos = _startpos__1_ in
5455 let _endpos = _endpos__1_ in
5456 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
5457 # 1984 "parser_cocci_menhir.mly"
5458 ( _1 )
5459 # 5460 "parser_cocci_menhir.ml"
5460 in
5461 _menhir_env.MenhirLib.EngineTypes.stack <- {
5462 MenhirLib.EngineTypes.state = _menhir_s;
5463 MenhirLib.EngineTypes.semv = Obj.repr _v;
5464 MenhirLib.EngineTypes.startp = _startpos;
5465 MenhirLib.EngineTypes.endp = _endpos;
5466 MenhirLib.EngineTypes.next = _menhir_stack;
5467 });
5468 (fun _menhir_env ->
5469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5470 let {
5471 MenhirLib.EngineTypes.state = _menhir_s;
5472 MenhirLib.EngineTypes.semv = _1;
5473 MenhirLib.EngineTypes.startp = _startpos__1_;
5474 MenhirLib.EngineTypes.endp = _endpos__1_;
5475 MenhirLib.EngineTypes.next = _menhir_stack;
5476 } = _menhir_stack in
5477 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
5478 let _startpos = _startpos__1_ in
5479 let _endpos = _endpos__1_ in
5480 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
5481 # 1984 "parser_cocci_menhir.mly"
5482 ( _1 )
5483 # 5484 "parser_cocci_menhir.ml"
5484 in
5485 _menhir_env.MenhirLib.EngineTypes.stack <- {
5486 MenhirLib.EngineTypes.state = _menhir_s;
5487 MenhirLib.EngineTypes.semv = Obj.repr _v;
5488 MenhirLib.EngineTypes.startp = _startpos;
5489 MenhirLib.EngineTypes.endp = _endpos;
5490 MenhirLib.EngineTypes.next = _menhir_stack;
5491 });
5492 (fun _menhir_env ->
5493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5494 let {
5495 MenhirLib.EngineTypes.state = _menhir_s;
5496 MenhirLib.EngineTypes.semv = _1;
5497 MenhirLib.EngineTypes.startp = _startpos__1_;
5498 MenhirLib.EngineTypes.endp = _endpos__1_;
5499 MenhirLib.EngineTypes.next = _menhir_stack;
5500 } = _menhir_stack in
5501 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
5502 let _startpos = _startpos__1_ in
5503 let _endpos = _endpos__1_ in
5504 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
5505 # 1984 "parser_cocci_menhir.mly"
5506 ( _1 )
5507 # 5508 "parser_cocci_menhir.ml"
5508 in
5509 _menhir_env.MenhirLib.EngineTypes.stack <- {
5510 MenhirLib.EngineTypes.state = _menhir_s;
5511 MenhirLib.EngineTypes.semv = Obj.repr _v;
5512 MenhirLib.EngineTypes.startp = _startpos;
5513 MenhirLib.EngineTypes.endp = _endpos;
5514 MenhirLib.EngineTypes.next = _menhir_stack;
5515 });
5516 (fun _menhir_env ->
5517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5518 let {
5519 MenhirLib.EngineTypes.state = _menhir_s;
5520 MenhirLib.EngineTypes.semv = _1;
5521 MenhirLib.EngineTypes.startp = _startpos__1_;
5522 MenhirLib.EngineTypes.endp = _endpos__1_;
5523 MenhirLib.EngineTypes.next = _menhir_stack;
5524 } = _menhir_stack in
5525 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
5526 let _startpos = _startpos__1_ in
5527 let _endpos = _endpos__1_ in
5528 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
5529 # 1984 "parser_cocci_menhir.mly"
5530 ( _1 )
5531 # 5532 "parser_cocci_menhir.ml"
5532 in
5533 _menhir_env.MenhirLib.EngineTypes.stack <- {
5534 MenhirLib.EngineTypes.state = _menhir_s;
5535 MenhirLib.EngineTypes.semv = Obj.repr _v;
5536 MenhirLib.EngineTypes.startp = _startpos;
5537 MenhirLib.EngineTypes.endp = _endpos;
5538 MenhirLib.EngineTypes.next = _menhir_stack;
5539 });
5540 (fun _menhir_env ->
5541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5542 let {
5543 MenhirLib.EngineTypes.state = _menhir_s;
5544 MenhirLib.EngineTypes.semv = _1;
5545 MenhirLib.EngineTypes.startp = _startpos__1_;
5546 MenhirLib.EngineTypes.endp = _endpos__1_;
5547 MenhirLib.EngineTypes.next = _menhir_stack;
5548 } = _menhir_stack in
5549 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
5550 let _startpos = _startpos__1_ in
5551 let _endpos = _endpos__1_ in
5552 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
5553 # 1984 "parser_cocci_menhir.mly"
5554 ( _1 )
5555 # 5556 "parser_cocci_menhir.ml"
5556 in
5557 _menhir_env.MenhirLib.EngineTypes.stack <- {
5558 MenhirLib.EngineTypes.state = _menhir_s;
5559 MenhirLib.EngineTypes.semv = Obj.repr _v;
5560 MenhirLib.EngineTypes.startp = _startpos;
5561 MenhirLib.EngineTypes.endp = _endpos;
5562 MenhirLib.EngineTypes.next = _menhir_stack;
5563 });
5564 (fun _menhir_env ->
5565 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5566 let {
5567 MenhirLib.EngineTypes.state = _menhir_s;
5568 MenhirLib.EngineTypes.semv = _1;
5569 MenhirLib.EngineTypes.startp = _startpos__1_;
5570 MenhirLib.EngineTypes.endp = _endpos__1_;
5571 MenhirLib.EngineTypes.next = _menhir_stack;
5572 } = _menhir_stack in
5573 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
5574 let _startpos = _startpos__1_ in
5575 let _endpos = _endpos__1_ in
5576 let _v : 'tv_comma_list_typedef_ident_ =
5577 # 1984 "parser_cocci_menhir.mly"
5578 ( _1 )
5579 # 5580 "parser_cocci_menhir.ml"
5580 in
5581 _menhir_env.MenhirLib.EngineTypes.stack <- {
5582 MenhirLib.EngineTypes.state = _menhir_s;
5583 MenhirLib.EngineTypes.semv = Obj.repr _v;
5584 MenhirLib.EngineTypes.startp = _startpos;
5585 MenhirLib.EngineTypes.endp = _endpos;
5586 MenhirLib.EngineTypes.next = _menhir_stack;
5587 });
5588 (fun _menhir_env ->
5589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5590 let {
5591 MenhirLib.EngineTypes.state = _menhir_s;
5592 MenhirLib.EngineTypes.semv = _1;
5593 MenhirLib.EngineTypes.startp = _startpos__1_;
5594 MenhirLib.EngineTypes.endp = _endpos__1_;
5595 MenhirLib.EngineTypes.next = _menhir_stack;
5596 } = _menhir_stack in
5597 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5598 let _startpos = _startpos__1_ in
5599 let _endpos = _endpos__1_ in
5600 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5601 # 1307 "parser_cocci_menhir.mly"
5602 ( _1 )
5603 # 5604 "parser_cocci_menhir.ml"
5604 in
5605 _menhir_env.MenhirLib.EngineTypes.stack <- {
5606 MenhirLib.EngineTypes.state = _menhir_s;
5607 MenhirLib.EngineTypes.semv = Obj.repr _v;
5608 MenhirLib.EngineTypes.startp = _startpos;
5609 MenhirLib.EngineTypes.endp = _endpos;
5610 MenhirLib.EngineTypes.next = _menhir_stack;
5611 });
5612 (fun _menhir_env ->
5613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5614 let {
5615 MenhirLib.EngineTypes.semv = r;
5616 MenhirLib.EngineTypes.startp = _startpos_r_;
5617 MenhirLib.EngineTypes.endp = _endpos_r_;
5618 MenhirLib.EngineTypes.next = {
5619 MenhirLib.EngineTypes.semv = dd;
5620 MenhirLib.EngineTypes.startp = _startpos_dd_;
5621 MenhirLib.EngineTypes.endp = _endpos_dd_;
5622 MenhirLib.EngineTypes.next = {
5623 MenhirLib.EngineTypes.semv = t;
5624 MenhirLib.EngineTypes.startp = _startpos_t_;
5625 MenhirLib.EngineTypes.endp = _endpos_t_;
5626 MenhirLib.EngineTypes.next = {
5627 MenhirLib.EngineTypes.semv = w;
5628 MenhirLib.EngineTypes.startp = _startpos_w_;
5629 MenhirLib.EngineTypes.endp = _endpos_w_;
5630 MenhirLib.EngineTypes.next = {
5631 MenhirLib.EngineTypes.state = _menhir_s;
5632 MenhirLib.EngineTypes.semv = l;
5633 MenhirLib.EngineTypes.startp = _startpos_l_;
5634 MenhirLib.EngineTypes.endp = _endpos_l_;
5635 MenhirLib.EngineTypes.next = _menhir_stack;
5636 };
5637 };
5638 };
5639 };
5640 } = _menhir_stack in
5641 let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
5642 let dd : (
5643 # 99 "parser_cocci_menhir.mly"
5644 (Data.clt)
5645 # 5646 "parser_cocci_menhir.ml"
5646 ) = Obj.magic dd in
5647 let t : 'tv_option_eexpr_ = Obj.magic t in
5648 let w : (
5649 # 99 "parser_cocci_menhir.mly"
5650 (Data.clt)
5651 # 5652 "parser_cocci_menhir.ml"
5652 ) = Obj.magic w in
5653 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
5654 let _startpos = _startpos_l_ in
5655 let _endpos = _endpos_r_ in
5656 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5657 # 1309 "parser_cocci_menhir.mly"
5658 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5659 P.clt2mcode ":" dd, r)) )
5660 # 5661 "parser_cocci_menhir.ml"
5661 in
5662 _menhir_env.MenhirLib.EngineTypes.stack <- {
5663 MenhirLib.EngineTypes.state = _menhir_s;
5664 MenhirLib.EngineTypes.semv = Obj.repr _v;
5665 MenhirLib.EngineTypes.startp = _startpos;
5666 MenhirLib.EngineTypes.endp = _endpos;
5667 MenhirLib.EngineTypes.next = _menhir_stack;
5668 });
5669 (fun _menhir_env ->
5670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5671 let {
5672 MenhirLib.EngineTypes.state = _menhir_s;
5673 MenhirLib.EngineTypes.semv = _1;
5674 MenhirLib.EngineTypes.startp = _startpos__1_;
5675 MenhirLib.EngineTypes.endp = _endpos__1_;
5676 MenhirLib.EngineTypes.next = _menhir_stack;
5677 } = _menhir_stack in
5678 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5679 let _startpos = _startpos__1_ in
5680 let _endpos = _endpos__1_ in
5681 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5682 # 1307 "parser_cocci_menhir.mly"
5683 ( _1 )
5684 # 5685 "parser_cocci_menhir.ml"
5685 in
5686 _menhir_env.MenhirLib.EngineTypes.stack <- {
5687 MenhirLib.EngineTypes.state = _menhir_s;
5688 MenhirLib.EngineTypes.semv = Obj.repr _v;
5689 MenhirLib.EngineTypes.startp = _startpos;
5690 MenhirLib.EngineTypes.endp = _endpos;
5691 MenhirLib.EngineTypes.next = _menhir_stack;
5692 });
5693 (fun _menhir_env ->
5694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5695 let {
5696 MenhirLib.EngineTypes.semv = r;
5697 MenhirLib.EngineTypes.startp = _startpos_r_;
5698 MenhirLib.EngineTypes.endp = _endpos_r_;
5699 MenhirLib.EngineTypes.next = {
5700 MenhirLib.EngineTypes.semv = dd;
5701 MenhirLib.EngineTypes.startp = _startpos_dd_;
5702 MenhirLib.EngineTypes.endp = _endpos_dd_;
5703 MenhirLib.EngineTypes.next = {
5704 MenhirLib.EngineTypes.semv = t;
5705 MenhirLib.EngineTypes.startp = _startpos_t_;
5706 MenhirLib.EngineTypes.endp = _endpos_t_;
5707 MenhirLib.EngineTypes.next = {
5708 MenhirLib.EngineTypes.semv = w;
5709 MenhirLib.EngineTypes.startp = _startpos_w_;
5710 MenhirLib.EngineTypes.endp = _endpos_w_;
5711 MenhirLib.EngineTypes.next = {
5712 MenhirLib.EngineTypes.state = _menhir_s;
5713 MenhirLib.EngineTypes.semv = l;
5714 MenhirLib.EngineTypes.startp = _startpos_l_;
5715 MenhirLib.EngineTypes.endp = _endpos_l_;
5716 MenhirLib.EngineTypes.next = _menhir_stack;
5717 };
5718 };
5719 };
5720 };
5721 } = _menhir_stack in
5722 let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
5723 let dd : (
5724 # 99 "parser_cocci_menhir.mly"
5725 (Data.clt)
5726 # 5727 "parser_cocci_menhir.ml"
5727 ) = Obj.magic dd in
5728 let t : 'tv_option_eexpr_ = Obj.magic t in
5729 let w : (
5730 # 99 "parser_cocci_menhir.mly"
5731 (Data.clt)
5732 # 5733 "parser_cocci_menhir.ml"
5733 ) = Obj.magic w in
5734 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
5735 let _startpos = _startpos_l_ in
5736 let _endpos = _endpos_r_ in
5737 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5738 # 1309 "parser_cocci_menhir.mly"
5739 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5740 P.clt2mcode ":" dd, r)) )
5741 # 5742 "parser_cocci_menhir.ml"
5742 in
5743 _menhir_env.MenhirLib.EngineTypes.stack <- {
5744 MenhirLib.EngineTypes.state = _menhir_s;
5745 MenhirLib.EngineTypes.semv = Obj.repr _v;
5746 MenhirLib.EngineTypes.startp = _startpos;
5747 MenhirLib.EngineTypes.endp = _endpos;
5748 MenhirLib.EngineTypes.next = _menhir_stack;
5749 });
5750 (fun _menhir_env ->
5751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5752 let {
5753 MenhirLib.EngineTypes.state = _menhir_s;
5754 MenhirLib.EngineTypes.semv = _1;
5755 MenhirLib.EngineTypes.startp = _startpos__1_;
5756 MenhirLib.EngineTypes.endp = _endpos__1_;
5757 MenhirLib.EngineTypes.next = _menhir_stack;
5758 } = _menhir_stack in
5759 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
5760 let _startpos = _startpos__1_ in
5761 let _endpos = _endpos__1_ in
5762 let _v : 'tv_cond_expr_expr_invalid_ =
5763 # 1307 "parser_cocci_menhir.mly"
5764 ( _1 )
5765 # 5766 "parser_cocci_menhir.ml"
5766 in
5767 _menhir_env.MenhirLib.EngineTypes.stack <- {
5768 MenhirLib.EngineTypes.state = _menhir_s;
5769 MenhirLib.EngineTypes.semv = Obj.repr _v;
5770 MenhirLib.EngineTypes.startp = _startpos;
5771 MenhirLib.EngineTypes.endp = _endpos;
5772 MenhirLib.EngineTypes.next = _menhir_stack;
5773 });
5774 (fun _menhir_env ->
5775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5776 let {
5777 MenhirLib.EngineTypes.semv = r;
5778 MenhirLib.EngineTypes.startp = _startpos_r_;
5779 MenhirLib.EngineTypes.endp = _endpos_r_;
5780 MenhirLib.EngineTypes.next = {
5781 MenhirLib.EngineTypes.semv = dd;
5782 MenhirLib.EngineTypes.startp = _startpos_dd_;
5783 MenhirLib.EngineTypes.endp = _endpos_dd_;
5784 MenhirLib.EngineTypes.next = {
5785 MenhirLib.EngineTypes.semv = t;
5786 MenhirLib.EngineTypes.startp = _startpos_t_;
5787 MenhirLib.EngineTypes.endp = _endpos_t_;
5788 MenhirLib.EngineTypes.next = {
5789 MenhirLib.EngineTypes.semv = w;
5790 MenhirLib.EngineTypes.startp = _startpos_w_;
5791 MenhirLib.EngineTypes.endp = _endpos_w_;
5792 MenhirLib.EngineTypes.next = {
5793 MenhirLib.EngineTypes.state = _menhir_s;
5794 MenhirLib.EngineTypes.semv = l;
5795 MenhirLib.EngineTypes.startp = _startpos_l_;
5796 MenhirLib.EngineTypes.endp = _endpos_l_;
5797 MenhirLib.EngineTypes.next = _menhir_stack;
5798 };
5799 };
5800 };
5801 };
5802 } = _menhir_stack in
5803 let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
5804 let dd : (
5805 # 99 "parser_cocci_menhir.mly"
5806 (Data.clt)
5807 # 5808 "parser_cocci_menhir.ml"
5808 ) = Obj.magic dd in
5809 let t : 'tv_option_eexpr_ = Obj.magic t in
5810 let w : (
5811 # 99 "parser_cocci_menhir.mly"
5812 (Data.clt)
5813 # 5814 "parser_cocci_menhir.ml"
5814 ) = Obj.magic w in
5815 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
5816 let _startpos = _startpos_l_ in
5817 let _endpos = _endpos_r_ in
5818 let _v : 'tv_cond_expr_expr_invalid_ =
5819 # 1309 "parser_cocci_menhir.mly"
5820 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5821 P.clt2mcode ":" dd, r)) )
5822 # 5823 "parser_cocci_menhir.ml"
5823 in
5824 _menhir_env.MenhirLib.EngineTypes.stack <- {
5825 MenhirLib.EngineTypes.state = _menhir_s;
5826 MenhirLib.EngineTypes.semv = Obj.repr _v;
5827 MenhirLib.EngineTypes.startp = _startpos;
5828 MenhirLib.EngineTypes.endp = _endpos;
5829 MenhirLib.EngineTypes.next = _menhir_stack;
5830 });
5831 (fun _menhir_env ->
5832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5833 let {
5834 MenhirLib.EngineTypes.state = _menhir_s;
5835 MenhirLib.EngineTypes.semv = _1;
5836 MenhirLib.EngineTypes.startp = _startpos__1_;
5837 MenhirLib.EngineTypes.endp = _endpos__1_;
5838 MenhirLib.EngineTypes.next = _menhir_stack;
5839 } = _menhir_stack in
5840 let _1 : (
5841 # 76 "parser_cocci_menhir.mly"
5842 (Data.clt)
5843 # 5844 "parser_cocci_menhir.ml"
5844 ) = Obj.magic _1 in
5845 let _startpos = _startpos__1_ in
5846 let _endpos = _endpos__1_ in
5847 let _v : 'tv_const_vol =
5848 # 893 "parser_cocci_menhir.mly"
5849 ( P.clt2mcode Ast.Const _1 )
5850 # 5851 "parser_cocci_menhir.ml"
5851 in
5852 _menhir_env.MenhirLib.EngineTypes.stack <- {
5853 MenhirLib.EngineTypes.state = _menhir_s;
5854 MenhirLib.EngineTypes.semv = Obj.repr _v;
5855 MenhirLib.EngineTypes.startp = _startpos;
5856 MenhirLib.EngineTypes.endp = _endpos;
5857 MenhirLib.EngineTypes.next = _menhir_stack;
5858 });
5859 (fun _menhir_env ->
5860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5861 let {
5862 MenhirLib.EngineTypes.state = _menhir_s;
5863 MenhirLib.EngineTypes.semv = _1;
5864 MenhirLib.EngineTypes.startp = _startpos__1_;
5865 MenhirLib.EngineTypes.endp = _endpos__1_;
5866 MenhirLib.EngineTypes.next = _menhir_stack;
5867 } = _menhir_stack in
5868 let _1 : (
5869 # 76 "parser_cocci_menhir.mly"
5870 (Data.clt)
5871 # 5872 "parser_cocci_menhir.ml"
5872 ) = Obj.magic _1 in
5873 let _startpos = _startpos__1_ in
5874 let _endpos = _endpos__1_ in
5875 let _v : 'tv_const_vol =
5876 # 894 "parser_cocci_menhir.mly"
5877 ( P.clt2mcode Ast.Volatile _1 )
5878 # 5879 "parser_cocci_menhir.ml"
5879 in
5880 _menhir_env.MenhirLib.EngineTypes.stack <- {
5881 MenhirLib.EngineTypes.state = _menhir_s;
5882 MenhirLib.EngineTypes.semv = Obj.repr _v;
5883 MenhirLib.EngineTypes.startp = _startpos;
5884 MenhirLib.EngineTypes.endp = _endpos;
5885 MenhirLib.EngineTypes.next = _menhir_stack;
5886 });
5887 (fun _menhir_env ->
5888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5889 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5890 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5891 let _endpos = _startpos in
5892 let _v : 'tv_continue_struct_decl_list =
5893 # 643 "parser_cocci_menhir.mly"
5894 ( [] )
5895 # 5896 "parser_cocci_menhir.ml"
5896 in
5897 _menhir_env.MenhirLib.EngineTypes.stack <- {
5898 MenhirLib.EngineTypes.state = _menhir_s;
5899 MenhirLib.EngineTypes.semv = Obj.repr _v;
5900 MenhirLib.EngineTypes.startp = _startpos;
5901 MenhirLib.EngineTypes.endp = _endpos;
5902 MenhirLib.EngineTypes.next = _menhir_stack;
5903 });
5904 (fun _menhir_env ->
5905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5906 let {
5907 MenhirLib.EngineTypes.semv = _2;
5908 MenhirLib.EngineTypes.startp = _startpos__2_;
5909 MenhirLib.EngineTypes.endp = _endpos__2_;
5910 MenhirLib.EngineTypes.next = {
5911 MenhirLib.EngineTypes.state = _menhir_s;
5912 MenhirLib.EngineTypes.semv = _1;
5913 MenhirLib.EngineTypes.startp = _startpos__1_;
5914 MenhirLib.EngineTypes.endp = _endpos__1_;
5915 MenhirLib.EngineTypes.next = _menhir_stack;
5916 };
5917 } = _menhir_stack in
5918 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
5919 let _1 : 'tv_struct_decl = Obj.magic _1 in
5920 let _startpos = _startpos__1_ in
5921 let _endpos = _endpos__2_ in
5922 let _v : 'tv_continue_struct_decl_list =
5923 # 644 "parser_cocci_menhir.mly"
5924 ( _1@_2 )
5925 # 5926 "parser_cocci_menhir.ml"
5926 in
5927 _menhir_env.MenhirLib.EngineTypes.stack <- {
5928 MenhirLib.EngineTypes.state = _menhir_s;
5929 MenhirLib.EngineTypes.semv = Obj.repr _v;
5930 MenhirLib.EngineTypes.startp = _startpos;
5931 MenhirLib.EngineTypes.endp = _endpos;
5932 MenhirLib.EngineTypes.next = _menhir_stack;
5933 });
5934 (fun _menhir_env ->
5935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5936 let {
5937 MenhirLib.EngineTypes.state = _menhir_s;
5938 MenhirLib.EngineTypes.semv = _1;
5939 MenhirLib.EngineTypes.startp = _startpos__1_;
5940 MenhirLib.EngineTypes.endp = _endpos__1_;
5941 MenhirLib.EngineTypes.next = _menhir_stack;
5942 } = _menhir_stack in
5943 let _1 : 'tv_struct_decl = Obj.magic _1 in
5944 let _startpos = _startpos__1_ in
5945 let _endpos = _endpos__1_ in
5946 let _v : 'tv_continue_struct_decl_list =
5947 # 645 "parser_cocci_menhir.mly"
5948 ( _1 )
5949 # 5950 "parser_cocci_menhir.ml"
5950 in
5951 _menhir_env.MenhirLib.EngineTypes.stack <- {
5952 MenhirLib.EngineTypes.state = _menhir_s;
5953 MenhirLib.EngineTypes.semv = Obj.repr _v;
5954 MenhirLib.EngineTypes.startp = _startpos;
5955 MenhirLib.EngineTypes.endp = _endpos;
5956 MenhirLib.EngineTypes.next = _menhir_stack;
5957 });
5958 (fun _menhir_env ->
5959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5960 let {
5961 MenhirLib.EngineTypes.semv = m;
5962 MenhirLib.EngineTypes.startp = _startpos_m_;
5963 MenhirLib.EngineTypes.endp = _endpos_m_;
5964 MenhirLib.EngineTypes.next = {
5965 MenhirLib.EngineTypes.semv = ty00;
5966 MenhirLib.EngineTypes.startp = _startpos_ty00_;
5967 MenhirLib.EngineTypes.endp = _endpos_ty00_;
5968 MenhirLib.EngineTypes.next = {
5969 MenhirLib.EngineTypes.state = _menhir_s;
5970 MenhirLib.EngineTypes.semv = r0;
5971 MenhirLib.EngineTypes.startp = _startpos_r0_;
5972 MenhirLib.EngineTypes.endp = _endpos_r0_;
5973 MenhirLib.EngineTypes.next = _menhir_stack;
5974 };
5975 };
5976 } = _menhir_stack in
5977 let m : 'tv_list_TMul_ = Obj.magic m in
5978 let ty00 : (
5979 # 71 "parser_cocci_menhir.mly"
5980 (Data.clt)
5981 # 5982 "parser_cocci_menhir.ml"
5982 ) = Obj.magic ty00 in
5983 let r0 : (
5984 # 73 "parser_cocci_menhir.mly"
5985 (Data.clt)
5986 # 5987 "parser_cocci_menhir.ml"
5987 ) = Obj.magic r0 in
5988 let _startpos = _startpos_r0_ in
5989 let _endpos = _endpos_m_ in
5990 let _v : 'tv_ctype = let ty =
5991 let ty0 = ty00 in
5992 let r = r0 in
5993 let ty =
5994 let ty = ty0 in
5995
5996 # 529 "parser_cocci_menhir.mly"
5997 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
5998 # 5999 "parser_cocci_menhir.ml"
5999
6000 in
6001
6002 # 581 "parser_cocci_menhir.mly"
6003 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6004 # 6005 "parser_cocci_menhir.ml"
6005
6006 in
6007 let cv =
6008
6009 # 39 "standard.mly"
6010 ( None )
6011 # 6012 "parser_cocci_menhir.ml"
6012
6013 in
6014
6015 # 589 "parser_cocci_menhir.mly"
6016 ( P.pointerify (P.make_cv cv ty) m )
6017 # 6018 "parser_cocci_menhir.ml"
6018 in
6019 _menhir_env.MenhirLib.EngineTypes.stack <- {
6020 MenhirLib.EngineTypes.state = _menhir_s;
6021 MenhirLib.EngineTypes.semv = Obj.repr _v;
6022 MenhirLib.EngineTypes.startp = _startpos;
6023 MenhirLib.EngineTypes.endp = _endpos;
6024 MenhirLib.EngineTypes.next = _menhir_stack;
6025 });
6026 (fun _menhir_env ->
6027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6028 let {
6029 MenhirLib.EngineTypes.semv = m;
6030 MenhirLib.EngineTypes.startp = _startpos_m_;
6031 MenhirLib.EngineTypes.endp = _endpos_m_;
6032 MenhirLib.EngineTypes.next = {
6033 MenhirLib.EngineTypes.semv = ty00;
6034 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6035 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6036 MenhirLib.EngineTypes.next = {
6037 MenhirLib.EngineTypes.state = _menhir_s;
6038 MenhirLib.EngineTypes.semv = r0;
6039 MenhirLib.EngineTypes.startp = _startpos_r0_;
6040 MenhirLib.EngineTypes.endp = _endpos_r0_;
6041 MenhirLib.EngineTypes.next = _menhir_stack;
6042 };
6043 };
6044 } = _menhir_stack in
6045 let m : 'tv_list_TMul_ = Obj.magic m in
6046 let ty00 : (
6047 # 71 "parser_cocci_menhir.mly"
6048 (Data.clt)
6049 # 6050 "parser_cocci_menhir.ml"
6050 ) = Obj.magic ty00 in
6051 let r0 : (
6052 # 73 "parser_cocci_menhir.mly"
6053 (Data.clt)
6054 # 6055 "parser_cocci_menhir.ml"
6055 ) = Obj.magic r0 in
6056 let _startpos = _startpos_r0_ in
6057 let _endpos = _endpos_m_ in
6058 let _v : 'tv_ctype = let ty =
6059 let ty0 = ty00 in
6060 let r = r0 in
6061 let ty =
6062 let ty = ty0 in
6063
6064 # 531 "parser_cocci_menhir.mly"
6065 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6066 # 6067 "parser_cocci_menhir.ml"
6067
6068 in
6069
6070 # 581 "parser_cocci_menhir.mly"
6071 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6072 # 6073 "parser_cocci_menhir.ml"
6073
6074 in
6075 let cv =
6076
6077 # 39 "standard.mly"
6078 ( None )
6079 # 6080 "parser_cocci_menhir.ml"
6080
6081 in
6082
6083 # 589 "parser_cocci_menhir.mly"
6084 ( P.pointerify (P.make_cv cv ty) m )
6085 # 6086 "parser_cocci_menhir.ml"
6086 in
6087 _menhir_env.MenhirLib.EngineTypes.stack <- {
6088 MenhirLib.EngineTypes.state = _menhir_s;
6089 MenhirLib.EngineTypes.semv = Obj.repr _v;
6090 MenhirLib.EngineTypes.startp = _startpos;
6091 MenhirLib.EngineTypes.endp = _endpos;
6092 MenhirLib.EngineTypes.next = _menhir_stack;
6093 });
6094 (fun _menhir_env ->
6095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6096 let {
6097 MenhirLib.EngineTypes.semv = m;
6098 MenhirLib.EngineTypes.startp = _startpos_m_;
6099 MenhirLib.EngineTypes.endp = _endpos_m_;
6100 MenhirLib.EngineTypes.next = {
6101 MenhirLib.EngineTypes.semv = ty00;
6102 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6103 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6104 MenhirLib.EngineTypes.next = {
6105 MenhirLib.EngineTypes.state = _menhir_s;
6106 MenhirLib.EngineTypes.semv = r0;
6107 MenhirLib.EngineTypes.startp = _startpos_r0_;
6108 MenhirLib.EngineTypes.endp = _endpos_r0_;
6109 MenhirLib.EngineTypes.next = _menhir_stack;
6110 };
6111 };
6112 } = _menhir_stack in
6113 let m : 'tv_list_TMul_ = Obj.magic m in
6114 let ty00 : (
6115 # 71 "parser_cocci_menhir.mly"
6116 (Data.clt)
6117 # 6118 "parser_cocci_menhir.ml"
6118 ) = Obj.magic ty00 in
6119 let r0 : (
6120 # 73 "parser_cocci_menhir.mly"
6121 (Data.clt)
6122 # 6123 "parser_cocci_menhir.ml"
6123 ) = Obj.magic r0 in
6124 let _startpos = _startpos_r0_ in
6125 let _endpos = _endpos_m_ in
6126 let _v : 'tv_ctype = let ty =
6127 let ty0 = ty00 in
6128 let r = r0 in
6129 let ty =
6130 let ty = ty0 in
6131
6132 # 533 "parser_cocci_menhir.mly"
6133 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6134 # 6135 "parser_cocci_menhir.ml"
6135
6136 in
6137
6138 # 581 "parser_cocci_menhir.mly"
6139 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6140 # 6141 "parser_cocci_menhir.ml"
6141
6142 in
6143 let cv =
6144
6145 # 39 "standard.mly"
6146 ( None )
6147 # 6148 "parser_cocci_menhir.ml"
6148
6149 in
6150
6151 # 589 "parser_cocci_menhir.mly"
6152 ( P.pointerify (P.make_cv cv ty) m )
6153 # 6154 "parser_cocci_menhir.ml"
6154 in
6155 _menhir_env.MenhirLib.EngineTypes.stack <- {
6156 MenhirLib.EngineTypes.state = _menhir_s;
6157 MenhirLib.EngineTypes.semv = Obj.repr _v;
6158 MenhirLib.EngineTypes.startp = _startpos;
6159 MenhirLib.EngineTypes.endp = _endpos;
6160 MenhirLib.EngineTypes.next = _menhir_stack;
6161 });
6162 (fun _menhir_env ->
6163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6164 let {
6165 MenhirLib.EngineTypes.semv = m;
6166 MenhirLib.EngineTypes.startp = _startpos_m_;
6167 MenhirLib.EngineTypes.endp = _endpos_m_;
6168 MenhirLib.EngineTypes.next = {
6169 MenhirLib.EngineTypes.semv = p00;
6170 MenhirLib.EngineTypes.startp = _startpos_p00_;
6171 MenhirLib.EngineTypes.endp = _endpos_p00_;
6172 MenhirLib.EngineTypes.next = {
6173 MenhirLib.EngineTypes.state = _menhir_s;
6174 MenhirLib.EngineTypes.semv = r0;
6175 MenhirLib.EngineTypes.startp = _startpos_r0_;
6176 MenhirLib.EngineTypes.endp = _endpos_r0_;
6177 MenhirLib.EngineTypes.next = _menhir_stack;
6178 };
6179 };
6180 } = _menhir_stack in
6181 let m : 'tv_list_TMul_ = Obj.magic m in
6182 let p00 : (
6183 # 87 "parser_cocci_menhir.mly"
6184 (Parse_aux.info)
6185 # 6186 "parser_cocci_menhir.ml"
6186 ) = Obj.magic p00 in
6187 let r0 : (
6188 # 73 "parser_cocci_menhir.mly"
6189 (Data.clt)
6190 # 6191 "parser_cocci_menhir.ml"
6191 ) = Obj.magic r0 in
6192 let _startpos = _startpos_r0_ in
6193 let _endpos = _endpos_m_ in
6194 let _v : 'tv_ctype = let ty =
6195 let p0 = p00 in
6196 let r = r0 in
6197 let ty =
6198 let p = p0 in
6199
6200 # 535 "parser_cocci_menhir.mly"
6201 ( let (nm,pure,clt) = p in
6202 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6203 # 6204 "parser_cocci_menhir.ml"
6204
6205 in
6206
6207 # 581 "parser_cocci_menhir.mly"
6208 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6209 # 6210 "parser_cocci_menhir.ml"
6210
6211 in
6212 let cv =
6213
6214 # 39 "standard.mly"
6215 ( None )
6216 # 6217 "parser_cocci_menhir.ml"
6217
6218 in
6219
6220 # 589 "parser_cocci_menhir.mly"
6221 ( P.pointerify (P.make_cv cv ty) m )
6222 # 6223 "parser_cocci_menhir.ml"
6223 in
6224 _menhir_env.MenhirLib.EngineTypes.stack <- {
6225 MenhirLib.EngineTypes.state = _menhir_s;
6226 MenhirLib.EngineTypes.semv = Obj.repr _v;
6227 MenhirLib.EngineTypes.startp = _startpos;
6228 MenhirLib.EngineTypes.endp = _endpos;
6229 MenhirLib.EngineTypes.next = _menhir_stack;
6230 });
6231 (fun _menhir_env ->
6232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6233 let {
6234 MenhirLib.EngineTypes.semv = m;
6235 MenhirLib.EngineTypes.startp = _startpos_m_;
6236 MenhirLib.EngineTypes.endp = _endpos_m_;
6237 MenhirLib.EngineTypes.next = {
6238 MenhirLib.EngineTypes.semv = p00;
6239 MenhirLib.EngineTypes.startp = _startpos_p00_;
6240 MenhirLib.EngineTypes.endp = _endpos_p00_;
6241 MenhirLib.EngineTypes.next = {
6242 MenhirLib.EngineTypes.startp = _startpos__3_;
6243 MenhirLib.EngineTypes.endp = _endpos__3_;
6244 MenhirLib.EngineTypes.next = {
6245 MenhirLib.EngineTypes.semv = r00;
6246 MenhirLib.EngineTypes.startp = _startpos_r00_;
6247 MenhirLib.EngineTypes.endp = _endpos_r00_;
6248 MenhirLib.EngineTypes.next = {
6249 MenhirLib.EngineTypes.state = _menhir_s;
6250 MenhirLib.EngineTypes.semv = r1;
6251 MenhirLib.EngineTypes.startp = _startpos_r1_;
6252 MenhirLib.EngineTypes.endp = _endpos_r1_;
6253 MenhirLib.EngineTypes.next = _menhir_stack;
6254 };
6255 };
6256 };
6257 };
6258 } = _menhir_stack in
6259 let m : 'tv_list_TMul_ = Obj.magic m in
6260 let p00 : (
6261 # 81 "parser_cocci_menhir.mly"
6262 (string * Data.clt)
6263 # 6264 "parser_cocci_menhir.ml"
6264 ) = Obj.magic p00 in
6265 let r00 : (
6266 # 69 "parser_cocci_menhir.mly"
6267 (string)
6268 # 6269 "parser_cocci_menhir.ml"
6269 ) = Obj.magic r00 in
6270 let r1 : (
6271 # 73 "parser_cocci_menhir.mly"
6272 (Data.clt)
6273 # 6274 "parser_cocci_menhir.ml"
6274 ) = Obj.magic r1 in
6275 let _startpos = _startpos_r1_ in
6276 let _endpos = _endpos_m_ in
6277 let _v : 'tv_ctype = let ty =
6278 let p0 = p00 in
6279 let r0 = r00 in
6280 let r = r1 in
6281 let ty =
6282 let p = p0 in
6283 let r = r0 in
6284
6285 # 538 "parser_cocci_menhir.mly"
6286 ( let nm = (r,P.id2name p) in
6287 (* this is only possible when we are in a metavar decl. Otherwise,
6288 it will be represented already as a MetaType *)
6289 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6290 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6291 Ast0.Impure (*will be ignored*))) )
6292 # 6293 "parser_cocci_menhir.ml"
6293
6294 in
6295
6296 # 581 "parser_cocci_menhir.mly"
6297 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6298 # 6299 "parser_cocci_menhir.ml"
6299
6300 in
6301 let cv =
6302
6303 # 39 "standard.mly"
6304 ( None )
6305 # 6306 "parser_cocci_menhir.ml"
6306
6307 in
6308
6309 # 589 "parser_cocci_menhir.mly"
6310 ( P.pointerify (P.make_cv cv ty) m )
6311 # 6312 "parser_cocci_menhir.ml"
6312 in
6313 _menhir_env.MenhirLib.EngineTypes.stack <- {
6314 MenhirLib.EngineTypes.state = _menhir_s;
6315 MenhirLib.EngineTypes.semv = Obj.repr _v;
6316 MenhirLib.EngineTypes.startp = _startpos;
6317 MenhirLib.EngineTypes.endp = _endpos;
6318 MenhirLib.EngineTypes.next = _menhir_stack;
6319 });
6320 (fun _menhir_env ->
6321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6322 let {
6323 MenhirLib.EngineTypes.semv = m;
6324 MenhirLib.EngineTypes.startp = _startpos_m_;
6325 MenhirLib.EngineTypes.endp = _endpos_m_;
6326 MenhirLib.EngineTypes.next = {
6327 MenhirLib.EngineTypes.semv = ty00;
6328 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6329 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6330 MenhirLib.EngineTypes.next = {
6331 MenhirLib.EngineTypes.state = _menhir_s;
6332 MenhirLib.EngineTypes.semv = r0;
6333 MenhirLib.EngineTypes.startp = _startpos_r0_;
6334 MenhirLib.EngineTypes.endp = _endpos_r0_;
6335 MenhirLib.EngineTypes.next = _menhir_stack;
6336 };
6337 };
6338 } = _menhir_stack in
6339 let m : 'tv_list_TMul_ = Obj.magic m in
6340 let ty00 : (
6341 # 71 "parser_cocci_menhir.mly"
6342 (Data.clt)
6343 # 6344 "parser_cocci_menhir.ml"
6344 ) = Obj.magic ty00 in
6345 let r0 : (
6346 # 73 "parser_cocci_menhir.mly"
6347 (Data.clt)
6348 # 6349 "parser_cocci_menhir.ml"
6349 ) = Obj.magic r0 in
6350 let _startpos = _startpos_r0_ in
6351 let _endpos = _endpos_m_ in
6352 let _v : 'tv_ctype = let ty =
6353 let ty0 = ty00 in
6354 let r = r0 in
6355 let ty =
6356 let ty = ty0 in
6357
6358 # 545 "parser_cocci_menhir.mly"
6359 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6360 # 6361 "parser_cocci_menhir.ml"
6361
6362 in
6363
6364 # 581 "parser_cocci_menhir.mly"
6365 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6366 # 6367 "parser_cocci_menhir.ml"
6367
6368 in
6369 let cv =
6370
6371 # 39 "standard.mly"
6372 ( None )
6373 # 6374 "parser_cocci_menhir.ml"
6374
6375 in
6376
6377 # 589 "parser_cocci_menhir.mly"
6378 ( P.pointerify (P.make_cv cv ty) m )
6379 # 6380 "parser_cocci_menhir.ml"
6380 in
6381 _menhir_env.MenhirLib.EngineTypes.stack <- {
6382 MenhirLib.EngineTypes.state = _menhir_s;
6383 MenhirLib.EngineTypes.semv = Obj.repr _v;
6384 MenhirLib.EngineTypes.startp = _startpos;
6385 MenhirLib.EngineTypes.endp = _endpos;
6386 MenhirLib.EngineTypes.next = _menhir_stack;
6387 });
6388 (fun _menhir_env ->
6389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6390 let {
6391 MenhirLib.EngineTypes.semv = m;
6392 MenhirLib.EngineTypes.startp = _startpos_m_;
6393 MenhirLib.EngineTypes.endp = _endpos_m_;
6394 MenhirLib.EngineTypes.next = {
6395 MenhirLib.EngineTypes.semv = ty200;
6396 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6397 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6398 MenhirLib.EngineTypes.next = {
6399 MenhirLib.EngineTypes.semv = ty100;
6400 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6401 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6402 MenhirLib.EngineTypes.next = {
6403 MenhirLib.EngineTypes.state = _menhir_s;
6404 MenhirLib.EngineTypes.semv = r0;
6405 MenhirLib.EngineTypes.startp = _startpos_r0_;
6406 MenhirLib.EngineTypes.endp = _endpos_r0_;
6407 MenhirLib.EngineTypes.next = _menhir_stack;
6408 };
6409 };
6410 };
6411 } = _menhir_stack in
6412 let m : 'tv_list_TMul_ = Obj.magic m in
6413 let ty200 : (
6414 # 71 "parser_cocci_menhir.mly"
6415 (Data.clt)
6416 # 6417 "parser_cocci_menhir.ml"
6417 ) = Obj.magic ty200 in
6418 let ty100 : (
6419 # 71 "parser_cocci_menhir.mly"
6420 (Data.clt)
6421 # 6422 "parser_cocci_menhir.ml"
6422 ) = Obj.magic ty100 in
6423 let r0 : (
6424 # 73 "parser_cocci_menhir.mly"
6425 (Data.clt)
6426 # 6427 "parser_cocci_menhir.ml"
6427 ) = Obj.magic r0 in
6428 let _startpos = _startpos_r0_ in
6429 let _endpos = _endpos_m_ in
6430 let _v : 'tv_ctype = let ty =
6431 let ty20 = ty200 in
6432 let ty10 = ty100 in
6433 let r = r0 in
6434 let ty =
6435 let ty2 = ty20 in
6436 let ty1 = ty10 in
6437
6438 # 547 "parser_cocci_menhir.mly"
6439 ( Ast0.wrap
6440 (Ast0.BaseType
6441 (Ast.LongLongType,
6442 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6443 # 6444 "parser_cocci_menhir.ml"
6444
6445 in
6446
6447 # 581 "parser_cocci_menhir.mly"
6448 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6449 # 6450 "parser_cocci_menhir.ml"
6450
6451 in
6452 let cv =
6453
6454 # 39 "standard.mly"
6455 ( None )
6456 # 6457 "parser_cocci_menhir.ml"
6457
6458 in
6459
6460 # 589 "parser_cocci_menhir.mly"
6461 ( P.pointerify (P.make_cv cv ty) m )
6462 # 6463 "parser_cocci_menhir.ml"
6463 in
6464 _menhir_env.MenhirLib.EngineTypes.stack <- {
6465 MenhirLib.EngineTypes.state = _menhir_s;
6466 MenhirLib.EngineTypes.semv = Obj.repr _v;
6467 MenhirLib.EngineTypes.startp = _startpos;
6468 MenhirLib.EngineTypes.endp = _endpos;
6469 MenhirLib.EngineTypes.next = _menhir_stack;
6470 });
6471 (fun _menhir_env ->
6472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6473 let {
6474 MenhirLib.EngineTypes.semv = m;
6475 MenhirLib.EngineTypes.startp = _startpos_m_;
6476 MenhirLib.EngineTypes.endp = _endpos_m_;
6477 MenhirLib.EngineTypes.next = {
6478 MenhirLib.EngineTypes.semv = ty00;
6479 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6480 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6481 MenhirLib.EngineTypes.next = {
6482 MenhirLib.EngineTypes.state = _menhir_s;
6483 MenhirLib.EngineTypes.semv = r0;
6484 MenhirLib.EngineTypes.startp = _startpos_r0_;
6485 MenhirLib.EngineTypes.endp = _endpos_r0_;
6486 MenhirLib.EngineTypes.next = _menhir_stack;
6487 };
6488 };
6489 } = _menhir_stack in
6490 let m : 'tv_list_TMul_ = Obj.magic m in
6491 let ty00 : (
6492 # 71 "parser_cocci_menhir.mly"
6493 (Data.clt)
6494 # 6495 "parser_cocci_menhir.ml"
6495 ) = Obj.magic ty00 in
6496 let r0 : (
6497 # 73 "parser_cocci_menhir.mly"
6498 (Data.clt)
6499 # 6500 "parser_cocci_menhir.ml"
6500 ) = Obj.magic r0 in
6501 let _startpos = _startpos_r0_ in
6502 let _endpos = _endpos_m_ in
6503 let _v : 'tv_ctype = let ty =
6504 let ty0 = ty00 in
6505 let r = r0 in
6506 let ty =
6507 let ty = ty0 in
6508
6509 # 529 "parser_cocci_menhir.mly"
6510 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6511 # 6512 "parser_cocci_menhir.ml"
6512
6513 in
6514
6515 # 583 "parser_cocci_menhir.mly"
6516 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6517 # 6518 "parser_cocci_menhir.ml"
6518
6519 in
6520 let cv =
6521
6522 # 39 "standard.mly"
6523 ( None )
6524 # 6525 "parser_cocci_menhir.ml"
6525
6526 in
6527
6528 # 589 "parser_cocci_menhir.mly"
6529 ( P.pointerify (P.make_cv cv ty) m )
6530 # 6531 "parser_cocci_menhir.ml"
6531 in
6532 _menhir_env.MenhirLib.EngineTypes.stack <- {
6533 MenhirLib.EngineTypes.state = _menhir_s;
6534 MenhirLib.EngineTypes.semv = Obj.repr _v;
6535 MenhirLib.EngineTypes.startp = _startpos;
6536 MenhirLib.EngineTypes.endp = _endpos;
6537 MenhirLib.EngineTypes.next = _menhir_stack;
6538 });
6539 (fun _menhir_env ->
6540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6541 let {
6542 MenhirLib.EngineTypes.semv = m;
6543 MenhirLib.EngineTypes.startp = _startpos_m_;
6544 MenhirLib.EngineTypes.endp = _endpos_m_;
6545 MenhirLib.EngineTypes.next = {
6546 MenhirLib.EngineTypes.semv = ty00;
6547 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6548 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6549 MenhirLib.EngineTypes.next = {
6550 MenhirLib.EngineTypes.state = _menhir_s;
6551 MenhirLib.EngineTypes.semv = r0;
6552 MenhirLib.EngineTypes.startp = _startpos_r0_;
6553 MenhirLib.EngineTypes.endp = _endpos_r0_;
6554 MenhirLib.EngineTypes.next = _menhir_stack;
6555 };
6556 };
6557 } = _menhir_stack in
6558 let m : 'tv_list_TMul_ = Obj.magic m in
6559 let ty00 : (
6560 # 71 "parser_cocci_menhir.mly"
6561 (Data.clt)
6562 # 6563 "parser_cocci_menhir.ml"
6563 ) = Obj.magic ty00 in
6564 let r0 : (
6565 # 73 "parser_cocci_menhir.mly"
6566 (Data.clt)
6567 # 6568 "parser_cocci_menhir.ml"
6568 ) = Obj.magic r0 in
6569 let _startpos = _startpos_r0_ in
6570 let _endpos = _endpos_m_ in
6571 let _v : 'tv_ctype = let ty =
6572 let ty0 = ty00 in
6573 let r = r0 in
6574 let ty =
6575 let ty = ty0 in
6576
6577 # 531 "parser_cocci_menhir.mly"
6578 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6579 # 6580 "parser_cocci_menhir.ml"
6580
6581 in
6582
6583 # 583 "parser_cocci_menhir.mly"
6584 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6585 # 6586 "parser_cocci_menhir.ml"
6586
6587 in
6588 let cv =
6589
6590 # 39 "standard.mly"
6591 ( None )
6592 # 6593 "parser_cocci_menhir.ml"
6593
6594 in
6595
6596 # 589 "parser_cocci_menhir.mly"
6597 ( P.pointerify (P.make_cv cv ty) m )
6598 # 6599 "parser_cocci_menhir.ml"
6599 in
6600 _menhir_env.MenhirLib.EngineTypes.stack <- {
6601 MenhirLib.EngineTypes.state = _menhir_s;
6602 MenhirLib.EngineTypes.semv = Obj.repr _v;
6603 MenhirLib.EngineTypes.startp = _startpos;
6604 MenhirLib.EngineTypes.endp = _endpos;
6605 MenhirLib.EngineTypes.next = _menhir_stack;
6606 });
6607 (fun _menhir_env ->
6608 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6609 let {
6610 MenhirLib.EngineTypes.semv = m;
6611 MenhirLib.EngineTypes.startp = _startpos_m_;
6612 MenhirLib.EngineTypes.endp = _endpos_m_;
6613 MenhirLib.EngineTypes.next = {
6614 MenhirLib.EngineTypes.semv = ty00;
6615 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6616 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6617 MenhirLib.EngineTypes.next = {
6618 MenhirLib.EngineTypes.state = _menhir_s;
6619 MenhirLib.EngineTypes.semv = r0;
6620 MenhirLib.EngineTypes.startp = _startpos_r0_;
6621 MenhirLib.EngineTypes.endp = _endpos_r0_;
6622 MenhirLib.EngineTypes.next = _menhir_stack;
6623 };
6624 };
6625 } = _menhir_stack in
6626 let m : 'tv_list_TMul_ = Obj.magic m in
6627 let ty00 : (
6628 # 71 "parser_cocci_menhir.mly"
6629 (Data.clt)
6630 # 6631 "parser_cocci_menhir.ml"
6631 ) = Obj.magic ty00 in
6632 let r0 : (
6633 # 73 "parser_cocci_menhir.mly"
6634 (Data.clt)
6635 # 6636 "parser_cocci_menhir.ml"
6636 ) = Obj.magic r0 in
6637 let _startpos = _startpos_r0_ in
6638 let _endpos = _endpos_m_ in
6639 let _v : 'tv_ctype = let ty =
6640 let ty0 = ty00 in
6641 let r = r0 in
6642 let ty =
6643 let ty = ty0 in
6644
6645 # 533 "parser_cocci_menhir.mly"
6646 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6647 # 6648 "parser_cocci_menhir.ml"
6648
6649 in
6650
6651 # 583 "parser_cocci_menhir.mly"
6652 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6653 # 6654 "parser_cocci_menhir.ml"
6654
6655 in
6656 let cv =
6657
6658 # 39 "standard.mly"
6659 ( None )
6660 # 6661 "parser_cocci_menhir.ml"
6661
6662 in
6663
6664 # 589 "parser_cocci_menhir.mly"
6665 ( P.pointerify (P.make_cv cv ty) m )
6666 # 6667 "parser_cocci_menhir.ml"
6667 in
6668 _menhir_env.MenhirLib.EngineTypes.stack <- {
6669 MenhirLib.EngineTypes.state = _menhir_s;
6670 MenhirLib.EngineTypes.semv = Obj.repr _v;
6671 MenhirLib.EngineTypes.startp = _startpos;
6672 MenhirLib.EngineTypes.endp = _endpos;
6673 MenhirLib.EngineTypes.next = _menhir_stack;
6674 });
6675 (fun _menhir_env ->
6676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6677 let {
6678 MenhirLib.EngineTypes.semv = m;
6679 MenhirLib.EngineTypes.startp = _startpos_m_;
6680 MenhirLib.EngineTypes.endp = _endpos_m_;
6681 MenhirLib.EngineTypes.next = {
6682 MenhirLib.EngineTypes.semv = p00;
6683 MenhirLib.EngineTypes.startp = _startpos_p00_;
6684 MenhirLib.EngineTypes.endp = _endpos_p00_;
6685 MenhirLib.EngineTypes.next = {
6686 MenhirLib.EngineTypes.state = _menhir_s;
6687 MenhirLib.EngineTypes.semv = r0;
6688 MenhirLib.EngineTypes.startp = _startpos_r0_;
6689 MenhirLib.EngineTypes.endp = _endpos_r0_;
6690 MenhirLib.EngineTypes.next = _menhir_stack;
6691 };
6692 };
6693 } = _menhir_stack in
6694 let m : 'tv_list_TMul_ = Obj.magic m in
6695 let p00 : (
6696 # 87 "parser_cocci_menhir.mly"
6697 (Parse_aux.info)
6698 # 6699 "parser_cocci_menhir.ml"
6699 ) = Obj.magic p00 in
6700 let r0 : (
6701 # 73 "parser_cocci_menhir.mly"
6702 (Data.clt)
6703 # 6704 "parser_cocci_menhir.ml"
6704 ) = Obj.magic r0 in
6705 let _startpos = _startpos_r0_ in
6706 let _endpos = _endpos_m_ in
6707 let _v : 'tv_ctype = let ty =
6708 let p0 = p00 in
6709 let r = r0 in
6710 let ty =
6711 let p = p0 in
6712
6713 # 535 "parser_cocci_menhir.mly"
6714 ( let (nm,pure,clt) = p in
6715 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6716 # 6717 "parser_cocci_menhir.ml"
6717
6718 in
6719
6720 # 583 "parser_cocci_menhir.mly"
6721 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6722 # 6723 "parser_cocci_menhir.ml"
6723
6724 in
6725 let cv =
6726
6727 # 39 "standard.mly"
6728 ( None )
6729 # 6730 "parser_cocci_menhir.ml"
6730
6731 in
6732
6733 # 589 "parser_cocci_menhir.mly"
6734 ( P.pointerify (P.make_cv cv ty) m )
6735 # 6736 "parser_cocci_menhir.ml"
6736 in
6737 _menhir_env.MenhirLib.EngineTypes.stack <- {
6738 MenhirLib.EngineTypes.state = _menhir_s;
6739 MenhirLib.EngineTypes.semv = Obj.repr _v;
6740 MenhirLib.EngineTypes.startp = _startpos;
6741 MenhirLib.EngineTypes.endp = _endpos;
6742 MenhirLib.EngineTypes.next = _menhir_stack;
6743 });
6744 (fun _menhir_env ->
6745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6746 let {
6747 MenhirLib.EngineTypes.semv = m;
6748 MenhirLib.EngineTypes.startp = _startpos_m_;
6749 MenhirLib.EngineTypes.endp = _endpos_m_;
6750 MenhirLib.EngineTypes.next = {
6751 MenhirLib.EngineTypes.semv = p00;
6752 MenhirLib.EngineTypes.startp = _startpos_p00_;
6753 MenhirLib.EngineTypes.endp = _endpos_p00_;
6754 MenhirLib.EngineTypes.next = {
6755 MenhirLib.EngineTypes.startp = _startpos__3_;
6756 MenhirLib.EngineTypes.endp = _endpos__3_;
6757 MenhirLib.EngineTypes.next = {
6758 MenhirLib.EngineTypes.semv = r00;
6759 MenhirLib.EngineTypes.startp = _startpos_r00_;
6760 MenhirLib.EngineTypes.endp = _endpos_r00_;
6761 MenhirLib.EngineTypes.next = {
6762 MenhirLib.EngineTypes.state = _menhir_s;
6763 MenhirLib.EngineTypes.semv = r1;
6764 MenhirLib.EngineTypes.startp = _startpos_r1_;
6765 MenhirLib.EngineTypes.endp = _endpos_r1_;
6766 MenhirLib.EngineTypes.next = _menhir_stack;
6767 };
6768 };
6769 };
6770 };
6771 } = _menhir_stack in
6772 let m : 'tv_list_TMul_ = Obj.magic m in
6773 let p00 : (
6774 # 81 "parser_cocci_menhir.mly"
6775 (string * Data.clt)
6776 # 6777 "parser_cocci_menhir.ml"
6777 ) = Obj.magic p00 in
6778 let r00 : (
6779 # 69 "parser_cocci_menhir.mly"
6780 (string)
6781 # 6782 "parser_cocci_menhir.ml"
6782 ) = Obj.magic r00 in
6783 let r1 : (
6784 # 73 "parser_cocci_menhir.mly"
6785 (Data.clt)
6786 # 6787 "parser_cocci_menhir.ml"
6787 ) = Obj.magic r1 in
6788 let _startpos = _startpos_r1_ in
6789 let _endpos = _endpos_m_ in
6790 let _v : 'tv_ctype = let ty =
6791 let p0 = p00 in
6792 let r0 = r00 in
6793 let r = r1 in
6794 let ty =
6795 let p = p0 in
6796 let r = r0 in
6797
6798 # 538 "parser_cocci_menhir.mly"
6799 ( let nm = (r,P.id2name p) in
6800 (* this is only possible when we are in a metavar decl. Otherwise,
6801 it will be represented already as a MetaType *)
6802 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6803 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6804 Ast0.Impure (*will be ignored*))) )
6805 # 6806 "parser_cocci_menhir.ml"
6806
6807 in
6808
6809 # 583 "parser_cocci_menhir.mly"
6810 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6811 # 6812 "parser_cocci_menhir.ml"
6812
6813 in
6814 let cv =
6815
6816 # 39 "standard.mly"
6817 ( None )
6818 # 6819 "parser_cocci_menhir.ml"
6819
6820 in
6821
6822 # 589 "parser_cocci_menhir.mly"
6823 ( P.pointerify (P.make_cv cv ty) m )
6824 # 6825 "parser_cocci_menhir.ml"
6825 in
6826 _menhir_env.MenhirLib.EngineTypes.stack <- {
6827 MenhirLib.EngineTypes.state = _menhir_s;
6828 MenhirLib.EngineTypes.semv = Obj.repr _v;
6829 MenhirLib.EngineTypes.startp = _startpos;
6830 MenhirLib.EngineTypes.endp = _endpos;
6831 MenhirLib.EngineTypes.next = _menhir_stack;
6832 });
6833 (fun _menhir_env ->
6834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6835 let {
6836 MenhirLib.EngineTypes.semv = m;
6837 MenhirLib.EngineTypes.startp = _startpos_m_;
6838 MenhirLib.EngineTypes.endp = _endpos_m_;
6839 MenhirLib.EngineTypes.next = {
6840 MenhirLib.EngineTypes.semv = ty00;
6841 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6842 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6843 MenhirLib.EngineTypes.next = {
6844 MenhirLib.EngineTypes.state = _menhir_s;
6845 MenhirLib.EngineTypes.semv = r0;
6846 MenhirLib.EngineTypes.startp = _startpos_r0_;
6847 MenhirLib.EngineTypes.endp = _endpos_r0_;
6848 MenhirLib.EngineTypes.next = _menhir_stack;
6849 };
6850 };
6851 } = _menhir_stack in
6852 let m : 'tv_list_TMul_ = Obj.magic m in
6853 let ty00 : (
6854 # 71 "parser_cocci_menhir.mly"
6855 (Data.clt)
6856 # 6857 "parser_cocci_menhir.ml"
6857 ) = Obj.magic ty00 in
6858 let r0 : (
6859 # 73 "parser_cocci_menhir.mly"
6860 (Data.clt)
6861 # 6862 "parser_cocci_menhir.ml"
6862 ) = Obj.magic r0 in
6863 let _startpos = _startpos_r0_ in
6864 let _endpos = _endpos_m_ in
6865 let _v : 'tv_ctype = let ty =
6866 let ty0 = ty00 in
6867 let r = r0 in
6868 let ty =
6869 let ty = ty0 in
6870
6871 # 545 "parser_cocci_menhir.mly"
6872 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6873 # 6874 "parser_cocci_menhir.ml"
6874
6875 in
6876
6877 # 583 "parser_cocci_menhir.mly"
6878 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6879 # 6880 "parser_cocci_menhir.ml"
6880
6881 in
6882 let cv =
6883
6884 # 39 "standard.mly"
6885 ( None )
6886 # 6887 "parser_cocci_menhir.ml"
6887
6888 in
6889
6890 # 589 "parser_cocci_menhir.mly"
6891 ( P.pointerify (P.make_cv cv ty) m )
6892 # 6893 "parser_cocci_menhir.ml"
6893 in
6894 _menhir_env.MenhirLib.EngineTypes.stack <- {
6895 MenhirLib.EngineTypes.state = _menhir_s;
6896 MenhirLib.EngineTypes.semv = Obj.repr _v;
6897 MenhirLib.EngineTypes.startp = _startpos;
6898 MenhirLib.EngineTypes.endp = _endpos;
6899 MenhirLib.EngineTypes.next = _menhir_stack;
6900 });
6901 (fun _menhir_env ->
6902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6903 let {
6904 MenhirLib.EngineTypes.semv = m;
6905 MenhirLib.EngineTypes.startp = _startpos_m_;
6906 MenhirLib.EngineTypes.endp = _endpos_m_;
6907 MenhirLib.EngineTypes.next = {
6908 MenhirLib.EngineTypes.semv = ty200;
6909 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6910 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6911 MenhirLib.EngineTypes.next = {
6912 MenhirLib.EngineTypes.semv = ty100;
6913 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6914 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6915 MenhirLib.EngineTypes.next = {
6916 MenhirLib.EngineTypes.state = _menhir_s;
6917 MenhirLib.EngineTypes.semv = r0;
6918 MenhirLib.EngineTypes.startp = _startpos_r0_;
6919 MenhirLib.EngineTypes.endp = _endpos_r0_;
6920 MenhirLib.EngineTypes.next = _menhir_stack;
6921 };
6922 };
6923 };
6924 } = _menhir_stack in
6925 let m : 'tv_list_TMul_ = Obj.magic m in
6926 let ty200 : (
6927 # 71 "parser_cocci_menhir.mly"
6928 (Data.clt)
6929 # 6930 "parser_cocci_menhir.ml"
6930 ) = Obj.magic ty200 in
6931 let ty100 : (
6932 # 71 "parser_cocci_menhir.mly"
6933 (Data.clt)
6934 # 6935 "parser_cocci_menhir.ml"
6935 ) = Obj.magic ty100 in
6936 let r0 : (
6937 # 73 "parser_cocci_menhir.mly"
6938 (Data.clt)
6939 # 6940 "parser_cocci_menhir.ml"
6940 ) = Obj.magic r0 in
6941 let _startpos = _startpos_r0_ in
6942 let _endpos = _endpos_m_ in
6943 let _v : 'tv_ctype = let ty =
6944 let ty20 = ty200 in
6945 let ty10 = ty100 in
6946 let r = r0 in
6947 let ty =
6948 let ty2 = ty20 in
6949 let ty1 = ty10 in
6950
6951 # 547 "parser_cocci_menhir.mly"
6952 ( Ast0.wrap
6953 (Ast0.BaseType
6954 (Ast.LongLongType,
6955 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6956 # 6957 "parser_cocci_menhir.ml"
6957
6958 in
6959
6960 # 583 "parser_cocci_menhir.mly"
6961 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6962 # 6963 "parser_cocci_menhir.ml"
6963
6964 in
6965 let cv =
6966
6967 # 39 "standard.mly"
6968 ( None )
6969 # 6970 "parser_cocci_menhir.ml"
6970
6971 in
6972
6973 # 589 "parser_cocci_menhir.mly"
6974 ( P.pointerify (P.make_cv cv ty) m )
6975 # 6976 "parser_cocci_menhir.ml"
6976 in
6977 _menhir_env.MenhirLib.EngineTypes.stack <- {
6978 MenhirLib.EngineTypes.state = _menhir_s;
6979 MenhirLib.EngineTypes.semv = Obj.repr _v;
6980 MenhirLib.EngineTypes.startp = _startpos;
6981 MenhirLib.EngineTypes.endp = _endpos;
6982 MenhirLib.EngineTypes.next = _menhir_stack;
6983 });
6984 (fun _menhir_env ->
6985 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6986 let {
6987 MenhirLib.EngineTypes.semv = m;
6988 MenhirLib.EngineTypes.startp = _startpos_m_;
6989 MenhirLib.EngineTypes.endp = _endpos_m_;
6990 MenhirLib.EngineTypes.next = {
6991 MenhirLib.EngineTypes.state = _menhir_s;
6992 MenhirLib.EngineTypes.semv = ty00;
6993 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6994 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6995 MenhirLib.EngineTypes.next = _menhir_stack;
6996 };
6997 } = _menhir_stack in
6998 let m : 'tv_list_TMul_ = Obj.magic m in
6999 let ty00 : (
7000 # 71 "parser_cocci_menhir.mly"
7001 (Data.clt)
7002 # 7003 "parser_cocci_menhir.ml"
7003 ) = Obj.magic ty00 in
7004 let _startpos = _startpos_ty00_ in
7005 let _endpos = _endpos_m_ in
7006 let _v : 'tv_ctype = let ty =
7007 let ty0 = ty00 in
7008 let ty =
7009 let ty = ty0 in
7010
7011 # 529 "parser_cocci_menhir.mly"
7012 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7013 # 7014 "parser_cocci_menhir.ml"
7014
7015 in
7016
7017 # 584 "parser_cocci_menhir.mly"
7018 ( ty )
7019 # 7020 "parser_cocci_menhir.ml"
7020
7021 in
7022 let cv =
7023
7024 # 39 "standard.mly"
7025 ( None )
7026 # 7027 "parser_cocci_menhir.ml"
7027
7028 in
7029
7030 # 589 "parser_cocci_menhir.mly"
7031 ( P.pointerify (P.make_cv cv ty) m )
7032 # 7033 "parser_cocci_menhir.ml"
7033 in
7034 _menhir_env.MenhirLib.EngineTypes.stack <- {
7035 MenhirLib.EngineTypes.state = _menhir_s;
7036 MenhirLib.EngineTypes.semv = Obj.repr _v;
7037 MenhirLib.EngineTypes.startp = _startpos;
7038 MenhirLib.EngineTypes.endp = _endpos;
7039 MenhirLib.EngineTypes.next = _menhir_stack;
7040 });
7041 (fun _menhir_env ->
7042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7043 let {
7044 MenhirLib.EngineTypes.semv = m;
7045 MenhirLib.EngineTypes.startp = _startpos_m_;
7046 MenhirLib.EngineTypes.endp = _endpos_m_;
7047 MenhirLib.EngineTypes.next = {
7048 MenhirLib.EngineTypes.state = _menhir_s;
7049 MenhirLib.EngineTypes.semv = ty00;
7050 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7051 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7052 MenhirLib.EngineTypes.next = _menhir_stack;
7053 };
7054 } = _menhir_stack in
7055 let m : 'tv_list_TMul_ = Obj.magic m in
7056 let ty00 : (
7057 # 71 "parser_cocci_menhir.mly"
7058 (Data.clt)
7059 # 7060 "parser_cocci_menhir.ml"
7060 ) = Obj.magic ty00 in
7061 let _startpos = _startpos_ty00_ in
7062 let _endpos = _endpos_m_ in
7063 let _v : 'tv_ctype = let ty =
7064 let ty0 = ty00 in
7065 let ty =
7066 let ty = ty0 in
7067
7068 # 531 "parser_cocci_menhir.mly"
7069 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7070 # 7071 "parser_cocci_menhir.ml"
7071
7072 in
7073
7074 # 584 "parser_cocci_menhir.mly"
7075 ( ty )
7076 # 7077 "parser_cocci_menhir.ml"
7077
7078 in
7079 let cv =
7080
7081 # 39 "standard.mly"
7082 ( None )
7083 # 7084 "parser_cocci_menhir.ml"
7084
7085 in
7086
7087 # 589 "parser_cocci_menhir.mly"
7088 ( P.pointerify (P.make_cv cv ty) m )
7089 # 7090 "parser_cocci_menhir.ml"
7090 in
7091 _menhir_env.MenhirLib.EngineTypes.stack <- {
7092 MenhirLib.EngineTypes.state = _menhir_s;
7093 MenhirLib.EngineTypes.semv = Obj.repr _v;
7094 MenhirLib.EngineTypes.startp = _startpos;
7095 MenhirLib.EngineTypes.endp = _endpos;
7096 MenhirLib.EngineTypes.next = _menhir_stack;
7097 });
7098 (fun _menhir_env ->
7099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7100 let {
7101 MenhirLib.EngineTypes.semv = m;
7102 MenhirLib.EngineTypes.startp = _startpos_m_;
7103 MenhirLib.EngineTypes.endp = _endpos_m_;
7104 MenhirLib.EngineTypes.next = {
7105 MenhirLib.EngineTypes.state = _menhir_s;
7106 MenhirLib.EngineTypes.semv = ty00;
7107 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7108 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7109 MenhirLib.EngineTypes.next = _menhir_stack;
7110 };
7111 } = _menhir_stack in
7112 let m : 'tv_list_TMul_ = Obj.magic m in
7113 let ty00 : (
7114 # 71 "parser_cocci_menhir.mly"
7115 (Data.clt)
7116 # 7117 "parser_cocci_menhir.ml"
7117 ) = Obj.magic ty00 in
7118 let _startpos = _startpos_ty00_ in
7119 let _endpos = _endpos_m_ in
7120 let _v : 'tv_ctype = let ty =
7121 let ty0 = ty00 in
7122 let ty =
7123 let ty = ty0 in
7124
7125 # 533 "parser_cocci_menhir.mly"
7126 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7127 # 7128 "parser_cocci_menhir.ml"
7128
7129 in
7130
7131 # 584 "parser_cocci_menhir.mly"
7132 ( ty )
7133 # 7134 "parser_cocci_menhir.ml"
7134
7135 in
7136 let cv =
7137
7138 # 39 "standard.mly"
7139 ( None )
7140 # 7141 "parser_cocci_menhir.ml"
7141
7142 in
7143
7144 # 589 "parser_cocci_menhir.mly"
7145 ( P.pointerify (P.make_cv cv ty) m )
7146 # 7147 "parser_cocci_menhir.ml"
7147 in
7148 _menhir_env.MenhirLib.EngineTypes.stack <- {
7149 MenhirLib.EngineTypes.state = _menhir_s;
7150 MenhirLib.EngineTypes.semv = Obj.repr _v;
7151 MenhirLib.EngineTypes.startp = _startpos;
7152 MenhirLib.EngineTypes.endp = _endpos;
7153 MenhirLib.EngineTypes.next = _menhir_stack;
7154 });
7155 (fun _menhir_env ->
7156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7157 let {
7158 MenhirLib.EngineTypes.semv = m;
7159 MenhirLib.EngineTypes.startp = _startpos_m_;
7160 MenhirLib.EngineTypes.endp = _endpos_m_;
7161 MenhirLib.EngineTypes.next = {
7162 MenhirLib.EngineTypes.state = _menhir_s;
7163 MenhirLib.EngineTypes.semv = p00;
7164 MenhirLib.EngineTypes.startp = _startpos_p00_;
7165 MenhirLib.EngineTypes.endp = _endpos_p00_;
7166 MenhirLib.EngineTypes.next = _menhir_stack;
7167 };
7168 } = _menhir_stack in
7169 let m : 'tv_list_TMul_ = Obj.magic m in
7170 let p00 : (
7171 # 87 "parser_cocci_menhir.mly"
7172 (Parse_aux.info)
7173 # 7174 "parser_cocci_menhir.ml"
7174 ) = Obj.magic p00 in
7175 let _startpos = _startpos_p00_ in
7176 let _endpos = _endpos_m_ in
7177 let _v : 'tv_ctype = let ty =
7178 let p0 = p00 in
7179 let ty =
7180 let p = p0 in
7181
7182 # 535 "parser_cocci_menhir.mly"
7183 ( let (nm,pure,clt) = p in
7184 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7185 # 7186 "parser_cocci_menhir.ml"
7186
7187 in
7188
7189 # 584 "parser_cocci_menhir.mly"
7190 ( ty )
7191 # 7192 "parser_cocci_menhir.ml"
7192
7193 in
7194 let cv =
7195
7196 # 39 "standard.mly"
7197 ( None )
7198 # 7199 "parser_cocci_menhir.ml"
7199
7200 in
7201
7202 # 589 "parser_cocci_menhir.mly"
7203 ( P.pointerify (P.make_cv cv ty) m )
7204 # 7205 "parser_cocci_menhir.ml"
7205 in
7206 _menhir_env.MenhirLib.EngineTypes.stack <- {
7207 MenhirLib.EngineTypes.state = _menhir_s;
7208 MenhirLib.EngineTypes.semv = Obj.repr _v;
7209 MenhirLib.EngineTypes.startp = _startpos;
7210 MenhirLib.EngineTypes.endp = _endpos;
7211 MenhirLib.EngineTypes.next = _menhir_stack;
7212 });
7213 (fun _menhir_env ->
7214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7215 let {
7216 MenhirLib.EngineTypes.semv = m;
7217 MenhirLib.EngineTypes.startp = _startpos_m_;
7218 MenhirLib.EngineTypes.endp = _endpos_m_;
7219 MenhirLib.EngineTypes.next = {
7220 MenhirLib.EngineTypes.semv = p00;
7221 MenhirLib.EngineTypes.startp = _startpos_p00_;
7222 MenhirLib.EngineTypes.endp = _endpos_p00_;
7223 MenhirLib.EngineTypes.next = {
7224 MenhirLib.EngineTypes.startp = _startpos__2_;
7225 MenhirLib.EngineTypes.endp = _endpos__2_;
7226 MenhirLib.EngineTypes.next = {
7227 MenhirLib.EngineTypes.state = _menhir_s;
7228 MenhirLib.EngineTypes.semv = r00;
7229 MenhirLib.EngineTypes.startp = _startpos_r00_;
7230 MenhirLib.EngineTypes.endp = _endpos_r00_;
7231 MenhirLib.EngineTypes.next = _menhir_stack;
7232 };
7233 };
7234 };
7235 } = _menhir_stack in
7236 let m : 'tv_list_TMul_ = Obj.magic m in
7237 let p00 : (
7238 # 81 "parser_cocci_menhir.mly"
7239 (string * Data.clt)
7240 # 7241 "parser_cocci_menhir.ml"
7241 ) = Obj.magic p00 in
7242 let r00 : (
7243 # 69 "parser_cocci_menhir.mly"
7244 (string)
7245 # 7246 "parser_cocci_menhir.ml"
7246 ) = Obj.magic r00 in
7247 let _startpos = _startpos_r00_ in
7248 let _endpos = _endpos_m_ in
7249 let _v : 'tv_ctype = let ty =
7250 let p0 = p00 in
7251 let r0 = r00 in
7252 let ty =
7253 let p = p0 in
7254 let r = r0 in
7255
7256 # 538 "parser_cocci_menhir.mly"
7257 ( let nm = (r,P.id2name p) in
7258 (* this is only possible when we are in a metavar decl. Otherwise,
7259 it will be represented already as a MetaType *)
7260 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7261 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7262 Ast0.Impure (*will be ignored*))) )
7263 # 7264 "parser_cocci_menhir.ml"
7264
7265 in
7266
7267 # 584 "parser_cocci_menhir.mly"
7268 ( ty )
7269 # 7270 "parser_cocci_menhir.ml"
7270
7271 in
7272 let cv =
7273
7274 # 39 "standard.mly"
7275 ( None )
7276 # 7277 "parser_cocci_menhir.ml"
7277
7278 in
7279
7280 # 589 "parser_cocci_menhir.mly"
7281 ( P.pointerify (P.make_cv cv ty) m )
7282 # 7283 "parser_cocci_menhir.ml"
7283 in
7284 _menhir_env.MenhirLib.EngineTypes.stack <- {
7285 MenhirLib.EngineTypes.state = _menhir_s;
7286 MenhirLib.EngineTypes.semv = Obj.repr _v;
7287 MenhirLib.EngineTypes.startp = _startpos;
7288 MenhirLib.EngineTypes.endp = _endpos;
7289 MenhirLib.EngineTypes.next = _menhir_stack;
7290 });
7291 (fun _menhir_env ->
7292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7293 let {
7294 MenhirLib.EngineTypes.semv = m;
7295 MenhirLib.EngineTypes.startp = _startpos_m_;
7296 MenhirLib.EngineTypes.endp = _endpos_m_;
7297 MenhirLib.EngineTypes.next = {
7298 MenhirLib.EngineTypes.state = _menhir_s;
7299 MenhirLib.EngineTypes.semv = ty00;
7300 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7301 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7302 MenhirLib.EngineTypes.next = _menhir_stack;
7303 };
7304 } = _menhir_stack in
7305 let m : 'tv_list_TMul_ = Obj.magic m in
7306 let ty00 : (
7307 # 71 "parser_cocci_menhir.mly"
7308 (Data.clt)
7309 # 7310 "parser_cocci_menhir.ml"
7310 ) = Obj.magic ty00 in
7311 let _startpos = _startpos_ty00_ in
7312 let _endpos = _endpos_m_ in
7313 let _v : 'tv_ctype = let ty =
7314 let ty0 = ty00 in
7315 let ty =
7316 let ty = ty0 in
7317
7318 # 545 "parser_cocci_menhir.mly"
7319 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7320 # 7321 "parser_cocci_menhir.ml"
7321
7322 in
7323
7324 # 584 "parser_cocci_menhir.mly"
7325 ( ty )
7326 # 7327 "parser_cocci_menhir.ml"
7327
7328 in
7329 let cv =
7330
7331 # 39 "standard.mly"
7332 ( None )
7333 # 7334 "parser_cocci_menhir.ml"
7334
7335 in
7336
7337 # 589 "parser_cocci_menhir.mly"
7338 ( P.pointerify (P.make_cv cv ty) m )
7339 # 7340 "parser_cocci_menhir.ml"
7340 in
7341 _menhir_env.MenhirLib.EngineTypes.stack <- {
7342 MenhirLib.EngineTypes.state = _menhir_s;
7343 MenhirLib.EngineTypes.semv = Obj.repr _v;
7344 MenhirLib.EngineTypes.startp = _startpos;
7345 MenhirLib.EngineTypes.endp = _endpos;
7346 MenhirLib.EngineTypes.next = _menhir_stack;
7347 });
7348 (fun _menhir_env ->
7349 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7350 let {
7351 MenhirLib.EngineTypes.semv = m;
7352 MenhirLib.EngineTypes.startp = _startpos_m_;
7353 MenhirLib.EngineTypes.endp = _endpos_m_;
7354 MenhirLib.EngineTypes.next = {
7355 MenhirLib.EngineTypes.semv = ty200;
7356 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7357 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7358 MenhirLib.EngineTypes.next = {
7359 MenhirLib.EngineTypes.state = _menhir_s;
7360 MenhirLib.EngineTypes.semv = ty100;
7361 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7362 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7363 MenhirLib.EngineTypes.next = _menhir_stack;
7364 };
7365 };
7366 } = _menhir_stack in
7367 let m : 'tv_list_TMul_ = Obj.magic m in
7368 let ty200 : (
7369 # 71 "parser_cocci_menhir.mly"
7370 (Data.clt)
7371 # 7372 "parser_cocci_menhir.ml"
7372 ) = Obj.magic ty200 in
7373 let ty100 : (
7374 # 71 "parser_cocci_menhir.mly"
7375 (Data.clt)
7376 # 7377 "parser_cocci_menhir.ml"
7377 ) = Obj.magic ty100 in
7378 let _startpos = _startpos_ty100_ in
7379 let _endpos = _endpos_m_ in
7380 let _v : 'tv_ctype = let ty =
7381 let ty20 = ty200 in
7382 let ty10 = ty100 in
7383 let ty =
7384 let ty2 = ty20 in
7385 let ty1 = ty10 in
7386
7387 # 547 "parser_cocci_menhir.mly"
7388 ( Ast0.wrap
7389 (Ast0.BaseType
7390 (Ast.LongLongType,
7391 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7392 # 7393 "parser_cocci_menhir.ml"
7393
7394 in
7395
7396 # 584 "parser_cocci_menhir.mly"
7397 ( ty )
7398 # 7399 "parser_cocci_menhir.ml"
7399
7400 in
7401 let cv =
7402
7403 # 39 "standard.mly"
7404 ( None )
7405 # 7406 "parser_cocci_menhir.ml"
7406
7407 in
7408
7409 # 589 "parser_cocci_menhir.mly"
7410 ( P.pointerify (P.make_cv cv ty) m )
7411 # 7412 "parser_cocci_menhir.ml"
7412 in
7413 _menhir_env.MenhirLib.EngineTypes.stack <- {
7414 MenhirLib.EngineTypes.state = _menhir_s;
7415 MenhirLib.EngineTypes.semv = Obj.repr _v;
7416 MenhirLib.EngineTypes.startp = _startpos;
7417 MenhirLib.EngineTypes.endp = _endpos;
7418 MenhirLib.EngineTypes.next = _menhir_stack;
7419 });
7420 (fun _menhir_env ->
7421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7422 let {
7423 MenhirLib.EngineTypes.semv = m;
7424 MenhirLib.EngineTypes.startp = _startpos_m_;
7425 MenhirLib.EngineTypes.endp = _endpos_m_;
7426 MenhirLib.EngineTypes.next = {
7427 MenhirLib.EngineTypes.state = _menhir_s;
7428 MenhirLib.EngineTypes.semv = ty00;
7429 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7430 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7431 MenhirLib.EngineTypes.next = _menhir_stack;
7432 };
7433 } = _menhir_stack in
7434 let m : 'tv_list_TMul_ = Obj.magic m in
7435 let ty00 : (
7436 # 72 "parser_cocci_menhir.mly"
7437 (Data.clt)
7438 # 7439 "parser_cocci_menhir.ml"
7439 ) = Obj.magic ty00 in
7440 let _startpos = _startpos_ty00_ in
7441 let _endpos = _endpos_m_ in
7442 let _v : 'tv_ctype = let ty =
7443 let ty0 = ty00 in
7444 let ty =
7445 let ty = ty0 in
7446
7447 # 555 "parser_cocci_menhir.mly"
7448 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
7449 # 7450 "parser_cocci_menhir.ml"
7450
7451 in
7452
7453 # 585 "parser_cocci_menhir.mly"
7454 ( ty )
7455 # 7456 "parser_cocci_menhir.ml"
7456
7457 in
7458 let cv =
7459
7460 # 39 "standard.mly"
7461 ( None )
7462 # 7463 "parser_cocci_menhir.ml"
7463
7464 in
7465
7466 # 589 "parser_cocci_menhir.mly"
7467 ( P.pointerify (P.make_cv cv ty) m )
7468 # 7469 "parser_cocci_menhir.ml"
7469 in
7470 _menhir_env.MenhirLib.EngineTypes.stack <- {
7471 MenhirLib.EngineTypes.state = _menhir_s;
7472 MenhirLib.EngineTypes.semv = Obj.repr _v;
7473 MenhirLib.EngineTypes.startp = _startpos;
7474 MenhirLib.EngineTypes.endp = _endpos;
7475 MenhirLib.EngineTypes.next = _menhir_stack;
7476 });
7477 (fun _menhir_env ->
7478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7479 let {
7480 MenhirLib.EngineTypes.semv = m;
7481 MenhirLib.EngineTypes.startp = _startpos_m_;
7482 MenhirLib.EngineTypes.endp = _endpos_m_;
7483 MenhirLib.EngineTypes.next = {
7484 MenhirLib.EngineTypes.state = _menhir_s;
7485 MenhirLib.EngineTypes.semv = ty00;
7486 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7487 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7488 MenhirLib.EngineTypes.next = _menhir_stack;
7489 };
7490 } = _menhir_stack in
7491 let m : 'tv_list_TMul_ = Obj.magic m in
7492 let ty00 : (
7493 # 71 "parser_cocci_menhir.mly"
7494 (Data.clt)
7495 # 7496 "parser_cocci_menhir.ml"
7496 ) = Obj.magic ty00 in
7497 let _startpos = _startpos_ty00_ in
7498 let _endpos = _endpos_m_ in
7499 let _v : 'tv_ctype = let ty =
7500 let ty0 = ty00 in
7501 let ty =
7502 let ty = ty0 in
7503
7504 # 557 "parser_cocci_menhir.mly"
7505 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
7506 # 7507 "parser_cocci_menhir.ml"
7507
7508 in
7509
7510 # 585 "parser_cocci_menhir.mly"
7511 ( ty )
7512 # 7513 "parser_cocci_menhir.ml"
7513
7514 in
7515 let cv =
7516
7517 # 39 "standard.mly"
7518 ( None )
7519 # 7520 "parser_cocci_menhir.ml"
7520
7521 in
7522
7523 # 589 "parser_cocci_menhir.mly"
7524 ( P.pointerify (P.make_cv cv ty) m )
7525 # 7526 "parser_cocci_menhir.ml"
7526 in
7527 _menhir_env.MenhirLib.EngineTypes.stack <- {
7528 MenhirLib.EngineTypes.state = _menhir_s;
7529 MenhirLib.EngineTypes.semv = Obj.repr _v;
7530 MenhirLib.EngineTypes.startp = _startpos;
7531 MenhirLib.EngineTypes.endp = _endpos;
7532 MenhirLib.EngineTypes.next = _menhir_stack;
7533 });
7534 (fun _menhir_env ->
7535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7536 let {
7537 MenhirLib.EngineTypes.semv = m;
7538 MenhirLib.EngineTypes.startp = _startpos_m_;
7539 MenhirLib.EngineTypes.endp = _endpos_m_;
7540 MenhirLib.EngineTypes.next = {
7541 MenhirLib.EngineTypes.state = _menhir_s;
7542 MenhirLib.EngineTypes.semv = ty00;
7543 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7544 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7545 MenhirLib.EngineTypes.next = _menhir_stack;
7546 };
7547 } = _menhir_stack in
7548 let m : 'tv_list_TMul_ = Obj.magic m in
7549 let ty00 : (
7550 # 71 "parser_cocci_menhir.mly"
7551 (Data.clt)
7552 # 7553 "parser_cocci_menhir.ml"
7553 ) = Obj.magic ty00 in
7554 let _startpos = _startpos_ty00_ in
7555 let _endpos = _endpos_m_ in
7556 let _v : 'tv_ctype = let ty =
7557 let ty0 = ty00 in
7558 let ty =
7559 let ty = ty0 in
7560
7561 # 559 "parser_cocci_menhir.mly"
7562 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
7563 # 7564 "parser_cocci_menhir.ml"
7564
7565 in
7566
7567 # 585 "parser_cocci_menhir.mly"
7568 ( ty )
7569 # 7570 "parser_cocci_menhir.ml"
7570
7571 in
7572 let cv =
7573
7574 # 39 "standard.mly"
7575 ( None )
7576 # 7577 "parser_cocci_menhir.ml"
7577
7578 in
7579
7580 # 589 "parser_cocci_menhir.mly"
7581 ( P.pointerify (P.make_cv cv ty) m )
7582 # 7583 "parser_cocci_menhir.ml"
7583 in
7584 _menhir_env.MenhirLib.EngineTypes.stack <- {
7585 MenhirLib.EngineTypes.state = _menhir_s;
7586 MenhirLib.EngineTypes.semv = Obj.repr _v;
7587 MenhirLib.EngineTypes.startp = _startpos;
7588 MenhirLib.EngineTypes.endp = _endpos;
7589 MenhirLib.EngineTypes.next = _menhir_stack;
7590 });
7591 (fun _menhir_env ->
7592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7593 let {
7594 MenhirLib.EngineTypes.semv = m;
7595 MenhirLib.EngineTypes.startp = _startpos_m_;
7596 MenhirLib.EngineTypes.endp = _endpos_m_;
7597 MenhirLib.EngineTypes.next = {
7598 MenhirLib.EngineTypes.semv = i00;
7599 MenhirLib.EngineTypes.startp = _startpos_i00_;
7600 MenhirLib.EngineTypes.endp = _endpos_i00_;
7601 MenhirLib.EngineTypes.next = {
7602 MenhirLib.EngineTypes.state = _menhir_s;
7603 MenhirLib.EngineTypes.semv = s00;
7604 MenhirLib.EngineTypes.startp = _startpos_s00_;
7605 MenhirLib.EngineTypes.endp = _endpos_s00_;
7606 MenhirLib.EngineTypes.next = _menhir_stack;
7607 };
7608 };
7609 } = _menhir_stack in
7610 let m : 'tv_list_TMul_ = Obj.magic m in
7611 let i00 : 'tv_ident = Obj.magic i00 in
7612 let s00 : (
7613 # 72 "parser_cocci_menhir.mly"
7614 (Data.clt)
7615 # 7616 "parser_cocci_menhir.ml"
7616 ) = Obj.magic s00 in
7617 let _startpos = _startpos_s00_ in
7618 let _endpos = _endpos_m_ in
7619 let _v : 'tv_ctype = let ty =
7620 let i0 = i00 in
7621 let s0 = s00 in
7622 let ty =
7623 let i = i0 in
7624 let s = s0 in
7625
7626 # 561 "parser_cocci_menhir.mly"
7627 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
7628 # 7629 "parser_cocci_menhir.ml"
7629
7630 in
7631
7632 # 585 "parser_cocci_menhir.mly"
7633 ( ty )
7634 # 7635 "parser_cocci_menhir.ml"
7635
7636 in
7637 let cv =
7638
7639 # 39 "standard.mly"
7640 ( None )
7641 # 7642 "parser_cocci_menhir.ml"
7642
7643 in
7644
7645 # 589 "parser_cocci_menhir.mly"
7646 ( P.pointerify (P.make_cv cv ty) m )
7647 # 7648 "parser_cocci_menhir.ml"
7648 in
7649 _menhir_env.MenhirLib.EngineTypes.stack <- {
7650 MenhirLib.EngineTypes.state = _menhir_s;
7651 MenhirLib.EngineTypes.semv = Obj.repr _v;
7652 MenhirLib.EngineTypes.startp = _startpos;
7653 MenhirLib.EngineTypes.endp = _endpos;
7654 MenhirLib.EngineTypes.next = _menhir_stack;
7655 });
7656 (fun _menhir_env ->
7657 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7658 let {
7659 MenhirLib.EngineTypes.semv = m;
7660 MenhirLib.EngineTypes.startp = _startpos_m_;
7661 MenhirLib.EngineTypes.endp = _endpos_m_;
7662 MenhirLib.EngineTypes.next = {
7663 MenhirLib.EngineTypes.semv = i00;
7664 MenhirLib.EngineTypes.startp = _startpos_i00_;
7665 MenhirLib.EngineTypes.endp = _endpos_i00_;
7666 MenhirLib.EngineTypes.next = {
7667 MenhirLib.EngineTypes.state = _menhir_s;
7668 MenhirLib.EngineTypes.semv = s00;
7669 MenhirLib.EngineTypes.startp = _startpos_s00_;
7670 MenhirLib.EngineTypes.endp = _endpos_s00_;
7671 MenhirLib.EngineTypes.next = _menhir_stack;
7672 };
7673 };
7674 } = _menhir_stack in
7675 let m : 'tv_list_TMul_ = Obj.magic m in
7676 let i00 : 'tv_ident = Obj.magic i00 in
7677 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7678 let _startpos = _startpos_s00_ in
7679 let _endpos = _endpos_m_ in
7680 let _v : 'tv_ctype = let ty =
7681 let i0 = i00 in
7682 let s0 = s00 in
7683 let ty =
7684 let i = i0 in
7685 let s = s0 in
7686
7687 # 563 "parser_cocci_menhir.mly"
7688 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
7689 # 7690 "parser_cocci_menhir.ml"
7690
7691 in
7692
7693 # 585 "parser_cocci_menhir.mly"
7694 ( ty )
7695 # 7696 "parser_cocci_menhir.ml"
7696
7697 in
7698 let cv =
7699
7700 # 39 "standard.mly"
7701 ( None )
7702 # 7703 "parser_cocci_menhir.ml"
7703
7704 in
7705
7706 # 589 "parser_cocci_menhir.mly"
7707 ( P.pointerify (P.make_cv cv ty) m )
7708 # 7709 "parser_cocci_menhir.ml"
7709 in
7710 _menhir_env.MenhirLib.EngineTypes.stack <- {
7711 MenhirLib.EngineTypes.state = _menhir_s;
7712 MenhirLib.EngineTypes.semv = Obj.repr _v;
7713 MenhirLib.EngineTypes.startp = _startpos;
7714 MenhirLib.EngineTypes.endp = _endpos;
7715 MenhirLib.EngineTypes.next = _menhir_stack;
7716 });
7717 (fun _menhir_env ->
7718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7719 let {
7720 MenhirLib.EngineTypes.semv = m;
7721 MenhirLib.EngineTypes.startp = _startpos_m_;
7722 MenhirLib.EngineTypes.endp = _endpos_m_;
7723 MenhirLib.EngineTypes.next = {
7724 MenhirLib.EngineTypes.semv = r00;
7725 MenhirLib.EngineTypes.startp = _startpos_r00_;
7726 MenhirLib.EngineTypes.endp = _endpos_r00_;
7727 MenhirLib.EngineTypes.next = {
7728 MenhirLib.EngineTypes.semv = d00;
7729 MenhirLib.EngineTypes.startp = _startpos_d00_;
7730 MenhirLib.EngineTypes.endp = _endpos_d00_;
7731 MenhirLib.EngineTypes.next = {
7732 MenhirLib.EngineTypes.semv = l00;
7733 MenhirLib.EngineTypes.startp = _startpos_l00_;
7734 MenhirLib.EngineTypes.endp = _endpos_l00_;
7735 MenhirLib.EngineTypes.next = {
7736 MenhirLib.EngineTypes.state = _menhir_s;
7737 MenhirLib.EngineTypes.semv = s00;
7738 MenhirLib.EngineTypes.startp = _startpos_s00_;
7739 MenhirLib.EngineTypes.endp = _endpos_s00_;
7740 MenhirLib.EngineTypes.next = _menhir_stack;
7741 };
7742 };
7743 };
7744 };
7745 } = _menhir_stack in
7746 let m : 'tv_list_TMul_ = Obj.magic m in
7747 let r00 : (
7748 # 124 "parser_cocci_menhir.mly"
7749 (Data.clt)
7750 # 7751 "parser_cocci_menhir.ml"
7751 ) = Obj.magic r00 in
7752 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7753 let l00 : (
7754 # 124 "parser_cocci_menhir.mly"
7755 (Data.clt)
7756 # 7757 "parser_cocci_menhir.ml"
7757 ) = Obj.magic l00 in
7758 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7759 let _startpos = _startpos_s00_ in
7760 let _endpos = _endpos_m_ in
7761 let _v : 'tv_ctype = let ty =
7762 let r0 = r00 in
7763 let d0 = d00 in
7764 let l0 = l00 in
7765 let s0 = s00 in
7766 let ty =
7767 let r = r0 in
7768 let d = d0 in
7769 let l = l0 in
7770 let s = s0 in
7771 let i =
7772
7773 # 39 "standard.mly"
7774 ( None )
7775 # 7776 "parser_cocci_menhir.ml"
7776
7777 in
7778
7779 # 566 "parser_cocci_menhir.mly"
7780 ( (if i = None && !Data.in_iso
7781 then failwith "structures must be named in the iso file");
7782 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7783 P.clt2mcode "{" l,
7784 d, P.clt2mcode "}" r)) )
7785 # 7786 "parser_cocci_menhir.ml"
7786
7787 in
7788
7789 # 585 "parser_cocci_menhir.mly"
7790 ( ty )
7791 # 7792 "parser_cocci_menhir.ml"
7792
7793 in
7794 let cv =
7795
7796 # 39 "standard.mly"
7797 ( None )
7798 # 7799 "parser_cocci_menhir.ml"
7799
7800 in
7801
7802 # 589 "parser_cocci_menhir.mly"
7803 ( P.pointerify (P.make_cv cv ty) m )
7804 # 7805 "parser_cocci_menhir.ml"
7805 in
7806 _menhir_env.MenhirLib.EngineTypes.stack <- {
7807 MenhirLib.EngineTypes.state = _menhir_s;
7808 MenhirLib.EngineTypes.semv = Obj.repr _v;
7809 MenhirLib.EngineTypes.startp = _startpos;
7810 MenhirLib.EngineTypes.endp = _endpos;
7811 MenhirLib.EngineTypes.next = _menhir_stack;
7812 });
7813 (fun _menhir_env ->
7814 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7815 let {
7816 MenhirLib.EngineTypes.semv = m;
7817 MenhirLib.EngineTypes.startp = _startpos_m_;
7818 MenhirLib.EngineTypes.endp = _endpos_m_;
7819 MenhirLib.EngineTypes.next = {
7820 MenhirLib.EngineTypes.semv = r00;
7821 MenhirLib.EngineTypes.startp = _startpos_r00_;
7822 MenhirLib.EngineTypes.endp = _endpos_r00_;
7823 MenhirLib.EngineTypes.next = {
7824 MenhirLib.EngineTypes.semv = d00;
7825 MenhirLib.EngineTypes.startp = _startpos_d00_;
7826 MenhirLib.EngineTypes.endp = _endpos_d00_;
7827 MenhirLib.EngineTypes.next = {
7828 MenhirLib.EngineTypes.semv = l00;
7829 MenhirLib.EngineTypes.startp = _startpos_l00_;
7830 MenhirLib.EngineTypes.endp = _endpos_l00_;
7831 MenhirLib.EngineTypes.next = {
7832 MenhirLib.EngineTypes.semv = x000;
7833 MenhirLib.EngineTypes.startp = _startpos_x000_;
7834 MenhirLib.EngineTypes.endp = _endpos_x000_;
7835 MenhirLib.EngineTypes.next = {
7836 MenhirLib.EngineTypes.state = _menhir_s;
7837 MenhirLib.EngineTypes.semv = s00;
7838 MenhirLib.EngineTypes.startp = _startpos_s00_;
7839 MenhirLib.EngineTypes.endp = _endpos_s00_;
7840 MenhirLib.EngineTypes.next = _menhir_stack;
7841 };
7842 };
7843 };
7844 };
7845 };
7846 } = _menhir_stack in
7847 let m : 'tv_list_TMul_ = Obj.magic m in
7848 let r00 : (
7849 # 124 "parser_cocci_menhir.mly"
7850 (Data.clt)
7851 # 7852 "parser_cocci_menhir.ml"
7852 ) = Obj.magic r00 in
7853 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7854 let l00 : (
7855 # 124 "parser_cocci_menhir.mly"
7856 (Data.clt)
7857 # 7858 "parser_cocci_menhir.ml"
7858 ) = Obj.magic l00 in
7859 let x000 : 'tv_ident = Obj.magic x000 in
7860 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7861 let _startpos = _startpos_s00_ in
7862 let _endpos = _endpos_m_ in
7863 let _v : 'tv_ctype = let ty =
7864 let r0 = r00 in
7865 let d0 = d00 in
7866 let l0 = l00 in
7867 let x00 = x000 in
7868 let s0 = s00 in
7869 let ty =
7870 let r = r0 in
7871 let d = d0 in
7872 let l = l0 in
7873 let x0 = x00 in
7874 let s = s0 in
7875 let i =
7876 let x = x0 in
7877
7878 # 41 "standard.mly"
7879 ( Some x )
7880 # 7881 "parser_cocci_menhir.ml"
7881
7882 in
7883
7884 # 566 "parser_cocci_menhir.mly"
7885 ( (if i = None && !Data.in_iso
7886 then failwith "structures must be named in the iso file");
7887 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7888 P.clt2mcode "{" l,
7889 d, P.clt2mcode "}" r)) )
7890 # 7891 "parser_cocci_menhir.ml"
7891
7892 in
7893
7894 # 585 "parser_cocci_menhir.mly"
7895 ( ty )
7896 # 7897 "parser_cocci_menhir.ml"
7897
7898 in
7899 let cv =
7900
7901 # 39 "standard.mly"
7902 ( None )
7903 # 7904 "parser_cocci_menhir.ml"
7904
7905 in
7906
7907 # 589 "parser_cocci_menhir.mly"
7908 ( P.pointerify (P.make_cv cv ty) m )
7909 # 7910 "parser_cocci_menhir.ml"
7910 in
7911 _menhir_env.MenhirLib.EngineTypes.stack <- {
7912 MenhirLib.EngineTypes.state = _menhir_s;
7913 MenhirLib.EngineTypes.semv = Obj.repr _v;
7914 MenhirLib.EngineTypes.startp = _startpos;
7915 MenhirLib.EngineTypes.endp = _endpos;
7916 MenhirLib.EngineTypes.next = _menhir_stack;
7917 });
7918 (fun _menhir_env ->
7919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7920 let {
7921 MenhirLib.EngineTypes.semv = m;
7922 MenhirLib.EngineTypes.startp = _startpos_m_;
7923 MenhirLib.EngineTypes.endp = _endpos_m_;
7924 MenhirLib.EngineTypes.next = {
7925 MenhirLib.EngineTypes.semv = r00;
7926 MenhirLib.EngineTypes.startp = _startpos_r00_;
7927 MenhirLib.EngineTypes.endp = _endpos_r00_;
7928 MenhirLib.EngineTypes.next = {
7929 MenhirLib.EngineTypes.semv = d00;
7930 MenhirLib.EngineTypes.startp = _startpos_d00_;
7931 MenhirLib.EngineTypes.endp = _endpos_d00_;
7932 MenhirLib.EngineTypes.next = {
7933 MenhirLib.EngineTypes.semv = l00;
7934 MenhirLib.EngineTypes.startp = _startpos_l00_;
7935 MenhirLib.EngineTypes.endp = _endpos_l00_;
7936 MenhirLib.EngineTypes.next = {
7937 MenhirLib.EngineTypes.state = _menhir_s;
7938 MenhirLib.EngineTypes.semv = s00;
7939 MenhirLib.EngineTypes.startp = _startpos_s00_;
7940 MenhirLib.EngineTypes.endp = _endpos_s00_;
7941 MenhirLib.EngineTypes.next = _menhir_stack;
7942 };
7943 };
7944 };
7945 };
7946 } = _menhir_stack in
7947 let m : 'tv_list_TMul_ = Obj.magic m in
7948 let r00 : (
7949 # 124 "parser_cocci_menhir.mly"
7950 (Data.clt)
7951 # 7952 "parser_cocci_menhir.ml"
7952 ) = Obj.magic r00 in
7953 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7954 let l00 : (
7955 # 124 "parser_cocci_menhir.mly"
7956 (Data.clt)
7957 # 7958 "parser_cocci_menhir.ml"
7958 ) = Obj.magic l00 in
7959 let s00 : (
7960 # 87 "parser_cocci_menhir.mly"
7961 (Parse_aux.info)
7962 # 7963 "parser_cocci_menhir.ml"
7963 ) = Obj.magic s00 in
7964 let _startpos = _startpos_s00_ in
7965 let _endpos = _endpos_m_ in
7966 let _v : 'tv_ctype = let ty =
7967 let r0 = r00 in
7968 let d0 = d00 in
7969 let l0 = l00 in
7970 let s0 = s00 in
7971 let ty =
7972 let r = r0 in
7973 let d = d0 in
7974 let l = l0 in
7975 let s = s0 in
7976
7977 # 572 "parser_cocci_menhir.mly"
7978 ( let (nm,pure,clt) = s in
7979 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
7980 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
7981 # 7982 "parser_cocci_menhir.ml"
7982
7983 in
7984
7985 # 585 "parser_cocci_menhir.mly"
7986 ( ty )
7987 # 7988 "parser_cocci_menhir.ml"
7988
7989 in
7990 let cv =
7991
7992 # 39 "standard.mly"
7993 ( None )
7994 # 7995 "parser_cocci_menhir.ml"
7995
7996 in
7997
7998 # 589 "parser_cocci_menhir.mly"
7999 ( P.pointerify (P.make_cv cv ty) m )
8000 # 8001 "parser_cocci_menhir.ml"
8001 in
8002 _menhir_env.MenhirLib.EngineTypes.stack <- {
8003 MenhirLib.EngineTypes.state = _menhir_s;
8004 MenhirLib.EngineTypes.semv = Obj.repr _v;
8005 MenhirLib.EngineTypes.startp = _startpos;
8006 MenhirLib.EngineTypes.endp = _endpos;
8007 MenhirLib.EngineTypes.next = _menhir_stack;
8008 });
8009 (fun _menhir_env ->
8010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8011 let {
8012 MenhirLib.EngineTypes.semv = m;
8013 MenhirLib.EngineTypes.startp = _startpos_m_;
8014 MenhirLib.EngineTypes.endp = _endpos_m_;
8015 MenhirLib.EngineTypes.next = {
8016 MenhirLib.EngineTypes.state = _menhir_s;
8017 MenhirLib.EngineTypes.semv = p00;
8018 MenhirLib.EngineTypes.startp = _startpos_p00_;
8019 MenhirLib.EngineTypes.endp = _endpos_p00_;
8020 MenhirLib.EngineTypes.next = _menhir_stack;
8021 };
8022 } = _menhir_stack in
8023 let m : 'tv_list_TMul_ = Obj.magic m in
8024 let p00 : (
8025 # 81 "parser_cocci_menhir.mly"
8026 (string * Data.clt)
8027 # 8028 "parser_cocci_menhir.ml"
8028 ) = Obj.magic p00 in
8029 let _startpos = _startpos_p00_ in
8030 let _endpos = _endpos_m_ in
8031 let _v : 'tv_ctype = let ty =
8032 let p0 = p00 in
8033 let ty =
8034 let p = p0 in
8035
8036 # 576 "parser_cocci_menhir.mly"
8037 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
8038 # 8039 "parser_cocci_menhir.ml"
8039
8040 in
8041
8042 # 585 "parser_cocci_menhir.mly"
8043 ( ty )
8044 # 8045 "parser_cocci_menhir.ml"
8045
8046 in
8047 let cv =
8048
8049 # 39 "standard.mly"
8050 ( None )
8051 # 8052 "parser_cocci_menhir.ml"
8052
8053 in
8054
8055 # 589 "parser_cocci_menhir.mly"
8056 ( P.pointerify (P.make_cv cv ty) m )
8057 # 8058 "parser_cocci_menhir.ml"
8058 in
8059 _menhir_env.MenhirLib.EngineTypes.stack <- {
8060 MenhirLib.EngineTypes.state = _menhir_s;
8061 MenhirLib.EngineTypes.semv = Obj.repr _v;
8062 MenhirLib.EngineTypes.startp = _startpos;
8063 MenhirLib.EngineTypes.endp = _endpos;
8064 MenhirLib.EngineTypes.next = _menhir_stack;
8065 });
8066 (fun _menhir_env ->
8067 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8068 let {
8069 MenhirLib.EngineTypes.semv = m;
8070 MenhirLib.EngineTypes.startp = _startpos_m_;
8071 MenhirLib.EngineTypes.endp = _endpos_m_;
8072 MenhirLib.EngineTypes.next = {
8073 MenhirLib.EngineTypes.semv = ty00;
8074 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8075 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8076 MenhirLib.EngineTypes.next = {
8077 MenhirLib.EngineTypes.semv = r0;
8078 MenhirLib.EngineTypes.startp = _startpos_r0_;
8079 MenhirLib.EngineTypes.endp = _endpos_r0_;
8080 MenhirLib.EngineTypes.next = {
8081 MenhirLib.EngineTypes.state = _menhir_s;
8082 MenhirLib.EngineTypes.semv = x0;
8083 MenhirLib.EngineTypes.startp = _startpos_x0_;
8084 MenhirLib.EngineTypes.endp = _endpos_x0_;
8085 MenhirLib.EngineTypes.next = _menhir_stack;
8086 };
8087 };
8088 };
8089 } = _menhir_stack in
8090 let m : 'tv_list_TMul_ = Obj.magic m in
8091 let ty00 : (
8092 # 71 "parser_cocci_menhir.mly"
8093 (Data.clt)
8094 # 8095 "parser_cocci_menhir.ml"
8095 ) = Obj.magic ty00 in
8096 let r0 : (
8097 # 73 "parser_cocci_menhir.mly"
8098 (Data.clt)
8099 # 8100 "parser_cocci_menhir.ml"
8100 ) = Obj.magic r0 in
8101 let x0 : 'tv_const_vol = Obj.magic x0 in
8102 let _startpos = _startpos_x0_ in
8103 let _endpos = _endpos_m_ in
8104 let _v : 'tv_ctype = let ty =
8105 let ty0 = ty00 in
8106 let r = r0 in
8107 let ty =
8108 let ty = ty0 in
8109
8110 # 529 "parser_cocci_menhir.mly"
8111 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8112 # 8113 "parser_cocci_menhir.ml"
8113
8114 in
8115
8116 # 581 "parser_cocci_menhir.mly"
8117 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8118 # 8119 "parser_cocci_menhir.ml"
8119
8120 in
8121 let cv =
8122 let x = x0 in
8123
8124 # 41 "standard.mly"
8125 ( Some x )
8126 # 8127 "parser_cocci_menhir.ml"
8127
8128 in
8129
8130 # 589 "parser_cocci_menhir.mly"
8131 ( P.pointerify (P.make_cv cv ty) m )
8132 # 8133 "parser_cocci_menhir.ml"
8133 in
8134 _menhir_env.MenhirLib.EngineTypes.stack <- {
8135 MenhirLib.EngineTypes.state = _menhir_s;
8136 MenhirLib.EngineTypes.semv = Obj.repr _v;
8137 MenhirLib.EngineTypes.startp = _startpos;
8138 MenhirLib.EngineTypes.endp = _endpos;
8139 MenhirLib.EngineTypes.next = _menhir_stack;
8140 });
8141 (fun _menhir_env ->
8142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8143 let {
8144 MenhirLib.EngineTypes.semv = m;
8145 MenhirLib.EngineTypes.startp = _startpos_m_;
8146 MenhirLib.EngineTypes.endp = _endpos_m_;
8147 MenhirLib.EngineTypes.next = {
8148 MenhirLib.EngineTypes.semv = ty00;
8149 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8150 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8151 MenhirLib.EngineTypes.next = {
8152 MenhirLib.EngineTypes.semv = r0;
8153 MenhirLib.EngineTypes.startp = _startpos_r0_;
8154 MenhirLib.EngineTypes.endp = _endpos_r0_;
8155 MenhirLib.EngineTypes.next = {
8156 MenhirLib.EngineTypes.state = _menhir_s;
8157 MenhirLib.EngineTypes.semv = x0;
8158 MenhirLib.EngineTypes.startp = _startpos_x0_;
8159 MenhirLib.EngineTypes.endp = _endpos_x0_;
8160 MenhirLib.EngineTypes.next = _menhir_stack;
8161 };
8162 };
8163 };
8164 } = _menhir_stack in
8165 let m : 'tv_list_TMul_ = Obj.magic m in
8166 let ty00 : (
8167 # 71 "parser_cocci_menhir.mly"
8168 (Data.clt)
8169 # 8170 "parser_cocci_menhir.ml"
8170 ) = Obj.magic ty00 in
8171 let r0 : (
8172 # 73 "parser_cocci_menhir.mly"
8173 (Data.clt)
8174 # 8175 "parser_cocci_menhir.ml"
8175 ) = Obj.magic r0 in
8176 let x0 : 'tv_const_vol = Obj.magic x0 in
8177 let _startpos = _startpos_x0_ in
8178 let _endpos = _endpos_m_ in
8179 let _v : 'tv_ctype = let ty =
8180 let ty0 = ty00 in
8181 let r = r0 in
8182 let ty =
8183 let ty = ty0 in
8184
8185 # 531 "parser_cocci_menhir.mly"
8186 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8187 # 8188 "parser_cocci_menhir.ml"
8188
8189 in
8190
8191 # 581 "parser_cocci_menhir.mly"
8192 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8193 # 8194 "parser_cocci_menhir.ml"
8194
8195 in
8196 let cv =
8197 let x = x0 in
8198
8199 # 41 "standard.mly"
8200 ( Some x )
8201 # 8202 "parser_cocci_menhir.ml"
8202
8203 in
8204
8205 # 589 "parser_cocci_menhir.mly"
8206 ( P.pointerify (P.make_cv cv ty) m )
8207 # 8208 "parser_cocci_menhir.ml"
8208 in
8209 _menhir_env.MenhirLib.EngineTypes.stack <- {
8210 MenhirLib.EngineTypes.state = _menhir_s;
8211 MenhirLib.EngineTypes.semv = Obj.repr _v;
8212 MenhirLib.EngineTypes.startp = _startpos;
8213 MenhirLib.EngineTypes.endp = _endpos;
8214 MenhirLib.EngineTypes.next = _menhir_stack;
8215 });
8216 (fun _menhir_env ->
8217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8218 let {
8219 MenhirLib.EngineTypes.semv = m;
8220 MenhirLib.EngineTypes.startp = _startpos_m_;
8221 MenhirLib.EngineTypes.endp = _endpos_m_;
8222 MenhirLib.EngineTypes.next = {
8223 MenhirLib.EngineTypes.semv = ty00;
8224 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8225 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8226 MenhirLib.EngineTypes.next = {
8227 MenhirLib.EngineTypes.semv = r0;
8228 MenhirLib.EngineTypes.startp = _startpos_r0_;
8229 MenhirLib.EngineTypes.endp = _endpos_r0_;
8230 MenhirLib.EngineTypes.next = {
8231 MenhirLib.EngineTypes.state = _menhir_s;
8232 MenhirLib.EngineTypes.semv = x0;
8233 MenhirLib.EngineTypes.startp = _startpos_x0_;
8234 MenhirLib.EngineTypes.endp = _endpos_x0_;
8235 MenhirLib.EngineTypes.next = _menhir_stack;
8236 };
8237 };
8238 };
8239 } = _menhir_stack in
8240 let m : 'tv_list_TMul_ = Obj.magic m in
8241 let ty00 : (
8242 # 71 "parser_cocci_menhir.mly"
8243 (Data.clt)
8244 # 8245 "parser_cocci_menhir.ml"
8245 ) = Obj.magic ty00 in
8246 let r0 : (
8247 # 73 "parser_cocci_menhir.mly"
8248 (Data.clt)
8249 # 8250 "parser_cocci_menhir.ml"
8250 ) = Obj.magic r0 in
8251 let x0 : 'tv_const_vol = Obj.magic x0 in
8252 let _startpos = _startpos_x0_ in
8253 let _endpos = _endpos_m_ in
8254 let _v : 'tv_ctype = let ty =
8255 let ty0 = ty00 in
8256 let r = r0 in
8257 let ty =
8258 let ty = ty0 in
8259
8260 # 533 "parser_cocci_menhir.mly"
8261 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8262 # 8263 "parser_cocci_menhir.ml"
8263
8264 in
8265
8266 # 581 "parser_cocci_menhir.mly"
8267 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8268 # 8269 "parser_cocci_menhir.ml"
8269
8270 in
8271 let cv =
8272 let x = x0 in
8273
8274 # 41 "standard.mly"
8275 ( Some x )
8276 # 8277 "parser_cocci_menhir.ml"
8277
8278 in
8279
8280 # 589 "parser_cocci_menhir.mly"
8281 ( P.pointerify (P.make_cv cv ty) m )
8282 # 8283 "parser_cocci_menhir.ml"
8283 in
8284 _menhir_env.MenhirLib.EngineTypes.stack <- {
8285 MenhirLib.EngineTypes.state = _menhir_s;
8286 MenhirLib.EngineTypes.semv = Obj.repr _v;
8287 MenhirLib.EngineTypes.startp = _startpos;
8288 MenhirLib.EngineTypes.endp = _endpos;
8289 MenhirLib.EngineTypes.next = _menhir_stack;
8290 });
8291 (fun _menhir_env ->
8292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8293 let {
8294 MenhirLib.EngineTypes.semv = m;
8295 MenhirLib.EngineTypes.startp = _startpos_m_;
8296 MenhirLib.EngineTypes.endp = _endpos_m_;
8297 MenhirLib.EngineTypes.next = {
8298 MenhirLib.EngineTypes.semv = p00;
8299 MenhirLib.EngineTypes.startp = _startpos_p00_;
8300 MenhirLib.EngineTypes.endp = _endpos_p00_;
8301 MenhirLib.EngineTypes.next = {
8302 MenhirLib.EngineTypes.semv = r0;
8303 MenhirLib.EngineTypes.startp = _startpos_r0_;
8304 MenhirLib.EngineTypes.endp = _endpos_r0_;
8305 MenhirLib.EngineTypes.next = {
8306 MenhirLib.EngineTypes.state = _menhir_s;
8307 MenhirLib.EngineTypes.semv = x0;
8308 MenhirLib.EngineTypes.startp = _startpos_x0_;
8309 MenhirLib.EngineTypes.endp = _endpos_x0_;
8310 MenhirLib.EngineTypes.next = _menhir_stack;
8311 };
8312 };
8313 };
8314 } = _menhir_stack in
8315 let m : 'tv_list_TMul_ = Obj.magic m in
8316 let p00 : (
8317 # 87 "parser_cocci_menhir.mly"
8318 (Parse_aux.info)
8319 # 8320 "parser_cocci_menhir.ml"
8320 ) = Obj.magic p00 in
8321 let r0 : (
8322 # 73 "parser_cocci_menhir.mly"
8323 (Data.clt)
8324 # 8325 "parser_cocci_menhir.ml"
8325 ) = Obj.magic r0 in
8326 let x0 : 'tv_const_vol = Obj.magic x0 in
8327 let _startpos = _startpos_x0_ in
8328 let _endpos = _endpos_m_ in
8329 let _v : 'tv_ctype = let ty =
8330 let p0 = p00 in
8331 let r = r0 in
8332 let ty =
8333 let p = p0 in
8334
8335 # 535 "parser_cocci_menhir.mly"
8336 ( let (nm,pure,clt) = p in
8337 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8338 # 8339 "parser_cocci_menhir.ml"
8339
8340 in
8341
8342 # 581 "parser_cocci_menhir.mly"
8343 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8344 # 8345 "parser_cocci_menhir.ml"
8345
8346 in
8347 let cv =
8348 let x = x0 in
8349
8350 # 41 "standard.mly"
8351 ( Some x )
8352 # 8353 "parser_cocci_menhir.ml"
8353
8354 in
8355
8356 # 589 "parser_cocci_menhir.mly"
8357 ( P.pointerify (P.make_cv cv ty) m )
8358 # 8359 "parser_cocci_menhir.ml"
8359 in
8360 _menhir_env.MenhirLib.EngineTypes.stack <- {
8361 MenhirLib.EngineTypes.state = _menhir_s;
8362 MenhirLib.EngineTypes.semv = Obj.repr _v;
8363 MenhirLib.EngineTypes.startp = _startpos;
8364 MenhirLib.EngineTypes.endp = _endpos;
8365 MenhirLib.EngineTypes.next = _menhir_stack;
8366 });
8367 (fun _menhir_env ->
8368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8369 let {
8370 MenhirLib.EngineTypes.semv = m;
8371 MenhirLib.EngineTypes.startp = _startpos_m_;
8372 MenhirLib.EngineTypes.endp = _endpos_m_;
8373 MenhirLib.EngineTypes.next = {
8374 MenhirLib.EngineTypes.semv = p00;
8375 MenhirLib.EngineTypes.startp = _startpos_p00_;
8376 MenhirLib.EngineTypes.endp = _endpos_p00_;
8377 MenhirLib.EngineTypes.next = {
8378 MenhirLib.EngineTypes.startp = _startpos__4_;
8379 MenhirLib.EngineTypes.endp = _endpos__4_;
8380 MenhirLib.EngineTypes.next = {
8381 MenhirLib.EngineTypes.semv = r00;
8382 MenhirLib.EngineTypes.startp = _startpos_r00_;
8383 MenhirLib.EngineTypes.endp = _endpos_r00_;
8384 MenhirLib.EngineTypes.next = {
8385 MenhirLib.EngineTypes.semv = r1;
8386 MenhirLib.EngineTypes.startp = _startpos_r1_;
8387 MenhirLib.EngineTypes.endp = _endpos_r1_;
8388 MenhirLib.EngineTypes.next = {
8389 MenhirLib.EngineTypes.state = _menhir_s;
8390 MenhirLib.EngineTypes.semv = x0;
8391 MenhirLib.EngineTypes.startp = _startpos_x0_;
8392 MenhirLib.EngineTypes.endp = _endpos_x0_;
8393 MenhirLib.EngineTypes.next = _menhir_stack;
8394 };
8395 };
8396 };
8397 };
8398 };
8399 } = _menhir_stack in
8400 let m : 'tv_list_TMul_ = Obj.magic m in
8401 let p00 : (
8402 # 81 "parser_cocci_menhir.mly"
8403 (string * Data.clt)
8404 # 8405 "parser_cocci_menhir.ml"
8405 ) = Obj.magic p00 in
8406 let r00 : (
8407 # 69 "parser_cocci_menhir.mly"
8408 (string)
8409 # 8410 "parser_cocci_menhir.ml"
8410 ) = Obj.magic r00 in
8411 let r1 : (
8412 # 73 "parser_cocci_menhir.mly"
8413 (Data.clt)
8414 # 8415 "parser_cocci_menhir.ml"
8415 ) = Obj.magic r1 in
8416 let x0 : 'tv_const_vol = Obj.magic x0 in
8417 let _startpos = _startpos_x0_ in
8418 let _endpos = _endpos_m_ in
8419 let _v : 'tv_ctype = let ty =
8420 let p0 = p00 in
8421 let r0 = r00 in
8422 let r = r1 in
8423 let ty =
8424 let p = p0 in
8425 let r = r0 in
8426
8427 # 538 "parser_cocci_menhir.mly"
8428 ( let nm = (r,P.id2name p) in
8429 (* this is only possible when we are in a metavar decl. Otherwise,
8430 it will be represented already as a MetaType *)
8431 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8432 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8433 Ast0.Impure (*will be ignored*))) )
8434 # 8435 "parser_cocci_menhir.ml"
8435
8436 in
8437
8438 # 581 "parser_cocci_menhir.mly"
8439 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8440 # 8441 "parser_cocci_menhir.ml"
8441
8442 in
8443 let cv =
8444 let x = x0 in
8445
8446 # 41 "standard.mly"
8447 ( Some x )
8448 # 8449 "parser_cocci_menhir.ml"
8449
8450 in
8451
8452 # 589 "parser_cocci_menhir.mly"
8453 ( P.pointerify (P.make_cv cv ty) m )
8454 # 8455 "parser_cocci_menhir.ml"
8455 in
8456 _menhir_env.MenhirLib.EngineTypes.stack <- {
8457 MenhirLib.EngineTypes.state = _menhir_s;
8458 MenhirLib.EngineTypes.semv = Obj.repr _v;
8459 MenhirLib.EngineTypes.startp = _startpos;
8460 MenhirLib.EngineTypes.endp = _endpos;
8461 MenhirLib.EngineTypes.next = _menhir_stack;
8462 });
8463 (fun _menhir_env ->
8464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8465 let {
8466 MenhirLib.EngineTypes.semv = m;
8467 MenhirLib.EngineTypes.startp = _startpos_m_;
8468 MenhirLib.EngineTypes.endp = _endpos_m_;
8469 MenhirLib.EngineTypes.next = {
8470 MenhirLib.EngineTypes.semv = ty00;
8471 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8472 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8473 MenhirLib.EngineTypes.next = {
8474 MenhirLib.EngineTypes.semv = r0;
8475 MenhirLib.EngineTypes.startp = _startpos_r0_;
8476 MenhirLib.EngineTypes.endp = _endpos_r0_;
8477 MenhirLib.EngineTypes.next = {
8478 MenhirLib.EngineTypes.state = _menhir_s;
8479 MenhirLib.EngineTypes.semv = x0;
8480 MenhirLib.EngineTypes.startp = _startpos_x0_;
8481 MenhirLib.EngineTypes.endp = _endpos_x0_;
8482 MenhirLib.EngineTypes.next = _menhir_stack;
8483 };
8484 };
8485 };
8486 } = _menhir_stack in
8487 let m : 'tv_list_TMul_ = Obj.magic m in
8488 let ty00 : (
8489 # 71 "parser_cocci_menhir.mly"
8490 (Data.clt)
8491 # 8492 "parser_cocci_menhir.ml"
8492 ) = Obj.magic ty00 in
8493 let r0 : (
8494 # 73 "parser_cocci_menhir.mly"
8495 (Data.clt)
8496 # 8497 "parser_cocci_menhir.ml"
8497 ) = Obj.magic r0 in
8498 let x0 : 'tv_const_vol = Obj.magic x0 in
8499 let _startpos = _startpos_x0_ in
8500 let _endpos = _endpos_m_ in
8501 let _v : 'tv_ctype = let ty =
8502 let ty0 = ty00 in
8503 let r = r0 in
8504 let ty =
8505 let ty = ty0 in
8506
8507 # 545 "parser_cocci_menhir.mly"
8508 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8509 # 8510 "parser_cocci_menhir.ml"
8510
8511 in
8512
8513 # 581 "parser_cocci_menhir.mly"
8514 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8515 # 8516 "parser_cocci_menhir.ml"
8516
8517 in
8518 let cv =
8519 let x = x0 in
8520
8521 # 41 "standard.mly"
8522 ( Some x )
8523 # 8524 "parser_cocci_menhir.ml"
8524
8525 in
8526
8527 # 589 "parser_cocci_menhir.mly"
8528 ( P.pointerify (P.make_cv cv ty) m )
8529 # 8530 "parser_cocci_menhir.ml"
8530 in
8531 _menhir_env.MenhirLib.EngineTypes.stack <- {
8532 MenhirLib.EngineTypes.state = _menhir_s;
8533 MenhirLib.EngineTypes.semv = Obj.repr _v;
8534 MenhirLib.EngineTypes.startp = _startpos;
8535 MenhirLib.EngineTypes.endp = _endpos;
8536 MenhirLib.EngineTypes.next = _menhir_stack;
8537 });
8538 (fun _menhir_env ->
8539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8540 let {
8541 MenhirLib.EngineTypes.semv = m;
8542 MenhirLib.EngineTypes.startp = _startpos_m_;
8543 MenhirLib.EngineTypes.endp = _endpos_m_;
8544 MenhirLib.EngineTypes.next = {
8545 MenhirLib.EngineTypes.semv = ty200;
8546 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8547 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8548 MenhirLib.EngineTypes.next = {
8549 MenhirLib.EngineTypes.semv = ty100;
8550 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8551 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8552 MenhirLib.EngineTypes.next = {
8553 MenhirLib.EngineTypes.semv = r0;
8554 MenhirLib.EngineTypes.startp = _startpos_r0_;
8555 MenhirLib.EngineTypes.endp = _endpos_r0_;
8556 MenhirLib.EngineTypes.next = {
8557 MenhirLib.EngineTypes.state = _menhir_s;
8558 MenhirLib.EngineTypes.semv = x0;
8559 MenhirLib.EngineTypes.startp = _startpos_x0_;
8560 MenhirLib.EngineTypes.endp = _endpos_x0_;
8561 MenhirLib.EngineTypes.next = _menhir_stack;
8562 };
8563 };
8564 };
8565 };
8566 } = _menhir_stack in
8567 let m : 'tv_list_TMul_ = Obj.magic m in
8568 let ty200 : (
8569 # 71 "parser_cocci_menhir.mly"
8570 (Data.clt)
8571 # 8572 "parser_cocci_menhir.ml"
8572 ) = Obj.magic ty200 in
8573 let ty100 : (
8574 # 71 "parser_cocci_menhir.mly"
8575 (Data.clt)
8576 # 8577 "parser_cocci_menhir.ml"
8577 ) = Obj.magic ty100 in
8578 let r0 : (
8579 # 73 "parser_cocci_menhir.mly"
8580 (Data.clt)
8581 # 8582 "parser_cocci_menhir.ml"
8582 ) = Obj.magic r0 in
8583 let x0 : 'tv_const_vol = Obj.magic x0 in
8584 let _startpos = _startpos_x0_ in
8585 let _endpos = _endpos_m_ in
8586 let _v : 'tv_ctype = let ty =
8587 let ty20 = ty200 in
8588 let ty10 = ty100 in
8589 let r = r0 in
8590 let ty =
8591 let ty2 = ty20 in
8592 let ty1 = ty10 in
8593
8594 # 547 "parser_cocci_menhir.mly"
8595 ( Ast0.wrap
8596 (Ast0.BaseType
8597 (Ast.LongLongType,
8598 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8599 # 8600 "parser_cocci_menhir.ml"
8600
8601 in
8602
8603 # 581 "parser_cocci_menhir.mly"
8604 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8605 # 8606 "parser_cocci_menhir.ml"
8606
8607 in
8608 let cv =
8609 let x = x0 in
8610
8611 # 41 "standard.mly"
8612 ( Some x )
8613 # 8614 "parser_cocci_menhir.ml"
8614
8615 in
8616
8617 # 589 "parser_cocci_menhir.mly"
8618 ( P.pointerify (P.make_cv cv ty) m )
8619 # 8620 "parser_cocci_menhir.ml"
8620 in
8621 _menhir_env.MenhirLib.EngineTypes.stack <- {
8622 MenhirLib.EngineTypes.state = _menhir_s;
8623 MenhirLib.EngineTypes.semv = Obj.repr _v;
8624 MenhirLib.EngineTypes.startp = _startpos;
8625 MenhirLib.EngineTypes.endp = _endpos;
8626 MenhirLib.EngineTypes.next = _menhir_stack;
8627 });
8628 (fun _menhir_env ->
8629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8630 let {
8631 MenhirLib.EngineTypes.semv = m;
8632 MenhirLib.EngineTypes.startp = _startpos_m_;
8633 MenhirLib.EngineTypes.endp = _endpos_m_;
8634 MenhirLib.EngineTypes.next = {
8635 MenhirLib.EngineTypes.semv = ty00;
8636 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8637 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8638 MenhirLib.EngineTypes.next = {
8639 MenhirLib.EngineTypes.semv = r0;
8640 MenhirLib.EngineTypes.startp = _startpos_r0_;
8641 MenhirLib.EngineTypes.endp = _endpos_r0_;
8642 MenhirLib.EngineTypes.next = {
8643 MenhirLib.EngineTypes.state = _menhir_s;
8644 MenhirLib.EngineTypes.semv = x0;
8645 MenhirLib.EngineTypes.startp = _startpos_x0_;
8646 MenhirLib.EngineTypes.endp = _endpos_x0_;
8647 MenhirLib.EngineTypes.next = _menhir_stack;
8648 };
8649 };
8650 };
8651 } = _menhir_stack in
8652 let m : 'tv_list_TMul_ = Obj.magic m in
8653 let ty00 : (
8654 # 71 "parser_cocci_menhir.mly"
8655 (Data.clt)
8656 # 8657 "parser_cocci_menhir.ml"
8657 ) = Obj.magic ty00 in
8658 let r0 : (
8659 # 73 "parser_cocci_menhir.mly"
8660 (Data.clt)
8661 # 8662 "parser_cocci_menhir.ml"
8662 ) = Obj.magic r0 in
8663 let x0 : 'tv_const_vol = Obj.magic x0 in
8664 let _startpos = _startpos_x0_ in
8665 let _endpos = _endpos_m_ in
8666 let _v : 'tv_ctype = let ty =
8667 let ty0 = ty00 in
8668 let r = r0 in
8669 let ty =
8670 let ty = ty0 in
8671
8672 # 529 "parser_cocci_menhir.mly"
8673 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8674 # 8675 "parser_cocci_menhir.ml"
8675
8676 in
8677
8678 # 583 "parser_cocci_menhir.mly"
8679 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8680 # 8681 "parser_cocci_menhir.ml"
8681
8682 in
8683 let cv =
8684 let x = x0 in
8685
8686 # 41 "standard.mly"
8687 ( Some x )
8688 # 8689 "parser_cocci_menhir.ml"
8689
8690 in
8691
8692 # 589 "parser_cocci_menhir.mly"
8693 ( P.pointerify (P.make_cv cv ty) m )
8694 # 8695 "parser_cocci_menhir.ml"
8695 in
8696 _menhir_env.MenhirLib.EngineTypes.stack <- {
8697 MenhirLib.EngineTypes.state = _menhir_s;
8698 MenhirLib.EngineTypes.semv = Obj.repr _v;
8699 MenhirLib.EngineTypes.startp = _startpos;
8700 MenhirLib.EngineTypes.endp = _endpos;
8701 MenhirLib.EngineTypes.next = _menhir_stack;
8702 });
8703 (fun _menhir_env ->
8704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8705 let {
8706 MenhirLib.EngineTypes.semv = m;
8707 MenhirLib.EngineTypes.startp = _startpos_m_;
8708 MenhirLib.EngineTypes.endp = _endpos_m_;
8709 MenhirLib.EngineTypes.next = {
8710 MenhirLib.EngineTypes.semv = ty00;
8711 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8712 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8713 MenhirLib.EngineTypes.next = {
8714 MenhirLib.EngineTypes.semv = r0;
8715 MenhirLib.EngineTypes.startp = _startpos_r0_;
8716 MenhirLib.EngineTypes.endp = _endpos_r0_;
8717 MenhirLib.EngineTypes.next = {
8718 MenhirLib.EngineTypes.state = _menhir_s;
8719 MenhirLib.EngineTypes.semv = x0;
8720 MenhirLib.EngineTypes.startp = _startpos_x0_;
8721 MenhirLib.EngineTypes.endp = _endpos_x0_;
8722 MenhirLib.EngineTypes.next = _menhir_stack;
8723 };
8724 };
8725 };
8726 } = _menhir_stack in
8727 let m : 'tv_list_TMul_ = Obj.magic m in
8728 let ty00 : (
8729 # 71 "parser_cocci_menhir.mly"
8730 (Data.clt)
8731 # 8732 "parser_cocci_menhir.ml"
8732 ) = Obj.magic ty00 in
8733 let r0 : (
8734 # 73 "parser_cocci_menhir.mly"
8735 (Data.clt)
8736 # 8737 "parser_cocci_menhir.ml"
8737 ) = Obj.magic r0 in
8738 let x0 : 'tv_const_vol = Obj.magic x0 in
8739 let _startpos = _startpos_x0_ in
8740 let _endpos = _endpos_m_ in
8741 let _v : 'tv_ctype = let ty =
8742 let ty0 = ty00 in
8743 let r = r0 in
8744 let ty =
8745 let ty = ty0 in
8746
8747 # 531 "parser_cocci_menhir.mly"
8748 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8749 # 8750 "parser_cocci_menhir.ml"
8750
8751 in
8752
8753 # 583 "parser_cocci_menhir.mly"
8754 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8755 # 8756 "parser_cocci_menhir.ml"
8756
8757 in
8758 let cv =
8759 let x = x0 in
8760
8761 # 41 "standard.mly"
8762 ( Some x )
8763 # 8764 "parser_cocci_menhir.ml"
8764
8765 in
8766
8767 # 589 "parser_cocci_menhir.mly"
8768 ( P.pointerify (P.make_cv cv ty) m )
8769 # 8770 "parser_cocci_menhir.ml"
8770 in
8771 _menhir_env.MenhirLib.EngineTypes.stack <- {
8772 MenhirLib.EngineTypes.state = _menhir_s;
8773 MenhirLib.EngineTypes.semv = Obj.repr _v;
8774 MenhirLib.EngineTypes.startp = _startpos;
8775 MenhirLib.EngineTypes.endp = _endpos;
8776 MenhirLib.EngineTypes.next = _menhir_stack;
8777 });
8778 (fun _menhir_env ->
8779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8780 let {
8781 MenhirLib.EngineTypes.semv = m;
8782 MenhirLib.EngineTypes.startp = _startpos_m_;
8783 MenhirLib.EngineTypes.endp = _endpos_m_;
8784 MenhirLib.EngineTypes.next = {
8785 MenhirLib.EngineTypes.semv = ty00;
8786 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8787 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8788 MenhirLib.EngineTypes.next = {
8789 MenhirLib.EngineTypes.semv = r0;
8790 MenhirLib.EngineTypes.startp = _startpos_r0_;
8791 MenhirLib.EngineTypes.endp = _endpos_r0_;
8792 MenhirLib.EngineTypes.next = {
8793 MenhirLib.EngineTypes.state = _menhir_s;
8794 MenhirLib.EngineTypes.semv = x0;
8795 MenhirLib.EngineTypes.startp = _startpos_x0_;
8796 MenhirLib.EngineTypes.endp = _endpos_x0_;
8797 MenhirLib.EngineTypes.next = _menhir_stack;
8798 };
8799 };
8800 };
8801 } = _menhir_stack in
8802 let m : 'tv_list_TMul_ = Obj.magic m in
8803 let ty00 : (
8804 # 71 "parser_cocci_menhir.mly"
8805 (Data.clt)
8806 # 8807 "parser_cocci_menhir.ml"
8807 ) = Obj.magic ty00 in
8808 let r0 : (
8809 # 73 "parser_cocci_menhir.mly"
8810 (Data.clt)
8811 # 8812 "parser_cocci_menhir.ml"
8812 ) = Obj.magic r0 in
8813 let x0 : 'tv_const_vol = Obj.magic x0 in
8814 let _startpos = _startpos_x0_ in
8815 let _endpos = _endpos_m_ in
8816 let _v : 'tv_ctype = let ty =
8817 let ty0 = ty00 in
8818 let r = r0 in
8819 let ty =
8820 let ty = ty0 in
8821
8822 # 533 "parser_cocci_menhir.mly"
8823 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8824 # 8825 "parser_cocci_menhir.ml"
8825
8826 in
8827
8828 # 583 "parser_cocci_menhir.mly"
8829 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8830 # 8831 "parser_cocci_menhir.ml"
8831
8832 in
8833 let cv =
8834 let x = x0 in
8835
8836 # 41 "standard.mly"
8837 ( Some x )
8838 # 8839 "parser_cocci_menhir.ml"
8839
8840 in
8841
8842 # 589 "parser_cocci_menhir.mly"
8843 ( P.pointerify (P.make_cv cv ty) m )
8844 # 8845 "parser_cocci_menhir.ml"
8845 in
8846 _menhir_env.MenhirLib.EngineTypes.stack <- {
8847 MenhirLib.EngineTypes.state = _menhir_s;
8848 MenhirLib.EngineTypes.semv = Obj.repr _v;
8849 MenhirLib.EngineTypes.startp = _startpos;
8850 MenhirLib.EngineTypes.endp = _endpos;
8851 MenhirLib.EngineTypes.next = _menhir_stack;
8852 });
8853 (fun _menhir_env ->
8854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8855 let {
8856 MenhirLib.EngineTypes.semv = m;
8857 MenhirLib.EngineTypes.startp = _startpos_m_;
8858 MenhirLib.EngineTypes.endp = _endpos_m_;
8859 MenhirLib.EngineTypes.next = {
8860 MenhirLib.EngineTypes.semv = p00;
8861 MenhirLib.EngineTypes.startp = _startpos_p00_;
8862 MenhirLib.EngineTypes.endp = _endpos_p00_;
8863 MenhirLib.EngineTypes.next = {
8864 MenhirLib.EngineTypes.semv = r0;
8865 MenhirLib.EngineTypes.startp = _startpos_r0_;
8866 MenhirLib.EngineTypes.endp = _endpos_r0_;
8867 MenhirLib.EngineTypes.next = {
8868 MenhirLib.EngineTypes.state = _menhir_s;
8869 MenhirLib.EngineTypes.semv = x0;
8870 MenhirLib.EngineTypes.startp = _startpos_x0_;
8871 MenhirLib.EngineTypes.endp = _endpos_x0_;
8872 MenhirLib.EngineTypes.next = _menhir_stack;
8873 };
8874 };
8875 };
8876 } = _menhir_stack in
8877 let m : 'tv_list_TMul_ = Obj.magic m in
8878 let p00 : (
8879 # 87 "parser_cocci_menhir.mly"
8880 (Parse_aux.info)
8881 # 8882 "parser_cocci_menhir.ml"
8882 ) = Obj.magic p00 in
8883 let r0 : (
8884 # 73 "parser_cocci_menhir.mly"
8885 (Data.clt)
8886 # 8887 "parser_cocci_menhir.ml"
8887 ) = Obj.magic r0 in
8888 let x0 : 'tv_const_vol = Obj.magic x0 in
8889 let _startpos = _startpos_x0_ in
8890 let _endpos = _endpos_m_ in
8891 let _v : 'tv_ctype = let ty =
8892 let p0 = p00 in
8893 let r = r0 in
8894 let ty =
8895 let p = p0 in
8896
8897 # 535 "parser_cocci_menhir.mly"
8898 ( let (nm,pure,clt) = p in
8899 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8900 # 8901 "parser_cocci_menhir.ml"
8901
8902 in
8903
8904 # 583 "parser_cocci_menhir.mly"
8905 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8906 # 8907 "parser_cocci_menhir.ml"
8907
8908 in
8909 let cv =
8910 let x = x0 in
8911
8912 # 41 "standard.mly"
8913 ( Some x )
8914 # 8915 "parser_cocci_menhir.ml"
8915
8916 in
8917
8918 # 589 "parser_cocci_menhir.mly"
8919 ( P.pointerify (P.make_cv cv ty) m )
8920 # 8921 "parser_cocci_menhir.ml"
8921 in
8922 _menhir_env.MenhirLib.EngineTypes.stack <- {
8923 MenhirLib.EngineTypes.state = _menhir_s;
8924 MenhirLib.EngineTypes.semv = Obj.repr _v;
8925 MenhirLib.EngineTypes.startp = _startpos;
8926 MenhirLib.EngineTypes.endp = _endpos;
8927 MenhirLib.EngineTypes.next = _menhir_stack;
8928 });
8929 (fun _menhir_env ->
8930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8931 let {
8932 MenhirLib.EngineTypes.semv = m;
8933 MenhirLib.EngineTypes.startp = _startpos_m_;
8934 MenhirLib.EngineTypes.endp = _endpos_m_;
8935 MenhirLib.EngineTypes.next = {
8936 MenhirLib.EngineTypes.semv = p00;
8937 MenhirLib.EngineTypes.startp = _startpos_p00_;
8938 MenhirLib.EngineTypes.endp = _endpos_p00_;
8939 MenhirLib.EngineTypes.next = {
8940 MenhirLib.EngineTypes.startp = _startpos__4_;
8941 MenhirLib.EngineTypes.endp = _endpos__4_;
8942 MenhirLib.EngineTypes.next = {
8943 MenhirLib.EngineTypes.semv = r00;
8944 MenhirLib.EngineTypes.startp = _startpos_r00_;
8945 MenhirLib.EngineTypes.endp = _endpos_r00_;
8946 MenhirLib.EngineTypes.next = {
8947 MenhirLib.EngineTypes.semv = r1;
8948 MenhirLib.EngineTypes.startp = _startpos_r1_;
8949 MenhirLib.EngineTypes.endp = _endpos_r1_;
8950 MenhirLib.EngineTypes.next = {
8951 MenhirLib.EngineTypes.state = _menhir_s;
8952 MenhirLib.EngineTypes.semv = x0;
8953 MenhirLib.EngineTypes.startp = _startpos_x0_;
8954 MenhirLib.EngineTypes.endp = _endpos_x0_;
8955 MenhirLib.EngineTypes.next = _menhir_stack;
8956 };
8957 };
8958 };
8959 };
8960 };
8961 } = _menhir_stack in
8962 let m : 'tv_list_TMul_ = Obj.magic m in
8963 let p00 : (
8964 # 81 "parser_cocci_menhir.mly"
8965 (string * Data.clt)
8966 # 8967 "parser_cocci_menhir.ml"
8967 ) = Obj.magic p00 in
8968 let r00 : (
8969 # 69 "parser_cocci_menhir.mly"
8970 (string)
8971 # 8972 "parser_cocci_menhir.ml"
8972 ) = Obj.magic r00 in
8973 let r1 : (
8974 # 73 "parser_cocci_menhir.mly"
8975 (Data.clt)
8976 # 8977 "parser_cocci_menhir.ml"
8977 ) = Obj.magic r1 in
8978 let x0 : 'tv_const_vol = Obj.magic x0 in
8979 let _startpos = _startpos_x0_ in
8980 let _endpos = _endpos_m_ in
8981 let _v : 'tv_ctype = let ty =
8982 let p0 = p00 in
8983 let r0 = r00 in
8984 let r = r1 in
8985 let ty =
8986 let p = p0 in
8987 let r = r0 in
8988
8989 # 538 "parser_cocci_menhir.mly"
8990 ( let nm = (r,P.id2name p) in
8991 (* this is only possible when we are in a metavar decl. Otherwise,
8992 it will be represented already as a MetaType *)
8993 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8994 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8995 Ast0.Impure (*will be ignored*))) )
8996 # 8997 "parser_cocci_menhir.ml"
8997
8998 in
8999
9000 # 583 "parser_cocci_menhir.mly"
9001 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9002 # 9003 "parser_cocci_menhir.ml"
9003
9004 in
9005 let cv =
9006 let x = x0 in
9007
9008 # 41 "standard.mly"
9009 ( Some x )
9010 # 9011 "parser_cocci_menhir.ml"
9011
9012 in
9013
9014 # 589 "parser_cocci_menhir.mly"
9015 ( P.pointerify (P.make_cv cv ty) m )
9016 # 9017 "parser_cocci_menhir.ml"
9017 in
9018 _menhir_env.MenhirLib.EngineTypes.stack <- {
9019 MenhirLib.EngineTypes.state = _menhir_s;
9020 MenhirLib.EngineTypes.semv = Obj.repr _v;
9021 MenhirLib.EngineTypes.startp = _startpos;
9022 MenhirLib.EngineTypes.endp = _endpos;
9023 MenhirLib.EngineTypes.next = _menhir_stack;
9024 });
9025 (fun _menhir_env ->
9026 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9027 let {
9028 MenhirLib.EngineTypes.semv = m;
9029 MenhirLib.EngineTypes.startp = _startpos_m_;
9030 MenhirLib.EngineTypes.endp = _endpos_m_;
9031 MenhirLib.EngineTypes.next = {
9032 MenhirLib.EngineTypes.semv = ty00;
9033 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9034 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9035 MenhirLib.EngineTypes.next = {
9036 MenhirLib.EngineTypes.semv = r0;
9037 MenhirLib.EngineTypes.startp = _startpos_r0_;
9038 MenhirLib.EngineTypes.endp = _endpos_r0_;
9039 MenhirLib.EngineTypes.next = {
9040 MenhirLib.EngineTypes.state = _menhir_s;
9041 MenhirLib.EngineTypes.semv = x0;
9042 MenhirLib.EngineTypes.startp = _startpos_x0_;
9043 MenhirLib.EngineTypes.endp = _endpos_x0_;
9044 MenhirLib.EngineTypes.next = _menhir_stack;
9045 };
9046 };
9047 };
9048 } = _menhir_stack in
9049 let m : 'tv_list_TMul_ = Obj.magic m in
9050 let ty00 : (
9051 # 71 "parser_cocci_menhir.mly"
9052 (Data.clt)
9053 # 9054 "parser_cocci_menhir.ml"
9054 ) = Obj.magic ty00 in
9055 let r0 : (
9056 # 73 "parser_cocci_menhir.mly"
9057 (Data.clt)
9058 # 9059 "parser_cocci_menhir.ml"
9059 ) = Obj.magic r0 in
9060 let x0 : 'tv_const_vol = Obj.magic x0 in
9061 let _startpos = _startpos_x0_ in
9062 let _endpos = _endpos_m_ in
9063 let _v : 'tv_ctype = let ty =
9064 let ty0 = ty00 in
9065 let r = r0 in
9066 let ty =
9067 let ty = ty0 in
9068
9069 # 545 "parser_cocci_menhir.mly"
9070 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9071 # 9072 "parser_cocci_menhir.ml"
9072
9073 in
9074
9075 # 583 "parser_cocci_menhir.mly"
9076 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9077 # 9078 "parser_cocci_menhir.ml"
9078
9079 in
9080 let cv =
9081 let x = x0 in
9082
9083 # 41 "standard.mly"
9084 ( Some x )
9085 # 9086 "parser_cocci_menhir.ml"
9086
9087 in
9088
9089 # 589 "parser_cocci_menhir.mly"
9090 ( P.pointerify (P.make_cv cv ty) m )
9091 # 9092 "parser_cocci_menhir.ml"
9092 in
9093 _menhir_env.MenhirLib.EngineTypes.stack <- {
9094 MenhirLib.EngineTypes.state = _menhir_s;
9095 MenhirLib.EngineTypes.semv = Obj.repr _v;
9096 MenhirLib.EngineTypes.startp = _startpos;
9097 MenhirLib.EngineTypes.endp = _endpos;
9098 MenhirLib.EngineTypes.next = _menhir_stack;
9099 });
9100 (fun _menhir_env ->
9101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9102 let {
9103 MenhirLib.EngineTypes.semv = m;
9104 MenhirLib.EngineTypes.startp = _startpos_m_;
9105 MenhirLib.EngineTypes.endp = _endpos_m_;
9106 MenhirLib.EngineTypes.next = {
9107 MenhirLib.EngineTypes.semv = ty200;
9108 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9109 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9110 MenhirLib.EngineTypes.next = {
9111 MenhirLib.EngineTypes.semv = ty100;
9112 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9113 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9114 MenhirLib.EngineTypes.next = {
9115 MenhirLib.EngineTypes.semv = r0;
9116 MenhirLib.EngineTypes.startp = _startpos_r0_;
9117 MenhirLib.EngineTypes.endp = _endpos_r0_;
9118 MenhirLib.EngineTypes.next = {
9119 MenhirLib.EngineTypes.state = _menhir_s;
9120 MenhirLib.EngineTypes.semv = x0;
9121 MenhirLib.EngineTypes.startp = _startpos_x0_;
9122 MenhirLib.EngineTypes.endp = _endpos_x0_;
9123 MenhirLib.EngineTypes.next = _menhir_stack;
9124 };
9125 };
9126 };
9127 };
9128 } = _menhir_stack in
9129 let m : 'tv_list_TMul_ = Obj.magic m in
9130 let ty200 : (
9131 # 71 "parser_cocci_menhir.mly"
9132 (Data.clt)
9133 # 9134 "parser_cocci_menhir.ml"
9134 ) = Obj.magic ty200 in
9135 let ty100 : (
9136 # 71 "parser_cocci_menhir.mly"
9137 (Data.clt)
9138 # 9139 "parser_cocci_menhir.ml"
9139 ) = Obj.magic ty100 in
9140 let r0 : (
9141 # 73 "parser_cocci_menhir.mly"
9142 (Data.clt)
9143 # 9144 "parser_cocci_menhir.ml"
9144 ) = Obj.magic r0 in
9145 let x0 : 'tv_const_vol = Obj.magic x0 in
9146 let _startpos = _startpos_x0_ in
9147 let _endpos = _endpos_m_ in
9148 let _v : 'tv_ctype = let ty =
9149 let ty20 = ty200 in
9150 let ty10 = ty100 in
9151 let r = r0 in
9152 let ty =
9153 let ty2 = ty20 in
9154 let ty1 = ty10 in
9155
9156 # 547 "parser_cocci_menhir.mly"
9157 ( Ast0.wrap
9158 (Ast0.BaseType
9159 (Ast.LongLongType,
9160 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9161 # 9162 "parser_cocci_menhir.ml"
9162
9163 in
9164
9165 # 583 "parser_cocci_menhir.mly"
9166 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9167 # 9168 "parser_cocci_menhir.ml"
9168
9169 in
9170 let cv =
9171 let x = x0 in
9172
9173 # 41 "standard.mly"
9174 ( Some x )
9175 # 9176 "parser_cocci_menhir.ml"
9176
9177 in
9178
9179 # 589 "parser_cocci_menhir.mly"
9180 ( P.pointerify (P.make_cv cv ty) m )
9181 # 9182 "parser_cocci_menhir.ml"
9182 in
9183 _menhir_env.MenhirLib.EngineTypes.stack <- {
9184 MenhirLib.EngineTypes.state = _menhir_s;
9185 MenhirLib.EngineTypes.semv = Obj.repr _v;
9186 MenhirLib.EngineTypes.startp = _startpos;
9187 MenhirLib.EngineTypes.endp = _endpos;
9188 MenhirLib.EngineTypes.next = _menhir_stack;
9189 });
9190 (fun _menhir_env ->
9191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9192 let {
9193 MenhirLib.EngineTypes.semv = m;
9194 MenhirLib.EngineTypes.startp = _startpos_m_;
9195 MenhirLib.EngineTypes.endp = _endpos_m_;
9196 MenhirLib.EngineTypes.next = {
9197 MenhirLib.EngineTypes.semv = ty00;
9198 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9199 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9200 MenhirLib.EngineTypes.next = {
9201 MenhirLib.EngineTypes.state = _menhir_s;
9202 MenhirLib.EngineTypes.semv = x0;
9203 MenhirLib.EngineTypes.startp = _startpos_x0_;
9204 MenhirLib.EngineTypes.endp = _endpos_x0_;
9205 MenhirLib.EngineTypes.next = _menhir_stack;
9206 };
9207 };
9208 } = _menhir_stack in
9209 let m : 'tv_list_TMul_ = Obj.magic m in
9210 let ty00 : (
9211 # 71 "parser_cocci_menhir.mly"
9212 (Data.clt)
9213 # 9214 "parser_cocci_menhir.ml"
9214 ) = Obj.magic ty00 in
9215 let x0 : 'tv_const_vol = Obj.magic x0 in
9216 let _startpos = _startpos_x0_ in
9217 let _endpos = _endpos_m_ in
9218 let _v : 'tv_ctype = let ty =
9219 let ty0 = ty00 in
9220 let ty =
9221 let ty = ty0 in
9222
9223 # 529 "parser_cocci_menhir.mly"
9224 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9225 # 9226 "parser_cocci_menhir.ml"
9226
9227 in
9228
9229 # 584 "parser_cocci_menhir.mly"
9230 ( ty )
9231 # 9232 "parser_cocci_menhir.ml"
9232
9233 in
9234 let cv =
9235 let x = x0 in
9236
9237 # 41 "standard.mly"
9238 ( Some x )
9239 # 9240 "parser_cocci_menhir.ml"
9240
9241 in
9242
9243 # 589 "parser_cocci_menhir.mly"
9244 ( P.pointerify (P.make_cv cv ty) m )
9245 # 9246 "parser_cocci_menhir.ml"
9246 in
9247 _menhir_env.MenhirLib.EngineTypes.stack <- {
9248 MenhirLib.EngineTypes.state = _menhir_s;
9249 MenhirLib.EngineTypes.semv = Obj.repr _v;
9250 MenhirLib.EngineTypes.startp = _startpos;
9251 MenhirLib.EngineTypes.endp = _endpos;
9252 MenhirLib.EngineTypes.next = _menhir_stack;
9253 });
9254 (fun _menhir_env ->
9255 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9256 let {
9257 MenhirLib.EngineTypes.semv = m;
9258 MenhirLib.EngineTypes.startp = _startpos_m_;
9259 MenhirLib.EngineTypes.endp = _endpos_m_;
9260 MenhirLib.EngineTypes.next = {
9261 MenhirLib.EngineTypes.semv = ty00;
9262 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9263 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9264 MenhirLib.EngineTypes.next = {
9265 MenhirLib.EngineTypes.state = _menhir_s;
9266 MenhirLib.EngineTypes.semv = x0;
9267 MenhirLib.EngineTypes.startp = _startpos_x0_;
9268 MenhirLib.EngineTypes.endp = _endpos_x0_;
9269 MenhirLib.EngineTypes.next = _menhir_stack;
9270 };
9271 };
9272 } = _menhir_stack in
9273 let m : 'tv_list_TMul_ = Obj.magic m in
9274 let ty00 : (
9275 # 71 "parser_cocci_menhir.mly"
9276 (Data.clt)
9277 # 9278 "parser_cocci_menhir.ml"
9278 ) = Obj.magic ty00 in
9279 let x0 : 'tv_const_vol = Obj.magic x0 in
9280 let _startpos = _startpos_x0_ in
9281 let _endpos = _endpos_m_ in
9282 let _v : 'tv_ctype = let ty =
9283 let ty0 = ty00 in
9284 let ty =
9285 let ty = ty0 in
9286
9287 # 531 "parser_cocci_menhir.mly"
9288 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9289 # 9290 "parser_cocci_menhir.ml"
9290
9291 in
9292
9293 # 584 "parser_cocci_menhir.mly"
9294 ( ty )
9295 # 9296 "parser_cocci_menhir.ml"
9296
9297 in
9298 let cv =
9299 let x = x0 in
9300
9301 # 41 "standard.mly"
9302 ( Some x )
9303 # 9304 "parser_cocci_menhir.ml"
9304
9305 in
9306
9307 # 589 "parser_cocci_menhir.mly"
9308 ( P.pointerify (P.make_cv cv ty) m )
9309 # 9310 "parser_cocci_menhir.ml"
9310 in
9311 _menhir_env.MenhirLib.EngineTypes.stack <- {
9312 MenhirLib.EngineTypes.state = _menhir_s;
9313 MenhirLib.EngineTypes.semv = Obj.repr _v;
9314 MenhirLib.EngineTypes.startp = _startpos;
9315 MenhirLib.EngineTypes.endp = _endpos;
9316 MenhirLib.EngineTypes.next = _menhir_stack;
9317 });
9318 (fun _menhir_env ->
9319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9320 let {
9321 MenhirLib.EngineTypes.semv = m;
9322 MenhirLib.EngineTypes.startp = _startpos_m_;
9323 MenhirLib.EngineTypes.endp = _endpos_m_;
9324 MenhirLib.EngineTypes.next = {
9325 MenhirLib.EngineTypes.semv = ty00;
9326 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9327 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9328 MenhirLib.EngineTypes.next = {
9329 MenhirLib.EngineTypes.state = _menhir_s;
9330 MenhirLib.EngineTypes.semv = x0;
9331 MenhirLib.EngineTypes.startp = _startpos_x0_;
9332 MenhirLib.EngineTypes.endp = _endpos_x0_;
9333 MenhirLib.EngineTypes.next = _menhir_stack;
9334 };
9335 };
9336 } = _menhir_stack in
9337 let m : 'tv_list_TMul_ = Obj.magic m in
9338 let ty00 : (
9339 # 71 "parser_cocci_menhir.mly"
9340 (Data.clt)
9341 # 9342 "parser_cocci_menhir.ml"
9342 ) = Obj.magic ty00 in
9343 let x0 : 'tv_const_vol = Obj.magic x0 in
9344 let _startpos = _startpos_x0_ in
9345 let _endpos = _endpos_m_ in
9346 let _v : 'tv_ctype = let ty =
9347 let ty0 = ty00 in
9348 let ty =
9349 let ty = ty0 in
9350
9351 # 533 "parser_cocci_menhir.mly"
9352 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9353 # 9354 "parser_cocci_menhir.ml"
9354
9355 in
9356
9357 # 584 "parser_cocci_menhir.mly"
9358 ( ty )
9359 # 9360 "parser_cocci_menhir.ml"
9360
9361 in
9362 let cv =
9363 let x = x0 in
9364
9365 # 41 "standard.mly"
9366 ( Some x )
9367 # 9368 "parser_cocci_menhir.ml"
9368
9369 in
9370
9371 # 589 "parser_cocci_menhir.mly"
9372 ( P.pointerify (P.make_cv cv ty) m )
9373 # 9374 "parser_cocci_menhir.ml"
9374 in
9375 _menhir_env.MenhirLib.EngineTypes.stack <- {
9376 MenhirLib.EngineTypes.state = _menhir_s;
9377 MenhirLib.EngineTypes.semv = Obj.repr _v;
9378 MenhirLib.EngineTypes.startp = _startpos;
9379 MenhirLib.EngineTypes.endp = _endpos;
9380 MenhirLib.EngineTypes.next = _menhir_stack;
9381 });
9382 (fun _menhir_env ->
9383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9384 let {
9385 MenhirLib.EngineTypes.semv = m;
9386 MenhirLib.EngineTypes.startp = _startpos_m_;
9387 MenhirLib.EngineTypes.endp = _endpos_m_;
9388 MenhirLib.EngineTypes.next = {
9389 MenhirLib.EngineTypes.semv = p00;
9390 MenhirLib.EngineTypes.startp = _startpos_p00_;
9391 MenhirLib.EngineTypes.endp = _endpos_p00_;
9392 MenhirLib.EngineTypes.next = {
9393 MenhirLib.EngineTypes.state = _menhir_s;
9394 MenhirLib.EngineTypes.semv = x0;
9395 MenhirLib.EngineTypes.startp = _startpos_x0_;
9396 MenhirLib.EngineTypes.endp = _endpos_x0_;
9397 MenhirLib.EngineTypes.next = _menhir_stack;
9398 };
9399 };
9400 } = _menhir_stack in
9401 let m : 'tv_list_TMul_ = Obj.magic m in
9402 let p00 : (
9403 # 87 "parser_cocci_menhir.mly"
9404 (Parse_aux.info)
9405 # 9406 "parser_cocci_menhir.ml"
9406 ) = Obj.magic p00 in
9407 let x0 : 'tv_const_vol = Obj.magic x0 in
9408 let _startpos = _startpos_x0_ in
9409 let _endpos = _endpos_m_ in
9410 let _v : 'tv_ctype = let ty =
9411 let p0 = p00 in
9412 let ty =
9413 let p = p0 in
9414
9415 # 535 "parser_cocci_menhir.mly"
9416 ( let (nm,pure,clt) = p in
9417 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9418 # 9419 "parser_cocci_menhir.ml"
9419
9420 in
9421
9422 # 584 "parser_cocci_menhir.mly"
9423 ( ty )
9424 # 9425 "parser_cocci_menhir.ml"
9425
9426 in
9427 let cv =
9428 let x = x0 in
9429
9430 # 41 "standard.mly"
9431 ( Some x )
9432 # 9433 "parser_cocci_menhir.ml"
9433
9434 in
9435
9436 # 589 "parser_cocci_menhir.mly"
9437 ( P.pointerify (P.make_cv cv ty) m )
9438 # 9439 "parser_cocci_menhir.ml"
9439 in
9440 _menhir_env.MenhirLib.EngineTypes.stack <- {
9441 MenhirLib.EngineTypes.state = _menhir_s;
9442 MenhirLib.EngineTypes.semv = Obj.repr _v;
9443 MenhirLib.EngineTypes.startp = _startpos;
9444 MenhirLib.EngineTypes.endp = _endpos;
9445 MenhirLib.EngineTypes.next = _menhir_stack;
9446 });
9447 (fun _menhir_env ->
9448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9449 let {
9450 MenhirLib.EngineTypes.semv = m;
9451 MenhirLib.EngineTypes.startp = _startpos_m_;
9452 MenhirLib.EngineTypes.endp = _endpos_m_;
9453 MenhirLib.EngineTypes.next = {
9454 MenhirLib.EngineTypes.semv = p00;
9455 MenhirLib.EngineTypes.startp = _startpos_p00_;
9456 MenhirLib.EngineTypes.endp = _endpos_p00_;
9457 MenhirLib.EngineTypes.next = {
9458 MenhirLib.EngineTypes.startp = _startpos__3_;
9459 MenhirLib.EngineTypes.endp = _endpos__3_;
9460 MenhirLib.EngineTypes.next = {
9461 MenhirLib.EngineTypes.semv = r00;
9462 MenhirLib.EngineTypes.startp = _startpos_r00_;
9463 MenhirLib.EngineTypes.endp = _endpos_r00_;
9464 MenhirLib.EngineTypes.next = {
9465 MenhirLib.EngineTypes.state = _menhir_s;
9466 MenhirLib.EngineTypes.semv = x0;
9467 MenhirLib.EngineTypes.startp = _startpos_x0_;
9468 MenhirLib.EngineTypes.endp = _endpos_x0_;
9469 MenhirLib.EngineTypes.next = _menhir_stack;
9470 };
9471 };
9472 };
9473 };
9474 } = _menhir_stack in
9475 let m : 'tv_list_TMul_ = Obj.magic m in
9476 let p00 : (
9477 # 81 "parser_cocci_menhir.mly"
9478 (string * Data.clt)
9479 # 9480 "parser_cocci_menhir.ml"
9480 ) = Obj.magic p00 in
9481 let r00 : (
9482 # 69 "parser_cocci_menhir.mly"
9483 (string)
9484 # 9485 "parser_cocci_menhir.ml"
9485 ) = Obj.magic r00 in
9486 let x0 : 'tv_const_vol = Obj.magic x0 in
9487 let _startpos = _startpos_x0_ in
9488 let _endpos = _endpos_m_ in
9489 let _v : 'tv_ctype = let ty =
9490 let p0 = p00 in
9491 let r0 = r00 in
9492 let ty =
9493 let p = p0 in
9494 let r = r0 in
9495
9496 # 538 "parser_cocci_menhir.mly"
9497 ( let nm = (r,P.id2name p) in
9498 (* this is only possible when we are in a metavar decl. Otherwise,
9499 it will be represented already as a MetaType *)
9500 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9501 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9502 Ast0.Impure (*will be ignored*))) )
9503 # 9504 "parser_cocci_menhir.ml"
9504
9505 in
9506
9507 # 584 "parser_cocci_menhir.mly"
9508 ( ty )
9509 # 9510 "parser_cocci_menhir.ml"
9510
9511 in
9512 let cv =
9513 let x = x0 in
9514
9515 # 41 "standard.mly"
9516 ( Some x )
9517 # 9518 "parser_cocci_menhir.ml"
9518
9519 in
9520
9521 # 589 "parser_cocci_menhir.mly"
9522 ( P.pointerify (P.make_cv cv ty) m )
9523 # 9524 "parser_cocci_menhir.ml"
9524 in
9525 _menhir_env.MenhirLib.EngineTypes.stack <- {
9526 MenhirLib.EngineTypes.state = _menhir_s;
9527 MenhirLib.EngineTypes.semv = Obj.repr _v;
9528 MenhirLib.EngineTypes.startp = _startpos;
9529 MenhirLib.EngineTypes.endp = _endpos;
9530 MenhirLib.EngineTypes.next = _menhir_stack;
9531 });
9532 (fun _menhir_env ->
9533 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9534 let {
9535 MenhirLib.EngineTypes.semv = m;
9536 MenhirLib.EngineTypes.startp = _startpos_m_;
9537 MenhirLib.EngineTypes.endp = _endpos_m_;
9538 MenhirLib.EngineTypes.next = {
9539 MenhirLib.EngineTypes.semv = ty00;
9540 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9541 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9542 MenhirLib.EngineTypes.next = {
9543 MenhirLib.EngineTypes.state = _menhir_s;
9544 MenhirLib.EngineTypes.semv = x0;
9545 MenhirLib.EngineTypes.startp = _startpos_x0_;
9546 MenhirLib.EngineTypes.endp = _endpos_x0_;
9547 MenhirLib.EngineTypes.next = _menhir_stack;
9548 };
9549 };
9550 } = _menhir_stack in
9551 let m : 'tv_list_TMul_ = Obj.magic m in
9552 let ty00 : (
9553 # 71 "parser_cocci_menhir.mly"
9554 (Data.clt)
9555 # 9556 "parser_cocci_menhir.ml"
9556 ) = Obj.magic ty00 in
9557 let x0 : 'tv_const_vol = Obj.magic x0 in
9558 let _startpos = _startpos_x0_ in
9559 let _endpos = _endpos_m_ in
9560 let _v : 'tv_ctype = let ty =
9561 let ty0 = ty00 in
9562 let ty =
9563 let ty = ty0 in
9564
9565 # 545 "parser_cocci_menhir.mly"
9566 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9567 # 9568 "parser_cocci_menhir.ml"
9568
9569 in
9570
9571 # 584 "parser_cocci_menhir.mly"
9572 ( ty )
9573 # 9574 "parser_cocci_menhir.ml"
9574
9575 in
9576 let cv =
9577 let x = x0 in
9578
9579 # 41 "standard.mly"
9580 ( Some x )
9581 # 9582 "parser_cocci_menhir.ml"
9582
9583 in
9584
9585 # 589 "parser_cocci_menhir.mly"
9586 ( P.pointerify (P.make_cv cv ty) m )
9587 # 9588 "parser_cocci_menhir.ml"
9588 in
9589 _menhir_env.MenhirLib.EngineTypes.stack <- {
9590 MenhirLib.EngineTypes.state = _menhir_s;
9591 MenhirLib.EngineTypes.semv = Obj.repr _v;
9592 MenhirLib.EngineTypes.startp = _startpos;
9593 MenhirLib.EngineTypes.endp = _endpos;
9594 MenhirLib.EngineTypes.next = _menhir_stack;
9595 });
9596 (fun _menhir_env ->
9597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9598 let {
9599 MenhirLib.EngineTypes.semv = m;
9600 MenhirLib.EngineTypes.startp = _startpos_m_;
9601 MenhirLib.EngineTypes.endp = _endpos_m_;
9602 MenhirLib.EngineTypes.next = {
9603 MenhirLib.EngineTypes.semv = ty200;
9604 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9605 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9606 MenhirLib.EngineTypes.next = {
9607 MenhirLib.EngineTypes.semv = ty100;
9608 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9609 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9610 MenhirLib.EngineTypes.next = {
9611 MenhirLib.EngineTypes.state = _menhir_s;
9612 MenhirLib.EngineTypes.semv = x0;
9613 MenhirLib.EngineTypes.startp = _startpos_x0_;
9614 MenhirLib.EngineTypes.endp = _endpos_x0_;
9615 MenhirLib.EngineTypes.next = _menhir_stack;
9616 };
9617 };
9618 };
9619 } = _menhir_stack in
9620 let m : 'tv_list_TMul_ = Obj.magic m in
9621 let ty200 : (
9622 # 71 "parser_cocci_menhir.mly"
9623 (Data.clt)
9624 # 9625 "parser_cocci_menhir.ml"
9625 ) = Obj.magic ty200 in
9626 let ty100 : (
9627 # 71 "parser_cocci_menhir.mly"
9628 (Data.clt)
9629 # 9630 "parser_cocci_menhir.ml"
9630 ) = Obj.magic ty100 in
9631 let x0 : 'tv_const_vol = Obj.magic x0 in
9632 let _startpos = _startpos_x0_ in
9633 let _endpos = _endpos_m_ in
9634 let _v : 'tv_ctype = let ty =
9635 let ty20 = ty200 in
9636 let ty10 = ty100 in
9637 let ty =
9638 let ty2 = ty20 in
9639 let ty1 = ty10 in
9640
9641 # 547 "parser_cocci_menhir.mly"
9642 ( Ast0.wrap
9643 (Ast0.BaseType
9644 (Ast.LongLongType,
9645 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9646 # 9647 "parser_cocci_menhir.ml"
9647
9648 in
9649
9650 # 584 "parser_cocci_menhir.mly"
9651 ( ty )
9652 # 9653 "parser_cocci_menhir.ml"
9653
9654 in
9655 let cv =
9656 let x = x0 in
9657
9658 # 41 "standard.mly"
9659 ( Some x )
9660 # 9661 "parser_cocci_menhir.ml"
9661
9662 in
9663
9664 # 589 "parser_cocci_menhir.mly"
9665 ( P.pointerify (P.make_cv cv ty) m )
9666 # 9667 "parser_cocci_menhir.ml"
9667 in
9668 _menhir_env.MenhirLib.EngineTypes.stack <- {
9669 MenhirLib.EngineTypes.state = _menhir_s;
9670 MenhirLib.EngineTypes.semv = Obj.repr _v;
9671 MenhirLib.EngineTypes.startp = _startpos;
9672 MenhirLib.EngineTypes.endp = _endpos;
9673 MenhirLib.EngineTypes.next = _menhir_stack;
9674 });
9675 (fun _menhir_env ->
9676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9677 let {
9678 MenhirLib.EngineTypes.semv = m;
9679 MenhirLib.EngineTypes.startp = _startpos_m_;
9680 MenhirLib.EngineTypes.endp = _endpos_m_;
9681 MenhirLib.EngineTypes.next = {
9682 MenhirLib.EngineTypes.semv = ty00;
9683 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9684 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9685 MenhirLib.EngineTypes.next = {
9686 MenhirLib.EngineTypes.state = _menhir_s;
9687 MenhirLib.EngineTypes.semv = x0;
9688 MenhirLib.EngineTypes.startp = _startpos_x0_;
9689 MenhirLib.EngineTypes.endp = _endpos_x0_;
9690 MenhirLib.EngineTypes.next = _menhir_stack;
9691 };
9692 };
9693 } = _menhir_stack in
9694 let m : 'tv_list_TMul_ = Obj.magic m in
9695 let ty00 : (
9696 # 72 "parser_cocci_menhir.mly"
9697 (Data.clt)
9698 # 9699 "parser_cocci_menhir.ml"
9699 ) = Obj.magic ty00 in
9700 let x0 : 'tv_const_vol = Obj.magic x0 in
9701 let _startpos = _startpos_x0_ in
9702 let _endpos = _endpos_m_ in
9703 let _v : 'tv_ctype = let ty =
9704 let ty0 = ty00 in
9705 let ty =
9706 let ty = ty0 in
9707
9708 # 555 "parser_cocci_menhir.mly"
9709 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
9710 # 9711 "parser_cocci_menhir.ml"
9711
9712 in
9713
9714 # 585 "parser_cocci_menhir.mly"
9715 ( ty )
9716 # 9717 "parser_cocci_menhir.ml"
9717
9718 in
9719 let cv =
9720 let x = x0 in
9721
9722 # 41 "standard.mly"
9723 ( Some x )
9724 # 9725 "parser_cocci_menhir.ml"
9725
9726 in
9727
9728 # 589 "parser_cocci_menhir.mly"
9729 ( P.pointerify (P.make_cv cv ty) m )
9730 # 9731 "parser_cocci_menhir.ml"
9731 in
9732 _menhir_env.MenhirLib.EngineTypes.stack <- {
9733 MenhirLib.EngineTypes.state = _menhir_s;
9734 MenhirLib.EngineTypes.semv = Obj.repr _v;
9735 MenhirLib.EngineTypes.startp = _startpos;
9736 MenhirLib.EngineTypes.endp = _endpos;
9737 MenhirLib.EngineTypes.next = _menhir_stack;
9738 });
9739 (fun _menhir_env ->
9740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9741 let {
9742 MenhirLib.EngineTypes.semv = m;
9743 MenhirLib.EngineTypes.startp = _startpos_m_;
9744 MenhirLib.EngineTypes.endp = _endpos_m_;
9745 MenhirLib.EngineTypes.next = {
9746 MenhirLib.EngineTypes.semv = ty00;
9747 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9748 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9749 MenhirLib.EngineTypes.next = {
9750 MenhirLib.EngineTypes.state = _menhir_s;
9751 MenhirLib.EngineTypes.semv = x0;
9752 MenhirLib.EngineTypes.startp = _startpos_x0_;
9753 MenhirLib.EngineTypes.endp = _endpos_x0_;
9754 MenhirLib.EngineTypes.next = _menhir_stack;
9755 };
9756 };
9757 } = _menhir_stack in
9758 let m : 'tv_list_TMul_ = Obj.magic m in
9759 let ty00 : (
9760 # 71 "parser_cocci_menhir.mly"
9761 (Data.clt)
9762 # 9763 "parser_cocci_menhir.ml"
9763 ) = Obj.magic ty00 in
9764 let x0 : 'tv_const_vol = Obj.magic x0 in
9765 let _startpos = _startpos_x0_ in
9766 let _endpos = _endpos_m_ in
9767 let _v : 'tv_ctype = let ty =
9768 let ty0 = ty00 in
9769 let ty =
9770 let ty = ty0 in
9771
9772 # 557 "parser_cocci_menhir.mly"
9773 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
9774 # 9775 "parser_cocci_menhir.ml"
9775
9776 in
9777
9778 # 585 "parser_cocci_menhir.mly"
9779 ( ty )
9780 # 9781 "parser_cocci_menhir.ml"
9781
9782 in
9783 let cv =
9784 let x = x0 in
9785
9786 # 41 "standard.mly"
9787 ( Some x )
9788 # 9789 "parser_cocci_menhir.ml"
9789
9790 in
9791
9792 # 589 "parser_cocci_menhir.mly"
9793 ( P.pointerify (P.make_cv cv ty) m )
9794 # 9795 "parser_cocci_menhir.ml"
9795 in
9796 _menhir_env.MenhirLib.EngineTypes.stack <- {
9797 MenhirLib.EngineTypes.state = _menhir_s;
9798 MenhirLib.EngineTypes.semv = Obj.repr _v;
9799 MenhirLib.EngineTypes.startp = _startpos;
9800 MenhirLib.EngineTypes.endp = _endpos;
9801 MenhirLib.EngineTypes.next = _menhir_stack;
9802 });
9803 (fun _menhir_env ->
9804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9805 let {
9806 MenhirLib.EngineTypes.semv = m;
9807 MenhirLib.EngineTypes.startp = _startpos_m_;
9808 MenhirLib.EngineTypes.endp = _endpos_m_;
9809 MenhirLib.EngineTypes.next = {
9810 MenhirLib.EngineTypes.semv = ty00;
9811 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9812 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9813 MenhirLib.EngineTypes.next = {
9814 MenhirLib.EngineTypes.state = _menhir_s;
9815 MenhirLib.EngineTypes.semv = x0;
9816 MenhirLib.EngineTypes.startp = _startpos_x0_;
9817 MenhirLib.EngineTypes.endp = _endpos_x0_;
9818 MenhirLib.EngineTypes.next = _menhir_stack;
9819 };
9820 };
9821 } = _menhir_stack in
9822 let m : 'tv_list_TMul_ = Obj.magic m in
9823 let ty00 : (
9824 # 71 "parser_cocci_menhir.mly"
9825 (Data.clt)
9826 # 9827 "parser_cocci_menhir.ml"
9827 ) = Obj.magic ty00 in
9828 let x0 : 'tv_const_vol = Obj.magic x0 in
9829 let _startpos = _startpos_x0_ in
9830 let _endpos = _endpos_m_ in
9831 let _v : 'tv_ctype = let ty =
9832 let ty0 = ty00 in
9833 let ty =
9834 let ty = ty0 in
9835
9836 # 559 "parser_cocci_menhir.mly"
9837 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
9838 # 9839 "parser_cocci_menhir.ml"
9839
9840 in
9841
9842 # 585 "parser_cocci_menhir.mly"
9843 ( ty )
9844 # 9845 "parser_cocci_menhir.ml"
9845
9846 in
9847 let cv =
9848 let x = x0 in
9849
9850 # 41 "standard.mly"
9851 ( Some x )
9852 # 9853 "parser_cocci_menhir.ml"
9853
9854 in
9855
9856 # 589 "parser_cocci_menhir.mly"
9857 ( P.pointerify (P.make_cv cv ty) m )
9858 # 9859 "parser_cocci_menhir.ml"
9859 in
9860 _menhir_env.MenhirLib.EngineTypes.stack <- {
9861 MenhirLib.EngineTypes.state = _menhir_s;
9862 MenhirLib.EngineTypes.semv = Obj.repr _v;
9863 MenhirLib.EngineTypes.startp = _startpos;
9864 MenhirLib.EngineTypes.endp = _endpos;
9865 MenhirLib.EngineTypes.next = _menhir_stack;
9866 });
9867 (fun _menhir_env ->
9868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9869 let {
9870 MenhirLib.EngineTypes.semv = m;
9871 MenhirLib.EngineTypes.startp = _startpos_m_;
9872 MenhirLib.EngineTypes.endp = _endpos_m_;
9873 MenhirLib.EngineTypes.next = {
9874 MenhirLib.EngineTypes.semv = i00;
9875 MenhirLib.EngineTypes.startp = _startpos_i00_;
9876 MenhirLib.EngineTypes.endp = _endpos_i00_;
9877 MenhirLib.EngineTypes.next = {
9878 MenhirLib.EngineTypes.semv = s00;
9879 MenhirLib.EngineTypes.startp = _startpos_s00_;
9880 MenhirLib.EngineTypes.endp = _endpos_s00_;
9881 MenhirLib.EngineTypes.next = {
9882 MenhirLib.EngineTypes.state = _menhir_s;
9883 MenhirLib.EngineTypes.semv = x0;
9884 MenhirLib.EngineTypes.startp = _startpos_x0_;
9885 MenhirLib.EngineTypes.endp = _endpos_x0_;
9886 MenhirLib.EngineTypes.next = _menhir_stack;
9887 };
9888 };
9889 };
9890 } = _menhir_stack in
9891 let m : 'tv_list_TMul_ = Obj.magic m in
9892 let i00 : 'tv_ident = Obj.magic i00 in
9893 let s00 : (
9894 # 72 "parser_cocci_menhir.mly"
9895 (Data.clt)
9896 # 9897 "parser_cocci_menhir.ml"
9897 ) = Obj.magic s00 in
9898 let x0 : 'tv_const_vol = Obj.magic x0 in
9899 let _startpos = _startpos_x0_ in
9900 let _endpos = _endpos_m_ in
9901 let _v : 'tv_ctype = let ty =
9902 let i0 = i00 in
9903 let s0 = s00 in
9904 let ty =
9905 let i = i0 in
9906 let s = s0 in
9907
9908 # 561 "parser_cocci_menhir.mly"
9909 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
9910 # 9911 "parser_cocci_menhir.ml"
9911
9912 in
9913
9914 # 585 "parser_cocci_menhir.mly"
9915 ( ty )
9916 # 9917 "parser_cocci_menhir.ml"
9917
9918 in
9919 let cv =
9920 let x = x0 in
9921
9922 # 41 "standard.mly"
9923 ( Some x )
9924 # 9925 "parser_cocci_menhir.ml"
9925
9926 in
9927
9928 # 589 "parser_cocci_menhir.mly"
9929 ( P.pointerify (P.make_cv cv ty) m )
9930 # 9931 "parser_cocci_menhir.ml"
9931 in
9932 _menhir_env.MenhirLib.EngineTypes.stack <- {
9933 MenhirLib.EngineTypes.state = _menhir_s;
9934 MenhirLib.EngineTypes.semv = Obj.repr _v;
9935 MenhirLib.EngineTypes.startp = _startpos;
9936 MenhirLib.EngineTypes.endp = _endpos;
9937 MenhirLib.EngineTypes.next = _menhir_stack;
9938 });
9939 (fun _menhir_env ->
9940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9941 let {
9942 MenhirLib.EngineTypes.semv = m;
9943 MenhirLib.EngineTypes.startp = _startpos_m_;
9944 MenhirLib.EngineTypes.endp = _endpos_m_;
9945 MenhirLib.EngineTypes.next = {
9946 MenhirLib.EngineTypes.semv = i00;
9947 MenhirLib.EngineTypes.startp = _startpos_i00_;
9948 MenhirLib.EngineTypes.endp = _endpos_i00_;
9949 MenhirLib.EngineTypes.next = {
9950 MenhirLib.EngineTypes.semv = s00;
9951 MenhirLib.EngineTypes.startp = _startpos_s00_;
9952 MenhirLib.EngineTypes.endp = _endpos_s00_;
9953 MenhirLib.EngineTypes.next = {
9954 MenhirLib.EngineTypes.state = _menhir_s;
9955 MenhirLib.EngineTypes.semv = x0;
9956 MenhirLib.EngineTypes.startp = _startpos_x0_;
9957 MenhirLib.EngineTypes.endp = _endpos_x0_;
9958 MenhirLib.EngineTypes.next = _menhir_stack;
9959 };
9960 };
9961 };
9962 } = _menhir_stack in
9963 let m : 'tv_list_TMul_ = Obj.magic m in
9964 let i00 : 'tv_ident = Obj.magic i00 in
9965 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9966 let x0 : 'tv_const_vol = Obj.magic x0 in
9967 let _startpos = _startpos_x0_ in
9968 let _endpos = _endpos_m_ in
9969 let _v : 'tv_ctype = let ty =
9970 let i0 = i00 in
9971 let s0 = s00 in
9972 let ty =
9973 let i = i0 in
9974 let s = s0 in
9975
9976 # 563 "parser_cocci_menhir.mly"
9977 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
9978 # 9979 "parser_cocci_menhir.ml"
9979
9980 in
9981
9982 # 585 "parser_cocci_menhir.mly"
9983 ( ty )
9984 # 9985 "parser_cocci_menhir.ml"
9985
9986 in
9987 let cv =
9988 let x = x0 in
9989
9990 # 41 "standard.mly"
9991 ( Some x )
9992 # 9993 "parser_cocci_menhir.ml"
9993
9994 in
9995
9996 # 589 "parser_cocci_menhir.mly"
9997 ( P.pointerify (P.make_cv cv ty) m )
9998 # 9999 "parser_cocci_menhir.ml"
9999 in
10000 _menhir_env.MenhirLib.EngineTypes.stack <- {
10001 MenhirLib.EngineTypes.state = _menhir_s;
10002 MenhirLib.EngineTypes.semv = Obj.repr _v;
10003 MenhirLib.EngineTypes.startp = _startpos;
10004 MenhirLib.EngineTypes.endp = _endpos;
10005 MenhirLib.EngineTypes.next = _menhir_stack;
10006 });
10007 (fun _menhir_env ->
10008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10009 let {
10010 MenhirLib.EngineTypes.semv = m;
10011 MenhirLib.EngineTypes.startp = _startpos_m_;
10012 MenhirLib.EngineTypes.endp = _endpos_m_;
10013 MenhirLib.EngineTypes.next = {
10014 MenhirLib.EngineTypes.semv = r00;
10015 MenhirLib.EngineTypes.startp = _startpos_r00_;
10016 MenhirLib.EngineTypes.endp = _endpos_r00_;
10017 MenhirLib.EngineTypes.next = {
10018 MenhirLib.EngineTypes.semv = d00;
10019 MenhirLib.EngineTypes.startp = _startpos_d00_;
10020 MenhirLib.EngineTypes.endp = _endpos_d00_;
10021 MenhirLib.EngineTypes.next = {
10022 MenhirLib.EngineTypes.semv = l00;
10023 MenhirLib.EngineTypes.startp = _startpos_l00_;
10024 MenhirLib.EngineTypes.endp = _endpos_l00_;
10025 MenhirLib.EngineTypes.next = {
10026 MenhirLib.EngineTypes.semv = s00;
10027 MenhirLib.EngineTypes.startp = _startpos_s00_;
10028 MenhirLib.EngineTypes.endp = _endpos_s00_;
10029 MenhirLib.EngineTypes.next = {
10030 MenhirLib.EngineTypes.state = _menhir_s;
10031 MenhirLib.EngineTypes.semv = x0;
10032 MenhirLib.EngineTypes.startp = _startpos_x0_;
10033 MenhirLib.EngineTypes.endp = _endpos_x0_;
10034 MenhirLib.EngineTypes.next = _menhir_stack;
10035 };
10036 };
10037 };
10038 };
10039 };
10040 } = _menhir_stack in
10041 let m : 'tv_list_TMul_ = Obj.magic m in
10042 let r00 : (
10043 # 124 "parser_cocci_menhir.mly"
10044 (Data.clt)
10045 # 10046 "parser_cocci_menhir.ml"
10046 ) = Obj.magic r00 in
10047 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10048 let l00 : (
10049 # 124 "parser_cocci_menhir.mly"
10050 (Data.clt)
10051 # 10052 "parser_cocci_menhir.ml"
10052 ) = Obj.magic l00 in
10053 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10054 let x0 : 'tv_const_vol = Obj.magic x0 in
10055 let _startpos = _startpos_x0_ in
10056 let _endpos = _endpos_m_ in
10057 let _v : 'tv_ctype = let ty =
10058 let r0 = r00 in
10059 let d0 = d00 in
10060 let l0 = l00 in
10061 let s0 = s00 in
10062 let ty =
10063 let r = r0 in
10064 let d = d0 in
10065 let l = l0 in
10066 let s = s0 in
10067 let i =
10068
10069 # 39 "standard.mly"
10070 ( None )
10071 # 10072 "parser_cocci_menhir.ml"
10072
10073 in
10074
10075 # 566 "parser_cocci_menhir.mly"
10076 ( (if i = None && !Data.in_iso
10077 then failwith "structures must be named in the iso file");
10078 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10079 P.clt2mcode "{" l,
10080 d, P.clt2mcode "}" r)) )
10081 # 10082 "parser_cocci_menhir.ml"
10082
10083 in
10084
10085 # 585 "parser_cocci_menhir.mly"
10086 ( ty )
10087 # 10088 "parser_cocci_menhir.ml"
10088
10089 in
10090 let cv =
10091 let x = x0 in
10092
10093 # 41 "standard.mly"
10094 ( Some x )
10095 # 10096 "parser_cocci_menhir.ml"
10096
10097 in
10098
10099 # 589 "parser_cocci_menhir.mly"
10100 ( P.pointerify (P.make_cv cv ty) m )
10101 # 10102 "parser_cocci_menhir.ml"
10102 in
10103 _menhir_env.MenhirLib.EngineTypes.stack <- {
10104 MenhirLib.EngineTypes.state = _menhir_s;
10105 MenhirLib.EngineTypes.semv = Obj.repr _v;
10106 MenhirLib.EngineTypes.startp = _startpos;
10107 MenhirLib.EngineTypes.endp = _endpos;
10108 MenhirLib.EngineTypes.next = _menhir_stack;
10109 });
10110 (fun _menhir_env ->
10111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10112 let {
10113 MenhirLib.EngineTypes.semv = m;
10114 MenhirLib.EngineTypes.startp = _startpos_m_;
10115 MenhirLib.EngineTypes.endp = _endpos_m_;
10116 MenhirLib.EngineTypes.next = {
10117 MenhirLib.EngineTypes.semv = r00;
10118 MenhirLib.EngineTypes.startp = _startpos_r00_;
10119 MenhirLib.EngineTypes.endp = _endpos_r00_;
10120 MenhirLib.EngineTypes.next = {
10121 MenhirLib.EngineTypes.semv = d00;
10122 MenhirLib.EngineTypes.startp = _startpos_d00_;
10123 MenhirLib.EngineTypes.endp = _endpos_d00_;
10124 MenhirLib.EngineTypes.next = {
10125 MenhirLib.EngineTypes.semv = l00;
10126 MenhirLib.EngineTypes.startp = _startpos_l00_;
10127 MenhirLib.EngineTypes.endp = _endpos_l00_;
10128 MenhirLib.EngineTypes.next = {
10129 MenhirLib.EngineTypes.semv = x000;
10130 MenhirLib.EngineTypes.startp = _startpos_x000_;
10131 MenhirLib.EngineTypes.endp = _endpos_x000_;
10132 MenhirLib.EngineTypes.next = {
10133 MenhirLib.EngineTypes.semv = s00;
10134 MenhirLib.EngineTypes.startp = _startpos_s00_;
10135 MenhirLib.EngineTypes.endp = _endpos_s00_;
10136 MenhirLib.EngineTypes.next = {
10137 MenhirLib.EngineTypes.state = _menhir_s;
10138 MenhirLib.EngineTypes.semv = x0;
10139 MenhirLib.EngineTypes.startp = _startpos_x0_;
10140 MenhirLib.EngineTypes.endp = _endpos_x0_;
10141 MenhirLib.EngineTypes.next = _menhir_stack;
10142 };
10143 };
10144 };
10145 };
10146 };
10147 };
10148 } = _menhir_stack in
10149 let m : 'tv_list_TMul_ = Obj.magic m in
10150 let r00 : (
10151 # 124 "parser_cocci_menhir.mly"
10152 (Data.clt)
10153 # 10154 "parser_cocci_menhir.ml"
10154 ) = Obj.magic r00 in
10155 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10156 let l00 : (
10157 # 124 "parser_cocci_menhir.mly"
10158 (Data.clt)
10159 # 10160 "parser_cocci_menhir.ml"
10160 ) = Obj.magic l00 in
10161 let x000 : 'tv_ident = Obj.magic x000 in
10162 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10163 let x0 : 'tv_const_vol = Obj.magic x0 in
10164 let _startpos = _startpos_x0_ in
10165 let _endpos = _endpos_m_ in
10166 let _v : 'tv_ctype = let ty =
10167 let r0 = r00 in
10168 let d0 = d00 in
10169 let l0 = l00 in
10170 let x00 = x000 in
10171 let s0 = s00 in
10172 let ty =
10173 let r = r0 in
10174 let d = d0 in
10175 let l = l0 in
10176 let x0 = x00 in
10177 let s = s0 in
10178 let i =
10179 let x = x0 in
10180
10181 # 41 "standard.mly"
10182 ( Some x )
10183 # 10184 "parser_cocci_menhir.ml"
10184
10185 in
10186
10187 # 566 "parser_cocci_menhir.mly"
10188 ( (if i = None && !Data.in_iso
10189 then failwith "structures must be named in the iso file");
10190 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10191 P.clt2mcode "{" l,
10192 d, P.clt2mcode "}" r)) )
10193 # 10194 "parser_cocci_menhir.ml"
10194
10195 in
10196
10197 # 585 "parser_cocci_menhir.mly"
10198 ( ty )
10199 # 10200 "parser_cocci_menhir.ml"
10200
10201 in
10202 let cv =
10203 let x = x0 in
10204
10205 # 41 "standard.mly"
10206 ( Some x )
10207 # 10208 "parser_cocci_menhir.ml"
10208
10209 in
10210
10211 # 589 "parser_cocci_menhir.mly"
10212 ( P.pointerify (P.make_cv cv ty) m )
10213 # 10214 "parser_cocci_menhir.ml"
10214 in
10215 _menhir_env.MenhirLib.EngineTypes.stack <- {
10216 MenhirLib.EngineTypes.state = _menhir_s;
10217 MenhirLib.EngineTypes.semv = Obj.repr _v;
10218 MenhirLib.EngineTypes.startp = _startpos;
10219 MenhirLib.EngineTypes.endp = _endpos;
10220 MenhirLib.EngineTypes.next = _menhir_stack;
10221 });
10222 (fun _menhir_env ->
10223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10224 let {
10225 MenhirLib.EngineTypes.semv = m;
10226 MenhirLib.EngineTypes.startp = _startpos_m_;
10227 MenhirLib.EngineTypes.endp = _endpos_m_;
10228 MenhirLib.EngineTypes.next = {
10229 MenhirLib.EngineTypes.semv = r00;
10230 MenhirLib.EngineTypes.startp = _startpos_r00_;
10231 MenhirLib.EngineTypes.endp = _endpos_r00_;
10232 MenhirLib.EngineTypes.next = {
10233 MenhirLib.EngineTypes.semv = d00;
10234 MenhirLib.EngineTypes.startp = _startpos_d00_;
10235 MenhirLib.EngineTypes.endp = _endpos_d00_;
10236 MenhirLib.EngineTypes.next = {
10237 MenhirLib.EngineTypes.semv = l00;
10238 MenhirLib.EngineTypes.startp = _startpos_l00_;
10239 MenhirLib.EngineTypes.endp = _endpos_l00_;
10240 MenhirLib.EngineTypes.next = {
10241 MenhirLib.EngineTypes.semv = s00;
10242 MenhirLib.EngineTypes.startp = _startpos_s00_;
10243 MenhirLib.EngineTypes.endp = _endpos_s00_;
10244 MenhirLib.EngineTypes.next = {
10245 MenhirLib.EngineTypes.state = _menhir_s;
10246 MenhirLib.EngineTypes.semv = x0;
10247 MenhirLib.EngineTypes.startp = _startpos_x0_;
10248 MenhirLib.EngineTypes.endp = _endpos_x0_;
10249 MenhirLib.EngineTypes.next = _menhir_stack;
10250 };
10251 };
10252 };
10253 };
10254 };
10255 } = _menhir_stack in
10256 let m : 'tv_list_TMul_ = Obj.magic m in
10257 let r00 : (
10258 # 124 "parser_cocci_menhir.mly"
10259 (Data.clt)
10260 # 10261 "parser_cocci_menhir.ml"
10261 ) = Obj.magic r00 in
10262 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10263 let l00 : (
10264 # 124 "parser_cocci_menhir.mly"
10265 (Data.clt)
10266 # 10267 "parser_cocci_menhir.ml"
10267 ) = Obj.magic l00 in
10268 let s00 : (
10269 # 87 "parser_cocci_menhir.mly"
10270 (Parse_aux.info)
10271 # 10272 "parser_cocci_menhir.ml"
10272 ) = Obj.magic s00 in
10273 let x0 : 'tv_const_vol = Obj.magic x0 in
10274 let _startpos = _startpos_x0_ in
10275 let _endpos = _endpos_m_ in
10276 let _v : 'tv_ctype = let ty =
10277 let r0 = r00 in
10278 let d0 = d00 in
10279 let l0 = l00 in
10280 let s0 = s00 in
10281 let ty =
10282 let r = r0 in
10283 let d = d0 in
10284 let l = l0 in
10285 let s = s0 in
10286
10287 # 572 "parser_cocci_menhir.mly"
10288 ( let (nm,pure,clt) = s in
10289 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
10290 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
10291 # 10292 "parser_cocci_menhir.ml"
10292
10293 in
10294
10295 # 585 "parser_cocci_menhir.mly"
10296 ( ty )
10297 # 10298 "parser_cocci_menhir.ml"
10298
10299 in
10300 let cv =
10301 let x = x0 in
10302
10303 # 41 "standard.mly"
10304 ( Some x )
10305 # 10306 "parser_cocci_menhir.ml"
10306
10307 in
10308
10309 # 589 "parser_cocci_menhir.mly"
10310 ( P.pointerify (P.make_cv cv ty) m )
10311 # 10312 "parser_cocci_menhir.ml"
10312 in
10313 _menhir_env.MenhirLib.EngineTypes.stack <- {
10314 MenhirLib.EngineTypes.state = _menhir_s;
10315 MenhirLib.EngineTypes.semv = Obj.repr _v;
10316 MenhirLib.EngineTypes.startp = _startpos;
10317 MenhirLib.EngineTypes.endp = _endpos;
10318 MenhirLib.EngineTypes.next = _menhir_stack;
10319 });
10320 (fun _menhir_env ->
10321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10322 let {
10323 MenhirLib.EngineTypes.semv = m;
10324 MenhirLib.EngineTypes.startp = _startpos_m_;
10325 MenhirLib.EngineTypes.endp = _endpos_m_;
10326 MenhirLib.EngineTypes.next = {
10327 MenhirLib.EngineTypes.semv = p00;
10328 MenhirLib.EngineTypes.startp = _startpos_p00_;
10329 MenhirLib.EngineTypes.endp = _endpos_p00_;
10330 MenhirLib.EngineTypes.next = {
10331 MenhirLib.EngineTypes.state = _menhir_s;
10332 MenhirLib.EngineTypes.semv = x0;
10333 MenhirLib.EngineTypes.startp = _startpos_x0_;
10334 MenhirLib.EngineTypes.endp = _endpos_x0_;
10335 MenhirLib.EngineTypes.next = _menhir_stack;
10336 };
10337 };
10338 } = _menhir_stack in
10339 let m : 'tv_list_TMul_ = Obj.magic m in
10340 let p00 : (
10341 # 81 "parser_cocci_menhir.mly"
10342 (string * Data.clt)
10343 # 10344 "parser_cocci_menhir.ml"
10344 ) = Obj.magic p00 in
10345 let x0 : 'tv_const_vol = Obj.magic x0 in
10346 let _startpos = _startpos_x0_ in
10347 let _endpos = _endpos_m_ in
10348 let _v : 'tv_ctype = let ty =
10349 let p0 = p00 in
10350 let ty =
10351 let p = p0 in
10352
10353 # 576 "parser_cocci_menhir.mly"
10354 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
10355 # 10356 "parser_cocci_menhir.ml"
10356
10357 in
10358
10359 # 585 "parser_cocci_menhir.mly"
10360 ( ty )
10361 # 10362 "parser_cocci_menhir.ml"
10362
10363 in
10364 let cv =
10365 let x = x0 in
10366
10367 # 41 "standard.mly"
10368 ( Some x )
10369 # 10370 "parser_cocci_menhir.ml"
10370
10371 in
10372
10373 # 589 "parser_cocci_menhir.mly"
10374 ( P.pointerify (P.make_cv cv ty) m )
10375 # 10376 "parser_cocci_menhir.ml"
10376 in
10377 _menhir_env.MenhirLib.EngineTypes.stack <- {
10378 MenhirLib.EngineTypes.state = _menhir_s;
10379 MenhirLib.EngineTypes.semv = Obj.repr _v;
10380 MenhirLib.EngineTypes.startp = _startpos;
10381 MenhirLib.EngineTypes.endp = _endpos;
10382 MenhirLib.EngineTypes.next = _menhir_stack;
10383 });
10384 (fun _menhir_env ->
10385 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10386 let {
10387 MenhirLib.EngineTypes.state = _menhir_s;
10388 MenhirLib.EngineTypes.semv = r;
10389 MenhirLib.EngineTypes.startp = _startpos_r_;
10390 MenhirLib.EngineTypes.endp = _endpos_r_;
10391 MenhirLib.EngineTypes.next = _menhir_stack;
10392 } = _menhir_stack in
10393 let r : (
10394 # 73 "parser_cocci_menhir.mly"
10395 (Data.clt)
10396 # 10397 "parser_cocci_menhir.ml"
10397 ) = Obj.magic r in
10398 let _startpos = _startpos_r_ in
10399 let _endpos = _endpos_r_ in
10400 let _v : 'tv_ctype =
10401 # 591 "parser_cocci_menhir.mly"
10402 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
10403 # 10404 "parser_cocci_menhir.ml"
10404 in
10405 _menhir_env.MenhirLib.EngineTypes.stack <- {
10406 MenhirLib.EngineTypes.state = _menhir_s;
10407 MenhirLib.EngineTypes.semv = Obj.repr _v;
10408 MenhirLib.EngineTypes.startp = _startpos;
10409 MenhirLib.EngineTypes.endp = _endpos;
10410 MenhirLib.EngineTypes.next = _menhir_stack;
10411 });
10412 (fun _menhir_env ->
10413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10414 let {
10415 MenhirLib.EngineTypes.state = _menhir_s;
10416 MenhirLib.EngineTypes.semv = r;
10417 MenhirLib.EngineTypes.startp = _startpos_r_;
10418 MenhirLib.EngineTypes.endp = _endpos_r_;
10419 MenhirLib.EngineTypes.next = _menhir_stack;
10420 } = _menhir_stack in
10421 let r : (
10422 # 73 "parser_cocci_menhir.mly"
10423 (Data.clt)
10424 # 10425 "parser_cocci_menhir.ml"
10425 ) = Obj.magic r in
10426 let _startpos = _startpos_r_ in
10427 let _endpos = _endpos_r_ in
10428 let _v : 'tv_ctype =
10429 # 593 "parser_cocci_menhir.mly"
10430 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
10431 # 10432 "parser_cocci_menhir.ml"
10432 in
10433 _menhir_env.MenhirLib.EngineTypes.stack <- {
10434 MenhirLib.EngineTypes.state = _menhir_s;
10435 MenhirLib.EngineTypes.semv = Obj.repr _v;
10436 MenhirLib.EngineTypes.startp = _startpos;
10437 MenhirLib.EngineTypes.endp = _endpos;
10438 MenhirLib.EngineTypes.next = _menhir_stack;
10439 });
10440 (fun _menhir_env ->
10441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10442 let {
10443 MenhirLib.EngineTypes.semv = rp;
10444 MenhirLib.EngineTypes.startp = _startpos_rp_;
10445 MenhirLib.EngineTypes.endp = _endpos_rp_;
10446 MenhirLib.EngineTypes.next = {
10447 MenhirLib.EngineTypes.semv = t;
10448 MenhirLib.EngineTypes.startp = _startpos_t_;
10449 MenhirLib.EngineTypes.endp = _endpos_t_;
10450 MenhirLib.EngineTypes.next = {
10451 MenhirLib.EngineTypes.state = _menhir_s;
10452 MenhirLib.EngineTypes.semv = lp;
10453 MenhirLib.EngineTypes.startp = _startpos_lp_;
10454 MenhirLib.EngineTypes.endp = _endpos_lp_;
10455 MenhirLib.EngineTypes.next = _menhir_stack;
10456 };
10457 };
10458 } = _menhir_stack in
10459 let rp : (
10460 # 100 "parser_cocci_menhir.mly"
10461 (Data.clt)
10462 # 10463 "parser_cocci_menhir.ml"
10463 ) = Obj.magic rp in
10464 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
10465 let lp : (
10466 # 99 "parser_cocci_menhir.mly"
10467 (Data.clt)
10468 # 10469 "parser_cocci_menhir.ml"
10469 ) = Obj.magic lp in
10470 let _startpos = _startpos_lp_ in
10471 let _endpos = _endpos_rp_ in
10472 let _v : 'tv_ctype =
10473 # 595 "parser_cocci_menhir.mly"
10474 ( let (mids,code) = t in
10475 Ast0.wrap
10476 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
10477 # 10478 "parser_cocci_menhir.ml"
10478 in
10479 _menhir_env.MenhirLib.EngineTypes.stack <- {
10480 MenhirLib.EngineTypes.state = _menhir_s;
10481 MenhirLib.EngineTypes.semv = Obj.repr _v;
10482 MenhirLib.EngineTypes.startp = _startpos;
10483 MenhirLib.EngineTypes.endp = _endpos;
10484 MenhirLib.EngineTypes.next = _menhir_stack;
10485 });
10486 (fun _menhir_env ->
10487 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10488 let {
10489 MenhirLib.EngineTypes.semv = _2;
10490 MenhirLib.EngineTypes.startp = _startpos__2_;
10491 MenhirLib.EngineTypes.endp = _endpos__2_;
10492 MenhirLib.EngineTypes.next = {
10493 MenhirLib.EngineTypes.state = _menhir_s;
10494 MenhirLib.EngineTypes.semv = _1;
10495 MenhirLib.EngineTypes.startp = _startpos__1_;
10496 MenhirLib.EngineTypes.endp = _endpos__1_;
10497 MenhirLib.EngineTypes.next = _menhir_stack;
10498 };
10499 } = _menhir_stack in
10500 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
10501 let _1 : 'tv_ident = Obj.magic _1 in
10502 let _startpos = _startpos__1_ in
10503 let _endpos = _endpos__2_ in
10504 let _v : 'tv_d_ident =
10505 # 1111 "parser_cocci_menhir.mly"
10506 ( (_1,
10507 function t ->
10508 List.fold_right
10509 (function (l,i,r) ->
10510 function rest ->
10511 Ast0.wrap
10512 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
10513 _2 t) )
10514 # 10515 "parser_cocci_menhir.ml"
10515 in
10516 _menhir_env.MenhirLib.EngineTypes.stack <- {
10517 MenhirLib.EngineTypes.state = _menhir_s;
10518 MenhirLib.EngineTypes.semv = Obj.repr _v;
10519 MenhirLib.EngineTypes.startp = _startpos;
10520 MenhirLib.EngineTypes.endp = _endpos;
10521 MenhirLib.EngineTypes.next = _menhir_stack;
10522 });
10523 (fun _menhir_env ->
10524 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10525 let {
10526 MenhirLib.EngineTypes.semv = i;
10527 MenhirLib.EngineTypes.startp = _startpos_i_;
10528 MenhirLib.EngineTypes.endp = _endpos_i_;
10529 MenhirLib.EngineTypes.next = {
10530 MenhirLib.EngineTypes.state = _menhir_s;
10531 MenhirLib.EngineTypes.semv = t;
10532 MenhirLib.EngineTypes.startp = _startpos_t_;
10533 MenhirLib.EngineTypes.endp = _endpos_t_;
10534 MenhirLib.EngineTypes.next = _menhir_stack;
10535 };
10536 } = _menhir_stack in
10537 let i : 'tv_ident = Obj.magic i in
10538 let t : 'tv_ctype = Obj.magic t in
10539 let _startpos = _startpos_t_ in
10540 let _endpos = _endpos_i_ in
10541 let _v : 'tv_decl =
10542 # 867 "parser_cocci_menhir.mly"
10543 ( Ast0.wrap(Ast0.Param(t, Some i)) )
10544 # 10545 "parser_cocci_menhir.ml"
10545 in
10546 _menhir_env.MenhirLib.EngineTypes.stack <- {
10547 MenhirLib.EngineTypes.state = _menhir_s;
10548 MenhirLib.EngineTypes.semv = Obj.repr _v;
10549 MenhirLib.EngineTypes.startp = _startpos;
10550 MenhirLib.EngineTypes.endp = _endpos;
10551 MenhirLib.EngineTypes.next = _menhir_stack;
10552 });
10553 (fun _menhir_env ->
10554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10555 let {
10556 MenhirLib.EngineTypes.state = _menhir_s;
10557 MenhirLib.EngineTypes.semv = t;
10558 MenhirLib.EngineTypes.startp = _startpos_t_;
10559 MenhirLib.EngineTypes.endp = _endpos_t_;
10560 MenhirLib.EngineTypes.next = _menhir_stack;
10561 } = _menhir_stack in
10562 let t : 'tv_ctype = Obj.magic t in
10563 let _startpos = _startpos_t_ in
10564 let _endpos = _endpos_t_ in
10565 let _v : 'tv_decl =
10566 # 868 "parser_cocci_menhir.mly"
10567 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
10568 # 10569 "parser_cocci_menhir.ml"
10569 in
10570 _menhir_env.MenhirLib.EngineTypes.stack <- {
10571 MenhirLib.EngineTypes.state = _menhir_s;
10572 MenhirLib.EngineTypes.semv = Obj.repr _v;
10573 MenhirLib.EngineTypes.startp = _startpos;
10574 MenhirLib.EngineTypes.endp = _endpos;
10575 MenhirLib.EngineTypes.next = _menhir_stack;
10576 });
10577 (fun _menhir_env ->
10578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10579 let {
10580 MenhirLib.EngineTypes.semv = rp1;
10581 MenhirLib.EngineTypes.startp = _startpos_rp1_;
10582 MenhirLib.EngineTypes.endp = _endpos_rp1_;
10583 MenhirLib.EngineTypes.next = {
10584 MenhirLib.EngineTypes.semv = d;
10585 MenhirLib.EngineTypes.startp = _startpos_d_;
10586 MenhirLib.EngineTypes.endp = _endpos_d_;
10587 MenhirLib.EngineTypes.next = {
10588 MenhirLib.EngineTypes.semv = lp1;
10589 MenhirLib.EngineTypes.startp = _startpos_lp1_;
10590 MenhirLib.EngineTypes.endp = _endpos_lp1_;
10591 MenhirLib.EngineTypes.next = {
10592 MenhirLib.EngineTypes.semv = rp;
10593 MenhirLib.EngineTypes.startp = _startpos_rp_;
10594 MenhirLib.EngineTypes.endp = _endpos_rp_;
10595 MenhirLib.EngineTypes.next = {
10596 MenhirLib.EngineTypes.semv = i;
10597 MenhirLib.EngineTypes.startp = _startpos_i_;
10598 MenhirLib.EngineTypes.endp = _endpos_i_;
10599 MenhirLib.EngineTypes.next = {
10600 MenhirLib.EngineTypes.semv = s;
10601 MenhirLib.EngineTypes.startp = _startpos_s_;
10602 MenhirLib.EngineTypes.endp = _endpos_s_;
10603 MenhirLib.EngineTypes.next = {
10604 MenhirLib.EngineTypes.semv = lp;
10605 MenhirLib.EngineTypes.startp = _startpos_lp_;
10606 MenhirLib.EngineTypes.endp = _endpos_lp_;
10607 MenhirLib.EngineTypes.next = {
10608 MenhirLib.EngineTypes.state = _menhir_s;
10609 MenhirLib.EngineTypes.semv = t;
10610 MenhirLib.EngineTypes.startp = _startpos_t_;
10611 MenhirLib.EngineTypes.endp = _endpos_t_;
10612 MenhirLib.EngineTypes.next = _menhir_stack;
10613 };
10614 };
10615 };
10616 };
10617 };
10618 };
10619 };
10620 } = _menhir_stack in
10621 let rp1 : (
10622 # 100 "parser_cocci_menhir.mly"
10623 (Data.clt)
10624 # 10625 "parser_cocci_menhir.ml"
10625 ) = Obj.magic rp1 in
10626 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
10627 let lp1 : (
10628 # 99 "parser_cocci_menhir.mly"
10629 (Data.clt)
10630 # 10631 "parser_cocci_menhir.ml"
10631 ) = Obj.magic lp1 in
10632 let rp : (
10633 # 100 "parser_cocci_menhir.mly"
10634 (Data.clt)
10635 # 10636 "parser_cocci_menhir.ml"
10636 ) = Obj.magic rp in
10637 let i : 'tv_ident = Obj.magic i in
10638 let s : (
10639 # 122 "parser_cocci_menhir.mly"
10640 (Data.clt)
10641 # 10642 "parser_cocci_menhir.ml"
10642 ) = Obj.magic s in
10643 let lp : (
10644 # 99 "parser_cocci_menhir.mly"
10645 (Data.clt)
10646 # 10647 "parser_cocci_menhir.ml"
10647 ) = Obj.magic lp in
10648 let t : 'tv_ctype = Obj.magic t in
10649 let _startpos = _startpos_t_ in
10650 let _endpos = _endpos_rp1_ in
10651 let _v : 'tv_decl =
10652 # 871 "parser_cocci_menhir.mly"
10653 ( let fnptr =
10654 Ast0.wrap
10655 (Ast0.FunctionPointer
10656 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
10657 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
10658 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
10659 # 10660 "parser_cocci_menhir.ml"
10660 in
10661 _menhir_env.MenhirLib.EngineTypes.stack <- {
10662 MenhirLib.EngineTypes.state = _menhir_s;
10663 MenhirLib.EngineTypes.semv = Obj.repr _v;
10664 MenhirLib.EngineTypes.startp = _startpos;
10665 MenhirLib.EngineTypes.endp = _endpos;
10666 MenhirLib.EngineTypes.next = _menhir_stack;
10667 });
10668 (fun _menhir_env ->
10669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10670 let {
10671 MenhirLib.EngineTypes.state = _menhir_s;
10672 MenhirLib.EngineTypes.semv = _1;
10673 MenhirLib.EngineTypes.startp = _startpos__1_;
10674 MenhirLib.EngineTypes.endp = _endpos__1_;
10675 MenhirLib.EngineTypes.next = _menhir_stack;
10676 } = _menhir_stack in
10677 let _1 : (
10678 # 87 "parser_cocci_menhir.mly"
10679 (Parse_aux.info)
10680 # 10681 "parser_cocci_menhir.ml"
10681 ) = Obj.magic _1 in
10682 let _startpos = _startpos__1_ in
10683 let _endpos = _endpos__1_ in
10684 let _v : 'tv_decl =
10685 # 878 "parser_cocci_menhir.mly"
10686 ( let (nm,pure,clt) = _1 in
10687 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
10688 # 10689 "parser_cocci_menhir.ml"
10689 in
10690 _menhir_env.MenhirLib.EngineTypes.stack <- {
10691 MenhirLib.EngineTypes.state = _menhir_s;
10692 MenhirLib.EngineTypes.semv = Obj.repr _v;
10693 MenhirLib.EngineTypes.startp = _startpos;
10694 MenhirLib.EngineTypes.endp = _endpos;
10695 MenhirLib.EngineTypes.next = _menhir_stack;
10696 });
10697 (fun _menhir_env ->
10698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10699 let {
10700 MenhirLib.EngineTypes.state = _menhir_s;
10701 MenhirLib.EngineTypes.semv = _1;
10702 MenhirLib.EngineTypes.startp = _startpos__1_;
10703 MenhirLib.EngineTypes.endp = _endpos__1_;
10704 MenhirLib.EngineTypes.next = _menhir_stack;
10705 } = _menhir_stack in
10706 let _1 : (
10707 # 81 "parser_cocci_menhir.mly"
10708 (string * Data.clt)
10709 # 10710 "parser_cocci_menhir.ml"
10710 ) = Obj.magic _1 in
10711 let _startpos = _startpos__1_ in
10712 let _endpos = _endpos__1_ in
10713 let _v : 'tv_decl_ident =
10714 # 1696 "parser_cocci_menhir.mly"
10715 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
10716 # 10717 "parser_cocci_menhir.ml"
10717 in
10718 _menhir_env.MenhirLib.EngineTypes.stack <- {
10719 MenhirLib.EngineTypes.state = _menhir_s;
10720 MenhirLib.EngineTypes.semv = Obj.repr _v;
10721 MenhirLib.EngineTypes.startp = _startpos;
10722 MenhirLib.EngineTypes.endp = _endpos;
10723 MenhirLib.EngineTypes.next = _menhir_stack;
10724 });
10725 (fun _menhir_env ->
10726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10727 let {
10728 MenhirLib.EngineTypes.state = _menhir_s;
10729 MenhirLib.EngineTypes.semv = _1;
10730 MenhirLib.EngineTypes.startp = _startpos__1_;
10731 MenhirLib.EngineTypes.endp = _endpos__1_;
10732 MenhirLib.EngineTypes.next = _menhir_stack;
10733 } = _menhir_stack in
10734 let _1 : (
10735 # 85 "parser_cocci_menhir.mly"
10736 (Parse_aux.idinfo)
10737 # 10738 "parser_cocci_menhir.ml"
10738 ) = Obj.magic _1 in
10739 let _startpos = _startpos__1_ in
10740 let _endpos = _endpos__1_ in
10741 let _v : 'tv_decl_ident =
10742 # 1698 "parser_cocci_menhir.mly"
10743 ( let (nm,constraints,pure,clt) = _1 in
10744 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
10745 # 10746 "parser_cocci_menhir.ml"
10746 in
10747 _menhir_env.MenhirLib.EngineTypes.stack <- {
10748 MenhirLib.EngineTypes.state = _menhir_s;
10749 MenhirLib.EngineTypes.semv = Obj.repr _v;
10750 MenhirLib.EngineTypes.startp = _startpos;
10751 MenhirLib.EngineTypes.endp = _endpos;
10752 MenhirLib.EngineTypes.next = _menhir_stack;
10753 });
10754 (fun _menhir_env ->
10755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10756 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10757 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10758 let _endpos = _startpos in
10759 let _v : 'tv_decl_list_decl_ =
10760 # 1718 "parser_cocci_menhir.mly"
10761 ( Ast0.wrap(Ast0.DOTS([])) )
10762 # 10763 "parser_cocci_menhir.ml"
10763 in
10764 _menhir_env.MenhirLib.EngineTypes.stack <- {
10765 MenhirLib.EngineTypes.state = _menhir_s;
10766 MenhirLib.EngineTypes.semv = Obj.repr _v;
10767 MenhirLib.EngineTypes.startp = _startpos;
10768 MenhirLib.EngineTypes.endp = _endpos;
10769 MenhirLib.EngineTypes.next = _menhir_stack;
10770 });
10771 (fun _menhir_env ->
10772 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10773 let {
10774 MenhirLib.EngineTypes.state = _menhir_s;
10775 MenhirLib.EngineTypes.semv = _1;
10776 MenhirLib.EngineTypes.startp = _startpos__1_;
10777 MenhirLib.EngineTypes.endp = _endpos__1_;
10778 MenhirLib.EngineTypes.next = _menhir_stack;
10779 } = _menhir_stack in
10780 let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
10781 let _startpos = _startpos__1_ in
10782 let _endpos = _endpos__1_ in
10783 let _v : 'tv_decl_list_decl_ =
10784 # 1720 "parser_cocci_menhir.mly"
10785 (let circle x =
10786 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10787 if List.exists circle _1
10788 then Ast0.wrap(Ast0.CIRCLES(_1))
10789 else Ast0.wrap(Ast0.DOTS(_1)) )
10790 # 10791 "parser_cocci_menhir.ml"
10791 in
10792 _menhir_env.MenhirLib.EngineTypes.stack <- {
10793 MenhirLib.EngineTypes.state = _menhir_s;
10794 MenhirLib.EngineTypes.semv = Obj.repr _v;
10795 MenhirLib.EngineTypes.startp = _startpos;
10796 MenhirLib.EngineTypes.endp = _endpos;
10797 MenhirLib.EngineTypes.next = _menhir_stack;
10798 });
10799 (fun _menhir_env ->
10800 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10801 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10802 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10803 let _endpos = _startpos in
10804 let _v : 'tv_decl_list_name_opt_decl_ =
10805 # 1718 "parser_cocci_menhir.mly"
10806 ( Ast0.wrap(Ast0.DOTS([])) )
10807 # 10808 "parser_cocci_menhir.ml"
10808 in
10809 _menhir_env.MenhirLib.EngineTypes.stack <- {
10810 MenhirLib.EngineTypes.state = _menhir_s;
10811 MenhirLib.EngineTypes.semv = Obj.repr _v;
10812 MenhirLib.EngineTypes.startp = _startpos;
10813 MenhirLib.EngineTypes.endp = _endpos;
10814 MenhirLib.EngineTypes.next = _menhir_stack;
10815 });
10816 (fun _menhir_env ->
10817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10818 let {
10819 MenhirLib.EngineTypes.state = _menhir_s;
10820 MenhirLib.EngineTypes.semv = _1;
10821 MenhirLib.EngineTypes.startp = _startpos__1_;
10822 MenhirLib.EngineTypes.endp = _endpos__1_;
10823 MenhirLib.EngineTypes.next = _menhir_stack;
10824 } = _menhir_stack in
10825 let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
10826 let _startpos = _startpos__1_ in
10827 let _endpos = _endpos__1_ in
10828 let _v : 'tv_decl_list_name_opt_decl_ =
10829 # 1720 "parser_cocci_menhir.mly"
10830 (let circle x =
10831 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10832 if List.exists circle _1
10833 then Ast0.wrap(Ast0.CIRCLES(_1))
10834 else Ast0.wrap(Ast0.DOTS(_1)) )
10835 # 10836 "parser_cocci_menhir.ml"
10836 in
10837 _menhir_env.MenhirLib.EngineTypes.stack <- {
10838 MenhirLib.EngineTypes.state = _menhir_s;
10839 MenhirLib.EngineTypes.semv = Obj.repr _v;
10840 MenhirLib.EngineTypes.startp = _startpos;
10841 MenhirLib.EngineTypes.endp = _endpos;
10842 MenhirLib.EngineTypes.next = _menhir_stack;
10843 });
10844 (fun _menhir_env ->
10845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10846 let {
10847 MenhirLib.EngineTypes.state = _menhir_s;
10848 MenhirLib.EngineTypes.semv = _1;
10849 MenhirLib.EngineTypes.startp = _startpos__1_;
10850 MenhirLib.EngineTypes.endp = _endpos__1_;
10851 MenhirLib.EngineTypes.next = _menhir_stack;
10852 } = _menhir_stack in
10853 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10854 let _startpos = _startpos__1_ in
10855 let _endpos = _endpos__1_ in
10856 let _v : 'tv_decl_list_start_decl_ =
10857 # 1727 "parser_cocci_menhir.mly"
10858 ( [_1] )
10859 # 10860 "parser_cocci_menhir.ml"
10860 in
10861 _menhir_env.MenhirLib.EngineTypes.stack <- {
10862 MenhirLib.EngineTypes.state = _menhir_s;
10863 MenhirLib.EngineTypes.semv = Obj.repr _v;
10864 MenhirLib.EngineTypes.startp = _startpos;
10865 MenhirLib.EngineTypes.endp = _endpos;
10866 MenhirLib.EngineTypes.next = _menhir_stack;
10867 });
10868 (fun _menhir_env ->
10869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10870 let {
10871 MenhirLib.EngineTypes.semv = _3;
10872 MenhirLib.EngineTypes.startp = _startpos__3_;
10873 MenhirLib.EngineTypes.endp = _endpos__3_;
10874 MenhirLib.EngineTypes.next = {
10875 MenhirLib.EngineTypes.semv = _2;
10876 MenhirLib.EngineTypes.startp = _startpos__2_;
10877 MenhirLib.EngineTypes.endp = _endpos__2_;
10878 MenhirLib.EngineTypes.next = {
10879 MenhirLib.EngineTypes.state = _menhir_s;
10880 MenhirLib.EngineTypes.semv = _1;
10881 MenhirLib.EngineTypes.startp = _startpos__1_;
10882 MenhirLib.EngineTypes.endp = _endpos__1_;
10883 MenhirLib.EngineTypes.next = _menhir_stack;
10884 };
10885 };
10886 } = _menhir_stack in
10887 let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
10888 let _2 : (
10889 # 130 "parser_cocci_menhir.mly"
10890 (Data.clt)
10891 # 10892 "parser_cocci_menhir.ml"
10892 ) = Obj.magic _2 in
10893 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10894 let _startpos = _startpos__1_ in
10895 let _endpos = _endpos__3_ in
10896 let _v : 'tv_decl_list_start_decl_ =
10897 # 1729 "parser_cocci_menhir.mly"
10898 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10899 # 10900 "parser_cocci_menhir.ml"
10900 in
10901 _menhir_env.MenhirLib.EngineTypes.stack <- {
10902 MenhirLib.EngineTypes.state = _menhir_s;
10903 MenhirLib.EngineTypes.semv = Obj.repr _v;
10904 MenhirLib.EngineTypes.startp = _startpos;
10905 MenhirLib.EngineTypes.endp = _endpos;
10906 MenhirLib.EngineTypes.next = _menhir_stack;
10907 });
10908 (fun _menhir_env ->
10909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10910 let {
10911 MenhirLib.EngineTypes.semv = _2;
10912 MenhirLib.EngineTypes.startp = _startpos__2_;
10913 MenhirLib.EngineTypes.endp = _endpos__2_;
10914 MenhirLib.EngineTypes.next = {
10915 MenhirLib.EngineTypes.state = _menhir_s;
10916 MenhirLib.EngineTypes.semv = _1;
10917 MenhirLib.EngineTypes.startp = _startpos__1_;
10918 MenhirLib.EngineTypes.endp = _endpos__1_;
10919 MenhirLib.EngineTypes.next = _menhir_stack;
10920 };
10921 } = _menhir_stack in
10922 let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
10923 let _1 : (
10924 # 96 "parser_cocci_menhir.mly"
10925 (Data.clt)
10926 # 10927 "parser_cocci_menhir.ml"
10927 ) = Obj.magic _1 in
10928 let _startpos = _startpos__1_ in
10929 let _endpos = _endpos__2_ in
10930 let _v : 'tv_decl_list_start_decl_ =
10931 # 1731 "parser_cocci_menhir.mly"
10932 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
10933 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
10934 # 10935 "parser_cocci_menhir.ml"
10935 in
10936 _menhir_env.MenhirLib.EngineTypes.stack <- {
10937 MenhirLib.EngineTypes.state = _menhir_s;
10938 MenhirLib.EngineTypes.semv = Obj.repr _v;
10939 MenhirLib.EngineTypes.startp = _startpos;
10940 MenhirLib.EngineTypes.endp = _endpos;
10941 MenhirLib.EngineTypes.next = _menhir_stack;
10942 });
10943 (fun _menhir_env ->
10944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10945 let {
10946 MenhirLib.EngineTypes.state = _menhir_s;
10947 MenhirLib.EngineTypes.semv = _1;
10948 MenhirLib.EngineTypes.startp = _startpos__1_;
10949 MenhirLib.EngineTypes.endp = _endpos__1_;
10950 MenhirLib.EngineTypes.next = _menhir_stack;
10951 } = _menhir_stack in
10952 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
10953 let _startpos = _startpos__1_ in
10954 let _endpos = _endpos__1_ in
10955 let _v : 'tv_decl_list_start_name_opt_decl_ =
10956 # 1727 "parser_cocci_menhir.mly"
10957 ( [_1] )
10958 # 10959 "parser_cocci_menhir.ml"
10959 in
10960 _menhir_env.MenhirLib.EngineTypes.stack <- {
10961 MenhirLib.EngineTypes.state = _menhir_s;
10962 MenhirLib.EngineTypes.semv = Obj.repr _v;
10963 MenhirLib.EngineTypes.startp = _startpos;
10964 MenhirLib.EngineTypes.endp = _endpos;
10965 MenhirLib.EngineTypes.next = _menhir_stack;
10966 });
10967 (fun _menhir_env ->
10968 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10969 let {
10970 MenhirLib.EngineTypes.semv = _3;
10971 MenhirLib.EngineTypes.startp = _startpos__3_;
10972 MenhirLib.EngineTypes.endp = _endpos__3_;
10973 MenhirLib.EngineTypes.next = {
10974 MenhirLib.EngineTypes.semv = _2;
10975 MenhirLib.EngineTypes.startp = _startpos__2_;
10976 MenhirLib.EngineTypes.endp = _endpos__2_;
10977 MenhirLib.EngineTypes.next = {
10978 MenhirLib.EngineTypes.state = _menhir_s;
10979 MenhirLib.EngineTypes.semv = _1;
10980 MenhirLib.EngineTypes.startp = _startpos__1_;
10981 MenhirLib.EngineTypes.endp = _endpos__1_;
10982 MenhirLib.EngineTypes.next = _menhir_stack;
10983 };
10984 };
10985 } = _menhir_stack in
10986 let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
10987 let _2 : (
10988 # 130 "parser_cocci_menhir.mly"
10989 (Data.clt)
10990 # 10991 "parser_cocci_menhir.ml"
10991 ) = Obj.magic _2 in
10992 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
10993 let _startpos = _startpos__1_ in
10994 let _endpos = _endpos__3_ in
10995 let _v : 'tv_decl_list_start_name_opt_decl_ =
10996 # 1729 "parser_cocci_menhir.mly"
10997 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10998 # 10999 "parser_cocci_menhir.ml"
10999 in
11000 _menhir_env.MenhirLib.EngineTypes.stack <- {
11001 MenhirLib.EngineTypes.state = _menhir_s;
11002 MenhirLib.EngineTypes.semv = Obj.repr _v;
11003 MenhirLib.EngineTypes.startp = _startpos;
11004 MenhirLib.EngineTypes.endp = _endpos;
11005 MenhirLib.EngineTypes.next = _menhir_stack;
11006 });
11007 (fun _menhir_env ->
11008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11009 let {
11010 MenhirLib.EngineTypes.semv = _2;
11011 MenhirLib.EngineTypes.startp = _startpos__2_;
11012 MenhirLib.EngineTypes.endp = _endpos__2_;
11013 MenhirLib.EngineTypes.next = {
11014 MenhirLib.EngineTypes.state = _menhir_s;
11015 MenhirLib.EngineTypes.semv = _1;
11016 MenhirLib.EngineTypes.startp = _startpos__1_;
11017 MenhirLib.EngineTypes.endp = _endpos__1_;
11018 MenhirLib.EngineTypes.next = _menhir_stack;
11019 };
11020 } = _menhir_stack in
11021 let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
11022 let _1 : (
11023 # 96 "parser_cocci_menhir.mly"
11024 (Data.clt)
11025 # 11026 "parser_cocci_menhir.ml"
11026 ) = Obj.magic _1 in
11027 let _startpos = _startpos__1_ in
11028 let _endpos = _endpos__2_ in
11029 let _v : 'tv_decl_list_start_name_opt_decl_ =
11030 # 1731 "parser_cocci_menhir.mly"
11031 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
11032 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
11033 # 11034 "parser_cocci_menhir.ml"
11034 in
11035 _menhir_env.MenhirLib.EngineTypes.stack <- {
11036 MenhirLib.EngineTypes.state = _menhir_s;
11037 MenhirLib.EngineTypes.semv = Obj.repr _v;
11038 MenhirLib.EngineTypes.startp = _startpos;
11039 MenhirLib.EngineTypes.endp = _endpos;
11040 MenhirLib.EngineTypes.next = _menhir_stack;
11041 });
11042 (fun _menhir_env ->
11043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11044 let {
11045 MenhirLib.EngineTypes.state = _menhir_s;
11046 MenhirLib.EngineTypes.semv = _1;
11047 MenhirLib.EngineTypes.startp = _startpos__1_;
11048 MenhirLib.EngineTypes.endp = _endpos__1_;
11049 MenhirLib.EngineTypes.next = _menhir_stack;
11050 } = _menhir_stack in
11051 let _1 : (
11052 # 87 "parser_cocci_menhir.mly"
11053 (Parse_aux.info)
11054 # 11055 "parser_cocci_menhir.ml"
11055 ) = Obj.magic _1 in
11056 let _startpos = _startpos__1_ in
11057 let _endpos = _endpos__1_ in
11058 let _v : 'tv_decl_statement =
11059 # 1189 "parser_cocci_menhir.mly"
11060 ( let (nm,pure,clt) = _1 in
11061 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11062 # 11063 "parser_cocci_menhir.ml"
11063 in
11064 _menhir_env.MenhirLib.EngineTypes.stack <- {
11065 MenhirLib.EngineTypes.state = _menhir_s;
11066 MenhirLib.EngineTypes.semv = Obj.repr _v;
11067 MenhirLib.EngineTypes.startp = _startpos;
11068 MenhirLib.EngineTypes.endp = _endpos;
11069 MenhirLib.EngineTypes.next = _menhir_stack;
11070 });
11071 (fun _menhir_env ->
11072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11073 let {
11074 MenhirLib.EngineTypes.state = _menhir_s;
11075 MenhirLib.EngineTypes.semv = _1;
11076 MenhirLib.EngineTypes.startp = _startpos__1_;
11077 MenhirLib.EngineTypes.endp = _endpos__1_;
11078 MenhirLib.EngineTypes.next = _menhir_stack;
11079 } = _menhir_stack in
11080 let _1 : 'tv_decl_var = Obj.magic _1 in
11081 let _startpos = _startpos__1_ in
11082 let _endpos = _endpos__1_ in
11083 let _v : 'tv_decl_statement =
11084 # 1192 "parser_cocci_menhir.mly"
11085 ( List.map
11086 (function x ->
11087 Ast0.wrap
11088 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11089 _1 )
11090 # 11091 "parser_cocci_menhir.ml"
11091 in
11092 _menhir_env.MenhirLib.EngineTypes.stack <- {
11093 MenhirLib.EngineTypes.state = _menhir_s;
11094 MenhirLib.EngineTypes.semv = Obj.repr _v;
11095 MenhirLib.EngineTypes.startp = _startpos;
11096 MenhirLib.EngineTypes.endp = _endpos;
11097 MenhirLib.EngineTypes.next = _menhir_stack;
11098 });
11099 (fun _menhir_env ->
11100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11101 let {
11102 MenhirLib.EngineTypes.state = _menhir_s;
11103 MenhirLib.EngineTypes.semv = _1;
11104 MenhirLib.EngineTypes.startp = _startpos__1_;
11105 MenhirLib.EngineTypes.endp = _endpos__1_;
11106 MenhirLib.EngineTypes.next = _menhir_stack;
11107 } = _menhir_stack in
11108 let _1 : 'tv_statement = Obj.magic _1 in
11109 let _startpos = _startpos__1_ in
11110 let _endpos = _endpos__1_ in
11111 let _v : 'tv_decl_statement =
11112 # 1197 "parser_cocci_menhir.mly"
11113 ( [_1] )
11114 # 11115 "parser_cocci_menhir.ml"
11115 in
11116 _menhir_env.MenhirLib.EngineTypes.stack <- {
11117 MenhirLib.EngineTypes.state = _menhir_s;
11118 MenhirLib.EngineTypes.semv = Obj.repr _v;
11119 MenhirLib.EngineTypes.startp = _startpos;
11120 MenhirLib.EngineTypes.endp = _endpos;
11121 MenhirLib.EngineTypes.next = _menhir_stack;
11122 });
11123 (fun _menhir_env ->
11124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11125 let {
11126 MenhirLib.EngineTypes.semv = _3;
11127 MenhirLib.EngineTypes.startp = _startpos__3_;
11128 MenhirLib.EngineTypes.endp = _endpos__3_;
11129 MenhirLib.EngineTypes.next = {
11130 MenhirLib.EngineTypes.semv = t;
11131 MenhirLib.EngineTypes.startp = _startpos_t_;
11132 MenhirLib.EngineTypes.endp = _endpos_t_;
11133 MenhirLib.EngineTypes.next = {
11134 MenhirLib.EngineTypes.state = _menhir_s;
11135 MenhirLib.EngineTypes.semv = _1;
11136 MenhirLib.EngineTypes.startp = _startpos__1_;
11137 MenhirLib.EngineTypes.endp = _endpos__1_;
11138 MenhirLib.EngineTypes.next = _menhir_stack;
11139 };
11140 };
11141 } = _menhir_stack in
11142 let _3 : (
11143 # 100 "parser_cocci_menhir.mly"
11144 (Data.clt)
11145 # 11146 "parser_cocci_menhir.ml"
11146 ) = Obj.magic _3 in
11147 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
11148 let _1 : (
11149 # 99 "parser_cocci_menhir.mly"
11150 (Data.clt)
11151 # 11152 "parser_cocci_menhir.ml"
11152 ) = Obj.magic _1 in
11153 let _startpos = _startpos__1_ in
11154 let _endpos = _endpos__3_ in
11155 let _v : 'tv_decl_statement =
11156 # 1206 "parser_cocci_menhir.mly"
11157 ( let (mids,code) = t in
11158 if List.for_all
11159 (function x ->
11160 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
11161 code
11162 then []
11163 else
11164 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
11165 P.clt2mcode ")" _3))] )
11166 # 11167 "parser_cocci_menhir.ml"
11167 in
11168 _menhir_env.MenhirLib.EngineTypes.stack <- {
11169 MenhirLib.EngineTypes.state = _menhir_s;
11170 MenhirLib.EngineTypes.semv = Obj.repr _v;
11171 MenhirLib.EngineTypes.startp = _startpos;
11172 MenhirLib.EngineTypes.endp = _endpos;
11173 MenhirLib.EngineTypes.next = _menhir_stack;
11174 });
11175 (fun _menhir_env ->
11176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11177 let {
11178 MenhirLib.EngineTypes.state = _menhir_s;
11179 MenhirLib.EngineTypes.semv = _1;
11180 MenhirLib.EngineTypes.startp = _startpos__1_;
11181 MenhirLib.EngineTypes.endp = _endpos__1_;
11182 MenhirLib.EngineTypes.next = _menhir_stack;
11183 } = _menhir_stack in
11184 let _1 : (
11185 # 87 "parser_cocci_menhir.mly"
11186 (Parse_aux.info)
11187 # 11188 "parser_cocci_menhir.ml"
11188 ) = Obj.magic _1 in
11189 let _startpos = _startpos__1_ in
11190 let _endpos = _endpos__1_ in
11191 let _v : 'tv_decl_statement_expr =
11192 # 1219 "parser_cocci_menhir.mly"
11193 ( let (nm,pure,clt) = _1 in
11194 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11195 # 11196 "parser_cocci_menhir.ml"
11196 in
11197 _menhir_env.MenhirLib.EngineTypes.stack <- {
11198 MenhirLib.EngineTypes.state = _menhir_s;
11199 MenhirLib.EngineTypes.semv = Obj.repr _v;
11200 MenhirLib.EngineTypes.startp = _startpos;
11201 MenhirLib.EngineTypes.endp = _endpos;
11202 MenhirLib.EngineTypes.next = _menhir_stack;
11203 });
11204 (fun _menhir_env ->
11205 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11206 let {
11207 MenhirLib.EngineTypes.state = _menhir_s;
11208 MenhirLib.EngineTypes.semv = _1;
11209 MenhirLib.EngineTypes.startp = _startpos__1_;
11210 MenhirLib.EngineTypes.endp = _endpos__1_;
11211 MenhirLib.EngineTypes.next = _menhir_stack;
11212 } = _menhir_stack in
11213 let _1 : 'tv_decl_var = Obj.magic _1 in
11214 let _startpos = _startpos__1_ in
11215 let _endpos = _endpos__1_ in
11216 let _v : 'tv_decl_statement_expr =
11217 # 1222 "parser_cocci_menhir.mly"
11218 ( List.map
11219 (function x ->
11220 Ast0.wrap
11221 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11222 _1 )
11223 # 11224 "parser_cocci_menhir.ml"
11224 in
11225 _menhir_env.MenhirLib.EngineTypes.stack <- {
11226 MenhirLib.EngineTypes.state = _menhir_s;
11227 MenhirLib.EngineTypes.semv = Obj.repr _v;
11228 MenhirLib.EngineTypes.startp = _startpos;
11229 MenhirLib.EngineTypes.endp = _endpos;
11230 MenhirLib.EngineTypes.next = _menhir_stack;
11231 });
11232 (fun _menhir_env ->
11233 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11234 let {
11235 MenhirLib.EngineTypes.state = _menhir_s;
11236 MenhirLib.EngineTypes.semv = _1;
11237 MenhirLib.EngineTypes.startp = _startpos__1_;
11238 MenhirLib.EngineTypes.endp = _endpos__1_;
11239 MenhirLib.EngineTypes.next = _menhir_stack;
11240 } = _menhir_stack in
11241 let _1 : 'tv_statement = Obj.magic _1 in
11242 let _startpos = _startpos__1_ in
11243 let _endpos = _endpos__1_ in
11244 let _v : 'tv_decl_statement_expr =
11245 # 1227 "parser_cocci_menhir.mly"
11246 ( [_1] )
11247 # 11248 "parser_cocci_menhir.ml"
11248 in
11249 _menhir_env.MenhirLib.EngineTypes.stack <- {
11250 MenhirLib.EngineTypes.state = _menhir_s;
11251 MenhirLib.EngineTypes.semv = Obj.repr _v;
11252 MenhirLib.EngineTypes.startp = _startpos;
11253 MenhirLib.EngineTypes.endp = _endpos;
11254 MenhirLib.EngineTypes.next = _menhir_stack;
11255 });
11256 (fun _menhir_env ->
11257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11258 let {
11259 MenhirLib.EngineTypes.semv = _3;
11260 MenhirLib.EngineTypes.startp = _startpos__3_;
11261 MenhirLib.EngineTypes.endp = _endpos__3_;
11262 MenhirLib.EngineTypes.next = {
11263 MenhirLib.EngineTypes.semv = t;
11264 MenhirLib.EngineTypes.startp = _startpos_t_;
11265 MenhirLib.EngineTypes.endp = _endpos_t_;
11266 MenhirLib.EngineTypes.next = {
11267 MenhirLib.EngineTypes.state = _menhir_s;
11268 MenhirLib.EngineTypes.semv = _1;
11269 MenhirLib.EngineTypes.startp = _startpos__1_;
11270 MenhirLib.EngineTypes.endp = _endpos__1_;
11271 MenhirLib.EngineTypes.next = _menhir_stack;
11272 };
11273 };
11274 } = _menhir_stack in
11275 let _3 : (
11276 # 100 "parser_cocci_menhir.mly"
11277 (Data.clt)
11278 # 11279 "parser_cocci_menhir.ml"
11279 ) = Obj.magic _3 in
11280 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
11281 let _1 : (
11282 # 99 "parser_cocci_menhir.mly"
11283 (Data.clt)
11284 # 11285 "parser_cocci_menhir.ml"
11285 ) = Obj.magic _1 in
11286 let _startpos = _startpos__1_ in
11287 let _endpos = _endpos__3_ in
11288 let _v : 'tv_decl_statement_expr =
11289 # 1236 "parser_cocci_menhir.mly"
11290 ( let (mids,code) = t in
11291 if List.for_all (function [] -> true | _ -> false) code
11292 then []
11293 else
11294 let dot_code =
11295 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
11296 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
11297 P.clt2mcode ")" _3))] )
11298 # 11299 "parser_cocci_menhir.ml"
11299 in
11300 _menhir_env.MenhirLib.EngineTypes.stack <- {
11301 MenhirLib.EngineTypes.state = _menhir_s;
11302 MenhirLib.EngineTypes.semv = Obj.repr _v;
11303 MenhirLib.EngineTypes.startp = _startpos;
11304 MenhirLib.EngineTypes.endp = _endpos;
11305 MenhirLib.EngineTypes.next = _menhir_stack;
11306 });
11307 (fun _menhir_env ->
11308 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11309 let {
11310 MenhirLib.EngineTypes.semv = pv;
11311 MenhirLib.EngineTypes.startp = _startpos_pv_;
11312 MenhirLib.EngineTypes.endp = _endpos_pv_;
11313 MenhirLib.EngineTypes.next = {
11314 MenhirLib.EngineTypes.state = _menhir_s;
11315 MenhirLib.EngineTypes.semv = t;
11316 MenhirLib.EngineTypes.startp = _startpos_t_;
11317 MenhirLib.EngineTypes.endp = _endpos_t_;
11318 MenhirLib.EngineTypes.next = _menhir_stack;
11319 };
11320 } = _menhir_stack in
11321 let pv : (
11322 # 130 "parser_cocci_menhir.mly"
11323 (Data.clt)
11324 # 11325 "parser_cocci_menhir.ml"
11325 ) = Obj.magic pv in
11326 let t : 'tv_ctype = Obj.magic t in
11327 let _startpos = _startpos_t_ in
11328 let _endpos = _endpos_pv_ in
11329 let _v : 'tv_decl_var =
11330 # 999 "parser_cocci_menhir.mly"
11331 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
11332 # 11333 "parser_cocci_menhir.ml"
11333 in
11334 _menhir_env.MenhirLib.EngineTypes.stack <- {
11335 MenhirLib.EngineTypes.state = _menhir_s;
11336 MenhirLib.EngineTypes.semv = Obj.repr _v;
11337 MenhirLib.EngineTypes.startp = _startpos;
11338 MenhirLib.EngineTypes.endp = _endpos;
11339 MenhirLib.EngineTypes.next = _menhir_stack;
11340 });
11341 (fun _menhir_env ->
11342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11343 let {
11344 MenhirLib.EngineTypes.semv = pv;
11345 MenhirLib.EngineTypes.startp = _startpos_pv_;
11346 MenhirLib.EngineTypes.endp = _endpos_pv_;
11347 MenhirLib.EngineTypes.next = {
11348 MenhirLib.EngineTypes.semv = d;
11349 MenhirLib.EngineTypes.startp = _startpos_d_;
11350 MenhirLib.EngineTypes.endp = _endpos_d_;
11351 MenhirLib.EngineTypes.next = {
11352 MenhirLib.EngineTypes.state = _menhir_s;
11353 MenhirLib.EngineTypes.semv = t;
11354 MenhirLib.EngineTypes.startp = _startpos_t_;
11355 MenhirLib.EngineTypes.endp = _endpos_t_;
11356 MenhirLib.EngineTypes.next = _menhir_stack;
11357 };
11358 };
11359 } = _menhir_stack in
11360 let pv : (
11361 # 130 "parser_cocci_menhir.mly"
11362 (Data.clt)
11363 # 11364 "parser_cocci_menhir.ml"
11364 ) = Obj.magic pv in
11365 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11366 let t : 'tv_ctype = Obj.magic t in
11367 let _startpos = _startpos_t_ in
11368 let _endpos = _endpos_pv_ in
11369 let _v : 'tv_decl_var = let s =
11370
11371 # 39 "standard.mly"
11372 ( None )
11373 # 11374 "parser_cocci_menhir.ml"
11374
11375 in
11376
11377 # 1001 "parser_cocci_menhir.mly"
11378 ( List.map
11379 (function (id,fn) ->
11380 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11381 d )
11382 # 11383 "parser_cocci_menhir.ml"
11383 in
11384 _menhir_env.MenhirLib.EngineTypes.stack <- {
11385 MenhirLib.EngineTypes.state = _menhir_s;
11386 MenhirLib.EngineTypes.semv = Obj.repr _v;
11387 MenhirLib.EngineTypes.startp = _startpos;
11388 MenhirLib.EngineTypes.endp = _endpos;
11389 MenhirLib.EngineTypes.next = _menhir_stack;
11390 });
11391 (fun _menhir_env ->
11392 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11393 let {
11394 MenhirLib.EngineTypes.semv = pv;
11395 MenhirLib.EngineTypes.startp = _startpos_pv_;
11396 MenhirLib.EngineTypes.endp = _endpos_pv_;
11397 MenhirLib.EngineTypes.next = {
11398 MenhirLib.EngineTypes.semv = d;
11399 MenhirLib.EngineTypes.startp = _startpos_d_;
11400 MenhirLib.EngineTypes.endp = _endpos_d_;
11401 MenhirLib.EngineTypes.next = {
11402 MenhirLib.EngineTypes.semv = t;
11403 MenhirLib.EngineTypes.startp = _startpos_t_;
11404 MenhirLib.EngineTypes.endp = _endpos_t_;
11405 MenhirLib.EngineTypes.next = {
11406 MenhirLib.EngineTypes.state = _menhir_s;
11407 MenhirLib.EngineTypes.semv = x0;
11408 MenhirLib.EngineTypes.startp = _startpos_x0_;
11409 MenhirLib.EngineTypes.endp = _endpos_x0_;
11410 MenhirLib.EngineTypes.next = _menhir_stack;
11411 };
11412 };
11413 };
11414 } = _menhir_stack in
11415 let pv : (
11416 # 130 "parser_cocci_menhir.mly"
11417 (Data.clt)
11418 # 11419 "parser_cocci_menhir.ml"
11419 ) = Obj.magic pv in
11420 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11421 let t : 'tv_ctype = Obj.magic t in
11422 let x0 : 'tv_storage = Obj.magic x0 in
11423 let _startpos = _startpos_x0_ in
11424 let _endpos = _endpos_pv_ in
11425 let _v : 'tv_decl_var = let s =
11426 let x = x0 in
11427
11428 # 41 "standard.mly"
11429 ( Some x )
11430 # 11431 "parser_cocci_menhir.ml"
11431
11432 in
11433
11434 # 1001 "parser_cocci_menhir.mly"
11435 ( List.map
11436 (function (id,fn) ->
11437 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11438 d )
11439 # 11440 "parser_cocci_menhir.ml"
11440 in
11441 _menhir_env.MenhirLib.EngineTypes.stack <- {
11442 MenhirLib.EngineTypes.state = _menhir_s;
11443 MenhirLib.EngineTypes.semv = Obj.repr _v;
11444 MenhirLib.EngineTypes.startp = _startpos;
11445 MenhirLib.EngineTypes.endp = _endpos;
11446 MenhirLib.EngineTypes.next = _menhir_stack;
11447 });
11448 (fun _menhir_env ->
11449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11450 let {
11451 MenhirLib.EngineTypes.state = _menhir_s;
11452 MenhirLib.EngineTypes.semv = f;
11453 MenhirLib.EngineTypes.startp = _startpos_f_;
11454 MenhirLib.EngineTypes.endp = _endpos_f_;
11455 MenhirLib.EngineTypes.next = _menhir_stack;
11456 } = _menhir_stack in
11457 let f : 'tv_funproto = Obj.magic f in
11458 let _startpos = _startpos_f_ in
11459 let _endpos = _endpos_f_ in
11460 let _v : 'tv_decl_var =
11461 # 1005 "parser_cocci_menhir.mly"
11462 ( [f] )
11463 # 11464 "parser_cocci_menhir.ml"
11464 in
11465 _menhir_env.MenhirLib.EngineTypes.stack <- {
11466 MenhirLib.EngineTypes.state = _menhir_s;
11467 MenhirLib.EngineTypes.semv = Obj.repr _v;
11468 MenhirLib.EngineTypes.startp = _startpos;
11469 MenhirLib.EngineTypes.endp = _endpos;
11470 MenhirLib.EngineTypes.next = _menhir_stack;
11471 });
11472 (fun _menhir_env ->
11473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11474 let {
11475 MenhirLib.EngineTypes.semv = pv;
11476 MenhirLib.EngineTypes.startp = _startpos_pv_;
11477 MenhirLib.EngineTypes.endp = _endpos_pv_;
11478 MenhirLib.EngineTypes.next = {
11479 MenhirLib.EngineTypes.semv = e;
11480 MenhirLib.EngineTypes.startp = _startpos_e_;
11481 MenhirLib.EngineTypes.endp = _endpos_e_;
11482 MenhirLib.EngineTypes.next = {
11483 MenhirLib.EngineTypes.semv = q;
11484 MenhirLib.EngineTypes.startp = _startpos_q_;
11485 MenhirLib.EngineTypes.endp = _endpos_q_;
11486 MenhirLib.EngineTypes.next = {
11487 MenhirLib.EngineTypes.semv = d;
11488 MenhirLib.EngineTypes.startp = _startpos_d_;
11489 MenhirLib.EngineTypes.endp = _endpos_d_;
11490 MenhirLib.EngineTypes.next = {
11491 MenhirLib.EngineTypes.state = _menhir_s;
11492 MenhirLib.EngineTypes.semv = t;
11493 MenhirLib.EngineTypes.startp = _startpos_t_;
11494 MenhirLib.EngineTypes.endp = _endpos_t_;
11495 MenhirLib.EngineTypes.next = _menhir_stack;
11496 };
11497 };
11498 };
11499 };
11500 } = _menhir_stack in
11501 let pv : (
11502 # 130 "parser_cocci_menhir.mly"
11503 (Data.clt)
11504 # 11505 "parser_cocci_menhir.ml"
11505 ) = Obj.magic pv in
11506 let e : 'tv_initialize = Obj.magic e in
11507 let q : (
11508 # 130 "parser_cocci_menhir.mly"
11509 (Data.clt)
11510 # 11511 "parser_cocci_menhir.ml"
11511 ) = Obj.magic q in
11512 let d : 'tv_d_ident = Obj.magic d in
11513 let t : 'tv_ctype = Obj.magic t in
11514 let _startpos = _startpos_t_ in
11515 let _endpos = _endpos_pv_ in
11516 let _v : 'tv_decl_var = let s =
11517
11518 # 39 "standard.mly"
11519 ( None )
11520 # 11521 "parser_cocci_menhir.ml"
11521
11522 in
11523
11524 # 1007 "parser_cocci_menhir.mly"
11525 (let (id,fn) = d in
11526 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11527 # 11528 "parser_cocci_menhir.ml"
11528 in
11529 _menhir_env.MenhirLib.EngineTypes.stack <- {
11530 MenhirLib.EngineTypes.state = _menhir_s;
11531 MenhirLib.EngineTypes.semv = Obj.repr _v;
11532 MenhirLib.EngineTypes.startp = _startpos;
11533 MenhirLib.EngineTypes.endp = _endpos;
11534 MenhirLib.EngineTypes.next = _menhir_stack;
11535 });
11536 (fun _menhir_env ->
11537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11538 let {
11539 MenhirLib.EngineTypes.semv = pv;
11540 MenhirLib.EngineTypes.startp = _startpos_pv_;
11541 MenhirLib.EngineTypes.endp = _endpos_pv_;
11542 MenhirLib.EngineTypes.next = {
11543 MenhirLib.EngineTypes.semv = e;
11544 MenhirLib.EngineTypes.startp = _startpos_e_;
11545 MenhirLib.EngineTypes.endp = _endpos_e_;
11546 MenhirLib.EngineTypes.next = {
11547 MenhirLib.EngineTypes.semv = q;
11548 MenhirLib.EngineTypes.startp = _startpos_q_;
11549 MenhirLib.EngineTypes.endp = _endpos_q_;
11550 MenhirLib.EngineTypes.next = {
11551 MenhirLib.EngineTypes.semv = d;
11552 MenhirLib.EngineTypes.startp = _startpos_d_;
11553 MenhirLib.EngineTypes.endp = _endpos_d_;
11554 MenhirLib.EngineTypes.next = {
11555 MenhirLib.EngineTypes.semv = t;
11556 MenhirLib.EngineTypes.startp = _startpos_t_;
11557 MenhirLib.EngineTypes.endp = _endpos_t_;
11558 MenhirLib.EngineTypes.next = {
11559 MenhirLib.EngineTypes.state = _menhir_s;
11560 MenhirLib.EngineTypes.semv = x0;
11561 MenhirLib.EngineTypes.startp = _startpos_x0_;
11562 MenhirLib.EngineTypes.endp = _endpos_x0_;
11563 MenhirLib.EngineTypes.next = _menhir_stack;
11564 };
11565 };
11566 };
11567 };
11568 };
11569 } = _menhir_stack in
11570 let pv : (
11571 # 130 "parser_cocci_menhir.mly"
11572 (Data.clt)
11573 # 11574 "parser_cocci_menhir.ml"
11574 ) = Obj.magic pv in
11575 let e : 'tv_initialize = Obj.magic e in
11576 let q : (
11577 # 130 "parser_cocci_menhir.mly"
11578 (Data.clt)
11579 # 11580 "parser_cocci_menhir.ml"
11580 ) = Obj.magic q in
11581 let d : 'tv_d_ident = Obj.magic d in
11582 let t : 'tv_ctype = Obj.magic t in
11583 let x0 : 'tv_storage = Obj.magic x0 in
11584 let _startpos = _startpos_x0_ in
11585 let _endpos = _endpos_pv_ in
11586 let _v : 'tv_decl_var = let s =
11587 let x = x0 in
11588
11589 # 41 "standard.mly"
11590 ( Some x )
11591 # 11592 "parser_cocci_menhir.ml"
11592
11593 in
11594
11595 # 1007 "parser_cocci_menhir.mly"
11596 (let (id,fn) = d in
11597 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11598 # 11599 "parser_cocci_menhir.ml"
11599 in
11600 _menhir_env.MenhirLib.EngineTypes.stack <- {
11601 MenhirLib.EngineTypes.state = _menhir_s;
11602 MenhirLib.EngineTypes.semv = Obj.repr _v;
11603 MenhirLib.EngineTypes.startp = _startpos;
11604 MenhirLib.EngineTypes.endp = _endpos;
11605 MenhirLib.EngineTypes.next = _menhir_stack;
11606 });
11607 (fun _menhir_env ->
11608 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11609 let {
11610 MenhirLib.EngineTypes.semv = pv;
11611 MenhirLib.EngineTypes.startp = _startpos_pv_;
11612 MenhirLib.EngineTypes.endp = _endpos_pv_;
11613 MenhirLib.EngineTypes.next = {
11614 MenhirLib.EngineTypes.semv = d;
11615 MenhirLib.EngineTypes.startp = _startpos_d_;
11616 MenhirLib.EngineTypes.endp = _endpos_d_;
11617 MenhirLib.EngineTypes.next = {
11618 MenhirLib.EngineTypes.state = _menhir_s;
11619 MenhirLib.EngineTypes.semv = i;
11620 MenhirLib.EngineTypes.startp = _startpos_i_;
11621 MenhirLib.EngineTypes.endp = _endpos_i_;
11622 MenhirLib.EngineTypes.next = _menhir_stack;
11623 };
11624 };
11625 } = _menhir_stack in
11626 let pv : (
11627 # 130 "parser_cocci_menhir.mly"
11628 (Data.clt)
11629 # 11630 "parser_cocci_menhir.ml"
11630 ) = Obj.magic pv in
11631 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11632 let i : 'tv_pure_ident = Obj.magic i in
11633 let _startpos = _startpos_i_ in
11634 let _endpos = _endpos_pv_ in
11635 let _v : 'tv_decl_var = let cv =
11636
11637 # 39 "standard.mly"
11638 ( None )
11639 # 11640 "parser_cocci_menhir.ml"
11640
11641 in
11642 let s =
11643
11644 # 39 "standard.mly"
11645 ( None )
11646 # 11647 "parser_cocci_menhir.ml"
11647
11648 in
11649
11650 # 1012 "parser_cocci_menhir.mly"
11651 ( List.map
11652 (function (id,fn) ->
11653 let idtype =
11654 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11655 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11656 d )
11657 # 11658 "parser_cocci_menhir.ml"
11658 in
11659 _menhir_env.MenhirLib.EngineTypes.stack <- {
11660 MenhirLib.EngineTypes.state = _menhir_s;
11661 MenhirLib.EngineTypes.semv = Obj.repr _v;
11662 MenhirLib.EngineTypes.startp = _startpos;
11663 MenhirLib.EngineTypes.endp = _endpos;
11664 MenhirLib.EngineTypes.next = _menhir_stack;
11665 });
11666 (fun _menhir_env ->
11667 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11668 let {
11669 MenhirLib.EngineTypes.semv = pv;
11670 MenhirLib.EngineTypes.startp = _startpos_pv_;
11671 MenhirLib.EngineTypes.endp = _endpos_pv_;
11672 MenhirLib.EngineTypes.next = {
11673 MenhirLib.EngineTypes.semv = d;
11674 MenhirLib.EngineTypes.startp = _startpos_d_;
11675 MenhirLib.EngineTypes.endp = _endpos_d_;
11676 MenhirLib.EngineTypes.next = {
11677 MenhirLib.EngineTypes.semv = i;
11678 MenhirLib.EngineTypes.startp = _startpos_i_;
11679 MenhirLib.EngineTypes.endp = _endpos_i_;
11680 MenhirLib.EngineTypes.next = {
11681 MenhirLib.EngineTypes.state = _menhir_s;
11682 MenhirLib.EngineTypes.semv = x0;
11683 MenhirLib.EngineTypes.startp = _startpos_x0_;
11684 MenhirLib.EngineTypes.endp = _endpos_x0_;
11685 MenhirLib.EngineTypes.next = _menhir_stack;
11686 };
11687 };
11688 };
11689 } = _menhir_stack in
11690 let pv : (
11691 # 130 "parser_cocci_menhir.mly"
11692 (Data.clt)
11693 # 11694 "parser_cocci_menhir.ml"
11694 ) = Obj.magic pv in
11695 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11696 let i : 'tv_pure_ident = Obj.magic i in
11697 let x0 : 'tv_const_vol = Obj.magic x0 in
11698 let _startpos = _startpos_x0_ in
11699 let _endpos = _endpos_pv_ in
11700 let _v : 'tv_decl_var = 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 let s =
11709
11710 # 39 "standard.mly"
11711 ( None )
11712 # 11713 "parser_cocci_menhir.ml"
11713
11714 in
11715
11716 # 1012 "parser_cocci_menhir.mly"
11717 ( List.map
11718 (function (id,fn) ->
11719 let idtype =
11720 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11721 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11722 d )
11723 # 11724 "parser_cocci_menhir.ml"
11724 in
11725 _menhir_env.MenhirLib.EngineTypes.stack <- {
11726 MenhirLib.EngineTypes.state = _menhir_s;
11727 MenhirLib.EngineTypes.semv = Obj.repr _v;
11728 MenhirLib.EngineTypes.startp = _startpos;
11729 MenhirLib.EngineTypes.endp = _endpos;
11730 MenhirLib.EngineTypes.next = _menhir_stack;
11731 });
11732 (fun _menhir_env ->
11733 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11734 let {
11735 MenhirLib.EngineTypes.semv = pv;
11736 MenhirLib.EngineTypes.startp = _startpos_pv_;
11737 MenhirLib.EngineTypes.endp = _endpos_pv_;
11738 MenhirLib.EngineTypes.next = {
11739 MenhirLib.EngineTypes.semv = d;
11740 MenhirLib.EngineTypes.startp = _startpos_d_;
11741 MenhirLib.EngineTypes.endp = _endpos_d_;
11742 MenhirLib.EngineTypes.next = {
11743 MenhirLib.EngineTypes.semv = i;
11744 MenhirLib.EngineTypes.startp = _startpos_i_;
11745 MenhirLib.EngineTypes.endp = _endpos_i_;
11746 MenhirLib.EngineTypes.next = {
11747 MenhirLib.EngineTypes.state = _menhir_s;
11748 MenhirLib.EngineTypes.semv = x0;
11749 MenhirLib.EngineTypes.startp = _startpos_x0_;
11750 MenhirLib.EngineTypes.endp = _endpos_x0_;
11751 MenhirLib.EngineTypes.next = _menhir_stack;
11752 };
11753 };
11754 };
11755 } = _menhir_stack in
11756 let pv : (
11757 # 130 "parser_cocci_menhir.mly"
11758 (Data.clt)
11759 # 11760 "parser_cocci_menhir.ml"
11760 ) = Obj.magic pv in
11761 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11762 let i : 'tv_pure_ident = Obj.magic i in
11763 let x0 : 'tv_storage = Obj.magic x0 in
11764 let _startpos = _startpos_x0_ in
11765 let _endpos = _endpos_pv_ in
11766 let _v : 'tv_decl_var = let cv =
11767
11768 # 39 "standard.mly"
11769 ( None )
11770 # 11771 "parser_cocci_menhir.ml"
11771
11772 in
11773 let s =
11774 let x = x0 in
11775
11776 # 41 "standard.mly"
11777 ( Some x )
11778 # 11779 "parser_cocci_menhir.ml"
11779
11780 in
11781
11782 # 1012 "parser_cocci_menhir.mly"
11783 ( List.map
11784 (function (id,fn) ->
11785 let idtype =
11786 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11787 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11788 d )
11789 # 11790 "parser_cocci_menhir.ml"
11790 in
11791 _menhir_env.MenhirLib.EngineTypes.stack <- {
11792 MenhirLib.EngineTypes.state = _menhir_s;
11793 MenhirLib.EngineTypes.semv = Obj.repr _v;
11794 MenhirLib.EngineTypes.startp = _startpos;
11795 MenhirLib.EngineTypes.endp = _endpos;
11796 MenhirLib.EngineTypes.next = _menhir_stack;
11797 });
11798 (fun _menhir_env ->
11799 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11800 let {
11801 MenhirLib.EngineTypes.semv = pv;
11802 MenhirLib.EngineTypes.startp = _startpos_pv_;
11803 MenhirLib.EngineTypes.endp = _endpos_pv_;
11804 MenhirLib.EngineTypes.next = {
11805 MenhirLib.EngineTypes.semv = d;
11806 MenhirLib.EngineTypes.startp = _startpos_d_;
11807 MenhirLib.EngineTypes.endp = _endpos_d_;
11808 MenhirLib.EngineTypes.next = {
11809 MenhirLib.EngineTypes.semv = i;
11810 MenhirLib.EngineTypes.startp = _startpos_i_;
11811 MenhirLib.EngineTypes.endp = _endpos_i_;
11812 MenhirLib.EngineTypes.next = {
11813 MenhirLib.EngineTypes.semv = x1;
11814 MenhirLib.EngineTypes.startp = _startpos_x1_;
11815 MenhirLib.EngineTypes.endp = _endpos_x1_;
11816 MenhirLib.EngineTypes.next = {
11817 MenhirLib.EngineTypes.state = _menhir_s;
11818 MenhirLib.EngineTypes.semv = x0;
11819 MenhirLib.EngineTypes.startp = _startpos_x0_;
11820 MenhirLib.EngineTypes.endp = _endpos_x0_;
11821 MenhirLib.EngineTypes.next = _menhir_stack;
11822 };
11823 };
11824 };
11825 };
11826 } = _menhir_stack in
11827 let pv : (
11828 # 130 "parser_cocci_menhir.mly"
11829 (Data.clt)
11830 # 11831 "parser_cocci_menhir.ml"
11831 ) = Obj.magic pv in
11832 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11833 let i : 'tv_pure_ident = Obj.magic i in
11834 let x1 : 'tv_const_vol = Obj.magic x1 in
11835 let x0 : 'tv_storage = Obj.magic x0 in
11836 let _startpos = _startpos_x0_ in
11837 let _endpos = _endpos_pv_ in
11838 let _v : 'tv_decl_var = let cv =
11839 let x = x1 in
11840
11841 # 41 "standard.mly"
11842 ( Some x )
11843 # 11844 "parser_cocci_menhir.ml"
11844
11845 in
11846 let s =
11847 let x = x0 in
11848
11849 # 41 "standard.mly"
11850 ( Some x )
11851 # 11852 "parser_cocci_menhir.ml"
11852
11853 in
11854
11855 # 1012 "parser_cocci_menhir.mly"
11856 ( List.map
11857 (function (id,fn) ->
11858 let idtype =
11859 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11860 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11861 d )
11862 # 11863 "parser_cocci_menhir.ml"
11863 in
11864 _menhir_env.MenhirLib.EngineTypes.stack <- {
11865 MenhirLib.EngineTypes.state = _menhir_s;
11866 MenhirLib.EngineTypes.semv = Obj.repr _v;
11867 MenhirLib.EngineTypes.startp = _startpos;
11868 MenhirLib.EngineTypes.endp = _endpos;
11869 MenhirLib.EngineTypes.next = _menhir_stack;
11870 });
11871 (fun _menhir_env ->
11872 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11873 let {
11874 MenhirLib.EngineTypes.semv = pv;
11875 MenhirLib.EngineTypes.startp = _startpos_pv_;
11876 MenhirLib.EngineTypes.endp = _endpos_pv_;
11877 MenhirLib.EngineTypes.next = {
11878 MenhirLib.EngineTypes.semv = e;
11879 MenhirLib.EngineTypes.startp = _startpos_e_;
11880 MenhirLib.EngineTypes.endp = _endpos_e_;
11881 MenhirLib.EngineTypes.next = {
11882 MenhirLib.EngineTypes.semv = q;
11883 MenhirLib.EngineTypes.startp = _startpos_q_;
11884 MenhirLib.EngineTypes.endp = _endpos_q_;
11885 MenhirLib.EngineTypes.next = {
11886 MenhirLib.EngineTypes.semv = d;
11887 MenhirLib.EngineTypes.startp = _startpos_d_;
11888 MenhirLib.EngineTypes.endp = _endpos_d_;
11889 MenhirLib.EngineTypes.next = {
11890 MenhirLib.EngineTypes.state = _menhir_s;
11891 MenhirLib.EngineTypes.semv = i;
11892 MenhirLib.EngineTypes.startp = _startpos_i_;
11893 MenhirLib.EngineTypes.endp = _endpos_i_;
11894 MenhirLib.EngineTypes.next = _menhir_stack;
11895 };
11896 };
11897 };
11898 };
11899 } = _menhir_stack in
11900 let pv : (
11901 # 130 "parser_cocci_menhir.mly"
11902 (Data.clt)
11903 # 11904 "parser_cocci_menhir.ml"
11904 ) = Obj.magic pv in
11905 let e : 'tv_initialize = Obj.magic e in
11906 let q : (
11907 # 130 "parser_cocci_menhir.mly"
11908 (Data.clt)
11909 # 11910 "parser_cocci_menhir.ml"
11910 ) = Obj.magic q in
11911 let d : 'tv_d_ident = Obj.magic d in
11912 let i : 'tv_pure_ident = Obj.magic i in
11913 let _startpos = _startpos_i_ in
11914 let _endpos = _endpos_pv_ in
11915 let _v : 'tv_decl_var = let cv =
11916
11917 # 39 "standard.mly"
11918 ( None )
11919 # 11920 "parser_cocci_menhir.ml"
11920
11921 in
11922 let s =
11923
11924 # 39 "standard.mly"
11925 ( None )
11926 # 11927 "parser_cocci_menhir.ml"
11927
11928 in
11929
11930 # 1020 "parser_cocci_menhir.mly"
11931 ( let (id,fn) = d in
11932 !Data.add_type_name (P.id2name i);
11933 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11934 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
11935 P.clt2mcode ";" pv))] )
11936 # 11937 "parser_cocci_menhir.ml"
11937 in
11938 _menhir_env.MenhirLib.EngineTypes.stack <- {
11939 MenhirLib.EngineTypes.state = _menhir_s;
11940 MenhirLib.EngineTypes.semv = Obj.repr _v;
11941 MenhirLib.EngineTypes.startp = _startpos;
11942 MenhirLib.EngineTypes.endp = _endpos;
11943 MenhirLib.EngineTypes.next = _menhir_stack;
11944 });
11945 (fun _menhir_env ->
11946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11947 let {
11948 MenhirLib.EngineTypes.semv = pv;
11949 MenhirLib.EngineTypes.startp = _startpos_pv_;
11950 MenhirLib.EngineTypes.endp = _endpos_pv_;
11951 MenhirLib.EngineTypes.next = {
11952 MenhirLib.EngineTypes.semv = e;
11953 MenhirLib.EngineTypes.startp = _startpos_e_;
11954 MenhirLib.EngineTypes.endp = _endpos_e_;
11955 MenhirLib.EngineTypes.next = {
11956 MenhirLib.EngineTypes.semv = q;
11957 MenhirLib.EngineTypes.startp = _startpos_q_;
11958 MenhirLib.EngineTypes.endp = _endpos_q_;
11959 MenhirLib.EngineTypes.next = {
11960 MenhirLib.EngineTypes.semv = d;
11961 MenhirLib.EngineTypes.startp = _startpos_d_;
11962 MenhirLib.EngineTypes.endp = _endpos_d_;
11963 MenhirLib.EngineTypes.next = {
11964 MenhirLib.EngineTypes.semv = i;
11965 MenhirLib.EngineTypes.startp = _startpos_i_;
11966 MenhirLib.EngineTypes.endp = _endpos_i_;
11967 MenhirLib.EngineTypes.next = {
11968 MenhirLib.EngineTypes.state = _menhir_s;
11969 MenhirLib.EngineTypes.semv = x0;
11970 MenhirLib.EngineTypes.startp = _startpos_x0_;
11971 MenhirLib.EngineTypes.endp = _endpos_x0_;
11972 MenhirLib.EngineTypes.next = _menhir_stack;
11973 };
11974 };
11975 };
11976 };
11977 };
11978 } = _menhir_stack in
11979 let pv : (
11980 # 130 "parser_cocci_menhir.mly"
11981 (Data.clt)
11982 # 11983 "parser_cocci_menhir.ml"
11983 ) = Obj.magic pv in
11984 let e : 'tv_initialize = Obj.magic e in
11985 let q : (
11986 # 130 "parser_cocci_menhir.mly"
11987 (Data.clt)
11988 # 11989 "parser_cocci_menhir.ml"
11989 ) = Obj.magic q in
11990 let d : 'tv_d_ident = Obj.magic d in
11991 let i : 'tv_pure_ident = Obj.magic i in
11992 let x0 : 'tv_const_vol = Obj.magic x0 in
11993 let _startpos = _startpos_x0_ in
11994 let _endpos = _endpos_pv_ in
11995 let _v : 'tv_decl_var = let cv =
11996 let x = x0 in
11997
11998 # 41 "standard.mly"
11999 ( Some x )
12000 # 12001 "parser_cocci_menhir.ml"
12001
12002 in
12003 let s =
12004
12005 # 39 "standard.mly"
12006 ( None )
12007 # 12008 "parser_cocci_menhir.ml"
12008
12009 in
12010
12011 # 1020 "parser_cocci_menhir.mly"
12012 ( let (id,fn) = d in
12013 !Data.add_type_name (P.id2name i);
12014 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12015 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12016 P.clt2mcode ";" pv))] )
12017 # 12018 "parser_cocci_menhir.ml"
12018 in
12019 _menhir_env.MenhirLib.EngineTypes.stack <- {
12020 MenhirLib.EngineTypes.state = _menhir_s;
12021 MenhirLib.EngineTypes.semv = Obj.repr _v;
12022 MenhirLib.EngineTypes.startp = _startpos;
12023 MenhirLib.EngineTypes.endp = _endpos;
12024 MenhirLib.EngineTypes.next = _menhir_stack;
12025 });
12026 (fun _menhir_env ->
12027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12028 let {
12029 MenhirLib.EngineTypes.semv = pv;
12030 MenhirLib.EngineTypes.startp = _startpos_pv_;
12031 MenhirLib.EngineTypes.endp = _endpos_pv_;
12032 MenhirLib.EngineTypes.next = {
12033 MenhirLib.EngineTypes.semv = e;
12034 MenhirLib.EngineTypes.startp = _startpos_e_;
12035 MenhirLib.EngineTypes.endp = _endpos_e_;
12036 MenhirLib.EngineTypes.next = {
12037 MenhirLib.EngineTypes.semv = q;
12038 MenhirLib.EngineTypes.startp = _startpos_q_;
12039 MenhirLib.EngineTypes.endp = _endpos_q_;
12040 MenhirLib.EngineTypes.next = {
12041 MenhirLib.EngineTypes.semv = d;
12042 MenhirLib.EngineTypes.startp = _startpos_d_;
12043 MenhirLib.EngineTypes.endp = _endpos_d_;
12044 MenhirLib.EngineTypes.next = {
12045 MenhirLib.EngineTypes.semv = i;
12046 MenhirLib.EngineTypes.startp = _startpos_i_;
12047 MenhirLib.EngineTypes.endp = _endpos_i_;
12048 MenhirLib.EngineTypes.next = {
12049 MenhirLib.EngineTypes.state = _menhir_s;
12050 MenhirLib.EngineTypes.semv = x0;
12051 MenhirLib.EngineTypes.startp = _startpos_x0_;
12052 MenhirLib.EngineTypes.endp = _endpos_x0_;
12053 MenhirLib.EngineTypes.next = _menhir_stack;
12054 };
12055 };
12056 };
12057 };
12058 };
12059 } = _menhir_stack in
12060 let pv : (
12061 # 130 "parser_cocci_menhir.mly"
12062 (Data.clt)
12063 # 12064 "parser_cocci_menhir.ml"
12064 ) = Obj.magic pv in
12065 let e : 'tv_initialize = Obj.magic e in
12066 let q : (
12067 # 130 "parser_cocci_menhir.mly"
12068 (Data.clt)
12069 # 12070 "parser_cocci_menhir.ml"
12070 ) = Obj.magic q in
12071 let d : 'tv_d_ident = Obj.magic d in
12072 let i : 'tv_pure_ident = Obj.magic i in
12073 let x0 : 'tv_storage = Obj.magic x0 in
12074 let _startpos = _startpos_x0_ in
12075 let _endpos = _endpos_pv_ in
12076 let _v : 'tv_decl_var = let cv =
12077
12078 # 39 "standard.mly"
12079 ( None )
12080 # 12081 "parser_cocci_menhir.ml"
12081
12082 in
12083 let s =
12084 let x = x0 in
12085
12086 # 41 "standard.mly"
12087 ( Some x )
12088 # 12089 "parser_cocci_menhir.ml"
12089
12090 in
12091
12092 # 1020 "parser_cocci_menhir.mly"
12093 ( let (id,fn) = d in
12094 !Data.add_type_name (P.id2name i);
12095 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12096 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12097 P.clt2mcode ";" pv))] )
12098 # 12099 "parser_cocci_menhir.ml"
12099 in
12100 _menhir_env.MenhirLib.EngineTypes.stack <- {
12101 MenhirLib.EngineTypes.state = _menhir_s;
12102 MenhirLib.EngineTypes.semv = Obj.repr _v;
12103 MenhirLib.EngineTypes.startp = _startpos;
12104 MenhirLib.EngineTypes.endp = _endpos;
12105 MenhirLib.EngineTypes.next = _menhir_stack;
12106 });
12107 (fun _menhir_env ->
12108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12109 let {
12110 MenhirLib.EngineTypes.semv = pv;
12111 MenhirLib.EngineTypes.startp = _startpos_pv_;
12112 MenhirLib.EngineTypes.endp = _endpos_pv_;
12113 MenhirLib.EngineTypes.next = {
12114 MenhirLib.EngineTypes.semv = e;
12115 MenhirLib.EngineTypes.startp = _startpos_e_;
12116 MenhirLib.EngineTypes.endp = _endpos_e_;
12117 MenhirLib.EngineTypes.next = {
12118 MenhirLib.EngineTypes.semv = q;
12119 MenhirLib.EngineTypes.startp = _startpos_q_;
12120 MenhirLib.EngineTypes.endp = _endpos_q_;
12121 MenhirLib.EngineTypes.next = {
12122 MenhirLib.EngineTypes.semv = d;
12123 MenhirLib.EngineTypes.startp = _startpos_d_;
12124 MenhirLib.EngineTypes.endp = _endpos_d_;
12125 MenhirLib.EngineTypes.next = {
12126 MenhirLib.EngineTypes.semv = i;
12127 MenhirLib.EngineTypes.startp = _startpos_i_;
12128 MenhirLib.EngineTypes.endp = _endpos_i_;
12129 MenhirLib.EngineTypes.next = {
12130 MenhirLib.EngineTypes.semv = x1;
12131 MenhirLib.EngineTypes.startp = _startpos_x1_;
12132 MenhirLib.EngineTypes.endp = _endpos_x1_;
12133 MenhirLib.EngineTypes.next = {
12134 MenhirLib.EngineTypes.state = _menhir_s;
12135 MenhirLib.EngineTypes.semv = x0;
12136 MenhirLib.EngineTypes.startp = _startpos_x0_;
12137 MenhirLib.EngineTypes.endp = _endpos_x0_;
12138 MenhirLib.EngineTypes.next = _menhir_stack;
12139 };
12140 };
12141 };
12142 };
12143 };
12144 };
12145 } = _menhir_stack in
12146 let pv : (
12147 # 130 "parser_cocci_menhir.mly"
12148 (Data.clt)
12149 # 12150 "parser_cocci_menhir.ml"
12150 ) = Obj.magic pv in
12151 let e : 'tv_initialize = Obj.magic e in
12152 let q : (
12153 # 130 "parser_cocci_menhir.mly"
12154 (Data.clt)
12155 # 12156 "parser_cocci_menhir.ml"
12156 ) = Obj.magic q in
12157 let d : 'tv_d_ident = Obj.magic d in
12158 let i : 'tv_pure_ident = Obj.magic i in
12159 let x1 : 'tv_const_vol = Obj.magic x1 in
12160 let x0 : 'tv_storage = Obj.magic x0 in
12161 let _startpos = _startpos_x0_ in
12162 let _endpos = _endpos_pv_ in
12163 let _v : 'tv_decl_var = let cv =
12164 let x = x1 in
12165
12166 # 41 "standard.mly"
12167 ( Some x )
12168 # 12169 "parser_cocci_menhir.ml"
12169
12170 in
12171 let s =
12172 let x = x0 in
12173
12174 # 41 "standard.mly"
12175 ( Some x )
12176 # 12177 "parser_cocci_menhir.ml"
12177
12178 in
12179
12180 # 1020 "parser_cocci_menhir.mly"
12181 ( let (id,fn) = d in
12182 !Data.add_type_name (P.id2name i);
12183 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12184 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12185 P.clt2mcode ";" pv))] )
12186 # 12187 "parser_cocci_menhir.ml"
12187 in
12188 _menhir_env.MenhirLib.EngineTypes.stack <- {
12189 MenhirLib.EngineTypes.state = _menhir_s;
12190 MenhirLib.EngineTypes.semv = Obj.repr _v;
12191 MenhirLib.EngineTypes.startp = _startpos;
12192 MenhirLib.EngineTypes.endp = _endpos;
12193 MenhirLib.EngineTypes.next = _menhir_stack;
12194 });
12195 (fun _menhir_env ->
12196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12197 let {
12198 MenhirLib.EngineTypes.semv = pv;
12199 MenhirLib.EngineTypes.startp = _startpos_pv_;
12200 MenhirLib.EngineTypes.endp = _endpos_pv_;
12201 MenhirLib.EngineTypes.next = {
12202 MenhirLib.EngineTypes.semv = rp2;
12203 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12204 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12205 MenhirLib.EngineTypes.next = {
12206 MenhirLib.EngineTypes.semv = p;
12207 MenhirLib.EngineTypes.startp = _startpos_p_;
12208 MenhirLib.EngineTypes.endp = _endpos_p_;
12209 MenhirLib.EngineTypes.next = {
12210 MenhirLib.EngineTypes.semv = lp2;
12211 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12212 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12213 MenhirLib.EngineTypes.next = {
12214 MenhirLib.EngineTypes.semv = rp1;
12215 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12216 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12217 MenhirLib.EngineTypes.next = {
12218 MenhirLib.EngineTypes.semv = d;
12219 MenhirLib.EngineTypes.startp = _startpos_d_;
12220 MenhirLib.EngineTypes.endp = _endpos_d_;
12221 MenhirLib.EngineTypes.next = {
12222 MenhirLib.EngineTypes.semv = st;
12223 MenhirLib.EngineTypes.startp = _startpos_st_;
12224 MenhirLib.EngineTypes.endp = _endpos_st_;
12225 MenhirLib.EngineTypes.next = {
12226 MenhirLib.EngineTypes.semv = lp1;
12227 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12228 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12229 MenhirLib.EngineTypes.next = {
12230 MenhirLib.EngineTypes.state = _menhir_s;
12231 MenhirLib.EngineTypes.semv = t;
12232 MenhirLib.EngineTypes.startp = _startpos_t_;
12233 MenhirLib.EngineTypes.endp = _endpos_t_;
12234 MenhirLib.EngineTypes.next = _menhir_stack;
12235 };
12236 };
12237 };
12238 };
12239 };
12240 };
12241 };
12242 };
12243 } = _menhir_stack in
12244 let pv : (
12245 # 130 "parser_cocci_menhir.mly"
12246 (Data.clt)
12247 # 12248 "parser_cocci_menhir.ml"
12248 ) = Obj.magic pv in
12249 let rp2 : (
12250 # 100 "parser_cocci_menhir.mly"
12251 (Data.clt)
12252 # 12253 "parser_cocci_menhir.ml"
12253 ) = Obj.magic rp2 in
12254 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12255 let lp2 : (
12256 # 99 "parser_cocci_menhir.mly"
12257 (Data.clt)
12258 # 12259 "parser_cocci_menhir.ml"
12259 ) = Obj.magic lp2 in
12260 let rp1 : (
12261 # 100 "parser_cocci_menhir.mly"
12262 (Data.clt)
12263 # 12264 "parser_cocci_menhir.ml"
12264 ) = Obj.magic rp1 in
12265 let d : 'tv_d_ident = Obj.magic d in
12266 let st : (
12267 # 122 "parser_cocci_menhir.mly"
12268 (Data.clt)
12269 # 12270 "parser_cocci_menhir.ml"
12270 ) = Obj.magic st in
12271 let lp1 : (
12272 # 99 "parser_cocci_menhir.mly"
12273 (Data.clt)
12274 # 12275 "parser_cocci_menhir.ml"
12275 ) = Obj.magic lp1 in
12276 let t : 'tv_ctype = Obj.magic t in
12277 let _startpos = _startpos_t_ in
12278 let _endpos = _endpos_pv_ in
12279 let _v : 'tv_decl_var = let s =
12280
12281 # 39 "standard.mly"
12282 ( None )
12283 # 12284 "parser_cocci_menhir.ml"
12284
12285 in
12286
12287 # 1030 "parser_cocci_menhir.mly"
12288 ( let (id,fn) = d in
12289 let t =
12290 Ast0.wrap
12291 (Ast0.FunctionPointer
12292 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12293 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12294 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12295 # 12296 "parser_cocci_menhir.ml"
12296 in
12297 _menhir_env.MenhirLib.EngineTypes.stack <- {
12298 MenhirLib.EngineTypes.state = _menhir_s;
12299 MenhirLib.EngineTypes.semv = Obj.repr _v;
12300 MenhirLib.EngineTypes.startp = _startpos;
12301 MenhirLib.EngineTypes.endp = _endpos;
12302 MenhirLib.EngineTypes.next = _menhir_stack;
12303 });
12304 (fun _menhir_env ->
12305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12306 let {
12307 MenhirLib.EngineTypes.semv = pv;
12308 MenhirLib.EngineTypes.startp = _startpos_pv_;
12309 MenhirLib.EngineTypes.endp = _endpos_pv_;
12310 MenhirLib.EngineTypes.next = {
12311 MenhirLib.EngineTypes.semv = rp2;
12312 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12313 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12314 MenhirLib.EngineTypes.next = {
12315 MenhirLib.EngineTypes.semv = p;
12316 MenhirLib.EngineTypes.startp = _startpos_p_;
12317 MenhirLib.EngineTypes.endp = _endpos_p_;
12318 MenhirLib.EngineTypes.next = {
12319 MenhirLib.EngineTypes.semv = lp2;
12320 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12321 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12322 MenhirLib.EngineTypes.next = {
12323 MenhirLib.EngineTypes.semv = rp1;
12324 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12325 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12326 MenhirLib.EngineTypes.next = {
12327 MenhirLib.EngineTypes.semv = d;
12328 MenhirLib.EngineTypes.startp = _startpos_d_;
12329 MenhirLib.EngineTypes.endp = _endpos_d_;
12330 MenhirLib.EngineTypes.next = {
12331 MenhirLib.EngineTypes.semv = st;
12332 MenhirLib.EngineTypes.startp = _startpos_st_;
12333 MenhirLib.EngineTypes.endp = _endpos_st_;
12334 MenhirLib.EngineTypes.next = {
12335 MenhirLib.EngineTypes.semv = lp1;
12336 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12337 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12338 MenhirLib.EngineTypes.next = {
12339 MenhirLib.EngineTypes.semv = t;
12340 MenhirLib.EngineTypes.startp = _startpos_t_;
12341 MenhirLib.EngineTypes.endp = _endpos_t_;
12342 MenhirLib.EngineTypes.next = {
12343 MenhirLib.EngineTypes.state = _menhir_s;
12344 MenhirLib.EngineTypes.semv = x0;
12345 MenhirLib.EngineTypes.startp = _startpos_x0_;
12346 MenhirLib.EngineTypes.endp = _endpos_x0_;
12347 MenhirLib.EngineTypes.next = _menhir_stack;
12348 };
12349 };
12350 };
12351 };
12352 };
12353 };
12354 };
12355 };
12356 };
12357 } = _menhir_stack in
12358 let pv : (
12359 # 130 "parser_cocci_menhir.mly"
12360 (Data.clt)
12361 # 12362 "parser_cocci_menhir.ml"
12362 ) = Obj.magic pv in
12363 let rp2 : (
12364 # 100 "parser_cocci_menhir.mly"
12365 (Data.clt)
12366 # 12367 "parser_cocci_menhir.ml"
12367 ) = Obj.magic rp2 in
12368 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12369 let lp2 : (
12370 # 99 "parser_cocci_menhir.mly"
12371 (Data.clt)
12372 # 12373 "parser_cocci_menhir.ml"
12373 ) = Obj.magic lp2 in
12374 let rp1 : (
12375 # 100 "parser_cocci_menhir.mly"
12376 (Data.clt)
12377 # 12378 "parser_cocci_menhir.ml"
12378 ) = Obj.magic rp1 in
12379 let d : 'tv_d_ident = Obj.magic d in
12380 let st : (
12381 # 122 "parser_cocci_menhir.mly"
12382 (Data.clt)
12383 # 12384 "parser_cocci_menhir.ml"
12384 ) = Obj.magic st in
12385 let lp1 : (
12386 # 99 "parser_cocci_menhir.mly"
12387 (Data.clt)
12388 # 12389 "parser_cocci_menhir.ml"
12389 ) = Obj.magic lp1 in
12390 let t : 'tv_ctype = Obj.magic t in
12391 let x0 : 'tv_storage = Obj.magic x0 in
12392 let _startpos = _startpos_x0_ in
12393 let _endpos = _endpos_pv_ in
12394 let _v : 'tv_decl_var = let s =
12395 let x = x0 in
12396
12397 # 41 "standard.mly"
12398 ( Some x )
12399 # 12400 "parser_cocci_menhir.ml"
12400
12401 in
12402
12403 # 1030 "parser_cocci_menhir.mly"
12404 ( let (id,fn) = d in
12405 let t =
12406 Ast0.wrap
12407 (Ast0.FunctionPointer
12408 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12409 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12410 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12411 # 12412 "parser_cocci_menhir.ml"
12412 in
12413 _menhir_env.MenhirLib.EngineTypes.stack <- {
12414 MenhirLib.EngineTypes.state = _menhir_s;
12415 MenhirLib.EngineTypes.semv = Obj.repr _v;
12416 MenhirLib.EngineTypes.startp = _startpos;
12417 MenhirLib.EngineTypes.endp = _endpos;
12418 MenhirLib.EngineTypes.next = _menhir_stack;
12419 });
12420 (fun _menhir_env ->
12421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12422 let {
12423 MenhirLib.EngineTypes.semv = _5;
12424 MenhirLib.EngineTypes.startp = _startpos__5_;
12425 MenhirLib.EngineTypes.endp = _endpos__5_;
12426 MenhirLib.EngineTypes.next = {
12427 MenhirLib.EngineTypes.semv = _4;
12428 MenhirLib.EngineTypes.startp = _startpos__4_;
12429 MenhirLib.EngineTypes.endp = _endpos__4_;
12430 MenhirLib.EngineTypes.next = {
12431 MenhirLib.EngineTypes.semv = _3;
12432 MenhirLib.EngineTypes.startp = _startpos__3_;
12433 MenhirLib.EngineTypes.endp = _endpos__3_;
12434 MenhirLib.EngineTypes.next = {
12435 MenhirLib.EngineTypes.semv = _2;
12436 MenhirLib.EngineTypes.startp = _startpos__2_;
12437 MenhirLib.EngineTypes.endp = _endpos__2_;
12438 MenhirLib.EngineTypes.next = {
12439 MenhirLib.EngineTypes.state = _menhir_s;
12440 MenhirLib.EngineTypes.semv = _1;
12441 MenhirLib.EngineTypes.startp = _startpos__1_;
12442 MenhirLib.EngineTypes.endp = _endpos__1_;
12443 MenhirLib.EngineTypes.next = _menhir_stack;
12444 };
12445 };
12446 };
12447 };
12448 } = _menhir_stack in
12449 let _5 : (
12450 # 130 "parser_cocci_menhir.mly"
12451 (Data.clt)
12452 # 12453 "parser_cocci_menhir.ml"
12453 ) = Obj.magic _5 in
12454 let _4 : (
12455 # 100 "parser_cocci_menhir.mly"
12456 (Data.clt)
12457 # 12458 "parser_cocci_menhir.ml"
12458 ) = Obj.magic _4 in
12459 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
12460 let _2 : (
12461 # 99 "parser_cocci_menhir.mly"
12462 (Data.clt)
12463 # 12464 "parser_cocci_menhir.ml"
12464 ) = Obj.magic _2 in
12465 let _1 : 'tv_decl_ident = Obj.magic _1 in
12466 let _startpos = _startpos__1_ in
12467 let _endpos = _endpos__5_ in
12468 let _v : 'tv_decl_var =
12469 # 1038 "parser_cocci_menhir.mly"
12470 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
12471 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
12472 # 12473 "parser_cocci_menhir.ml"
12473 in
12474 _menhir_env.MenhirLib.EngineTypes.stack <- {
12475 MenhirLib.EngineTypes.state = _menhir_s;
12476 MenhirLib.EngineTypes.semv = Obj.repr _v;
12477 MenhirLib.EngineTypes.startp = _startpos;
12478 MenhirLib.EngineTypes.endp = _endpos;
12479 MenhirLib.EngineTypes.next = _menhir_stack;
12480 });
12481 (fun _menhir_env ->
12482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12483 let {
12484 MenhirLib.EngineTypes.semv = pv;
12485 MenhirLib.EngineTypes.startp = _startpos_pv_;
12486 MenhirLib.EngineTypes.endp = _endpos_pv_;
12487 MenhirLib.EngineTypes.next = {
12488 MenhirLib.EngineTypes.semv = e;
12489 MenhirLib.EngineTypes.startp = _startpos_e_;
12490 MenhirLib.EngineTypes.endp = _endpos_e_;
12491 MenhirLib.EngineTypes.next = {
12492 MenhirLib.EngineTypes.semv = q;
12493 MenhirLib.EngineTypes.startp = _startpos_q_;
12494 MenhirLib.EngineTypes.endp = _endpos_q_;
12495 MenhirLib.EngineTypes.next = {
12496 MenhirLib.EngineTypes.semv = rp2;
12497 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12498 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12499 MenhirLib.EngineTypes.next = {
12500 MenhirLib.EngineTypes.semv = p;
12501 MenhirLib.EngineTypes.startp = _startpos_p_;
12502 MenhirLib.EngineTypes.endp = _endpos_p_;
12503 MenhirLib.EngineTypes.next = {
12504 MenhirLib.EngineTypes.semv = lp2;
12505 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12506 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12507 MenhirLib.EngineTypes.next = {
12508 MenhirLib.EngineTypes.semv = rp1;
12509 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12510 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12511 MenhirLib.EngineTypes.next = {
12512 MenhirLib.EngineTypes.semv = d;
12513 MenhirLib.EngineTypes.startp = _startpos_d_;
12514 MenhirLib.EngineTypes.endp = _endpos_d_;
12515 MenhirLib.EngineTypes.next = {
12516 MenhirLib.EngineTypes.semv = st;
12517 MenhirLib.EngineTypes.startp = _startpos_st_;
12518 MenhirLib.EngineTypes.endp = _endpos_st_;
12519 MenhirLib.EngineTypes.next = {
12520 MenhirLib.EngineTypes.semv = lp1;
12521 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12522 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12523 MenhirLib.EngineTypes.next = {
12524 MenhirLib.EngineTypes.state = _menhir_s;
12525 MenhirLib.EngineTypes.semv = t;
12526 MenhirLib.EngineTypes.startp = _startpos_t_;
12527 MenhirLib.EngineTypes.endp = _endpos_t_;
12528 MenhirLib.EngineTypes.next = _menhir_stack;
12529 };
12530 };
12531 };
12532 };
12533 };
12534 };
12535 };
12536 };
12537 };
12538 };
12539 } = _menhir_stack in
12540 let pv : (
12541 # 130 "parser_cocci_menhir.mly"
12542 (Data.clt)
12543 # 12544 "parser_cocci_menhir.ml"
12544 ) = Obj.magic pv in
12545 let e : 'tv_initialize = Obj.magic e in
12546 let q : (
12547 # 130 "parser_cocci_menhir.mly"
12548 (Data.clt)
12549 # 12550 "parser_cocci_menhir.ml"
12550 ) = Obj.magic q in
12551 let rp2 : (
12552 # 100 "parser_cocci_menhir.mly"
12553 (Data.clt)
12554 # 12555 "parser_cocci_menhir.ml"
12555 ) = Obj.magic rp2 in
12556 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12557 let lp2 : (
12558 # 99 "parser_cocci_menhir.mly"
12559 (Data.clt)
12560 # 12561 "parser_cocci_menhir.ml"
12561 ) = Obj.magic lp2 in
12562 let rp1 : (
12563 # 100 "parser_cocci_menhir.mly"
12564 (Data.clt)
12565 # 12566 "parser_cocci_menhir.ml"
12566 ) = Obj.magic rp1 in
12567 let d : 'tv_d_ident = Obj.magic d in
12568 let st : (
12569 # 122 "parser_cocci_menhir.mly"
12570 (Data.clt)
12571 # 12572 "parser_cocci_menhir.ml"
12572 ) = Obj.magic st in
12573 let lp1 : (
12574 # 99 "parser_cocci_menhir.mly"
12575 (Data.clt)
12576 # 12577 "parser_cocci_menhir.ml"
12577 ) = Obj.magic lp1 in
12578 let t : 'tv_ctype = Obj.magic t in
12579 let _startpos = _startpos_t_ in
12580 let _endpos = _endpos_pv_ in
12581 let _v : 'tv_decl_var = let s =
12582
12583 # 39 "standard.mly"
12584 ( None )
12585 # 12586 "parser_cocci_menhir.ml"
12586
12587 in
12588
12589 # 1044 "parser_cocci_menhir.mly"
12590 ( let (id,fn) = d in
12591 let t =
12592 Ast0.wrap
12593 (Ast0.FunctionPointer
12594 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12595 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12596 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12597 # 12598 "parser_cocci_menhir.ml"
12598 in
12599 _menhir_env.MenhirLib.EngineTypes.stack <- {
12600 MenhirLib.EngineTypes.state = _menhir_s;
12601 MenhirLib.EngineTypes.semv = Obj.repr _v;
12602 MenhirLib.EngineTypes.startp = _startpos;
12603 MenhirLib.EngineTypes.endp = _endpos;
12604 MenhirLib.EngineTypes.next = _menhir_stack;
12605 });
12606 (fun _menhir_env ->
12607 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12608 let {
12609 MenhirLib.EngineTypes.semv = pv;
12610 MenhirLib.EngineTypes.startp = _startpos_pv_;
12611 MenhirLib.EngineTypes.endp = _endpos_pv_;
12612 MenhirLib.EngineTypes.next = {
12613 MenhirLib.EngineTypes.semv = e;
12614 MenhirLib.EngineTypes.startp = _startpos_e_;
12615 MenhirLib.EngineTypes.endp = _endpos_e_;
12616 MenhirLib.EngineTypes.next = {
12617 MenhirLib.EngineTypes.semv = q;
12618 MenhirLib.EngineTypes.startp = _startpos_q_;
12619 MenhirLib.EngineTypes.endp = _endpos_q_;
12620 MenhirLib.EngineTypes.next = {
12621 MenhirLib.EngineTypes.semv = rp2;
12622 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12623 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12624 MenhirLib.EngineTypes.next = {
12625 MenhirLib.EngineTypes.semv = p;
12626 MenhirLib.EngineTypes.startp = _startpos_p_;
12627 MenhirLib.EngineTypes.endp = _endpos_p_;
12628 MenhirLib.EngineTypes.next = {
12629 MenhirLib.EngineTypes.semv = lp2;
12630 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12631 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12632 MenhirLib.EngineTypes.next = {
12633 MenhirLib.EngineTypes.semv = rp1;
12634 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12635 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12636 MenhirLib.EngineTypes.next = {
12637 MenhirLib.EngineTypes.semv = d;
12638 MenhirLib.EngineTypes.startp = _startpos_d_;
12639 MenhirLib.EngineTypes.endp = _endpos_d_;
12640 MenhirLib.EngineTypes.next = {
12641 MenhirLib.EngineTypes.semv = st;
12642 MenhirLib.EngineTypes.startp = _startpos_st_;
12643 MenhirLib.EngineTypes.endp = _endpos_st_;
12644 MenhirLib.EngineTypes.next = {
12645 MenhirLib.EngineTypes.semv = lp1;
12646 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12647 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12648 MenhirLib.EngineTypes.next = {
12649 MenhirLib.EngineTypes.semv = t;
12650 MenhirLib.EngineTypes.startp = _startpos_t_;
12651 MenhirLib.EngineTypes.endp = _endpos_t_;
12652 MenhirLib.EngineTypes.next = {
12653 MenhirLib.EngineTypes.state = _menhir_s;
12654 MenhirLib.EngineTypes.semv = x0;
12655 MenhirLib.EngineTypes.startp = _startpos_x0_;
12656 MenhirLib.EngineTypes.endp = _endpos_x0_;
12657 MenhirLib.EngineTypes.next = _menhir_stack;
12658 };
12659 };
12660 };
12661 };
12662 };
12663 };
12664 };
12665 };
12666 };
12667 };
12668 };
12669 } = _menhir_stack in
12670 let pv : (
12671 # 130 "parser_cocci_menhir.mly"
12672 (Data.clt)
12673 # 12674 "parser_cocci_menhir.ml"
12674 ) = Obj.magic pv in
12675 let e : 'tv_initialize = Obj.magic e in
12676 let q : (
12677 # 130 "parser_cocci_menhir.mly"
12678 (Data.clt)
12679 # 12680 "parser_cocci_menhir.ml"
12680 ) = Obj.magic q in
12681 let rp2 : (
12682 # 100 "parser_cocci_menhir.mly"
12683 (Data.clt)
12684 # 12685 "parser_cocci_menhir.ml"
12685 ) = Obj.magic rp2 in
12686 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12687 let lp2 : (
12688 # 99 "parser_cocci_menhir.mly"
12689 (Data.clt)
12690 # 12691 "parser_cocci_menhir.ml"
12691 ) = Obj.magic lp2 in
12692 let rp1 : (
12693 # 100 "parser_cocci_menhir.mly"
12694 (Data.clt)
12695 # 12696 "parser_cocci_menhir.ml"
12696 ) = Obj.magic rp1 in
12697 let d : 'tv_d_ident = Obj.magic d in
12698 let st : (
12699 # 122 "parser_cocci_menhir.mly"
12700 (Data.clt)
12701 # 12702 "parser_cocci_menhir.ml"
12702 ) = Obj.magic st in
12703 let lp1 : (
12704 # 99 "parser_cocci_menhir.mly"
12705 (Data.clt)
12706 # 12707 "parser_cocci_menhir.ml"
12707 ) = Obj.magic lp1 in
12708 let t : 'tv_ctype = Obj.magic t in
12709 let x0 : 'tv_storage = Obj.magic x0 in
12710 let _startpos = _startpos_x0_ in
12711 let _endpos = _endpos_pv_ in
12712 let _v : 'tv_decl_var = let s =
12713 let x = x0 in
12714
12715 # 41 "standard.mly"
12716 ( Some x )
12717 # 12718 "parser_cocci_menhir.ml"
12718
12719 in
12720
12721 # 1044 "parser_cocci_menhir.mly"
12722 ( let (id,fn) = d in
12723 let t =
12724 Ast0.wrap
12725 (Ast0.FunctionPointer
12726 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12727 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12728 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12729 # 12730 "parser_cocci_menhir.ml"
12730 in
12731 _menhir_env.MenhirLib.EngineTypes.stack <- {
12732 MenhirLib.EngineTypes.state = _menhir_s;
12733 MenhirLib.EngineTypes.semv = Obj.repr _v;
12734 MenhirLib.EngineTypes.startp = _startpos;
12735 MenhirLib.EngineTypes.endp = _endpos;
12736 MenhirLib.EngineTypes.next = _menhir_stack;
12737 });
12738 (fun _menhir_env ->
12739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12740 let {
12741 MenhirLib.EngineTypes.semv = pv;
12742 MenhirLib.EngineTypes.startp = _startpos_pv_;
12743 MenhirLib.EngineTypes.endp = _endpos_pv_;
12744 MenhirLib.EngineTypes.next = {
12745 MenhirLib.EngineTypes.semv = id;
12746 MenhirLib.EngineTypes.startp = _startpos_id_;
12747 MenhirLib.EngineTypes.endp = _endpos_id_;
12748 MenhirLib.EngineTypes.next = {
12749 MenhirLib.EngineTypes.semv = t;
12750 MenhirLib.EngineTypes.startp = _startpos_t_;
12751 MenhirLib.EngineTypes.endp = _endpos_t_;
12752 MenhirLib.EngineTypes.next = {
12753 MenhirLib.EngineTypes.state = _menhir_s;
12754 MenhirLib.EngineTypes.semv = s;
12755 MenhirLib.EngineTypes.startp = _startpos_s_;
12756 MenhirLib.EngineTypes.endp = _endpos_s_;
12757 MenhirLib.EngineTypes.next = _menhir_stack;
12758 };
12759 };
12760 };
12761 } = _menhir_stack in
12762 let pv : (
12763 # 130 "parser_cocci_menhir.mly"
12764 (Data.clt)
12765 # 12766 "parser_cocci_menhir.ml"
12766 ) = Obj.magic pv in
12767 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
12768 let t : 'tv_typedef_ctype = Obj.magic t in
12769 let s : (
12770 # 75 "parser_cocci_menhir.mly"
12771 (Data.clt)
12772 # 12773 "parser_cocci_menhir.ml"
12773 ) = Obj.magic s in
12774 let _startpos = _startpos_s_ in
12775 let _endpos = _endpos_pv_ in
12776 let _v : 'tv_decl_var =
12777 # 1052 "parser_cocci_menhir.mly"
12778 ( let s = P.clt2mcode "typedef" s in
12779 List.map
12780 (function id ->
12781 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
12782 id )
12783 # 12784 "parser_cocci_menhir.ml"
12784 in
12785 _menhir_env.MenhirLib.EngineTypes.stack <- {
12786 MenhirLib.EngineTypes.state = _menhir_s;
12787 MenhirLib.EngineTypes.semv = Obj.repr _v;
12788 MenhirLib.EngineTypes.startp = _startpos;
12789 MenhirLib.EngineTypes.endp = _endpos;
12790 MenhirLib.EngineTypes.next = _menhir_stack;
12791 });
12792 (fun _menhir_env ->
12793 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12794 let {
12795 MenhirLib.EngineTypes.state = _menhir_s;
12796 MenhirLib.EngineTypes.semv = _1;
12797 MenhirLib.EngineTypes.startp = _startpos__1_;
12798 MenhirLib.EngineTypes.endp = _endpos__1_;
12799 MenhirLib.EngineTypes.next = _menhir_stack;
12800 } = _menhir_stack in
12801 let _1 : 'tv_define_param_list_start = Obj.magic _1 in
12802 let _startpos = _startpos__1_ in
12803 let _endpos = _endpos__1_ in
12804 let _v : 'tv_define_param_list =
12805 # 769 "parser_cocci_menhir.mly"
12806 (let circle x =
12807 match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
12808 if List.exists circle _1
12809 then Ast0.wrap(Ast0.CIRCLES(_1))
12810 else Ast0.wrap(Ast0.DOTS(_1)) )
12811 # 12812 "parser_cocci_menhir.ml"
12812 in
12813 _menhir_env.MenhirLib.EngineTypes.stack <- {
12814 MenhirLib.EngineTypes.state = _menhir_s;
12815 MenhirLib.EngineTypes.semv = Obj.repr _v;
12816 MenhirLib.EngineTypes.startp = _startpos;
12817 MenhirLib.EngineTypes.endp = _endpos;
12818 MenhirLib.EngineTypes.next = _menhir_stack;
12819 });
12820 (fun _menhir_env ->
12821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12822 let {
12823 MenhirLib.EngineTypes.state = _menhir_s;
12824 MenhirLib.EngineTypes.semv = _1;
12825 MenhirLib.EngineTypes.startp = _startpos__1_;
12826 MenhirLib.EngineTypes.endp = _endpos__1_;
12827 MenhirLib.EngineTypes.next = _menhir_stack;
12828 } = _menhir_stack in
12829 let _1 : 'tv_define_param_list = Obj.magic _1 in
12830 let _startpos = _startpos__1_ in
12831 let _endpos = _endpos__1_ in
12832 let _v : 'tv_define_param_list_option =
12833 # 793 "parser_cocci_menhir.mly"
12834 ( _1 )
12835 # 12836 "parser_cocci_menhir.ml"
12836 in
12837 _menhir_env.MenhirLib.EngineTypes.stack <- {
12838 MenhirLib.EngineTypes.state = _menhir_s;
12839 MenhirLib.EngineTypes.semv = Obj.repr _v;
12840 MenhirLib.EngineTypes.startp = _startpos;
12841 MenhirLib.EngineTypes.endp = _endpos;
12842 MenhirLib.EngineTypes.next = _menhir_stack;
12843 });
12844 (fun _menhir_env ->
12845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12846 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
12847 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
12848 let _endpos = _startpos in
12849 let _v : 'tv_define_param_list_option =
12850 # 794 "parser_cocci_menhir.mly"
12851 ( Ast0.wrap(Ast0.DOTS([])) )
12852 # 12853 "parser_cocci_menhir.ml"
12853 in
12854 _menhir_env.MenhirLib.EngineTypes.stack <- {
12855 MenhirLib.EngineTypes.state = _menhir_s;
12856 MenhirLib.EngineTypes.semv = Obj.repr _v;
12857 MenhirLib.EngineTypes.startp = _startpos;
12858 MenhirLib.EngineTypes.endp = _endpos;
12859 MenhirLib.EngineTypes.next = _menhir_stack;
12860 });
12861 (fun _menhir_env ->
12862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12863 let {
12864 MenhirLib.EngineTypes.state = _menhir_s;
12865 MenhirLib.EngineTypes.semv = _1;
12866 MenhirLib.EngineTypes.startp = _startpos__1_;
12867 MenhirLib.EngineTypes.endp = _endpos__1_;
12868 MenhirLib.EngineTypes.next = _menhir_stack;
12869 } = _menhir_stack in
12870 let _1 : 'tv_ident = Obj.magic _1 in
12871 let _startpos = _startpos__1_ in
12872 let _endpos = _endpos__1_ in
12873 let _v : 'tv_define_param_list_start =
12874 # 776 "parser_cocci_menhir.mly"
12875 ( [Ast0.wrap(Ast0.DParam _1)] )
12876 # 12877 "parser_cocci_menhir.ml"
12877 in
12878 _menhir_env.MenhirLib.EngineTypes.stack <- {
12879 MenhirLib.EngineTypes.state = _menhir_s;
12880 MenhirLib.EngineTypes.semv = Obj.repr _v;
12881 MenhirLib.EngineTypes.startp = _startpos;
12882 MenhirLib.EngineTypes.endp = _endpos;
12883 MenhirLib.EngineTypes.next = _menhir_stack;
12884 });
12885 (fun _menhir_env ->
12886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12887 let {
12888 MenhirLib.EngineTypes.semv = _3;
12889 MenhirLib.EngineTypes.startp = _startpos__3_;
12890 MenhirLib.EngineTypes.endp = _endpos__3_;
12891 MenhirLib.EngineTypes.next = {
12892 MenhirLib.EngineTypes.semv = _2;
12893 MenhirLib.EngineTypes.startp = _startpos__2_;
12894 MenhirLib.EngineTypes.endp = _endpos__2_;
12895 MenhirLib.EngineTypes.next = {
12896 MenhirLib.EngineTypes.state = _menhir_s;
12897 MenhirLib.EngineTypes.semv = _1;
12898 MenhirLib.EngineTypes.startp = _startpos__1_;
12899 MenhirLib.EngineTypes.endp = _endpos__1_;
12900 MenhirLib.EngineTypes.next = _menhir_stack;
12901 };
12902 };
12903 } = _menhir_stack in
12904 let _3 : 'tv_define_param_list_start = Obj.magic _3 in
12905 let _2 : (
12906 # 130 "parser_cocci_menhir.mly"
12907 (Data.clt)
12908 # 12909 "parser_cocci_menhir.ml"
12909 ) = Obj.magic _2 in
12910 let _1 : 'tv_ident = Obj.magic _1 in
12911 let _startpos = _startpos__1_ in
12912 let _endpos = _endpos__3_ in
12913 let _v : 'tv_define_param_list_start =
12914 # 778 "parser_cocci_menhir.mly"
12915 ( Ast0.wrap(Ast0.DParam _1)::
12916 Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
12917 # 12918 "parser_cocci_menhir.ml"
12918 in
12919 _menhir_env.MenhirLib.EngineTypes.stack <- {
12920 MenhirLib.EngineTypes.state = _menhir_s;
12921 MenhirLib.EngineTypes.semv = Obj.repr _v;
12922 MenhirLib.EngineTypes.startp = _startpos;
12923 MenhirLib.EngineTypes.endp = _endpos;
12924 MenhirLib.EngineTypes.next = _menhir_stack;
12925 });
12926 (fun _menhir_env ->
12927 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12928 let {
12929 MenhirLib.EngineTypes.semv = r;
12930 MenhirLib.EngineTypes.startp = _startpos_r_;
12931 MenhirLib.EngineTypes.endp = _endpos_r_;
12932 MenhirLib.EngineTypes.next = {
12933 MenhirLib.EngineTypes.state = _menhir_s;
12934 MenhirLib.EngineTypes.semv = d;
12935 MenhirLib.EngineTypes.startp = _startpos_d_;
12936 MenhirLib.EngineTypes.endp = _endpos_d_;
12937 MenhirLib.EngineTypes.next = _menhir_stack;
12938 };
12939 } = _menhir_stack in
12940 let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
12941 let d : (
12942 # 96 "parser_cocci_menhir.mly"
12943 (Data.clt)
12944 # 12945 "parser_cocci_menhir.ml"
12945 ) = Obj.magic d in
12946 let _startpos = _startpos_d_ in
12947 let _endpos = _endpos_r_ in
12948 let _v : 'tv_define_param_list_start =
12949 # 781 "parser_cocci_menhir.mly"
12950 ( (P.mkdpdots "..." d)::
12951 (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
12952 # 12953 "parser_cocci_menhir.ml"
12953 in
12954 _menhir_env.MenhirLib.EngineTypes.stack <- {
12955 MenhirLib.EngineTypes.state = _menhir_s;
12956 MenhirLib.EngineTypes.semv = Obj.repr _v;
12957 MenhirLib.EngineTypes.startp = _startpos;
12958 MenhirLib.EngineTypes.endp = _endpos;
12959 MenhirLib.EngineTypes.next = _menhir_stack;
12960 });
12961 (fun _menhir_env ->
12962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12963 let {
12964 MenhirLib.EngineTypes.state = _menhir_s;
12965 MenhirLib.EngineTypes.semv = _1;
12966 MenhirLib.EngineTypes.startp = _startpos__1_;
12967 MenhirLib.EngineTypes.endp = _endpos__1_;
12968 MenhirLib.EngineTypes.next = _menhir_stack;
12969 } = _menhir_stack in
12970 let _1 : (
12971 # 104 "parser_cocci_menhir.mly"
12972 (Data.clt * token)
12973 # 12974 "parser_cocci_menhir.ml"
12974 ) = Obj.magic _1 in
12975 let _startpos = _startpos__1_ in
12976 let _endpos = _endpos__1_ in
12977 let _v : 'tv_defineop =
12978 # 728 "parser_cocci_menhir.mly"
12979 ( let (clt,ident) = _1 in
12980 function body ->
12981 Ast0.wrap
12982 (Ast0.Define
12983 (P.clt2mcode "#define" clt,
12984 (match ident with
12985 TMetaId((nm,constraints,pure,clt)) ->
12986 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
12987 | TIdent(nm_pure) ->
12988 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
12989 | _ ->
12990 raise
12991 (Semantic_cocci.Semantic
12992 "unexpected name for a #define")),
12993 Ast0.wrap Ast0.NoParams,
12994 body)) )
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.semv = _3;
13008 MenhirLib.EngineTypes.startp = _startpos__3_;
13009 MenhirLib.EngineTypes.endp = _endpos__3_;
13010 MenhirLib.EngineTypes.next = {
13011 MenhirLib.EngineTypes.semv = _2;
13012 MenhirLib.EngineTypes.startp = _startpos__2_;
13013 MenhirLib.EngineTypes.endp = _endpos__2_;
13014 MenhirLib.EngineTypes.next = {
13015 MenhirLib.EngineTypes.state = _menhir_s;
13016 MenhirLib.EngineTypes.semv = _1;
13017 MenhirLib.EngineTypes.startp = _startpos__1_;
13018 MenhirLib.EngineTypes.endp = _endpos__1_;
13019 MenhirLib.EngineTypes.next = _menhir_stack;
13020 };
13021 };
13022 } = _menhir_stack in
13023 let _3 : (
13024 # 100 "parser_cocci_menhir.mly"
13025 (Data.clt)
13026 # 13027 "parser_cocci_menhir.ml"
13027 ) = Obj.magic _3 in
13028 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
13029 let _1 : (
13030 # 105 "parser_cocci_menhir.mly"
13031 (Data.clt * token * int * int)
13032 # 13033 "parser_cocci_menhir.ml"
13033 ) = Obj.magic _1 in
13034 let _startpos = _startpos__1_ in
13035 let _endpos = _endpos__3_ in
13036 let _v : 'tv_defineop =
13037 # 745 "parser_cocci_menhir.mly"
13038 ( let (clt,ident,parenoff,parencol) = _1 in
13039 (* clt is the start of the #define itself *)
13040 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
13041 let lp =
13042 P.clt2mcode "("
13043 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
13044 function body ->
13045 Ast0.wrap
13046 (Ast0.Define
13047 (P.clt2mcode "#define" clt,
13048 (match ident with
13049 TMetaId((nm,constraints,pure,clt)) ->
13050 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13051 | TIdent(nm_pure) ->
13052 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13053 | _ ->
13054 raise
13055 (Semantic_cocci.Semantic
13056 "unexpected name for a #define")),
13057 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
13058 # 13059 "parser_cocci_menhir.ml"
13059 in
13060 _menhir_env.MenhirLib.EngineTypes.stack <- {
13061 MenhirLib.EngineTypes.state = _menhir_s;
13062 MenhirLib.EngineTypes.semv = Obj.repr _v;
13063 MenhirLib.EngineTypes.startp = _startpos;
13064 MenhirLib.EngineTypes.endp = _endpos;
13065 MenhirLib.EngineTypes.next = _menhir_stack;
13066 });
13067 (fun _menhir_env ->
13068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13069 let {
13070 MenhirLib.EngineTypes.state = _menhir_s;
13071 MenhirLib.EngineTypes.semv = _1;
13072 MenhirLib.EngineTypes.startp = _startpos__1_;
13073 MenhirLib.EngineTypes.endp = _endpos__1_;
13074 MenhirLib.EngineTypes.next = _menhir_stack;
13075 } = _menhir_stack in
13076 let _1 : 'tv_pnrule = Obj.magic _1 in
13077 let _startpos = _startpos__1_ in
13078 let _endpos = _endpos__1_ in
13079 let _v : 'tv_dep =
13080 # 248 "parser_cocci_menhir.mly"
13081 ( _1 )
13082 # 13083 "parser_cocci_menhir.ml"
13083 in
13084 _menhir_env.MenhirLib.EngineTypes.stack <- {
13085 MenhirLib.EngineTypes.state = _menhir_s;
13086 MenhirLib.EngineTypes.semv = Obj.repr _v;
13087 MenhirLib.EngineTypes.startp = _startpos;
13088 MenhirLib.EngineTypes.endp = _endpos;
13089 MenhirLib.EngineTypes.next = _menhir_stack;
13090 });
13091 (fun _menhir_env ->
13092 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13093 let {
13094 MenhirLib.EngineTypes.semv = _3;
13095 MenhirLib.EngineTypes.startp = _startpos__3_;
13096 MenhirLib.EngineTypes.endp = _endpos__3_;
13097 MenhirLib.EngineTypes.next = {
13098 MenhirLib.EngineTypes.startp = _startpos__2_;
13099 MenhirLib.EngineTypes.endp = _endpos__2_;
13100 MenhirLib.EngineTypes.next = {
13101 MenhirLib.EngineTypes.state = _menhir_s;
13102 MenhirLib.EngineTypes.semv = _1;
13103 MenhirLib.EngineTypes.startp = _startpos__1_;
13104 MenhirLib.EngineTypes.endp = _endpos__1_;
13105 MenhirLib.EngineTypes.next = _menhir_stack;
13106 };
13107 };
13108 } = _menhir_stack in
13109 let _3 : 'tv_dep = Obj.magic _3 in
13110 let _1 : 'tv_dep = Obj.magic _1 in
13111 let _startpos = _startpos__1_ in
13112 let _endpos = _endpos__3_ in
13113 let _v : 'tv_dep =
13114 # 249 "parser_cocci_menhir.mly"
13115 ( Ast.AndDep(_1, _3) )
13116 # 13117 "parser_cocci_menhir.ml"
13117 in
13118 _menhir_env.MenhirLib.EngineTypes.stack <- {
13119 MenhirLib.EngineTypes.state = _menhir_s;
13120 MenhirLib.EngineTypes.semv = Obj.repr _v;
13121 MenhirLib.EngineTypes.startp = _startpos;
13122 MenhirLib.EngineTypes.endp = _endpos;
13123 MenhirLib.EngineTypes.next = _menhir_stack;
13124 });
13125 (fun _menhir_env ->
13126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13127 let {
13128 MenhirLib.EngineTypes.semv = _3;
13129 MenhirLib.EngineTypes.startp = _startpos__3_;
13130 MenhirLib.EngineTypes.endp = _endpos__3_;
13131 MenhirLib.EngineTypes.next = {
13132 MenhirLib.EngineTypes.startp = _startpos__2_;
13133 MenhirLib.EngineTypes.endp = _endpos__2_;
13134 MenhirLib.EngineTypes.next = {
13135 MenhirLib.EngineTypes.state = _menhir_s;
13136 MenhirLib.EngineTypes.semv = _1;
13137 MenhirLib.EngineTypes.startp = _startpos__1_;
13138 MenhirLib.EngineTypes.endp = _endpos__1_;
13139 MenhirLib.EngineTypes.next = _menhir_stack;
13140 };
13141 };
13142 } = _menhir_stack in
13143 let _3 : 'tv_dep = Obj.magic _3 in
13144 let _1 : 'tv_dep = Obj.magic _1 in
13145 let _startpos = _startpos__1_ in
13146 let _endpos = _endpos__3_ in
13147 let _v : 'tv_dep =
13148 # 250 "parser_cocci_menhir.mly"
13149 ( Ast.OrDep (_1, _3) )
13150 # 13151 "parser_cocci_menhir.ml"
13151 in
13152 _menhir_env.MenhirLib.EngineTypes.stack <- {
13153 MenhirLib.EngineTypes.state = _menhir_s;
13154 MenhirLib.EngineTypes.semv = Obj.repr _v;
13155 MenhirLib.EngineTypes.startp = _startpos;
13156 MenhirLib.EngineTypes.endp = _endpos;
13157 MenhirLib.EngineTypes.next = _menhir_stack;
13158 });
13159 (fun _menhir_env ->
13160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13161 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13162 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13163 let _endpos = _startpos in
13164 let _v : 'tv_depends =
13165 # 244 "parser_cocci_menhir.mly"
13166 ( Ast.NoDep )
13167 # 13168 "parser_cocci_menhir.ml"
13168 in
13169 _menhir_env.MenhirLib.EngineTypes.stack <- {
13170 MenhirLib.EngineTypes.state = _menhir_s;
13171 MenhirLib.EngineTypes.semv = Obj.repr _v;
13172 MenhirLib.EngineTypes.startp = _startpos;
13173 MenhirLib.EngineTypes.endp = _endpos;
13174 MenhirLib.EngineTypes.next = _menhir_stack;
13175 });
13176 (fun _menhir_env ->
13177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13178 let {
13179 MenhirLib.EngineTypes.semv = parents;
13180 MenhirLib.EngineTypes.startp = _startpos_parents_;
13181 MenhirLib.EngineTypes.endp = _endpos_parents_;
13182 MenhirLib.EngineTypes.next = {
13183 MenhirLib.EngineTypes.startp = _startpos__2_;
13184 MenhirLib.EngineTypes.endp = _endpos__2_;
13185 MenhirLib.EngineTypes.next = {
13186 MenhirLib.EngineTypes.state = _menhir_s;
13187 MenhirLib.EngineTypes.startp = _startpos__1_;
13188 MenhirLib.EngineTypes.endp = _endpos__1_;
13189 MenhirLib.EngineTypes.next = _menhir_stack;
13190 };
13191 };
13192 } = _menhir_stack in
13193 let parents : 'tv_dep = Obj.magic parents in
13194 let _startpos = _startpos__1_ in
13195 let _endpos = _endpos_parents_ in
13196 let _v : 'tv_depends =
13197 # 245 "parser_cocci_menhir.mly"
13198 ( parents )
13199 # 13200 "parser_cocci_menhir.ml"
13200 in
13201 _menhir_env.MenhirLib.EngineTypes.stack <- {
13202 MenhirLib.EngineTypes.state = _menhir_s;
13203 MenhirLib.EngineTypes.semv = Obj.repr _v;
13204 MenhirLib.EngineTypes.startp = _startpos;
13205 MenhirLib.EngineTypes.endp = _endpos;
13206 MenhirLib.EngineTypes.next = _menhir_stack;
13207 });
13208 (fun _menhir_env ->
13209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13210 let {
13211 MenhirLib.EngineTypes.semv = _2;
13212 MenhirLib.EngineTypes.startp = _startpos__2_;
13213 MenhirLib.EngineTypes.endp = _endpos__2_;
13214 MenhirLib.EngineTypes.next = {
13215 MenhirLib.EngineTypes.state = _menhir_s;
13216 MenhirLib.EngineTypes.semv = _1;
13217 MenhirLib.EngineTypes.startp = _startpos__1_;
13218 MenhirLib.EngineTypes.endp = _endpos__1_;
13219 MenhirLib.EngineTypes.next = _menhir_stack;
13220 };
13221 } = _menhir_stack in
13222 let _2 : 'tv_ident = Obj.magic _2 in
13223 let _1 : (
13224 # 130 "parser_cocci_menhir.mly"
13225 (Data.clt)
13226 # 13227 "parser_cocci_menhir.ml"
13227 ) = Obj.magic _1 in
13228 let _startpos = _startpos__1_ in
13229 let _endpos = _endpos__2_ in
13230 let _v : 'tv_designator =
13231 # 1153 "parser_cocci_menhir.mly"
13232 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
13233 # 13234 "parser_cocci_menhir.ml"
13234 in
13235 _menhir_env.MenhirLib.EngineTypes.stack <- {
13236 MenhirLib.EngineTypes.state = _menhir_s;
13237 MenhirLib.EngineTypes.semv = Obj.repr _v;
13238 MenhirLib.EngineTypes.startp = _startpos;
13239 MenhirLib.EngineTypes.endp = _endpos;
13240 MenhirLib.EngineTypes.next = _menhir_stack;
13241 });
13242 (fun _menhir_env ->
13243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13244 let {
13245 MenhirLib.EngineTypes.semv = _3;
13246 MenhirLib.EngineTypes.startp = _startpos__3_;
13247 MenhirLib.EngineTypes.endp = _endpos__3_;
13248 MenhirLib.EngineTypes.next = {
13249 MenhirLib.EngineTypes.semv = _2;
13250 MenhirLib.EngineTypes.startp = _startpos__2_;
13251 MenhirLib.EngineTypes.endp = _endpos__2_;
13252 MenhirLib.EngineTypes.next = {
13253 MenhirLib.EngineTypes.state = _menhir_s;
13254 MenhirLib.EngineTypes.semv = _1;
13255 MenhirLib.EngineTypes.startp = _startpos__1_;
13256 MenhirLib.EngineTypes.endp = _endpos__1_;
13257 MenhirLib.EngineTypes.next = _menhir_stack;
13258 };
13259 };
13260 } = _menhir_stack in
13261 let _3 : (
13262 # 125 "parser_cocci_menhir.mly"
13263 (Data.clt)
13264 # 13265 "parser_cocci_menhir.ml"
13265 ) = Obj.magic _3 in
13266 let _2 : 'tv_eexpr = Obj.magic _2 in
13267 let _1 : (
13268 # 125 "parser_cocci_menhir.mly"
13269 (Data.clt)
13270 # 13271 "parser_cocci_menhir.ml"
13271 ) = Obj.magic _1 in
13272 let _startpos = _startpos__1_ in
13273 let _endpos = _endpos__3_ in
13274 let _v : 'tv_designator =
13275 # 1155 "parser_cocci_menhir.mly"
13276 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
13277 # 13278 "parser_cocci_menhir.ml"
13278 in
13279 _menhir_env.MenhirLib.EngineTypes.stack <- {
13280 MenhirLib.EngineTypes.state = _menhir_s;
13281 MenhirLib.EngineTypes.semv = Obj.repr _v;
13282 MenhirLib.EngineTypes.startp = _startpos;
13283 MenhirLib.EngineTypes.endp = _endpos;
13284 MenhirLib.EngineTypes.next = _menhir_stack;
13285 });
13286 (fun _menhir_env ->
13287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13288 let {
13289 MenhirLib.EngineTypes.semv = _5;
13290 MenhirLib.EngineTypes.startp = _startpos__5_;
13291 MenhirLib.EngineTypes.endp = _endpos__5_;
13292 MenhirLib.EngineTypes.next = {
13293 MenhirLib.EngineTypes.semv = _4;
13294 MenhirLib.EngineTypes.startp = _startpos__4_;
13295 MenhirLib.EngineTypes.endp = _endpos__4_;
13296 MenhirLib.EngineTypes.next = {
13297 MenhirLib.EngineTypes.semv = _3;
13298 MenhirLib.EngineTypes.startp = _startpos__3_;
13299 MenhirLib.EngineTypes.endp = _endpos__3_;
13300 MenhirLib.EngineTypes.next = {
13301 MenhirLib.EngineTypes.semv = _2;
13302 MenhirLib.EngineTypes.startp = _startpos__2_;
13303 MenhirLib.EngineTypes.endp = _endpos__2_;
13304 MenhirLib.EngineTypes.next = {
13305 MenhirLib.EngineTypes.state = _menhir_s;
13306 MenhirLib.EngineTypes.semv = _1;
13307 MenhirLib.EngineTypes.startp = _startpos__1_;
13308 MenhirLib.EngineTypes.endp = _endpos__1_;
13309 MenhirLib.EngineTypes.next = _menhir_stack;
13310 };
13311 };
13312 };
13313 };
13314 } = _menhir_stack in
13315 let _5 : (
13316 # 125 "parser_cocci_menhir.mly"
13317 (Data.clt)
13318 # 13319 "parser_cocci_menhir.ml"
13319 ) = Obj.magic _5 in
13320 let _4 : 'tv_eexpr = Obj.magic _4 in
13321 let _3 : (
13322 # 96 "parser_cocci_menhir.mly"
13323 (Data.clt)
13324 # 13325 "parser_cocci_menhir.ml"
13325 ) = Obj.magic _3 in
13326 let _2 : 'tv_eexpr = Obj.magic _2 in
13327 let _1 : (
13328 # 125 "parser_cocci_menhir.mly"
13329 (Data.clt)
13330 # 13331 "parser_cocci_menhir.ml"
13331 ) = Obj.magic _1 in
13332 let _startpos = _startpos__1_ in
13333 let _endpos = _endpos__5_ in
13334 let _v : 'tv_designator =
13335 # 1157 "parser_cocci_menhir.mly"
13336 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
13337 _4,P.clt2mcode "]" _5) )
13338 # 13339 "parser_cocci_menhir.ml"
13339 in
13340 _menhir_env.MenhirLib.EngineTypes.stack <- {
13341 MenhirLib.EngineTypes.state = _menhir_s;
13342 MenhirLib.EngineTypes.semv = Obj.repr _v;
13343 MenhirLib.EngineTypes.startp = _startpos;
13344 MenhirLib.EngineTypes.endp = _endpos;
13345 MenhirLib.EngineTypes.next = _menhir_stack;
13346 });
13347 (fun _menhir_env ->
13348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13349 let {
13350 MenhirLib.EngineTypes.state = _menhir_s;
13351 MenhirLib.EngineTypes.semv = _1;
13352 MenhirLib.EngineTypes.startp = _startpos__1_;
13353 MenhirLib.EngineTypes.endp = _endpos__1_;
13354 MenhirLib.EngineTypes.next = _menhir_stack;
13355 } = _menhir_stack in
13356 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
13357 let _startpos = _startpos__1_ in
13358 let _endpos = _endpos__1_ in
13359 let _v : 'tv_dexpr =
13360 # 1256 "parser_cocci_menhir.mly"
13361 ( _1 )
13362 # 13363 "parser_cocci_menhir.ml"
13363 in
13364 _menhir_env.MenhirLib.EngineTypes.stack <- {
13365 MenhirLib.EngineTypes.state = _menhir_s;
13366 MenhirLib.EngineTypes.semv = Obj.repr _v;
13367 MenhirLib.EngineTypes.startp = _startpos;
13368 MenhirLib.EngineTypes.endp = _endpos;
13369 MenhirLib.EngineTypes.next = _menhir_stack;
13370 });
13371 (fun _menhir_env ->
13372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13373 let {
13374 MenhirLib.EngineTypes.semv = _2;
13375 MenhirLib.EngineTypes.startp = _startpos__2_;
13376 MenhirLib.EngineTypes.endp = _endpos__2_;
13377 MenhirLib.EngineTypes.next = {
13378 MenhirLib.EngineTypes.state = _menhir_s;
13379 MenhirLib.EngineTypes.startp = _startpos__1_;
13380 MenhirLib.EngineTypes.endp = _endpos__1_;
13381 MenhirLib.EngineTypes.next = _menhir_stack;
13382 };
13383 } = _menhir_stack in
13384 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
13385 let _startpos = _startpos__1_ in
13386 let _endpos = _endpos__2_ in
13387 let _v : 'tv_disable =
13388 # 263 "parser_cocci_menhir.mly"
13389 ( List.map P.id2name _2 )
13390 # 13391 "parser_cocci_menhir.ml"
13391 in
13392 _menhir_env.MenhirLib.EngineTypes.stack <- {
13393 MenhirLib.EngineTypes.state = _menhir_s;
13394 MenhirLib.EngineTypes.semv = Obj.repr _v;
13395 MenhirLib.EngineTypes.startp = _startpos;
13396 MenhirLib.EngineTypes.endp = _endpos;
13397 MenhirLib.EngineTypes.next = _menhir_stack;
13398 });
13399 (fun _menhir_env ->
13400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13401 let {
13402 MenhirLib.EngineTypes.state = _menhir_s;
13403 MenhirLib.EngineTypes.semv = _1;
13404 MenhirLib.EngineTypes.startp = _startpos__1_;
13405 MenhirLib.EngineTypes.endp = _endpos__1_;
13406 MenhirLib.EngineTypes.next = _menhir_stack;
13407 } = _menhir_stack in
13408 let _1 : (
13409 # 96 "parser_cocci_menhir.mly"
13410 (Data.clt)
13411 # 13412 "parser_cocci_menhir.ml"
13412 ) = Obj.magic _1 in
13413 let _startpos = _startpos__1_ in
13414 let _endpos = _endpos__1_ in
13415 let _v : 'tv_dot_expressions =
13416 # 1265 "parser_cocci_menhir.mly"
13417 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
13418 # 13419 "parser_cocci_menhir.ml"
13419 in
13420 _menhir_env.MenhirLib.EngineTypes.stack <- {
13421 MenhirLib.EngineTypes.state = _menhir_s;
13422 MenhirLib.EngineTypes.semv = Obj.repr _v;
13423 MenhirLib.EngineTypes.startp = _startpos;
13424 MenhirLib.EngineTypes.endp = _endpos;
13425 MenhirLib.EngineTypes.next = _menhir_stack;
13426 });
13427 (fun _menhir_env ->
13428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13429 let {
13430 MenhirLib.EngineTypes.state = _menhir_s;
13431 MenhirLib.EngineTypes.semv = _1;
13432 MenhirLib.EngineTypes.startp = _startpos__1_;
13433 MenhirLib.EngineTypes.endp = _endpos__1_;
13434 MenhirLib.EngineTypes.next = _menhir_stack;
13435 } = _menhir_stack in
13436 let _1 : 'tv_nest_expressions = Obj.magic _1 in
13437 let _startpos = _startpos__1_ in
13438 let _endpos = _endpos__1_ in
13439 let _v : 'tv_dot_expressions =
13440 # 1266 "parser_cocci_menhir.mly"
13441 ( _1 )
13442 # 13443 "parser_cocci_menhir.ml"
13443 in
13444 _menhir_env.MenhirLib.EngineTypes.stack <- {
13445 MenhirLib.EngineTypes.state = _menhir_s;
13446 MenhirLib.EngineTypes.semv = Obj.repr _v;
13447 MenhirLib.EngineTypes.startp = _startpos;
13448 MenhirLib.EngineTypes.endp = _endpos;
13449 MenhirLib.EngineTypes.next = _menhir_stack;
13450 });
13451 (fun _menhir_env ->
13452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13453 let {
13454 MenhirLib.EngineTypes.semv = d;
13455 MenhirLib.EngineTypes.startp = _startpos_d_;
13456 MenhirLib.EngineTypes.endp = _endpos_d_;
13457 MenhirLib.EngineTypes.next = {
13458 MenhirLib.EngineTypes.state = _menhir_s;
13459 MenhirLib.EngineTypes.semv = c;
13460 MenhirLib.EngineTypes.startp = _startpos_c_;
13461 MenhirLib.EngineTypes.endp = _endpos_c_;
13462 MenhirLib.EngineTypes.next = _menhir_stack;
13463 };
13464 } = _menhir_stack in
13465 let d : (
13466 # 96 "parser_cocci_menhir.mly"
13467 (Data.clt)
13468 # 13469 "parser_cocci_menhir.ml"
13469 ) = Obj.magic d in
13470 let c : (
13471 # 130 "parser_cocci_menhir.mly"
13472 (Data.clt)
13473 # 13474 "parser_cocci_menhir.ml"
13474 ) = Obj.magic c in
13475 let _startpos = _startpos_c_ in
13476 let _endpos = _endpos_d_ in
13477 let _v : 'tv_dp_comma_args_TEllipsis_ =
13478 # 786 "parser_cocci_menhir.mly"
13479 ( function dot_builder ->
13480 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
13481 # 13482 "parser_cocci_menhir.ml"
13482 in
13483 _menhir_env.MenhirLib.EngineTypes.stack <- {
13484 MenhirLib.EngineTypes.state = _menhir_s;
13485 MenhirLib.EngineTypes.semv = Obj.repr _v;
13486 MenhirLib.EngineTypes.startp = _startpos;
13487 MenhirLib.EngineTypes.endp = _endpos;
13488 MenhirLib.EngineTypes.next = _menhir_stack;
13489 });
13490 (fun _menhir_env ->
13491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13492 let {
13493 MenhirLib.EngineTypes.semv = _2;
13494 MenhirLib.EngineTypes.startp = _startpos__2_;
13495 MenhirLib.EngineTypes.endp = _endpos__2_;
13496 MenhirLib.EngineTypes.next = {
13497 MenhirLib.EngineTypes.state = _menhir_s;
13498 MenhirLib.EngineTypes.semv = _1;
13499 MenhirLib.EngineTypes.startp = _startpos__1_;
13500 MenhirLib.EngineTypes.endp = _endpos__1_;
13501 MenhirLib.EngineTypes.next = _menhir_stack;
13502 };
13503 } = _menhir_stack in
13504 let _2 : 'tv_ident = Obj.magic _2 in
13505 let _1 : (
13506 # 130 "parser_cocci_menhir.mly"
13507 (Data.clt)
13508 # 13509 "parser_cocci_menhir.ml"
13509 ) = Obj.magic _1 in
13510 let _startpos = _startpos__1_ in
13511 let _endpos = _endpos__2_ in
13512 let _v : 'tv_dp_comma_args_TEllipsis_ =
13513 # 789 "parser_cocci_menhir.mly"
13514 ( function dot_builder ->
13515 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
13516 Ast0.wrap(Ast0.DParam _2)] )
13517 # 13518 "parser_cocci_menhir.ml"
13518 in
13519 _menhir_env.MenhirLib.EngineTypes.stack <- {
13520 MenhirLib.EngineTypes.state = _menhir_s;
13521 MenhirLib.EngineTypes.semv = Obj.repr _v;
13522 MenhirLib.EngineTypes.startp = _startpos;
13523 MenhirLib.EngineTypes.endp = _endpos;
13524 MenhirLib.EngineTypes.next = _menhir_stack;
13525 });
13526 (fun _menhir_env ->
13527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13528 let {
13529 MenhirLib.EngineTypes.state = _menhir_s;
13530 MenhirLib.EngineTypes.semv = d;
13531 MenhirLib.EngineTypes.startp = _startpos_d_;
13532 MenhirLib.EngineTypes.endp = _endpos_d_;
13533 MenhirLib.EngineTypes.next = _menhir_stack;
13534 } = _menhir_stack in
13535 let d : (
13536 # 96 "parser_cocci_menhir.mly"
13537 (Data.clt)
13538 # 13539 "parser_cocci_menhir.ml"
13539 ) = Obj.magic d in
13540 let _startpos = _startpos_d_ in
13541 let _endpos = _endpos_d_ in
13542 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13543 # 1994 "parser_cocci_menhir.mly"
13544 ( (d,None) )
13545 # 13546 "parser_cocci_menhir.ml"
13546 in
13547 _menhir_env.MenhirLib.EngineTypes.stack <- {
13548 MenhirLib.EngineTypes.state = _menhir_s;
13549 MenhirLib.EngineTypes.semv = Obj.repr _v;
13550 MenhirLib.EngineTypes.startp = _startpos;
13551 MenhirLib.EngineTypes.endp = _endpos;
13552 MenhirLib.EngineTypes.next = _menhir_stack;
13553 });
13554 (fun _menhir_env ->
13555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13556 let {
13557 MenhirLib.EngineTypes.startp = _startpos__5_;
13558 MenhirLib.EngineTypes.endp = _endpos__5_;
13559 MenhirLib.EngineTypes.next = {
13560 MenhirLib.EngineTypes.semv = w;
13561 MenhirLib.EngineTypes.startp = _startpos_w_;
13562 MenhirLib.EngineTypes.endp = _endpos_w_;
13563 MenhirLib.EngineTypes.next = {
13564 MenhirLib.EngineTypes.startp = _startpos__3_;
13565 MenhirLib.EngineTypes.endp = _endpos__3_;
13566 MenhirLib.EngineTypes.next = {
13567 MenhirLib.EngineTypes.startp = _startpos__2_;
13568 MenhirLib.EngineTypes.endp = _endpos__2_;
13569 MenhirLib.EngineTypes.next = {
13570 MenhirLib.EngineTypes.state = _menhir_s;
13571 MenhirLib.EngineTypes.semv = d;
13572 MenhirLib.EngineTypes.startp = _startpos_d_;
13573 MenhirLib.EngineTypes.endp = _endpos_d_;
13574 MenhirLib.EngineTypes.next = _menhir_stack;
13575 };
13576 };
13577 };
13578 };
13579 } = _menhir_stack in
13580 let w : 'tv_eexpr = Obj.magic w in
13581 let d : (
13582 # 96 "parser_cocci_menhir.mly"
13583 (Data.clt)
13584 # 13585 "parser_cocci_menhir.ml"
13585 ) = Obj.magic d in
13586 let _startpos = _startpos_d_ in
13587 let _endpos = _endpos__5_ in
13588 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13589 # 1995 "parser_cocci_menhir.mly"
13590 ( (d,Some w) )
13591 # 13592 "parser_cocci_menhir.ml"
13592 in
13593 _menhir_env.MenhirLib.EngineTypes.stack <- {
13594 MenhirLib.EngineTypes.state = _menhir_s;
13595 MenhirLib.EngineTypes.semv = Obj.repr _v;
13596 MenhirLib.EngineTypes.startp = _startpos;
13597 MenhirLib.EngineTypes.endp = _endpos;
13598 MenhirLib.EngineTypes.next = _menhir_stack;
13599 });
13600 (fun _menhir_env ->
13601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13602 let {
13603 MenhirLib.EngineTypes.state = _menhir_s;
13604 MenhirLib.EngineTypes.semv = d;
13605 MenhirLib.EngineTypes.startp = _startpos_d_;
13606 MenhirLib.EngineTypes.endp = _endpos_d_;
13607 MenhirLib.EngineTypes.next = _menhir_stack;
13608 } = _menhir_stack in
13609 let d : (
13610 # 96 "parser_cocci_menhir.mly"
13611 (Data.clt)
13612 # 13613 "parser_cocci_menhir.ml"
13613 ) = Obj.magic d in
13614 let _startpos = _startpos_d_ in
13615 let _endpos = _endpos_d_ in
13616 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13617 # 1994 "parser_cocci_menhir.mly"
13618 ( (d,None) )
13619 # 13620 "parser_cocci_menhir.ml"
13620 in
13621 _menhir_env.MenhirLib.EngineTypes.stack <- {
13622 MenhirLib.EngineTypes.state = _menhir_s;
13623 MenhirLib.EngineTypes.semv = Obj.repr _v;
13624 MenhirLib.EngineTypes.startp = _startpos;
13625 MenhirLib.EngineTypes.endp = _endpos;
13626 MenhirLib.EngineTypes.next = _menhir_stack;
13627 });
13628 (fun _menhir_env ->
13629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13630 let {
13631 MenhirLib.EngineTypes.startp = _startpos__5_;
13632 MenhirLib.EngineTypes.endp = _endpos__5_;
13633 MenhirLib.EngineTypes.next = {
13634 MenhirLib.EngineTypes.semv = w;
13635 MenhirLib.EngineTypes.startp = _startpos_w_;
13636 MenhirLib.EngineTypes.endp = _endpos_w_;
13637 MenhirLib.EngineTypes.next = {
13638 MenhirLib.EngineTypes.startp = _startpos__3_;
13639 MenhirLib.EngineTypes.endp = _endpos__3_;
13640 MenhirLib.EngineTypes.next = {
13641 MenhirLib.EngineTypes.startp = _startpos__2_;
13642 MenhirLib.EngineTypes.endp = _endpos__2_;
13643 MenhirLib.EngineTypes.next = {
13644 MenhirLib.EngineTypes.state = _menhir_s;
13645 MenhirLib.EngineTypes.semv = d;
13646 MenhirLib.EngineTypes.startp = _startpos_d_;
13647 MenhirLib.EngineTypes.endp = _endpos_d_;
13648 MenhirLib.EngineTypes.next = _menhir_stack;
13649 };
13650 };
13651 };
13652 };
13653 } = _menhir_stack in
13654 let w : 'tv_initialize = Obj.magic w in
13655 let d : (
13656 # 96 "parser_cocci_menhir.mly"
13657 (Data.clt)
13658 # 13659 "parser_cocci_menhir.ml"
13659 ) = Obj.magic d in
13660 let _startpos = _startpos_d_ in
13661 let _endpos = _endpos__5_ in
13662 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13663 # 1995 "parser_cocci_menhir.mly"
13664 ( (d,Some w) )
13665 # 13666 "parser_cocci_menhir.ml"
13666 in
13667 _menhir_env.MenhirLib.EngineTypes.stack <- {
13668 MenhirLib.EngineTypes.state = _menhir_s;
13669 MenhirLib.EngineTypes.semv = Obj.repr _v;
13670 MenhirLib.EngineTypes.startp = _startpos;
13671 MenhirLib.EngineTypes.endp = _endpos;
13672 MenhirLib.EngineTypes.next = _menhir_stack;
13673 });
13674 (fun _menhir_env ->
13675 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13676 let {
13677 MenhirLib.EngineTypes.state = _menhir_s;
13678 MenhirLib.EngineTypes.semv = d;
13679 MenhirLib.EngineTypes.startp = _startpos_d_;
13680 MenhirLib.EngineTypes.endp = _endpos_d_;
13681 MenhirLib.EngineTypes.next = _menhir_stack;
13682 } = _menhir_stack in
13683 let d : (
13684 # 96 "parser_cocci_menhir.mly"
13685 (Data.clt)
13686 # 13687 "parser_cocci_menhir.ml"
13687 ) = Obj.magic d in
13688 let _startpos = _startpos_d_ in
13689 let _endpos = _endpos_d_ in
13690 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13691 # 1994 "parser_cocci_menhir.mly"
13692 ( (d,None) )
13693 # 13694 "parser_cocci_menhir.ml"
13694 in
13695 _menhir_env.MenhirLib.EngineTypes.stack <- {
13696 MenhirLib.EngineTypes.state = _menhir_s;
13697 MenhirLib.EngineTypes.semv = Obj.repr _v;
13698 MenhirLib.EngineTypes.startp = _startpos;
13699 MenhirLib.EngineTypes.endp = _endpos;
13700 MenhirLib.EngineTypes.next = _menhir_stack;
13701 });
13702 (fun _menhir_env ->
13703 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13704 let {
13705 MenhirLib.EngineTypes.startp = _startpos__5_;
13706 MenhirLib.EngineTypes.endp = _endpos__5_;
13707 MenhirLib.EngineTypes.next = {
13708 MenhirLib.EngineTypes.semv = w;
13709 MenhirLib.EngineTypes.startp = _startpos_w_;
13710 MenhirLib.EngineTypes.endp = _endpos_w_;
13711 MenhirLib.EngineTypes.next = {
13712 MenhirLib.EngineTypes.startp = _startpos__3_;
13713 MenhirLib.EngineTypes.endp = _endpos__3_;
13714 MenhirLib.EngineTypes.next = {
13715 MenhirLib.EngineTypes.startp = _startpos__2_;
13716 MenhirLib.EngineTypes.endp = _endpos__2_;
13717 MenhirLib.EngineTypes.next = {
13718 MenhirLib.EngineTypes.state = _menhir_s;
13719 MenhirLib.EngineTypes.semv = d;
13720 MenhirLib.EngineTypes.startp = _startpos_d_;
13721 MenhirLib.EngineTypes.endp = _endpos_d_;
13722 MenhirLib.EngineTypes.next = _menhir_stack;
13723 };
13724 };
13725 };
13726 };
13727 } = _menhir_stack in
13728 let w : 'tv_struct_decl = Obj.magic w in
13729 let d : (
13730 # 96 "parser_cocci_menhir.mly"
13731 (Data.clt)
13732 # 13733 "parser_cocci_menhir.ml"
13733 ) = Obj.magic d in
13734 let _startpos = _startpos_d_ in
13735 let _endpos = _endpos__5_ in
13736 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13737 # 1995 "parser_cocci_menhir.mly"
13738 ( (d,Some w) )
13739 # 13740 "parser_cocci_menhir.ml"
13740 in
13741 _menhir_env.MenhirLib.EngineTypes.stack <- {
13742 MenhirLib.EngineTypes.state = _menhir_s;
13743 MenhirLib.EngineTypes.semv = Obj.repr _v;
13744 MenhirLib.EngineTypes.startp = _startpos;
13745 MenhirLib.EngineTypes.endp = _endpos;
13746 MenhirLib.EngineTypes.next = _menhir_stack;
13747 });
13748 (fun _menhir_env ->
13749 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13750 let {
13751 MenhirLib.EngineTypes.state = _menhir_s;
13752 MenhirLib.EngineTypes.semv = _1;
13753 MenhirLib.EngineTypes.startp = _startpos__1_;
13754 MenhirLib.EngineTypes.endp = _endpos__1_;
13755 MenhirLib.EngineTypes.next = _menhir_stack;
13756 } = _menhir_stack in
13757 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
13758 let _startpos = _startpos__1_ in
13759 let _endpos = _endpos__1_ in
13760 let _v : 'tv_eexpr =
13761 # 1254 "parser_cocci_menhir.mly"
13762 ( _1 )
13763 # 13764 "parser_cocci_menhir.ml"
13764 in
13765 _menhir_env.MenhirLib.EngineTypes.stack <- {
13766 MenhirLib.EngineTypes.state = _menhir_s;
13767 MenhirLib.EngineTypes.semv = Obj.repr _v;
13768 MenhirLib.EngineTypes.startp = _startpos;
13769 MenhirLib.EngineTypes.endp = _endpos;
13770 MenhirLib.EngineTypes.next = _menhir_stack;
13771 });
13772 (fun _menhir_env ->
13773 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13774 let {
13775 MenhirLib.EngineTypes.state = _menhir_s;
13776 MenhirLib.EngineTypes.semv = _1;
13777 MenhirLib.EngineTypes.startp = _startpos__1_;
13778 MenhirLib.EngineTypes.endp = _endpos__1_;
13779 MenhirLib.EngineTypes.next = _menhir_stack;
13780 } = _menhir_stack in
13781 let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
13782 let _startpos = _startpos__1_ in
13783 let _endpos = _endpos__1_ in
13784 let _v : 'tv_eexpr_list =
13785 # 1938 "parser_cocci_menhir.mly"
13786 (let circle x =
13787 match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
13788 let star x =
13789 match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
13790 if List.exists circle _1
13791 then Ast0.wrap(Ast0.CIRCLES(_1))
13792 else
13793 if List.exists star _1
13794 then Ast0.wrap(Ast0.STARS(_1))
13795 else Ast0.wrap(Ast0.DOTS(_1)) )
13796 # 13797 "parser_cocci_menhir.ml"
13797 in
13798 _menhir_env.MenhirLib.EngineTypes.stack <- {
13799 MenhirLib.EngineTypes.state = _menhir_s;
13800 MenhirLib.EngineTypes.semv = Obj.repr _v;
13801 MenhirLib.EngineTypes.startp = _startpos;
13802 MenhirLib.EngineTypes.endp = _endpos;
13803 MenhirLib.EngineTypes.next = _menhir_stack;
13804 });
13805 (fun _menhir_env ->
13806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13807 let {
13808 MenhirLib.EngineTypes.state = _menhir_s;
13809 MenhirLib.EngineTypes.semv = _1;
13810 MenhirLib.EngineTypes.startp = _startpos__1_;
13811 MenhirLib.EngineTypes.endp = _endpos__1_;
13812 MenhirLib.EngineTypes.next = _menhir_stack;
13813 } = _menhir_stack in
13814 let _1 : 'tv_eexpr_list = Obj.magic _1 in
13815 let _startpos = _startpos__1_ in
13816 let _endpos = _endpos__1_ in
13817 let _v : 'tv_eexpr_list_option =
13818 # 1977 "parser_cocci_menhir.mly"
13819 ( _1 )
13820 # 13821 "parser_cocci_menhir.ml"
13821 in
13822 _menhir_env.MenhirLib.EngineTypes.stack <- {
13823 MenhirLib.EngineTypes.state = _menhir_s;
13824 MenhirLib.EngineTypes.semv = Obj.repr _v;
13825 MenhirLib.EngineTypes.startp = _startpos;
13826 MenhirLib.EngineTypes.endp = _endpos;
13827 MenhirLib.EngineTypes.next = _menhir_stack;
13828 });
13829 (fun _menhir_env ->
13830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13831 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13832 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13833 let _endpos = _startpos in
13834 let _v : 'tv_eexpr_list_option =
13835 # 1978 "parser_cocci_menhir.mly"
13836 ( Ast0.wrap(Ast0.DOTS([])) )
13837 # 13838 "parser_cocci_menhir.ml"
13838 in
13839 _menhir_env.MenhirLib.EngineTypes.stack <- {
13840 MenhirLib.EngineTypes.state = _menhir_s;
13841 MenhirLib.EngineTypes.semv = Obj.repr _v;
13842 MenhirLib.EngineTypes.startp = _startpos;
13843 MenhirLib.EngineTypes.endp = _endpos;
13844 MenhirLib.EngineTypes.next = _menhir_stack;
13845 });
13846 (fun _menhir_env ->
13847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13848 let {
13849 MenhirLib.EngineTypes.state = _menhir_s;
13850 MenhirLib.EngineTypes.semv = _1;
13851 MenhirLib.EngineTypes.startp = _startpos__1_;
13852 MenhirLib.EngineTypes.endp = _endpos__1_;
13853 MenhirLib.EngineTypes.next = _menhir_stack;
13854 } = _menhir_stack in
13855 let _1 : 'tv_aexpr = Obj.magic _1 in
13856 let _startpos = _startpos__1_ in
13857 let _endpos = _endpos__1_ in
13858 let _v : 'tv_eexpr_list_start =
13859 # 1965 "parser_cocci_menhir.mly"
13860 ( [_1] )
13861 # 13862 "parser_cocci_menhir.ml"
13862 in
13863 _menhir_env.MenhirLib.EngineTypes.stack <- {
13864 MenhirLib.EngineTypes.state = _menhir_s;
13865 MenhirLib.EngineTypes.semv = Obj.repr _v;
13866 MenhirLib.EngineTypes.startp = _startpos;
13867 MenhirLib.EngineTypes.endp = _endpos;
13868 MenhirLib.EngineTypes.next = _menhir_stack;
13869 });
13870 (fun _menhir_env ->
13871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13872 let {
13873 MenhirLib.EngineTypes.semv = _3;
13874 MenhirLib.EngineTypes.startp = _startpos__3_;
13875 MenhirLib.EngineTypes.endp = _endpos__3_;
13876 MenhirLib.EngineTypes.next = {
13877 MenhirLib.EngineTypes.semv = _2;
13878 MenhirLib.EngineTypes.startp = _startpos__2_;
13879 MenhirLib.EngineTypes.endp = _endpos__2_;
13880 MenhirLib.EngineTypes.next = {
13881 MenhirLib.EngineTypes.state = _menhir_s;
13882 MenhirLib.EngineTypes.semv = _1;
13883 MenhirLib.EngineTypes.startp = _startpos__1_;
13884 MenhirLib.EngineTypes.endp = _endpos__1_;
13885 MenhirLib.EngineTypes.next = _menhir_stack;
13886 };
13887 };
13888 } = _menhir_stack in
13889 let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
13890 let _2 : (
13891 # 130 "parser_cocci_menhir.mly"
13892 (Data.clt)
13893 # 13894 "parser_cocci_menhir.ml"
13894 ) = Obj.magic _2 in
13895 let _1 : 'tv_aexpr = Obj.magic _1 in
13896 let _startpos = _startpos__1_ in
13897 let _endpos = _endpos__3_ in
13898 let _v : 'tv_eexpr_list_start =
13899 # 1967 "parser_cocci_menhir.mly"
13900 ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
13901 # 13902 "parser_cocci_menhir.ml"
13902 in
13903 _menhir_env.MenhirLib.EngineTypes.stack <- {
13904 MenhirLib.EngineTypes.state = _menhir_s;
13905 MenhirLib.EngineTypes.semv = Obj.repr _v;
13906 MenhirLib.EngineTypes.startp = _startpos;
13907 MenhirLib.EngineTypes.endp = _endpos;
13908 MenhirLib.EngineTypes.next = _menhir_stack;
13909 });
13910 (fun _menhir_env ->
13911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13912 let {
13913 MenhirLib.EngineTypes.state = _menhir_s;
13914 MenhirLib.EngineTypes.startp = _startpos__1_;
13915 MenhirLib.EngineTypes.endp = _endpos__1_;
13916 MenhirLib.EngineTypes.next = _menhir_stack;
13917 } = _menhir_stack in
13918 let _startpos = _startpos__1_ in
13919 let _endpos = _endpos__1_ in
13920 let _v : 'tv_exists =
13921 # 266 "parser_cocci_menhir.mly"
13922 ( Ast.Exists )
13923 # 13924 "parser_cocci_menhir.ml"
13924 in
13925 _menhir_env.MenhirLib.EngineTypes.stack <- {
13926 MenhirLib.EngineTypes.state = _menhir_s;
13927 MenhirLib.EngineTypes.semv = Obj.repr _v;
13928 MenhirLib.EngineTypes.startp = _startpos;
13929 MenhirLib.EngineTypes.endp = _endpos;
13930 MenhirLib.EngineTypes.next = _menhir_stack;
13931 });
13932 (fun _menhir_env ->
13933 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13934 let {
13935 MenhirLib.EngineTypes.state = _menhir_s;
13936 MenhirLib.EngineTypes.startp = _startpos__1_;
13937 MenhirLib.EngineTypes.endp = _endpos__1_;
13938 MenhirLib.EngineTypes.next = _menhir_stack;
13939 } = _menhir_stack in
13940 let _startpos = _startpos__1_ in
13941 let _endpos = _endpos__1_ in
13942 let _v : 'tv_exists =
13943 # 267 "parser_cocci_menhir.mly"
13944 ( Ast.Forall )
13945 # 13946 "parser_cocci_menhir.ml"
13946 in
13947 _menhir_env.MenhirLib.EngineTypes.stack <- {
13948 MenhirLib.EngineTypes.state = _menhir_s;
13949 MenhirLib.EngineTypes.semv = Obj.repr _v;
13950 MenhirLib.EngineTypes.startp = _startpos;
13951 MenhirLib.EngineTypes.endp = _endpos;
13952 MenhirLib.EngineTypes.next = _menhir_stack;
13953 });
13954 (fun _menhir_env ->
13955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13956 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13957 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13958 let _endpos = _startpos in
13959 let _v : 'tv_exists =
13960 # 268 "parser_cocci_menhir.mly"
13961 ( Ast.Undetermined )
13962 # 13963 "parser_cocci_menhir.ml"
13963 in
13964 _menhir_env.MenhirLib.EngineTypes.stack <- {
13965 MenhirLib.EngineTypes.state = _menhir_s;
13966 MenhirLib.EngineTypes.semv = Obj.repr _v;
13967 MenhirLib.EngineTypes.startp = _startpos;
13968 MenhirLib.EngineTypes.endp = _endpos;
13969 MenhirLib.EngineTypes.next = _menhir_stack;
13970 });
13971 (fun _menhir_env ->
13972 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13973 let {
13974 MenhirLib.EngineTypes.state = _menhir_s;
13975 MenhirLib.EngineTypes.semv = _1;
13976 MenhirLib.EngineTypes.startp = _startpos__1_;
13977 MenhirLib.EngineTypes.endp = _endpos__1_;
13978 MenhirLib.EngineTypes.next = _menhir_stack;
13979 } = _menhir_stack in
13980 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
13981 let _startpos = _startpos__1_ in
13982 let _endpos = _endpos__1_ in
13983 let _v : 'tv_expr =
13984 # 1252 "parser_cocci_menhir.mly"
13985 ( _1 )
13986 # 13987 "parser_cocci_menhir.ml"
13987 in
13988 _menhir_env.MenhirLib.EngineTypes.stack <- {
13989 MenhirLib.EngineTypes.state = _menhir_s;
13990 MenhirLib.EngineTypes.semv = Obj.repr _v;
13991 MenhirLib.EngineTypes.startp = _startpos;
13992 MenhirLib.EngineTypes.endp = _endpos;
13993 MenhirLib.EngineTypes.next = _menhir_stack;
13994 });
13995 (fun _menhir_env ->
13996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13997 let {
13998 MenhirLib.EngineTypes.state = _menhir_s;
13999 MenhirLib.EngineTypes.semv = r;
14000 MenhirLib.EngineTypes.startp = _startpos_r_;
14001 MenhirLib.EngineTypes.endp = _endpos_r_;
14002 MenhirLib.EngineTypes.next = _menhir_stack;
14003 } = _menhir_stack in
14004 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
14005 let _startpos = _startpos_r_ in
14006 let _endpos = _endpos_r_ in
14007 let _v : 'tv_expr_dots_TEllipsis_ =
14008 # 1434 "parser_cocci_menhir.mly"
14009 ( r )
14010 # 14011 "parser_cocci_menhir.ml"
14011 in
14012 _menhir_env.MenhirLib.EngineTypes.stack <- {
14013 MenhirLib.EngineTypes.state = _menhir_s;
14014 MenhirLib.EngineTypes.semv = Obj.repr _v;
14015 MenhirLib.EngineTypes.startp = _startpos;
14016 MenhirLib.EngineTypes.endp = _endpos;
14017 MenhirLib.EngineTypes.next = _menhir_stack;
14018 });
14019 (fun _menhir_env ->
14020 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14021 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14022 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14023 let _endpos = _startpos in
14024 let _v : 'tv_extends =
14025 # 239 "parser_cocci_menhir.mly"
14026 ( () )
14027 # 14028 "parser_cocci_menhir.ml"
14028 in
14029 _menhir_env.MenhirLib.EngineTypes.stack <- {
14030 MenhirLib.EngineTypes.state = _menhir_s;
14031 MenhirLib.EngineTypes.semv = Obj.repr _v;
14032 MenhirLib.EngineTypes.startp = _startpos;
14033 MenhirLib.EngineTypes.endp = _endpos;
14034 MenhirLib.EngineTypes.next = _menhir_stack;
14035 });
14036 (fun _menhir_env ->
14037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14038 let {
14039 MenhirLib.EngineTypes.semv = parent;
14040 MenhirLib.EngineTypes.startp = _startpos_parent_;
14041 MenhirLib.EngineTypes.endp = _endpos_parent_;
14042 MenhirLib.EngineTypes.next = {
14043 MenhirLib.EngineTypes.state = _menhir_s;
14044 MenhirLib.EngineTypes.startp = _startpos__1_;
14045 MenhirLib.EngineTypes.endp = _endpos__1_;
14046 MenhirLib.EngineTypes.next = _menhir_stack;
14047 };
14048 } = _menhir_stack in
14049 let parent : (
14050 # 69 "parser_cocci_menhir.mly"
14051 (string)
14052 # 14053 "parser_cocci_menhir.ml"
14053 ) = Obj.magic parent in
14054 let _startpos = _startpos__1_ in
14055 let _endpos = _endpos_parent_ in
14056 let _v : 'tv_extends =
14057 # 241 "parser_cocci_menhir.mly"
14058 ( !Data.install_bindings (parent) )
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 = _2;
14072 MenhirLib.EngineTypes.startp = _startpos__2_;
14073 MenhirLib.EngineTypes.endp = _endpos__2_;
14074 MenhirLib.EngineTypes.next = {
14075 MenhirLib.EngineTypes.state = _menhir_s;
14076 MenhirLib.EngineTypes.semv = _1;
14077 MenhirLib.EngineTypes.startp = _startpos__1_;
14078 MenhirLib.EngineTypes.endp = _endpos__1_;
14079 MenhirLib.EngineTypes.next = _menhir_stack;
14080 };
14081 } = _menhir_stack in
14082 let _2 : (
14083 # 106 "parser_cocci_menhir.mly"
14084 (string * Data.clt)
14085 # 14086 "parser_cocci_menhir.ml"
14086 ) = Obj.magic _2 in
14087 let _1 : (
14088 # 106 "parser_cocci_menhir.mly"
14089 (string * Data.clt)
14090 # 14091 "parser_cocci_menhir.ml"
14091 ) = Obj.magic _1 in
14092 let _startpos = _startpos__1_ in
14093 let _endpos = _endpos__2_ in
14094 let _v : 'tv_filespec =
14095 # 683 "parser_cocci_menhir.mly"
14096 ( [Ast0.wrap
14097 (Ast0.FILEINFO(P.id2mcode _1,
14098 P.id2mcode _2))] )
14099 # 14100 "parser_cocci_menhir.ml"
14100 in
14101 _menhir_env.MenhirLib.EngineTypes.stack <- {
14102 MenhirLib.EngineTypes.state = _menhir_s;
14103 MenhirLib.EngineTypes.semv = Obj.repr _v;
14104 MenhirLib.EngineTypes.startp = _startpos;
14105 MenhirLib.EngineTypes.endp = _endpos;
14106 MenhirLib.EngineTypes.next = _menhir_stack;
14107 });
14108 (fun _menhir_env ->
14109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14110 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14111 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14112 let _endpos = _startpos in
14113 let _v : 'tv_fninfo =
14114 # 822 "parser_cocci_menhir.mly"
14115 ( [] )
14116 # 14117 "parser_cocci_menhir.ml"
14117 in
14118 _menhir_env.MenhirLib.EngineTypes.stack <- {
14119 MenhirLib.EngineTypes.state = _menhir_s;
14120 MenhirLib.EngineTypes.semv = Obj.repr _v;
14121 MenhirLib.EngineTypes.startp = _startpos;
14122 MenhirLib.EngineTypes.endp = _endpos;
14123 MenhirLib.EngineTypes.next = _menhir_stack;
14124 });
14125 (fun _menhir_env ->
14126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14127 let {
14128 MenhirLib.EngineTypes.semv = _2;
14129 MenhirLib.EngineTypes.startp = _startpos__2_;
14130 MenhirLib.EngineTypes.endp = _endpos__2_;
14131 MenhirLib.EngineTypes.next = {
14132 MenhirLib.EngineTypes.state = _menhir_s;
14133 MenhirLib.EngineTypes.semv = _1;
14134 MenhirLib.EngineTypes.startp = _startpos__1_;
14135 MenhirLib.EngineTypes.endp = _endpos__1_;
14136 MenhirLib.EngineTypes.next = _menhir_stack;
14137 };
14138 } = _menhir_stack in
14139 let _2 : 'tv_fninfo = Obj.magic _2 in
14140 let _1 : 'tv_storage = Obj.magic _1 in
14141 let _startpos = _startpos__1_ in
14142 let _endpos = _endpos__2_ in
14143 let _v : 'tv_fninfo =
14144 # 824 "parser_cocci_menhir.mly"
14145 ( try
14146 let _ =
14147 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14148 raise (Semantic_cocci.Semantic "duplicate storage")
14149 with Not_found -> (Ast0.FStorage(_1))::_2 )
14150 # 14151 "parser_cocci_menhir.ml"
14151 in
14152 _menhir_env.MenhirLib.EngineTypes.stack <- {
14153 MenhirLib.EngineTypes.state = _menhir_s;
14154 MenhirLib.EngineTypes.semv = Obj.repr _v;
14155 MenhirLib.EngineTypes.startp = _startpos;
14156 MenhirLib.EngineTypes.endp = _endpos;
14157 MenhirLib.EngineTypes.next = _menhir_stack;
14158 });
14159 (fun _menhir_env ->
14160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14161 let {
14162 MenhirLib.EngineTypes.semv = r;
14163 MenhirLib.EngineTypes.startp = _startpos_r_;
14164 MenhirLib.EngineTypes.endp = _endpos_r_;
14165 MenhirLib.EngineTypes.next = {
14166 MenhirLib.EngineTypes.state = _menhir_s;
14167 MenhirLib.EngineTypes.semv = t;
14168 MenhirLib.EngineTypes.startp = _startpos_t_;
14169 MenhirLib.EngineTypes.endp = _endpos_t_;
14170 MenhirLib.EngineTypes.next = _menhir_stack;
14171 };
14172 } = _menhir_stack in
14173 let r : 'tv_fninfo_nt = Obj.magic r in
14174 let t : 'tv_ctype = Obj.magic t in
14175 let _startpos = _startpos_t_ in
14176 let _endpos = _endpos_r_ in
14177 let _v : 'tv_fninfo =
14178 # 829 "parser_cocci_menhir.mly"
14179 ( (Ast0.FType(t))::r )
14180 # 14181 "parser_cocci_menhir.ml"
14181 in
14182 _menhir_env.MenhirLib.EngineTypes.stack <- {
14183 MenhirLib.EngineTypes.state = _menhir_s;
14184 MenhirLib.EngineTypes.semv = Obj.repr _v;
14185 MenhirLib.EngineTypes.startp = _startpos;
14186 MenhirLib.EngineTypes.endp = _endpos;
14187 MenhirLib.EngineTypes.next = _menhir_stack;
14188 });
14189 (fun _menhir_env ->
14190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14191 let {
14192 MenhirLib.EngineTypes.semv = _2;
14193 MenhirLib.EngineTypes.startp = _startpos__2_;
14194 MenhirLib.EngineTypes.endp = _endpos__2_;
14195 MenhirLib.EngineTypes.next = {
14196 MenhirLib.EngineTypes.state = _menhir_s;
14197 MenhirLib.EngineTypes.semv = _1;
14198 MenhirLib.EngineTypes.startp = _startpos__1_;
14199 MenhirLib.EngineTypes.endp = _endpos__1_;
14200 MenhirLib.EngineTypes.next = _menhir_stack;
14201 };
14202 } = _menhir_stack in
14203 let _2 : 'tv_fninfo = Obj.magic _2 in
14204 let _1 : (
14205 # 75 "parser_cocci_menhir.mly"
14206 (Data.clt)
14207 # 14208 "parser_cocci_menhir.ml"
14208 ) = Obj.magic _1 in
14209 let _startpos = _startpos__1_ in
14210 let _endpos = _endpos__2_ in
14211 let _v : 'tv_fninfo =
14212 # 831 "parser_cocci_menhir.mly"
14213 ( try
14214 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14215 raise (Semantic_cocci.Semantic "duplicate inline")
14216 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14217 # 14218 "parser_cocci_menhir.ml"
14218 in
14219 _menhir_env.MenhirLib.EngineTypes.stack <- {
14220 MenhirLib.EngineTypes.state = _menhir_s;
14221 MenhirLib.EngineTypes.semv = Obj.repr _v;
14222 MenhirLib.EngineTypes.startp = _startpos;
14223 MenhirLib.EngineTypes.endp = _endpos;
14224 MenhirLib.EngineTypes.next = _menhir_stack;
14225 });
14226 (fun _menhir_env ->
14227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14228 let {
14229 MenhirLib.EngineTypes.semv = _2;
14230 MenhirLib.EngineTypes.startp = _startpos__2_;
14231 MenhirLib.EngineTypes.endp = _endpos__2_;
14232 MenhirLib.EngineTypes.next = {
14233 MenhirLib.EngineTypes.state = _menhir_s;
14234 MenhirLib.EngineTypes.semv = _1;
14235 MenhirLib.EngineTypes.startp = _startpos__1_;
14236 MenhirLib.EngineTypes.endp = _endpos__1_;
14237 MenhirLib.EngineTypes.next = _menhir_stack;
14238 };
14239 } = _menhir_stack in
14240 let _2 : 'tv_fninfo = Obj.magic _2 in
14241 let _1 : (
14242 # 77 "parser_cocci_menhir.mly"
14243 (string * Data.clt)
14244 # 14245 "parser_cocci_menhir.ml"
14245 ) = Obj.magic _1 in
14246 let _startpos = _startpos__1_ in
14247 let _endpos = _endpos__2_ in
14248 let _v : 'tv_fninfo =
14249 # 836 "parser_cocci_menhir.mly"
14250 ( try
14251 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14252 raise (Semantic_cocci.Semantic "multiple attributes")
14253 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14254 # 14255 "parser_cocci_menhir.ml"
14255 in
14256 _menhir_env.MenhirLib.EngineTypes.stack <- {
14257 MenhirLib.EngineTypes.state = _menhir_s;
14258 MenhirLib.EngineTypes.semv = Obj.repr _v;
14259 MenhirLib.EngineTypes.startp = _startpos;
14260 MenhirLib.EngineTypes.endp = _endpos;
14261 MenhirLib.EngineTypes.next = _menhir_stack;
14262 });
14263 (fun _menhir_env ->
14264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14265 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14266 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14267 let _endpos = _startpos in
14268 let _v : 'tv_fninfo_nt =
14269 # 842 "parser_cocci_menhir.mly"
14270 ( [] )
14271 # 14272 "parser_cocci_menhir.ml"
14272 in
14273 _menhir_env.MenhirLib.EngineTypes.stack <- {
14274 MenhirLib.EngineTypes.state = _menhir_s;
14275 MenhirLib.EngineTypes.semv = Obj.repr _v;
14276 MenhirLib.EngineTypes.startp = _startpos;
14277 MenhirLib.EngineTypes.endp = _endpos;
14278 MenhirLib.EngineTypes.next = _menhir_stack;
14279 });
14280 (fun _menhir_env ->
14281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14282 let {
14283 MenhirLib.EngineTypes.semv = _2;
14284 MenhirLib.EngineTypes.startp = _startpos__2_;
14285 MenhirLib.EngineTypes.endp = _endpos__2_;
14286 MenhirLib.EngineTypes.next = {
14287 MenhirLib.EngineTypes.state = _menhir_s;
14288 MenhirLib.EngineTypes.semv = _1;
14289 MenhirLib.EngineTypes.startp = _startpos__1_;
14290 MenhirLib.EngineTypes.endp = _endpos__1_;
14291 MenhirLib.EngineTypes.next = _menhir_stack;
14292 };
14293 } = _menhir_stack in
14294 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14295 let _1 : 'tv_storage = Obj.magic _1 in
14296 let _startpos = _startpos__1_ in
14297 let _endpos = _endpos__2_ in
14298 let _v : 'tv_fninfo_nt =
14299 # 844 "parser_cocci_menhir.mly"
14300 ( try
14301 let _ =
14302 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14303 raise (Semantic_cocci.Semantic "duplicate storage")
14304 with Not_found -> (Ast0.FStorage(_1))::_2 )
14305 # 14306 "parser_cocci_menhir.ml"
14306 in
14307 _menhir_env.MenhirLib.EngineTypes.stack <- {
14308 MenhirLib.EngineTypes.state = _menhir_s;
14309 MenhirLib.EngineTypes.semv = Obj.repr _v;
14310 MenhirLib.EngineTypes.startp = _startpos;
14311 MenhirLib.EngineTypes.endp = _endpos;
14312 MenhirLib.EngineTypes.next = _menhir_stack;
14313 });
14314 (fun _menhir_env ->
14315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14316 let {
14317 MenhirLib.EngineTypes.semv = _2;
14318 MenhirLib.EngineTypes.startp = _startpos__2_;
14319 MenhirLib.EngineTypes.endp = _endpos__2_;
14320 MenhirLib.EngineTypes.next = {
14321 MenhirLib.EngineTypes.state = _menhir_s;
14322 MenhirLib.EngineTypes.semv = _1;
14323 MenhirLib.EngineTypes.startp = _startpos__1_;
14324 MenhirLib.EngineTypes.endp = _endpos__1_;
14325 MenhirLib.EngineTypes.next = _menhir_stack;
14326 };
14327 } = _menhir_stack in
14328 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14329 let _1 : (
14330 # 75 "parser_cocci_menhir.mly"
14331 (Data.clt)
14332 # 14333 "parser_cocci_menhir.ml"
14333 ) = Obj.magic _1 in
14334 let _startpos = _startpos__1_ in
14335 let _endpos = _endpos__2_ in
14336 let _v : 'tv_fninfo_nt =
14337 # 850 "parser_cocci_menhir.mly"
14338 ( try
14339 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14340 raise (Semantic_cocci.Semantic "duplicate inline")
14341 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14342 # 14343 "parser_cocci_menhir.ml"
14343 in
14344 _menhir_env.MenhirLib.EngineTypes.stack <- {
14345 MenhirLib.EngineTypes.state = _menhir_s;
14346 MenhirLib.EngineTypes.semv = Obj.repr _v;
14347 MenhirLib.EngineTypes.startp = _startpos;
14348 MenhirLib.EngineTypes.endp = _endpos;
14349 MenhirLib.EngineTypes.next = _menhir_stack;
14350 });
14351 (fun _menhir_env ->
14352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14353 let {
14354 MenhirLib.EngineTypes.semv = _2;
14355 MenhirLib.EngineTypes.startp = _startpos__2_;
14356 MenhirLib.EngineTypes.endp = _endpos__2_;
14357 MenhirLib.EngineTypes.next = {
14358 MenhirLib.EngineTypes.state = _menhir_s;
14359 MenhirLib.EngineTypes.semv = _1;
14360 MenhirLib.EngineTypes.startp = _startpos__1_;
14361 MenhirLib.EngineTypes.endp = _endpos__1_;
14362 MenhirLib.EngineTypes.next = _menhir_stack;
14363 };
14364 } = _menhir_stack in
14365 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14366 let _1 : (
14367 # 77 "parser_cocci_menhir.mly"
14368 (string * Data.clt)
14369 # 14370 "parser_cocci_menhir.ml"
14370 ) = Obj.magic _1 in
14371 let _startpos = _startpos__1_ in
14372 let _endpos = _endpos__2_ in
14373 let _v : 'tv_fninfo_nt =
14374 # 855 "parser_cocci_menhir.mly"
14375 ( try
14376 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14377 raise (Semantic_cocci.Semantic "duplicate init")
14378 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14379 # 14380 "parser_cocci_menhir.ml"
14380 in
14381 _menhir_env.MenhirLib.EngineTypes.stack <- {
14382 MenhirLib.EngineTypes.state = _menhir_s;
14383 MenhirLib.EngineTypes.semv = Obj.repr _v;
14384 MenhirLib.EngineTypes.startp = _startpos;
14385 MenhirLib.EngineTypes.endp = _endpos;
14386 MenhirLib.EngineTypes.next = _menhir_stack;
14387 });
14388 (fun _menhir_env ->
14389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14390 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14391 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14392 let _endpos = _startpos in
14393 let _v : 'tv_fun_after_dots =
14394 # 1886 "parser_cocci_menhir.mly"
14395 ([])
14396 # 14397 "parser_cocci_menhir.ml"
14397 in
14398 _menhir_env.MenhirLib.EngineTypes.stack <- {
14399 MenhirLib.EngineTypes.state = _menhir_s;
14400 MenhirLib.EngineTypes.semv = Obj.repr _v;
14401 MenhirLib.EngineTypes.startp = _startpos;
14402 MenhirLib.EngineTypes.endp = _endpos;
14403 MenhirLib.EngineTypes.next = _menhir_stack;
14404 });
14405 (fun _menhir_env ->
14406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14407 let {
14408 MenhirLib.EngineTypes.semv = _2;
14409 MenhirLib.EngineTypes.startp = _startpos__2_;
14410 MenhirLib.EngineTypes.endp = _endpos__2_;
14411 MenhirLib.EngineTypes.next = {
14412 MenhirLib.EngineTypes.state = _menhir_s;
14413 MenhirLib.EngineTypes.startp = _startpos__1_;
14414 MenhirLib.EngineTypes.endp = _endpos__1_;
14415 MenhirLib.EngineTypes.next = _menhir_stack;
14416 };
14417 } = _menhir_stack in
14418 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14419 let _startpos = _startpos__1_ in
14420 let _endpos = _endpos__2_ in
14421 let _v : 'tv_fun_after_dots =
14422 # 1887 "parser_cocci_menhir.mly"
14423 (_2)
14424 # 14425 "parser_cocci_menhir.ml"
14425 in
14426 _menhir_env.MenhirLib.EngineTypes.stack <- {
14427 MenhirLib.EngineTypes.state = _menhir_s;
14428 MenhirLib.EngineTypes.semv = Obj.repr _v;
14429 MenhirLib.EngineTypes.startp = _startpos;
14430 MenhirLib.EngineTypes.endp = _endpos;
14431 MenhirLib.EngineTypes.next = _menhir_stack;
14432 });
14433 (fun _menhir_env ->
14434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14435 let {
14436 MenhirLib.EngineTypes.semv = _2;
14437 MenhirLib.EngineTypes.startp = _startpos__2_;
14438 MenhirLib.EngineTypes.endp = _endpos__2_;
14439 MenhirLib.EngineTypes.next = {
14440 MenhirLib.EngineTypes.state = _menhir_s;
14441 MenhirLib.EngineTypes.semv = _1;
14442 MenhirLib.EngineTypes.startp = _startpos__1_;
14443 MenhirLib.EngineTypes.endp = _endpos__1_;
14444 MenhirLib.EngineTypes.next = _menhir_stack;
14445 };
14446 } = _menhir_stack in
14447 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14448 let _1 : 'tv_expr = Obj.magic _1 in
14449 let _startpos = _startpos__1_ in
14450 let _endpos = _endpos__2_ in
14451 let _v : 'tv_fun_after_dots =
14452 # 1888 "parser_cocci_menhir.mly"
14453 (Ast0.wrap(Ast0.Exp(_1))::_2)
14454 # 14455 "parser_cocci_menhir.ml"
14455 in
14456 _menhir_env.MenhirLib.EngineTypes.stack <- {
14457 MenhirLib.EngineTypes.state = _menhir_s;
14458 MenhirLib.EngineTypes.semv = Obj.repr _v;
14459 MenhirLib.EngineTypes.startp = _startpos;
14460 MenhirLib.EngineTypes.endp = _endpos;
14461 MenhirLib.EngineTypes.next = _menhir_stack;
14462 });
14463 (fun _menhir_env ->
14464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14465 let {
14466 MenhirLib.EngineTypes.semv = _2;
14467 MenhirLib.EngineTypes.startp = _startpos__2_;
14468 MenhirLib.EngineTypes.endp = _endpos__2_;
14469 MenhirLib.EngineTypes.next = {
14470 MenhirLib.EngineTypes.state = _menhir_s;
14471 MenhirLib.EngineTypes.semv = _1;
14472 MenhirLib.EngineTypes.startp = _startpos__1_;
14473 MenhirLib.EngineTypes.endp = _endpos__1_;
14474 MenhirLib.EngineTypes.next = _menhir_stack;
14475 };
14476 } = _menhir_stack in
14477 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14478 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14479 let _startpos = _startpos__1_ in
14480 let _endpos = _endpos__2_ in
14481 let _v : 'tv_fun_after_dots =
14482 # 1889 "parser_cocci_menhir.mly"
14483 (_1@_2)
14484 # 14485 "parser_cocci_menhir.ml"
14485 in
14486 _menhir_env.MenhirLib.EngineTypes.stack <- {
14487 MenhirLib.EngineTypes.state = _menhir_s;
14488 MenhirLib.EngineTypes.semv = Obj.repr _v;
14489 MenhirLib.EngineTypes.startp = _startpos;
14490 MenhirLib.EngineTypes.endp = _endpos;
14491 MenhirLib.EngineTypes.next = _menhir_stack;
14492 });
14493 (fun _menhir_env ->
14494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14495 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14496 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14497 let _endpos = _startpos in
14498 let _v : 'tv_fun_after_dots_or =
14499 # 1896 "parser_cocci_menhir.mly"
14500 ([])
14501 # 14502 "parser_cocci_menhir.ml"
14502 in
14503 _menhir_env.MenhirLib.EngineTypes.stack <- {
14504 MenhirLib.EngineTypes.state = _menhir_s;
14505 MenhirLib.EngineTypes.semv = Obj.repr _v;
14506 MenhirLib.EngineTypes.startp = _startpos;
14507 MenhirLib.EngineTypes.endp = _endpos;
14508 MenhirLib.EngineTypes.next = _menhir_stack;
14509 });
14510 (fun _menhir_env ->
14511 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14512 let {
14513 MenhirLib.EngineTypes.semv = _2;
14514 MenhirLib.EngineTypes.startp = _startpos__2_;
14515 MenhirLib.EngineTypes.endp = _endpos__2_;
14516 MenhirLib.EngineTypes.next = {
14517 MenhirLib.EngineTypes.state = _menhir_s;
14518 MenhirLib.EngineTypes.startp = _startpos__1_;
14519 MenhirLib.EngineTypes.endp = _endpos__1_;
14520 MenhirLib.EngineTypes.next = _menhir_stack;
14521 };
14522 } = _menhir_stack in
14523 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14524 let _startpos = _startpos__1_ in
14525 let _endpos = _endpos__2_ in
14526 let _v : 'tv_fun_after_dots_or =
14527 # 1897 "parser_cocci_menhir.mly"
14528 (_2)
14529 # 14530 "parser_cocci_menhir.ml"
14530 in
14531 _menhir_env.MenhirLib.EngineTypes.stack <- {
14532 MenhirLib.EngineTypes.state = _menhir_s;
14533 MenhirLib.EngineTypes.semv = Obj.repr _v;
14534 MenhirLib.EngineTypes.startp = _startpos;
14535 MenhirLib.EngineTypes.endp = _endpos;
14536 MenhirLib.EngineTypes.next = _menhir_stack;
14537 });
14538 (fun _menhir_env ->
14539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14540 let {
14541 MenhirLib.EngineTypes.semv = _2;
14542 MenhirLib.EngineTypes.startp = _startpos__2_;
14543 MenhirLib.EngineTypes.endp = _endpos__2_;
14544 MenhirLib.EngineTypes.next = {
14545 MenhirLib.EngineTypes.state = _menhir_s;
14546 MenhirLib.EngineTypes.semv = _1;
14547 MenhirLib.EngineTypes.startp = _startpos__1_;
14548 MenhirLib.EngineTypes.endp = _endpos__1_;
14549 MenhirLib.EngineTypes.next = _menhir_stack;
14550 };
14551 } = _menhir_stack in
14552 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14553 let _1 : 'tv_expr = Obj.magic _1 in
14554 let _startpos = _startpos__1_ in
14555 let _endpos = _endpos__2_ in
14556 let _v : 'tv_fun_after_dots_or =
14557 # 1898 "parser_cocci_menhir.mly"
14558 (Ast0.wrap(Ast0.Exp(_1))::_2)
14559 # 14560 "parser_cocci_menhir.ml"
14560 in
14561 _menhir_env.MenhirLib.EngineTypes.stack <- {
14562 MenhirLib.EngineTypes.state = _menhir_s;
14563 MenhirLib.EngineTypes.semv = Obj.repr _v;
14564 MenhirLib.EngineTypes.startp = _startpos;
14565 MenhirLib.EngineTypes.endp = _endpos;
14566 MenhirLib.EngineTypes.next = _menhir_stack;
14567 });
14568 (fun _menhir_env ->
14569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14570 let {
14571 MenhirLib.EngineTypes.semv = _2;
14572 MenhirLib.EngineTypes.startp = _startpos__2_;
14573 MenhirLib.EngineTypes.endp = _endpos__2_;
14574 MenhirLib.EngineTypes.next = {
14575 MenhirLib.EngineTypes.state = _menhir_s;
14576 MenhirLib.EngineTypes.semv = _1;
14577 MenhirLib.EngineTypes.startp = _startpos__1_;
14578 MenhirLib.EngineTypes.endp = _endpos__1_;
14579 MenhirLib.EngineTypes.next = _menhir_stack;
14580 };
14581 } = _menhir_stack in
14582 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14583 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14584 let _startpos = _startpos__1_ in
14585 let _endpos = _endpos__2_ in
14586 let _v : 'tv_fun_after_dots_or =
14587 # 1899 "parser_cocci_menhir.mly"
14588 (_1@_2)
14589 # 14590 "parser_cocci_menhir.ml"
14590 in
14591 _menhir_env.MenhirLib.EngineTypes.stack <- {
14592 MenhirLib.EngineTypes.state = _menhir_s;
14593 MenhirLib.EngineTypes.semv = Obj.repr _v;
14594 MenhirLib.EngineTypes.startp = _startpos;
14595 MenhirLib.EngineTypes.endp = _endpos;
14596 MenhirLib.EngineTypes.next = _menhir_stack;
14597 });
14598 (fun _menhir_env ->
14599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14600 let {
14601 MenhirLib.EngineTypes.semv = _2;
14602 MenhirLib.EngineTypes.startp = _startpos__2_;
14603 MenhirLib.EngineTypes.endp = _endpos__2_;
14604 MenhirLib.EngineTypes.next = {
14605 MenhirLib.EngineTypes.state = _menhir_s;
14606 MenhirLib.EngineTypes.semv = _1;
14607 MenhirLib.EngineTypes.startp = _startpos__1_;
14608 MenhirLib.EngineTypes.endp = _endpos__1_;
14609 MenhirLib.EngineTypes.next = _menhir_stack;
14610 };
14611 } = _menhir_stack in
14612 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14613 let _1 : 'tv_stm_dots = Obj.magic _1 in
14614 let _startpos = _startpos__1_ in
14615 let _endpos = _endpos__2_ in
14616 let _v : 'tv_fun_after_exp =
14617 # 1892 "parser_cocci_menhir.mly"
14618 (_1::_2)
14619 # 14620 "parser_cocci_menhir.ml"
14620 in
14621 _menhir_env.MenhirLib.EngineTypes.stack <- {
14622 MenhirLib.EngineTypes.state = _menhir_s;
14623 MenhirLib.EngineTypes.semv = Obj.repr _v;
14624 MenhirLib.EngineTypes.startp = _startpos;
14625 MenhirLib.EngineTypes.endp = _endpos;
14626 MenhirLib.EngineTypes.next = _menhir_stack;
14627 });
14628 (fun _menhir_env ->
14629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14630 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14631 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14632 let _endpos = _startpos in
14633 let _v : 'tv_fun_after_exp_or =
14634 # 1902 "parser_cocci_menhir.mly"
14635 ([])
14636 # 14637 "parser_cocci_menhir.ml"
14637 in
14638 _menhir_env.MenhirLib.EngineTypes.stack <- {
14639 MenhirLib.EngineTypes.state = _menhir_s;
14640 MenhirLib.EngineTypes.semv = Obj.repr _v;
14641 MenhirLib.EngineTypes.startp = _startpos;
14642 MenhirLib.EngineTypes.endp = _endpos;
14643 MenhirLib.EngineTypes.next = _menhir_stack;
14644 });
14645 (fun _menhir_env ->
14646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14647 let {
14648 MenhirLib.EngineTypes.semv = _2;
14649 MenhirLib.EngineTypes.startp = _startpos__2_;
14650 MenhirLib.EngineTypes.endp = _endpos__2_;
14651 MenhirLib.EngineTypes.next = {
14652 MenhirLib.EngineTypes.state = _menhir_s;
14653 MenhirLib.EngineTypes.semv = _1;
14654 MenhirLib.EngineTypes.startp = _startpos__1_;
14655 MenhirLib.EngineTypes.endp = _endpos__1_;
14656 MenhirLib.EngineTypes.next = _menhir_stack;
14657 };
14658 } = _menhir_stack in
14659 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14660 let _1 : 'tv_stm_dots = Obj.magic _1 in
14661 let _startpos = _startpos__1_ in
14662 let _endpos = _endpos__2_ in
14663 let _v : 'tv_fun_after_exp_or =
14664 # 1903 "parser_cocci_menhir.mly"
14665 (_1::_2)
14666 # 14667 "parser_cocci_menhir.ml"
14667 in
14668 _menhir_env.MenhirLib.EngineTypes.stack <- {
14669 MenhirLib.EngineTypes.state = _menhir_s;
14670 MenhirLib.EngineTypes.semv = Obj.repr _v;
14671 MenhirLib.EngineTypes.startp = _startpos;
14672 MenhirLib.EngineTypes.endp = _endpos;
14673 MenhirLib.EngineTypes.next = _menhir_stack;
14674 });
14675 (fun _menhir_env ->
14676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14677 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14678 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14679 let _endpos = _startpos in
14680 let _v : 'tv_fun_after_stm =
14681 # 1881 "parser_cocci_menhir.mly"
14682 ([])
14683 # 14684 "parser_cocci_menhir.ml"
14684 in
14685 _menhir_env.MenhirLib.EngineTypes.stack <- {
14686 MenhirLib.EngineTypes.state = _menhir_s;
14687 MenhirLib.EngineTypes.semv = Obj.repr _v;
14688 MenhirLib.EngineTypes.startp = _startpos;
14689 MenhirLib.EngineTypes.endp = _endpos;
14690 MenhirLib.EngineTypes.next = _menhir_stack;
14691 });
14692 (fun _menhir_env ->
14693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14694 let {
14695 MenhirLib.EngineTypes.semv = _2;
14696 MenhirLib.EngineTypes.startp = _startpos__2_;
14697 MenhirLib.EngineTypes.endp = _endpos__2_;
14698 MenhirLib.EngineTypes.next = {
14699 MenhirLib.EngineTypes.state = _menhir_s;
14700 MenhirLib.EngineTypes.semv = _1;
14701 MenhirLib.EngineTypes.startp = _startpos__1_;
14702 MenhirLib.EngineTypes.endp = _endpos__1_;
14703 MenhirLib.EngineTypes.next = _menhir_stack;
14704 };
14705 } = _menhir_stack in
14706 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14707 let _1 : 'tv_stm_dots = Obj.magic _1 in
14708 let _startpos = _startpos__1_ in
14709 let _endpos = _endpos__2_ in
14710 let _v : 'tv_fun_after_stm =
14711 # 1882 "parser_cocci_menhir.mly"
14712 (_1::_2)
14713 # 14714 "parser_cocci_menhir.ml"
14714 in
14715 _menhir_env.MenhirLib.EngineTypes.stack <- {
14716 MenhirLib.EngineTypes.state = _menhir_s;
14717 MenhirLib.EngineTypes.semv = Obj.repr _v;
14718 MenhirLib.EngineTypes.startp = _startpos;
14719 MenhirLib.EngineTypes.endp = _endpos;
14720 MenhirLib.EngineTypes.next = _menhir_stack;
14721 });
14722 (fun _menhir_env ->
14723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14724 let {
14725 MenhirLib.EngineTypes.semv = _2;
14726 MenhirLib.EngineTypes.startp = _startpos__2_;
14727 MenhirLib.EngineTypes.endp = _endpos__2_;
14728 MenhirLib.EngineTypes.next = {
14729 MenhirLib.EngineTypes.state = _menhir_s;
14730 MenhirLib.EngineTypes.semv = _1;
14731 MenhirLib.EngineTypes.startp = _startpos__1_;
14732 MenhirLib.EngineTypes.endp = _endpos__1_;
14733 MenhirLib.EngineTypes.next = _menhir_stack;
14734 };
14735 } = _menhir_stack in
14736 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14737 let _1 : 'tv_decl_statement = Obj.magic _1 in
14738 let _startpos = _startpos__1_ in
14739 let _endpos = _endpos__2_ in
14740 let _v : 'tv_fun_after_stm =
14741 # 1883 "parser_cocci_menhir.mly"
14742 (_1@_2)
14743 # 14744 "parser_cocci_menhir.ml"
14744 in
14745 _menhir_env.MenhirLib.EngineTypes.stack <- {
14746 MenhirLib.EngineTypes.state = _menhir_s;
14747 MenhirLib.EngineTypes.semv = Obj.repr _v;
14748 MenhirLib.EngineTypes.startp = _startpos;
14749 MenhirLib.EngineTypes.endp = _endpos;
14750 MenhirLib.EngineTypes.next = _menhir_stack;
14751 });
14752 (fun _menhir_env ->
14753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14754 let {
14755 MenhirLib.EngineTypes.state = _menhir_s;
14756 MenhirLib.EngineTypes.semv = _1;
14757 MenhirLib.EngineTypes.startp = _startpos__1_;
14758 MenhirLib.EngineTypes.endp = _endpos__1_;
14759 MenhirLib.EngineTypes.next = _menhir_stack;
14760 } = _menhir_stack in
14761 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
14762 let _startpos = _startpos__1_ in
14763 let _endpos = _endpos__1_ in
14764 let _v : 'tv_fun_start =
14765 # 1878 "parser_cocci_menhir.mly"
14766 ( Ast0.wrap(Ast0.DOTS(_1)) )
14767 # 14768 "parser_cocci_menhir.ml"
14768 in
14769 _menhir_env.MenhirLib.EngineTypes.stack <- {
14770 MenhirLib.EngineTypes.state = _menhir_s;
14771 MenhirLib.EngineTypes.semv = Obj.repr _v;
14772 MenhirLib.EngineTypes.startp = _startpos;
14773 MenhirLib.EngineTypes.endp = _endpos;
14774 MenhirLib.EngineTypes.next = _menhir_stack;
14775 });
14776 (fun _menhir_env ->
14777 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14778 let {
14779 MenhirLib.EngineTypes.state = _menhir_s;
14780 MenhirLib.EngineTypes.semv = _1;
14781 MenhirLib.EngineTypes.startp = _startpos__1_;
14782 MenhirLib.EngineTypes.endp = _endpos__1_;
14783 MenhirLib.EngineTypes.next = _menhir_stack;
14784 } = _menhir_stack in
14785 let _1 : 'tv_pure_ident = Obj.magic _1 in
14786 let _startpos = _startpos__1_ in
14787 let _endpos = _endpos__1_ in
14788 let _v : 'tv_func_ident =
14789 # 1676 "parser_cocci_menhir.mly"
14790 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
14791 # 14792 "parser_cocci_menhir.ml"
14792 in
14793 _menhir_env.MenhirLib.EngineTypes.stack <- {
14794 MenhirLib.EngineTypes.state = _menhir_s;
14795 MenhirLib.EngineTypes.semv = Obj.repr _v;
14796 MenhirLib.EngineTypes.startp = _startpos;
14797 MenhirLib.EngineTypes.endp = _endpos;
14798 MenhirLib.EngineTypes.next = _menhir_stack;
14799 });
14800 (fun _menhir_env ->
14801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14802 let {
14803 MenhirLib.EngineTypes.state = _menhir_s;
14804 MenhirLib.EngineTypes.semv = _1;
14805 MenhirLib.EngineTypes.startp = _startpos__1_;
14806 MenhirLib.EngineTypes.endp = _endpos__1_;
14807 MenhirLib.EngineTypes.next = _menhir_stack;
14808 } = _menhir_stack in
14809 let _1 : (
14810 # 84 "parser_cocci_menhir.mly"
14811 (Parse_aux.idinfo)
14812 # 14813 "parser_cocci_menhir.ml"
14813 ) = Obj.magic _1 in
14814 let _startpos = _startpos__1_ in
14815 let _endpos = _endpos__1_ in
14816 let _v : 'tv_func_ident =
14817 # 1678 "parser_cocci_menhir.mly"
14818 ( let (nm,constraints,pure,clt) = _1 in
14819 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
14820 # 14821 "parser_cocci_menhir.ml"
14821 in
14822 _menhir_env.MenhirLib.EngineTypes.stack <- {
14823 MenhirLib.EngineTypes.state = _menhir_s;
14824 MenhirLib.EngineTypes.semv = Obj.repr _v;
14825 MenhirLib.EngineTypes.startp = _startpos;
14826 MenhirLib.EngineTypes.endp = _endpos;
14827 MenhirLib.EngineTypes.next = _menhir_stack;
14828 });
14829 (fun _menhir_env ->
14830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14831 let {
14832 MenhirLib.EngineTypes.state = _menhir_s;
14833 MenhirLib.EngineTypes.semv = _1;
14834 MenhirLib.EngineTypes.startp = _startpos__1_;
14835 MenhirLib.EngineTypes.endp = _endpos__1_;
14836 MenhirLib.EngineTypes.next = _menhir_stack;
14837 } = _menhir_stack in
14838 let _1 : (
14839 # 84 "parser_cocci_menhir.mly"
14840 (Parse_aux.idinfo)
14841 # 14842 "parser_cocci_menhir.ml"
14842 ) = Obj.magic _1 in
14843 let _startpos = _startpos__1_ in
14844 let _endpos = _endpos__1_ in
14845 let _v : 'tv_func_ident =
14846 # 1681 "parser_cocci_menhir.mly"
14847 ( let (nm,constraints,pure,clt) = _1 in
14848 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
14849 # 14850 "parser_cocci_menhir.ml"
14850 in
14851 _menhir_env.MenhirLib.EngineTypes.stack <- {
14852 MenhirLib.EngineTypes.state = _menhir_s;
14853 MenhirLib.EngineTypes.semv = Obj.repr _v;
14854 MenhirLib.EngineTypes.startp = _startpos;
14855 MenhirLib.EngineTypes.endp = _endpos;
14856 MenhirLib.EngineTypes.next = _menhir_stack;
14857 });
14858 (fun _menhir_env ->
14859 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14860 let {
14861 MenhirLib.EngineTypes.state = _menhir_s;
14862 MenhirLib.EngineTypes.semv = _1;
14863 MenhirLib.EngineTypes.startp = _startpos__1_;
14864 MenhirLib.EngineTypes.endp = _endpos__1_;
14865 MenhirLib.EngineTypes.next = _menhir_stack;
14866 } = _menhir_stack in
14867 let _1 : (
14868 # 84 "parser_cocci_menhir.mly"
14869 (Parse_aux.idinfo)
14870 # 14871 "parser_cocci_menhir.ml"
14871 ) = Obj.magic _1 in
14872 let _startpos = _startpos__1_ in
14873 let _endpos = _endpos__1_ in
14874 let _v : 'tv_func_ident =
14875 # 1684 "parser_cocci_menhir.mly"
14876 ( let (nm,constraints,pure,clt) = _1 in
14877 Ast0.wrap
14878 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
14879 # 14880 "parser_cocci_menhir.ml"
14880 in
14881 _menhir_env.MenhirLib.EngineTypes.stack <- {
14882 MenhirLib.EngineTypes.state = _menhir_s;
14883 MenhirLib.EngineTypes.semv = Obj.repr _v;
14884 MenhirLib.EngineTypes.startp = _startpos;
14885 MenhirLib.EngineTypes.endp = _endpos;
14886 MenhirLib.EngineTypes.next = _menhir_stack;
14887 });
14888 (fun _menhir_env ->
14889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14890 let {
14891 MenhirLib.EngineTypes.semv = rb;
14892 MenhirLib.EngineTypes.startp = _startpos_rb_;
14893 MenhirLib.EngineTypes.endp = _endpos_rb_;
14894 MenhirLib.EngineTypes.next = {
14895 MenhirLib.EngineTypes.semv = b;
14896 MenhirLib.EngineTypes.startp = _startpos_b_;
14897 MenhirLib.EngineTypes.endp = _endpos_b_;
14898 MenhirLib.EngineTypes.next = {
14899 MenhirLib.EngineTypes.semv = lb;
14900 MenhirLib.EngineTypes.startp = _startpos_lb_;
14901 MenhirLib.EngineTypes.endp = _endpos_lb_;
14902 MenhirLib.EngineTypes.next = {
14903 MenhirLib.EngineTypes.semv = rp;
14904 MenhirLib.EngineTypes.startp = _startpos_rp_;
14905 MenhirLib.EngineTypes.endp = _endpos_rp_;
14906 MenhirLib.EngineTypes.next = {
14907 MenhirLib.EngineTypes.semv = d;
14908 MenhirLib.EngineTypes.startp = _startpos_d_;
14909 MenhirLib.EngineTypes.endp = _endpos_d_;
14910 MenhirLib.EngineTypes.next = {
14911 MenhirLib.EngineTypes.semv = lp;
14912 MenhirLib.EngineTypes.startp = _startpos_lp_;
14913 MenhirLib.EngineTypes.endp = _endpos_lp_;
14914 MenhirLib.EngineTypes.next = {
14915 MenhirLib.EngineTypes.semv = i;
14916 MenhirLib.EngineTypes.startp = _startpos_i_;
14917 MenhirLib.EngineTypes.endp = _endpos_i_;
14918 MenhirLib.EngineTypes.next = {
14919 MenhirLib.EngineTypes.startp = _startpos__2_;
14920 MenhirLib.EngineTypes.endp = _endpos__2_;
14921 MenhirLib.EngineTypes.next = {
14922 MenhirLib.EngineTypes.state = _menhir_s;
14923 MenhirLib.EngineTypes.semv = f;
14924 MenhirLib.EngineTypes.startp = _startpos_f_;
14925 MenhirLib.EngineTypes.endp = _endpos_f_;
14926 MenhirLib.EngineTypes.next = _menhir_stack;
14927 };
14928 };
14929 };
14930 };
14931 };
14932 };
14933 };
14934 };
14935 } = _menhir_stack in
14936 let rb : (
14937 # 124 "parser_cocci_menhir.mly"
14938 (Data.clt)
14939 # 14940 "parser_cocci_menhir.ml"
14940 ) = Obj.magic rb in
14941 let b : 'tv_fun_start = Obj.magic b in
14942 let lb : (
14943 # 124 "parser_cocci_menhir.mly"
14944 (Data.clt)
14945 # 14946 "parser_cocci_menhir.ml"
14946 ) = Obj.magic lb in
14947 let rp : (
14948 # 100 "parser_cocci_menhir.mly"
14949 (Data.clt)
14950 # 14951 "parser_cocci_menhir.ml"
14951 ) = Obj.magic rp in
14952 let d : 'tv_decl_list_decl_ = Obj.magic d in
14953 let lp : (
14954 # 99 "parser_cocci_menhir.mly"
14955 (Data.clt)
14956 # 14957 "parser_cocci_menhir.ml"
14957 ) = Obj.magic lp in
14958 let i : 'tv_func_ident = Obj.magic i in
14959 let f : 'tv_fninfo = Obj.magic f in
14960 let _startpos = _startpos_f_ in
14961 let _endpos = _endpos_rb_ in
14962 let _v : 'tv_fundecl =
14963 # 813 "parser_cocci_menhir.mly"
14964 ( P.verify_parameter_declarations (Ast0.undots d);
14965 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
14966 f, i,
14967 P.clt2mcode "(" lp, d,
14968 P.clt2mcode ")" rp,
14969 P.clt2mcode "{" lb, b,
14970 P.clt2mcode "}" rb)) )
14971 # 14972 "parser_cocci_menhir.ml"
14972 in
14973 _menhir_env.MenhirLib.EngineTypes.stack <- {
14974 MenhirLib.EngineTypes.state = _menhir_s;
14975 MenhirLib.EngineTypes.semv = Obj.repr _v;
14976 MenhirLib.EngineTypes.startp = _startpos;
14977 MenhirLib.EngineTypes.endp = _endpos;
14978 MenhirLib.EngineTypes.next = _menhir_stack;
14979 });
14980 (fun _menhir_env ->
14981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14982 let {
14983 MenhirLib.EngineTypes.semv = pt;
14984 MenhirLib.EngineTypes.startp = _startpos_pt_;
14985 MenhirLib.EngineTypes.endp = _endpos_pt_;
14986 MenhirLib.EngineTypes.next = {
14987 MenhirLib.EngineTypes.semv = rp;
14988 MenhirLib.EngineTypes.startp = _startpos_rp_;
14989 MenhirLib.EngineTypes.endp = _endpos_rp_;
14990 MenhirLib.EngineTypes.next = {
14991 MenhirLib.EngineTypes.semv = d;
14992 MenhirLib.EngineTypes.startp = _startpos_d_;
14993 MenhirLib.EngineTypes.endp = _endpos_d_;
14994 MenhirLib.EngineTypes.next = {
14995 MenhirLib.EngineTypes.semv = lp;
14996 MenhirLib.EngineTypes.startp = _startpos_lp_;
14997 MenhirLib.EngineTypes.endp = _endpos_lp_;
14998 MenhirLib.EngineTypes.next = {
14999 MenhirLib.EngineTypes.semv = id;
15000 MenhirLib.EngineTypes.startp = _startpos_id_;
15001 MenhirLib.EngineTypes.endp = _endpos_id_;
15002 MenhirLib.EngineTypes.next = {
15003 MenhirLib.EngineTypes.state = _menhir_s;
15004 MenhirLib.EngineTypes.semv = t;
15005 MenhirLib.EngineTypes.startp = _startpos_t_;
15006 MenhirLib.EngineTypes.endp = _endpos_t_;
15007 MenhirLib.EngineTypes.next = _menhir_stack;
15008 };
15009 };
15010 };
15011 };
15012 };
15013 } = _menhir_stack in
15014 let pt : (
15015 # 130 "parser_cocci_menhir.mly"
15016 (Data.clt)
15017 # 15018 "parser_cocci_menhir.ml"
15018 ) = Obj.magic pt in
15019 let rp : (
15020 # 100 "parser_cocci_menhir.mly"
15021 (Data.clt)
15022 # 15023 "parser_cocci_menhir.ml"
15023 ) = Obj.magic rp in
15024 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15025 let lp : (
15026 # 99 "parser_cocci_menhir.mly"
15027 (Data.clt)
15028 # 15029 "parser_cocci_menhir.ml"
15029 ) = Obj.magic lp in
15030 let id : 'tv_func_ident = Obj.magic id in
15031 let t : 'tv_ctype = Obj.magic t in
15032 let _startpos = _startpos_t_ in
15033 let _endpos = _endpos_pt_ in
15034 let _v : 'tv_funproto = let s =
15035
15036 # 39 "standard.mly"
15037 ( None )
15038 # 15039 "parser_cocci_menhir.ml"
15039
15040 in
15041
15042 # 801 "parser_cocci_menhir.mly"
15043 ( Ast0.wrap
15044 (Ast0.UnInit
15045 (s,
15046 Ast0.wrap
15047 (Ast0.FunctionType(Some t,
15048 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15049 id, P.clt2mcode ";" pt)) )
15050 # 15051 "parser_cocci_menhir.ml"
15051 in
15052 _menhir_env.MenhirLib.EngineTypes.stack <- {
15053 MenhirLib.EngineTypes.state = _menhir_s;
15054 MenhirLib.EngineTypes.semv = Obj.repr _v;
15055 MenhirLib.EngineTypes.startp = _startpos;
15056 MenhirLib.EngineTypes.endp = _endpos;
15057 MenhirLib.EngineTypes.next = _menhir_stack;
15058 });
15059 (fun _menhir_env ->
15060 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15061 let {
15062 MenhirLib.EngineTypes.semv = pt;
15063 MenhirLib.EngineTypes.startp = _startpos_pt_;
15064 MenhirLib.EngineTypes.endp = _endpos_pt_;
15065 MenhirLib.EngineTypes.next = {
15066 MenhirLib.EngineTypes.semv = rp;
15067 MenhirLib.EngineTypes.startp = _startpos_rp_;
15068 MenhirLib.EngineTypes.endp = _endpos_rp_;
15069 MenhirLib.EngineTypes.next = {
15070 MenhirLib.EngineTypes.semv = d;
15071 MenhirLib.EngineTypes.startp = _startpos_d_;
15072 MenhirLib.EngineTypes.endp = _endpos_d_;
15073 MenhirLib.EngineTypes.next = {
15074 MenhirLib.EngineTypes.semv = lp;
15075 MenhirLib.EngineTypes.startp = _startpos_lp_;
15076 MenhirLib.EngineTypes.endp = _endpos_lp_;
15077 MenhirLib.EngineTypes.next = {
15078 MenhirLib.EngineTypes.semv = id;
15079 MenhirLib.EngineTypes.startp = _startpos_id_;
15080 MenhirLib.EngineTypes.endp = _endpos_id_;
15081 MenhirLib.EngineTypes.next = {
15082 MenhirLib.EngineTypes.semv = t;
15083 MenhirLib.EngineTypes.startp = _startpos_t_;
15084 MenhirLib.EngineTypes.endp = _endpos_t_;
15085 MenhirLib.EngineTypes.next = {
15086 MenhirLib.EngineTypes.state = _menhir_s;
15087 MenhirLib.EngineTypes.semv = x0;
15088 MenhirLib.EngineTypes.startp = _startpos_x0_;
15089 MenhirLib.EngineTypes.endp = _endpos_x0_;
15090 MenhirLib.EngineTypes.next = _menhir_stack;
15091 };
15092 };
15093 };
15094 };
15095 };
15096 };
15097 } = _menhir_stack in
15098 let pt : (
15099 # 130 "parser_cocci_menhir.mly"
15100 (Data.clt)
15101 # 15102 "parser_cocci_menhir.ml"
15102 ) = Obj.magic pt in
15103 let rp : (
15104 # 100 "parser_cocci_menhir.mly"
15105 (Data.clt)
15106 # 15107 "parser_cocci_menhir.ml"
15107 ) = Obj.magic rp in
15108 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15109 let lp : (
15110 # 99 "parser_cocci_menhir.mly"
15111 (Data.clt)
15112 # 15113 "parser_cocci_menhir.ml"
15113 ) = Obj.magic lp in
15114 let id : 'tv_func_ident = Obj.magic id in
15115 let t : 'tv_ctype = Obj.magic t in
15116 let x0 : 'tv_storage = Obj.magic x0 in
15117 let _startpos = _startpos_x0_ in
15118 let _endpos = _endpos_pt_ in
15119 let _v : 'tv_funproto = let s =
15120 let x = x0 in
15121
15122 # 41 "standard.mly"
15123 ( Some x )
15124 # 15125 "parser_cocci_menhir.ml"
15125
15126 in
15127
15128 # 801 "parser_cocci_menhir.mly"
15129 ( Ast0.wrap
15130 (Ast0.UnInit
15131 (s,
15132 Ast0.wrap
15133 (Ast0.FunctionType(Some t,
15134 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15135 id, P.clt2mcode ";" pt)) )
15136 # 15137 "parser_cocci_menhir.ml"
15137 in
15138 _menhir_env.MenhirLib.EngineTypes.stack <- {
15139 MenhirLib.EngineTypes.state = _menhir_s;
15140 MenhirLib.EngineTypes.semv = Obj.repr _v;
15141 MenhirLib.EngineTypes.startp = _startpos;
15142 MenhirLib.EngineTypes.endp = _endpos;
15143 MenhirLib.EngineTypes.next = _menhir_stack;
15144 });
15145 (fun _menhir_env ->
15146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15147 let {
15148 MenhirLib.EngineTypes.state = _menhir_s;
15149 MenhirLib.EngineTypes.semv = _1;
15150 MenhirLib.EngineTypes.startp = _startpos__1_;
15151 MenhirLib.EngineTypes.endp = _endpos__1_;
15152 MenhirLib.EngineTypes.next = _menhir_stack;
15153 } = _menhir_stack in
15154 let _1 : 'tv_pure_ident = Obj.magic _1 in
15155 let _startpos = _startpos__1_ in
15156 let _endpos = _endpos__1_ in
15157 let _v : 'tv_ident =
15158 # 1689 "parser_cocci_menhir.mly"
15159 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
15160 # 15161 "parser_cocci_menhir.ml"
15161 in
15162 _menhir_env.MenhirLib.EngineTypes.stack <- {
15163 MenhirLib.EngineTypes.state = _menhir_s;
15164 MenhirLib.EngineTypes.semv = Obj.repr _v;
15165 MenhirLib.EngineTypes.startp = _startpos;
15166 MenhirLib.EngineTypes.endp = _endpos;
15167 MenhirLib.EngineTypes.next = _menhir_stack;
15168 });
15169 (fun _menhir_env ->
15170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15171 let {
15172 MenhirLib.EngineTypes.state = _menhir_s;
15173 MenhirLib.EngineTypes.semv = _1;
15174 MenhirLib.EngineTypes.startp = _startpos__1_;
15175 MenhirLib.EngineTypes.endp = _endpos__1_;
15176 MenhirLib.EngineTypes.next = _menhir_stack;
15177 } = _menhir_stack in
15178 let _1 : (
15179 # 84 "parser_cocci_menhir.mly"
15180 (Parse_aux.idinfo)
15181 # 15182 "parser_cocci_menhir.ml"
15182 ) = Obj.magic _1 in
15183 let _startpos = _startpos__1_ in
15184 let _endpos = _endpos__1_ in
15185 let _v : 'tv_ident =
15186 # 1691 "parser_cocci_menhir.mly"
15187 ( let (nm,constraints,pure,clt) = _1 in
15188 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
15189 # 15190 "parser_cocci_menhir.ml"
15190 in
15191 _menhir_env.MenhirLib.EngineTypes.stack <- {
15192 MenhirLib.EngineTypes.state = _menhir_s;
15193 MenhirLib.EngineTypes.semv = Obj.repr _v;
15194 MenhirLib.EngineTypes.startp = _startpos;
15195 MenhirLib.EngineTypes.endp = _endpos;
15196 MenhirLib.EngineTypes.next = _menhir_stack;
15197 });
15198 (fun _menhir_env ->
15199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15200 let {
15201 MenhirLib.EngineTypes.state = _menhir_s;
15202 MenhirLib.EngineTypes.semv = i;
15203 MenhirLib.EngineTypes.startp = _startpos_i_;
15204 MenhirLib.EngineTypes.endp = _endpos_i_;
15205 MenhirLib.EngineTypes.next = _menhir_stack;
15206 } = _menhir_stack in
15207 let i : 'tv_pure_ident = Obj.magic i in
15208 let _startpos = _startpos_i_ in
15209 let _endpos = _endpos_i_ in
15210 let _v : 'tv_ident_or_const =
15211 # 1649 "parser_cocci_menhir.mly"
15212 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
15213 # 15214 "parser_cocci_menhir.ml"
15214 in
15215 _menhir_env.MenhirLib.EngineTypes.stack <- {
15216 MenhirLib.EngineTypes.state = _menhir_s;
15217 MenhirLib.EngineTypes.semv = Obj.repr _v;
15218 MenhirLib.EngineTypes.startp = _startpos;
15219 MenhirLib.EngineTypes.endp = _endpos;
15220 MenhirLib.EngineTypes.next = _menhir_stack;
15221 });
15222 (fun _menhir_env ->
15223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15224 let {
15225 MenhirLib.EngineTypes.state = _menhir_s;
15226 MenhirLib.EngineTypes.semv = _1;
15227 MenhirLib.EngineTypes.startp = _startpos__1_;
15228 MenhirLib.EngineTypes.endp = _endpos__1_;
15229 MenhirLib.EngineTypes.next = _menhir_stack;
15230 } = _menhir_stack in
15231 let _1 : (
15232 # 110 "parser_cocci_menhir.mly"
15233 (string * Data.clt)
15234 # 15235 "parser_cocci_menhir.ml"
15235 ) = Obj.magic _1 in
15236 let _startpos = _startpos__1_ in
15237 let _endpos = _endpos__1_ in
15238 let _v : 'tv_ident_or_const =
15239 # 1651 "parser_cocci_menhir.mly"
15240 ( let (x,clt) = _1 in
15241 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
15242 # 15243 "parser_cocci_menhir.ml"
15243 in
15244 _menhir_env.MenhirLib.EngineTypes.stack <- {
15245 MenhirLib.EngineTypes.state = _menhir_s;
15246 MenhirLib.EngineTypes.semv = Obj.repr _v;
15247 MenhirLib.EngineTypes.startp = _startpos;
15248 MenhirLib.EngineTypes.endp = _endpos;
15249 MenhirLib.EngineTypes.next = _menhir_stack;
15250 });
15251 (fun _menhir_env ->
15252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15253 let {
15254 MenhirLib.EngineTypes.state = _menhir_s;
15255 MenhirLib.EngineTypes.semv = _1;
15256 MenhirLib.EngineTypes.startp = _startpos__1_;
15257 MenhirLib.EngineTypes.endp = _endpos__1_;
15258 MenhirLib.EngineTypes.next = _menhir_stack;
15259 } = _menhir_stack in
15260 let _1 : (
15261 # 103 "parser_cocci_menhir.mly"
15262 (string * Data.clt)
15263 # 15264 "parser_cocci_menhir.ml"
15264 ) = Obj.magic _1 in
15265 let _startpos = _startpos__1_ in
15266 let _endpos = _endpos__1_ in
15267 let _v : 'tv_incl =
15268 # 279 "parser_cocci_menhir.mly"
15269 ( let (x,_) = _1 in Data.Include(x) )
15270 # 15271 "parser_cocci_menhir.ml"
15271 in
15272 _menhir_env.MenhirLib.EngineTypes.stack <- {
15273 MenhirLib.EngineTypes.state = _menhir_s;
15274 MenhirLib.EngineTypes.semv = Obj.repr _v;
15275 MenhirLib.EngineTypes.startp = _startpos;
15276 MenhirLib.EngineTypes.endp = _endpos;
15277 MenhirLib.EngineTypes.next = _menhir_stack;
15278 });
15279 (fun _menhir_env ->
15280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15281 let {
15282 MenhirLib.EngineTypes.semv = _2;
15283 MenhirLib.EngineTypes.startp = _startpos__2_;
15284 MenhirLib.EngineTypes.endp = _endpos__2_;
15285 MenhirLib.EngineTypes.next = {
15286 MenhirLib.EngineTypes.state = _menhir_s;
15287 MenhirLib.EngineTypes.startp = _startpos__1_;
15288 MenhirLib.EngineTypes.endp = _endpos__1_;
15289 MenhirLib.EngineTypes.next = _menhir_stack;
15290 };
15291 } = _menhir_stack in
15292 let _2 : (
15293 # 110 "parser_cocci_menhir.mly"
15294 (string * Data.clt)
15295 # 15296 "parser_cocci_menhir.ml"
15296 ) = Obj.magic _2 in
15297 let _startpos = _startpos__1_ in
15298 let _endpos = _endpos__2_ in
15299 let _v : 'tv_incl =
15300 # 280 "parser_cocci_menhir.mly"
15301 ( Data.Iso(Common.Left(P.id2name _2)) )
15302 # 15303 "parser_cocci_menhir.ml"
15303 in
15304 _menhir_env.MenhirLib.EngineTypes.stack <- {
15305 MenhirLib.EngineTypes.state = _menhir_s;
15306 MenhirLib.EngineTypes.semv = Obj.repr _v;
15307 MenhirLib.EngineTypes.startp = _startpos;
15308 MenhirLib.EngineTypes.endp = _endpos;
15309 MenhirLib.EngineTypes.next = _menhir_stack;
15310 });
15311 (fun _menhir_env ->
15312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15313 let {
15314 MenhirLib.EngineTypes.semv = _2;
15315 MenhirLib.EngineTypes.startp = _startpos__2_;
15316 MenhirLib.EngineTypes.endp = _endpos__2_;
15317 MenhirLib.EngineTypes.next = {
15318 MenhirLib.EngineTypes.state = _menhir_s;
15319 MenhirLib.EngineTypes.startp = _startpos__1_;
15320 MenhirLib.EngineTypes.endp = _endpos__1_;
15321 MenhirLib.EngineTypes.next = _menhir_stack;
15322 };
15323 } = _menhir_stack in
15324 let _2 : (
15325 # 102 "parser_cocci_menhir.mly"
15326 (string)
15327 # 15328 "parser_cocci_menhir.ml"
15328 ) = Obj.magic _2 in
15329 let _startpos = _startpos__1_ in
15330 let _endpos = _endpos__2_ in
15331 let _v : 'tv_incl =
15332 # 281 "parser_cocci_menhir.mly"
15333 ( Data.Iso(Common.Right _2) )
15334 # 15335 "parser_cocci_menhir.ml"
15335 in
15336 _menhir_env.MenhirLib.EngineTypes.stack <- {
15337 MenhirLib.EngineTypes.state = _menhir_s;
15338 MenhirLib.EngineTypes.semv = Obj.repr _v;
15339 MenhirLib.EngineTypes.startp = _startpos;
15340 MenhirLib.EngineTypes.endp = _endpos;
15341 MenhirLib.EngineTypes.next = _menhir_stack;
15342 });
15343 (fun _menhir_env ->
15344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15345 let {
15346 MenhirLib.EngineTypes.semv = _2;
15347 MenhirLib.EngineTypes.startp = _startpos__2_;
15348 MenhirLib.EngineTypes.endp = _endpos__2_;
15349 MenhirLib.EngineTypes.next = {
15350 MenhirLib.EngineTypes.state = _menhir_s;
15351 MenhirLib.EngineTypes.startp = _startpos__1_;
15352 MenhirLib.EngineTypes.endp = _endpos__1_;
15353 MenhirLib.EngineTypes.next = _menhir_stack;
15354 };
15355 } = _menhir_stack in
15356 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
15357 let _startpos = _startpos__1_ in
15358 let _endpos = _endpos__2_ in
15359 let _v : 'tv_incl =
15360 # 283 "parser_cocci_menhir.mly"
15361 ( let names = List.map P.id2name _2 in
15362 (* ensure that the names of virtual and real rules don't overlap *)
15363 List.iter
15364 (function name -> Hashtbl.add Data.all_metadecls name [])
15365 names;
15366 Data.Virt(names) )
15367 # 15368 "parser_cocci_menhir.ml"
15368 in
15369 _menhir_env.MenhirLib.EngineTypes.stack <- {
15370 MenhirLib.EngineTypes.state = _menhir_s;
15371 MenhirLib.EngineTypes.semv = Obj.repr _v;
15372 MenhirLib.EngineTypes.startp = _startpos;
15373 MenhirLib.EngineTypes.endp = _endpos;
15374 MenhirLib.EngineTypes.next = _menhir_stack;
15375 });
15376 (fun _menhir_env ->
15377 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15378 let {
15379 MenhirLib.EngineTypes.startp = _startpos__2_;
15380 MenhirLib.EngineTypes.endp = _endpos__2_;
15381 MenhirLib.EngineTypes.next = {
15382 MenhirLib.EngineTypes.state = _menhir_s;
15383 MenhirLib.EngineTypes.semv = _1;
15384 MenhirLib.EngineTypes.startp = _startpos__1_;
15385 MenhirLib.EngineTypes.endp = _endpos__1_;
15386 MenhirLib.EngineTypes.next = _menhir_stack;
15387 };
15388 } = _menhir_stack in
15389 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15390 let _startpos = _startpos__1_ in
15391 let _endpos = _endpos__2_ in
15392 let _v : (
15393 # 169 "parser_cocci_menhir.mly"
15394 (Data.incl_iso list)
15395 # 15396 "parser_cocci_menhir.ml"
15396 ) =
15397 # 275 "parser_cocci_menhir.mly"
15398 ( _1 )
15399 # 15400 "parser_cocci_menhir.ml"
15400 in
15401 _menhir_env.MenhirLib.EngineTypes.stack <- {
15402 MenhirLib.EngineTypes.state = _menhir_s;
15403 MenhirLib.EngineTypes.semv = Obj.repr _v;
15404 MenhirLib.EngineTypes.startp = _startpos;
15405 MenhirLib.EngineTypes.endp = _endpos;
15406 MenhirLib.EngineTypes.next = _menhir_stack;
15407 });
15408 (fun _menhir_env ->
15409 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15410 let {
15411 MenhirLib.EngineTypes.startp = _startpos__2_;
15412 MenhirLib.EngineTypes.endp = _endpos__2_;
15413 MenhirLib.EngineTypes.next = {
15414 MenhirLib.EngineTypes.state = _menhir_s;
15415 MenhirLib.EngineTypes.semv = _1;
15416 MenhirLib.EngineTypes.startp = _startpos__1_;
15417 MenhirLib.EngineTypes.endp = _endpos__1_;
15418 MenhirLib.EngineTypes.next = _menhir_stack;
15419 };
15420 } = _menhir_stack in
15421 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15422 let _startpos = _startpos__1_ in
15423 let _endpos = _endpos__2_ in
15424 let _v : (
15425 # 169 "parser_cocci_menhir.mly"
15426 (Data.incl_iso list)
15427 # 15428 "parser_cocci_menhir.ml"
15428 ) =
15429 # 276 "parser_cocci_menhir.mly"
15430 ( _1 )
15431 # 15432 "parser_cocci_menhir.ml"
15432 in
15433 _menhir_env.MenhirLib.EngineTypes.stack <- {
15434 MenhirLib.EngineTypes.state = _menhir_s;
15435 MenhirLib.EngineTypes.semv = Obj.repr _v;
15436 MenhirLib.EngineTypes.startp = _startpos;
15437 MenhirLib.EngineTypes.endp = _endpos;
15438 MenhirLib.EngineTypes.next = _menhir_stack;
15439 });
15440 (fun _menhir_env ->
15441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15442 let {
15443 MenhirLib.EngineTypes.state = _menhir_s;
15444 MenhirLib.EngineTypes.semv = _1;
15445 MenhirLib.EngineTypes.startp = _startpos__1_;
15446 MenhirLib.EngineTypes.endp = _endpos__1_;
15447 MenhirLib.EngineTypes.next = _menhir_stack;
15448 } = _menhir_stack in
15449 let _1 : (
15450 # 103 "parser_cocci_menhir.mly"
15451 (string * Data.clt)
15452 # 15453 "parser_cocci_menhir.ml"
15453 ) = Obj.magic _1 in
15454 let _startpos = _startpos__1_ in
15455 let _endpos = _endpos__1_ in
15456 let _v : 'tv_includes =
15457 # 689 "parser_cocci_menhir.mly"
15458 ( Ast0.wrap
15459 (Ast0.Include(P.clt2mcode "#include"
15460 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15461 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15462 P.id2clt _1 in
15463 let clt =
15464 (arity,ln,lln,offset,0,strbef,straft,pos) in
15465 P.clt2mcode
15466 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
15467 (P.drop_bef clt))) )
15468 # 15469 "parser_cocci_menhir.ml"
15469 in
15470 _menhir_env.MenhirLib.EngineTypes.stack <- {
15471 MenhirLib.EngineTypes.state = _menhir_s;
15472 MenhirLib.EngineTypes.semv = Obj.repr _v;
15473 MenhirLib.EngineTypes.startp = _startpos;
15474 MenhirLib.EngineTypes.endp = _endpos;
15475 MenhirLib.EngineTypes.next = _menhir_stack;
15476 });
15477 (fun _menhir_env ->
15478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15479 let {
15480 MenhirLib.EngineTypes.state = _menhir_s;
15481 MenhirLib.EngineTypes.semv = _1;
15482 MenhirLib.EngineTypes.startp = _startpos__1_;
15483 MenhirLib.EngineTypes.endp = _endpos__1_;
15484 MenhirLib.EngineTypes.next = _menhir_stack;
15485 } = _menhir_stack in
15486 let _1 : (
15487 # 103 "parser_cocci_menhir.mly"
15488 (string * Data.clt)
15489 # 15490 "parser_cocci_menhir.ml"
15490 ) = Obj.magic _1 in
15491 let _startpos = _startpos__1_ in
15492 let _endpos = _endpos__1_ in
15493 let _v : 'tv_includes =
15494 # 700 "parser_cocci_menhir.mly"
15495 ( Ast0.wrap
15496 (Ast0.Include(P.clt2mcode "#include"
15497 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15498 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15499 P.id2clt _1 in
15500 let clt =
15501 (arity,ln,lln,offset,0,strbef,straft,pos) in
15502 P.clt2mcode
15503 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
15504 (P.drop_bef clt))) )
15505 # 15506 "parser_cocci_menhir.ml"
15506 in
15507 _menhir_env.MenhirLib.EngineTypes.stack <- {
15508 MenhirLib.EngineTypes.state = _menhir_s;
15509 MenhirLib.EngineTypes.semv = Obj.repr _v;
15510 MenhirLib.EngineTypes.startp = _startpos;
15511 MenhirLib.EngineTypes.endp = _endpos;
15512 MenhirLib.EngineTypes.next = _menhir_stack;
15513 });
15514 (fun _menhir_env ->
15515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15516 let {
15517 MenhirLib.EngineTypes.startp = _startpos__2_;
15518 MenhirLib.EngineTypes.endp = _endpos__2_;
15519 MenhirLib.EngineTypes.next = {
15520 MenhirLib.EngineTypes.state = _menhir_s;
15521 MenhirLib.EngineTypes.semv = d;
15522 MenhirLib.EngineTypes.startp = _startpos_d_;
15523 MenhirLib.EngineTypes.endp = _endpos_d_;
15524 MenhirLib.EngineTypes.next = _menhir_stack;
15525 };
15526 } = _menhir_stack in
15527 let d : 'tv_defineop = Obj.magic d in
15528 let _startpos = _startpos_d_ in
15529 let _endpos = _endpos__2_ in
15530 let _v : 'tv_includes =
15531 # 711 "parser_cocci_menhir.mly"
15532 ( d (Ast0.wrap(Ast0.DOTS([]))) )
15533 # 15534 "parser_cocci_menhir.ml"
15534 in
15535 _menhir_env.MenhirLib.EngineTypes.stack <- {
15536 MenhirLib.EngineTypes.state = _menhir_s;
15537 MenhirLib.EngineTypes.semv = Obj.repr _v;
15538 MenhirLib.EngineTypes.startp = _startpos;
15539 MenhirLib.EngineTypes.endp = _endpos;
15540 MenhirLib.EngineTypes.next = _menhir_stack;
15541 });
15542 (fun _menhir_env ->
15543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15544 let {
15545 MenhirLib.EngineTypes.startp = _startpos__3_;
15546 MenhirLib.EngineTypes.endp = _endpos__3_;
15547 MenhirLib.EngineTypes.next = {
15548 MenhirLib.EngineTypes.semv = t;
15549 MenhirLib.EngineTypes.startp = _startpos_t_;
15550 MenhirLib.EngineTypes.endp = _endpos_t_;
15551 MenhirLib.EngineTypes.next = {
15552 MenhirLib.EngineTypes.state = _menhir_s;
15553 MenhirLib.EngineTypes.semv = d;
15554 MenhirLib.EngineTypes.startp = _startpos_d_;
15555 MenhirLib.EngineTypes.endp = _endpos_d_;
15556 MenhirLib.EngineTypes.next = _menhir_stack;
15557 };
15558 };
15559 } = _menhir_stack in
15560 let t : 'tv_ctype = Obj.magic t in
15561 let d : 'tv_defineop = Obj.magic d in
15562 let _startpos = _startpos_d_ in
15563 let _endpos = _endpos__3_ in
15564 let _v : 'tv_includes =
15565 # 713 "parser_cocci_menhir.mly"
15566 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
15567 d (Ast0.wrap(Ast0.DOTS([ty]))) )
15568 # 15569 "parser_cocci_menhir.ml"
15569 in
15570 _menhir_env.MenhirLib.EngineTypes.stack <- {
15571 MenhirLib.EngineTypes.state = _menhir_s;
15572 MenhirLib.EngineTypes.semv = Obj.repr _v;
15573 MenhirLib.EngineTypes.startp = _startpos;
15574 MenhirLib.EngineTypes.endp = _endpos;
15575 MenhirLib.EngineTypes.next = _menhir_stack;
15576 });
15577 (fun _menhir_env ->
15578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15579 let {
15580 MenhirLib.EngineTypes.startp = _startpos__3_;
15581 MenhirLib.EngineTypes.endp = _endpos__3_;
15582 MenhirLib.EngineTypes.next = {
15583 MenhirLib.EngineTypes.semv = b;
15584 MenhirLib.EngineTypes.startp = _startpos_b_;
15585 MenhirLib.EngineTypes.endp = _endpos_b_;
15586 MenhirLib.EngineTypes.next = {
15587 MenhirLib.EngineTypes.state = _menhir_s;
15588 MenhirLib.EngineTypes.semv = _1;
15589 MenhirLib.EngineTypes.startp = _startpos__1_;
15590 MenhirLib.EngineTypes.endp = _endpos__1_;
15591 MenhirLib.EngineTypes.next = _menhir_stack;
15592 };
15593 };
15594 } = _menhir_stack in
15595 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
15596 let _1 : 'tv_defineop = Obj.magic _1 in
15597 let _startpos = _startpos__1_ in
15598 let _endpos = _endpos__3_ in
15599 let _v : 'tv_includes =
15600 # 716 "parser_cocci_menhir.mly"
15601 ( let body =
15602 match b with
15603 [e] ->
15604 (match Ast0.unwrap e with
15605 Ast0.Exp(e1) ->
15606 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
15607 | _ -> b)
15608 | _ -> b in
15609 _1 (Ast0.wrap(Ast0.DOTS(body))) )
15610 # 15611 "parser_cocci_menhir.ml"
15611 in
15612 _menhir_env.MenhirLib.EngineTypes.stack <- {
15613 MenhirLib.EngineTypes.state = _menhir_s;
15614 MenhirLib.EngineTypes.semv = Obj.repr _v;
15615 MenhirLib.EngineTypes.startp = _startpos;
15616 MenhirLib.EngineTypes.endp = _endpos;
15617 MenhirLib.EngineTypes.next = _menhir_stack;
15618 });
15619 (fun _menhir_env ->
15620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15621 let {
15622 MenhirLib.EngineTypes.state = _menhir_s;
15623 MenhirLib.EngineTypes.semv = _1;
15624 MenhirLib.EngineTypes.startp = _startpos__1_;
15625 MenhirLib.EngineTypes.endp = _endpos__1_;
15626 MenhirLib.EngineTypes.next = _menhir_stack;
15627 } = _menhir_stack in
15628 let _1 : 'tv_eexpr = Obj.magic _1 in
15629 let _startpos = _startpos__1_ in
15630 let _endpos = _endpos__1_ in
15631 let _v : 'tv_initialize =
15632 # 1124 "parser_cocci_menhir.mly"
15633 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15634 # 15635 "parser_cocci_menhir.ml"
15635 in
15636 _menhir_env.MenhirLib.EngineTypes.stack <- {
15637 MenhirLib.EngineTypes.state = _menhir_s;
15638 MenhirLib.EngineTypes.semv = Obj.repr _v;
15639 MenhirLib.EngineTypes.startp = _startpos;
15640 MenhirLib.EngineTypes.endp = _endpos;
15641 MenhirLib.EngineTypes.next = _menhir_stack;
15642 });
15643 (fun _menhir_env ->
15644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15645 let {
15646 MenhirLib.EngineTypes.semv = _3;
15647 MenhirLib.EngineTypes.startp = _startpos__3_;
15648 MenhirLib.EngineTypes.endp = _endpos__3_;
15649 MenhirLib.EngineTypes.next = {
15650 MenhirLib.EngineTypes.semv = _2;
15651 MenhirLib.EngineTypes.startp = _startpos__2_;
15652 MenhirLib.EngineTypes.endp = _endpos__2_;
15653 MenhirLib.EngineTypes.next = {
15654 MenhirLib.EngineTypes.state = _menhir_s;
15655 MenhirLib.EngineTypes.semv = _1;
15656 MenhirLib.EngineTypes.startp = _startpos__1_;
15657 MenhirLib.EngineTypes.endp = _endpos__1_;
15658 MenhirLib.EngineTypes.next = _menhir_stack;
15659 };
15660 };
15661 } = _menhir_stack in
15662 let _3 : (
15663 # 124 "parser_cocci_menhir.mly"
15664 (Data.clt)
15665 # 15666 "parser_cocci_menhir.ml"
15666 ) = Obj.magic _3 in
15667 let _2 : 'tv_initialize_list = Obj.magic _2 in
15668 let _1 : (
15669 # 124 "parser_cocci_menhir.mly"
15670 (Data.clt)
15671 # 15672 "parser_cocci_menhir.ml"
15672 ) = Obj.magic _1 in
15673 let _startpos = _startpos__1_ in
15674 let _endpos = _endpos__3_ in
15675 let _v : 'tv_initialize =
15676 # 1126 "parser_cocci_menhir.mly"
15677 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15678 # 15679 "parser_cocci_menhir.ml"
15679 in
15680 _menhir_env.MenhirLib.EngineTypes.stack <- {
15681 MenhirLib.EngineTypes.state = _menhir_s;
15682 MenhirLib.EngineTypes.semv = Obj.repr _v;
15683 MenhirLib.EngineTypes.startp = _startpos;
15684 MenhirLib.EngineTypes.endp = _endpos;
15685 MenhirLib.EngineTypes.next = _menhir_stack;
15686 });
15687 (fun _menhir_env ->
15688 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15689 let {
15690 MenhirLib.EngineTypes.semv = _2;
15691 MenhirLib.EngineTypes.startp = _startpos__2_;
15692 MenhirLib.EngineTypes.endp = _endpos__2_;
15693 MenhirLib.EngineTypes.next = {
15694 MenhirLib.EngineTypes.state = _menhir_s;
15695 MenhirLib.EngineTypes.semv = _1;
15696 MenhirLib.EngineTypes.startp = _startpos__1_;
15697 MenhirLib.EngineTypes.endp = _endpos__1_;
15698 MenhirLib.EngineTypes.next = _menhir_stack;
15699 };
15700 } = _menhir_stack in
15701 let _2 : (
15702 # 124 "parser_cocci_menhir.mly"
15703 (Data.clt)
15704 # 15705 "parser_cocci_menhir.ml"
15705 ) = Obj.magic _2 in
15706 let _1 : (
15707 # 124 "parser_cocci_menhir.mly"
15708 (Data.clt)
15709 # 15710 "parser_cocci_menhir.ml"
15710 ) = Obj.magic _1 in
15711 let _startpos = _startpos__1_ in
15712 let _endpos = _endpos__2_ in
15713 let _v : 'tv_initialize =
15714 # 1128 "parser_cocci_menhir.mly"
15715 ( Ast0.wrap
15716 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15717 P.clt2mcode "}" _2)) )
15718 # 15719 "parser_cocci_menhir.ml"
15719 in
15720 _menhir_env.MenhirLib.EngineTypes.stack <- {
15721 MenhirLib.EngineTypes.state = _menhir_s;
15722 MenhirLib.EngineTypes.semv = Obj.repr _v;
15723 MenhirLib.EngineTypes.startp = _startpos;
15724 MenhirLib.EngineTypes.endp = _endpos;
15725 MenhirLib.EngineTypes.next = _menhir_stack;
15726 });
15727 (fun _menhir_env ->
15728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15729 let {
15730 MenhirLib.EngineTypes.state = _menhir_s;
15731 MenhirLib.EngineTypes.semv = _1;
15732 MenhirLib.EngineTypes.startp = _startpos__1_;
15733 MenhirLib.EngineTypes.endp = _endpos__1_;
15734 MenhirLib.EngineTypes.next = _menhir_stack;
15735 } = _menhir_stack in
15736 let _1 : (
15737 # 88 "parser_cocci_menhir.mly"
15738 (Parse_aux.info)
15739 # 15740 "parser_cocci_menhir.ml"
15740 ) = Obj.magic _1 in
15741 let _startpos = _startpos__1_ in
15742 let _endpos = _endpos__1_ in
15743 let _v : 'tv_initialize =
15744 # 1132 "parser_cocci_menhir.mly"
15745 (let (nm,pure,clt) = _1 in
15746 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
15747 # 15748 "parser_cocci_menhir.ml"
15748 in
15749 _menhir_env.MenhirLib.EngineTypes.stack <- {
15750 MenhirLib.EngineTypes.state = _menhir_s;
15751 MenhirLib.EngineTypes.semv = Obj.repr _v;
15752 MenhirLib.EngineTypes.startp = _startpos;
15753 MenhirLib.EngineTypes.endp = _endpos;
15754 MenhirLib.EngineTypes.next = _menhir_stack;
15755 });
15756 (fun _menhir_env ->
15757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15758 let {
15759 MenhirLib.EngineTypes.state = _menhir_s;
15760 MenhirLib.EngineTypes.semv = _1;
15761 MenhirLib.EngineTypes.startp = _startpos__1_;
15762 MenhirLib.EngineTypes.endp = _endpos__1_;
15763 MenhirLib.EngineTypes.next = _menhir_stack;
15764 } = _menhir_stack in
15765 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
15766 let _startpos = _startpos__1_ in
15767 let _endpos = _endpos__1_ in
15768 let _v : 'tv_initialize2 =
15769 # 1138 "parser_cocci_menhir.mly"
15770 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15771 # 15772 "parser_cocci_menhir.ml"
15772 in
15773 _menhir_env.MenhirLib.EngineTypes.stack <- {
15774 MenhirLib.EngineTypes.state = _menhir_s;
15775 MenhirLib.EngineTypes.semv = Obj.repr _v;
15776 MenhirLib.EngineTypes.startp = _startpos;
15777 MenhirLib.EngineTypes.endp = _endpos;
15778 MenhirLib.EngineTypes.next = _menhir_stack;
15779 });
15780 (fun _menhir_env ->
15781 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15782 let {
15783 MenhirLib.EngineTypes.semv = _3;
15784 MenhirLib.EngineTypes.startp = _startpos__3_;
15785 MenhirLib.EngineTypes.endp = _endpos__3_;
15786 MenhirLib.EngineTypes.next = {
15787 MenhirLib.EngineTypes.semv = _2;
15788 MenhirLib.EngineTypes.startp = _startpos__2_;
15789 MenhirLib.EngineTypes.endp = _endpos__2_;
15790 MenhirLib.EngineTypes.next = {
15791 MenhirLib.EngineTypes.state = _menhir_s;
15792 MenhirLib.EngineTypes.semv = _1;
15793 MenhirLib.EngineTypes.startp = _startpos__1_;
15794 MenhirLib.EngineTypes.endp = _endpos__1_;
15795 MenhirLib.EngineTypes.next = _menhir_stack;
15796 };
15797 };
15798 } = _menhir_stack in
15799 let _3 : (
15800 # 124 "parser_cocci_menhir.mly"
15801 (Data.clt)
15802 # 15803 "parser_cocci_menhir.ml"
15803 ) = Obj.magic _3 in
15804 let _2 : 'tv_initialize_list = Obj.magic _2 in
15805 let _1 : (
15806 # 124 "parser_cocci_menhir.mly"
15807 (Data.clt)
15808 # 15809 "parser_cocci_menhir.ml"
15809 ) = Obj.magic _1 in
15810 let _startpos = _startpos__1_ in
15811 let _endpos = _endpos__3_ in
15812 let _v : 'tv_initialize2 =
15813 # 1140 "parser_cocci_menhir.mly"
15814 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15815 # 15816 "parser_cocci_menhir.ml"
15816 in
15817 _menhir_env.MenhirLib.EngineTypes.stack <- {
15818 MenhirLib.EngineTypes.state = _menhir_s;
15819 MenhirLib.EngineTypes.semv = Obj.repr _v;
15820 MenhirLib.EngineTypes.startp = _startpos;
15821 MenhirLib.EngineTypes.endp = _endpos;
15822 MenhirLib.EngineTypes.next = _menhir_stack;
15823 });
15824 (fun _menhir_env ->
15825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15826 let {
15827 MenhirLib.EngineTypes.semv = _2;
15828 MenhirLib.EngineTypes.startp = _startpos__2_;
15829 MenhirLib.EngineTypes.endp = _endpos__2_;
15830 MenhirLib.EngineTypes.next = {
15831 MenhirLib.EngineTypes.state = _menhir_s;
15832 MenhirLib.EngineTypes.semv = _1;
15833 MenhirLib.EngineTypes.startp = _startpos__1_;
15834 MenhirLib.EngineTypes.endp = _endpos__1_;
15835 MenhirLib.EngineTypes.next = _menhir_stack;
15836 };
15837 } = _menhir_stack in
15838 let _2 : (
15839 # 124 "parser_cocci_menhir.mly"
15840 (Data.clt)
15841 # 15842 "parser_cocci_menhir.ml"
15842 ) = Obj.magic _2 in
15843 let _1 : (
15844 # 124 "parser_cocci_menhir.mly"
15845 (Data.clt)
15846 # 15847 "parser_cocci_menhir.ml"
15847 ) = Obj.magic _1 in
15848 let _startpos = _startpos__1_ in
15849 let _endpos = _endpos__2_ in
15850 let _v : 'tv_initialize2 =
15851 # 1142 "parser_cocci_menhir.mly"
15852 ( Ast0.wrap
15853 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15854 P.clt2mcode "}" _2)) )
15855 # 15856 "parser_cocci_menhir.ml"
15856 in
15857 _menhir_env.MenhirLib.EngineTypes.stack <- {
15858 MenhirLib.EngineTypes.state = _menhir_s;
15859 MenhirLib.EngineTypes.semv = Obj.repr _v;
15860 MenhirLib.EngineTypes.startp = _startpos;
15861 MenhirLib.EngineTypes.endp = _endpos;
15862 MenhirLib.EngineTypes.next = _menhir_stack;
15863 });
15864 (fun _menhir_env ->
15865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15866 let {
15867 MenhirLib.EngineTypes.semv = _3;
15868 MenhirLib.EngineTypes.startp = _startpos__3_;
15869 MenhirLib.EngineTypes.endp = _endpos__3_;
15870 MenhirLib.EngineTypes.next = {
15871 MenhirLib.EngineTypes.semv = _2;
15872 MenhirLib.EngineTypes.startp = _startpos__2_;
15873 MenhirLib.EngineTypes.endp = _endpos__2_;
15874 MenhirLib.EngineTypes.next = {
15875 MenhirLib.EngineTypes.state = _menhir_s;
15876 MenhirLib.EngineTypes.semv = _1;
15877 MenhirLib.EngineTypes.startp = _startpos__1_;
15878 MenhirLib.EngineTypes.endp = _endpos__1_;
15879 MenhirLib.EngineTypes.next = _menhir_stack;
15880 };
15881 };
15882 } = _menhir_stack in
15883 let _3 : 'tv_initialize2 = Obj.magic _3 in
15884 let _2 : (
15885 # 130 "parser_cocci_menhir.mly"
15886 (Data.clt)
15887 # 15888 "parser_cocci_menhir.ml"
15888 ) = Obj.magic _2 in
15889 let _1 : 'tv_list_designator_ = Obj.magic _1 in
15890 let _startpos = _startpos__1_ in
15891 let _endpos = _endpos__3_ in
15892 let _v : 'tv_initialize2 =
15893 # 1147 "parser_cocci_menhir.mly"
15894 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
15895 # 15896 "parser_cocci_menhir.ml"
15896 in
15897 _menhir_env.MenhirLib.EngineTypes.stack <- {
15898 MenhirLib.EngineTypes.state = _menhir_s;
15899 MenhirLib.EngineTypes.semv = Obj.repr _v;
15900 MenhirLib.EngineTypes.startp = _startpos;
15901 MenhirLib.EngineTypes.endp = _endpos;
15902 MenhirLib.EngineTypes.next = _menhir_stack;
15903 });
15904 (fun _menhir_env ->
15905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15906 let {
15907 MenhirLib.EngineTypes.semv = _3;
15908 MenhirLib.EngineTypes.startp = _startpos__3_;
15909 MenhirLib.EngineTypes.endp = _endpos__3_;
15910 MenhirLib.EngineTypes.next = {
15911 MenhirLib.EngineTypes.semv = _2;
15912 MenhirLib.EngineTypes.startp = _startpos__2_;
15913 MenhirLib.EngineTypes.endp = _endpos__2_;
15914 MenhirLib.EngineTypes.next = {
15915 MenhirLib.EngineTypes.state = _menhir_s;
15916 MenhirLib.EngineTypes.semv = _1;
15917 MenhirLib.EngineTypes.startp = _startpos__1_;
15918 MenhirLib.EngineTypes.endp = _endpos__1_;
15919 MenhirLib.EngineTypes.next = _menhir_stack;
15920 };
15921 };
15922 } = _menhir_stack in
15923 let _3 : 'tv_initialize2 = Obj.magic _3 in
15924 let _2 : (
15925 # 99 "parser_cocci_menhir.mly"
15926 (Data.clt)
15927 # 15928 "parser_cocci_menhir.ml"
15928 ) = Obj.magic _2 in
15929 let _1 : 'tv_ident = Obj.magic _1 in
15930 let _startpos = _startpos__1_ in
15931 let _endpos = _endpos__3_ in
15932 let _v : 'tv_initialize2 =
15933 # 1149 "parser_cocci_menhir.mly"
15934 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
15935 # 15936 "parser_cocci_menhir.ml"
15936 in
15937 _menhir_env.MenhirLib.EngineTypes.stack <- {
15938 MenhirLib.EngineTypes.state = _menhir_s;
15939 MenhirLib.EngineTypes.semv = Obj.repr _v;
15940 MenhirLib.EngineTypes.startp = _startpos;
15941 MenhirLib.EngineTypes.endp = _endpos;
15942 MenhirLib.EngineTypes.next = _menhir_stack;
15943 });
15944 (fun _menhir_env ->
15945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15946 let {
15947 MenhirLib.EngineTypes.state = _menhir_s;
15948 MenhirLib.EngineTypes.semv = _1;
15949 MenhirLib.EngineTypes.startp = _startpos__1_;
15950 MenhirLib.EngineTypes.endp = _endpos__1_;
15951 MenhirLib.EngineTypes.next = _menhir_stack;
15952 } = _menhir_stack in
15953 let _1 : 'tv_initialize_list_start = Obj.magic _1 in
15954 let _startpos = _startpos__1_ in
15955 let _endpos = _endpos__1_ in
15956 let _v : 'tv_initialize_list =
15957 # 1161 "parser_cocci_menhir.mly"
15958 ( Ast0.wrap(Ast0.DOTS(_1)) )
15959 # 15960 "parser_cocci_menhir.ml"
15960 in
15961 _menhir_env.MenhirLib.EngineTypes.stack <- {
15962 MenhirLib.EngineTypes.state = _menhir_s;
15963 MenhirLib.EngineTypes.semv = Obj.repr _v;
15964 MenhirLib.EngineTypes.startp = _startpos;
15965 MenhirLib.EngineTypes.endp = _endpos;
15966 MenhirLib.EngineTypes.next = _menhir_stack;
15967 });
15968 (fun _menhir_env ->
15969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15970 let {
15971 MenhirLib.EngineTypes.semv = _2;
15972 MenhirLib.EngineTypes.startp = _startpos__2_;
15973 MenhirLib.EngineTypes.endp = _endpos__2_;
15974 MenhirLib.EngineTypes.next = {
15975 MenhirLib.EngineTypes.state = _menhir_s;
15976 MenhirLib.EngineTypes.semv = _1;
15977 MenhirLib.EngineTypes.startp = _startpos__1_;
15978 MenhirLib.EngineTypes.endp = _endpos__1_;
15979 MenhirLib.EngineTypes.next = _menhir_stack;
15980 };
15981 } = _menhir_stack in
15982 let _2 : (
15983 # 130 "parser_cocci_menhir.mly"
15984 (Data.clt)
15985 # 15986 "parser_cocci_menhir.ml"
15986 ) = Obj.magic _2 in
15987 let _1 : 'tv_initialize2 = Obj.magic _1 in
15988 let _startpos = _startpos__1_ in
15989 let _endpos = _endpos__2_ in
15990 let _v : 'tv_initialize_list_start =
15991 # 1164 "parser_cocci_menhir.mly"
15992 ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
15993 # 15994 "parser_cocci_menhir.ml"
15994 in
15995 _menhir_env.MenhirLib.EngineTypes.stack <- {
15996 MenhirLib.EngineTypes.state = _menhir_s;
15997 MenhirLib.EngineTypes.semv = Obj.repr _v;
15998 MenhirLib.EngineTypes.startp = _startpos;
15999 MenhirLib.EngineTypes.endp = _endpos;
16000 MenhirLib.EngineTypes.next = _menhir_stack;
16001 });
16002 (fun _menhir_env ->
16003 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16004 let {
16005 MenhirLib.EngineTypes.semv = _3;
16006 MenhirLib.EngineTypes.startp = _startpos__3_;
16007 MenhirLib.EngineTypes.endp = _endpos__3_;
16008 MenhirLib.EngineTypes.next = {
16009 MenhirLib.EngineTypes.semv = _2;
16010 MenhirLib.EngineTypes.startp = _startpos__2_;
16011 MenhirLib.EngineTypes.endp = _endpos__2_;
16012 MenhirLib.EngineTypes.next = {
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 };
16019 };
16020 } = _menhir_stack in
16021 let _3 : 'tv_initialize_list_start = Obj.magic _3 in
16022 let _2 : (
16023 # 130 "parser_cocci_menhir.mly"
16024 (Data.clt)
16025 # 16026 "parser_cocci_menhir.ml"
16026 ) = Obj.magic _2 in
16027 let _1 : 'tv_initialize2 = Obj.magic _1 in
16028 let _startpos = _startpos__1_ in
16029 let _endpos = _endpos__3_ in
16030 let _v : 'tv_initialize_list_start =
16031 # 1166 "parser_cocci_menhir.mly"
16032 ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
16033 # 16034 "parser_cocci_menhir.ml"
16034 in
16035 _menhir_env.MenhirLib.EngineTypes.stack <- {
16036 MenhirLib.EngineTypes.state = _menhir_s;
16037 MenhirLib.EngineTypes.semv = Obj.repr _v;
16038 MenhirLib.EngineTypes.startp = _startpos;
16039 MenhirLib.EngineTypes.endp = _endpos;
16040 MenhirLib.EngineTypes.next = _menhir_stack;
16041 });
16042 (fun _menhir_env ->
16043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16044 let {
16045 MenhirLib.EngineTypes.semv = r;
16046 MenhirLib.EngineTypes.startp = _startpos_r_;
16047 MenhirLib.EngineTypes.endp = _endpos_r_;
16048 MenhirLib.EngineTypes.next = {
16049 MenhirLib.EngineTypes.state = _menhir_s;
16050 MenhirLib.EngineTypes.semv = d;
16051 MenhirLib.EngineTypes.startp = _startpos_d_;
16052 MenhirLib.EngineTypes.endp = _endpos_d_;
16053 MenhirLib.EngineTypes.next = _menhir_stack;
16054 };
16055 } = _menhir_stack in
16056 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
16057 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
16058 let _startpos = _startpos_d_ in
16059 let _endpos = _endpos_r_ in
16060 let _v : 'tv_initialize_list_start =
16061 # 1169 "parser_cocci_menhir.mly"
16062 ( (P.mkidots "..." d)::
16063 (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
16064 # 16065 "parser_cocci_menhir.ml"
16065 in
16066 _menhir_env.MenhirLib.EngineTypes.stack <- {
16067 MenhirLib.EngineTypes.state = _menhir_s;
16068 MenhirLib.EngineTypes.semv = Obj.repr _v;
16069 MenhirLib.EngineTypes.startp = _startpos;
16070 MenhirLib.EngineTypes.endp = _endpos;
16071 MenhirLib.EngineTypes.next = _menhir_stack;
16072 });
16073 (fun _menhir_env ->
16074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16075 let {
16076 MenhirLib.EngineTypes.state = _menhir_s;
16077 MenhirLib.EngineTypes.startp = _startpos__1_;
16078 MenhirLib.EngineTypes.endp = _endpos__1_;
16079 MenhirLib.EngineTypes.next = _menhir_stack;
16080 } = _menhir_stack in
16081 let _startpos = _startpos__1_ in
16082 let _endpos = _endpos__1_ in
16083 let _v : 'tv_invalid =
16084 # 1262 "parser_cocci_menhir.mly"
16085 ( raise (Semantic_cocci.Semantic "not matchable") )
16086 # 16087 "parser_cocci_menhir.ml"
16087 in
16088 _menhir_env.MenhirLib.EngineTypes.stack <- {
16089 MenhirLib.EngineTypes.state = _menhir_s;
16090 MenhirLib.EngineTypes.semv = Obj.repr _v;
16091 MenhirLib.EngineTypes.startp = _startpos;
16092 MenhirLib.EngineTypes.endp = _endpos;
16093 MenhirLib.EngineTypes.next = _menhir_stack;
16094 });
16095 (fun _menhir_env ->
16096 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16097 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16098 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16099 let _endpos = _startpos in
16100 let _v : 'tv_is_expression =
16101 # 271 "parser_cocci_menhir.mly"
16102 ( false )
16103 # 16104 "parser_cocci_menhir.ml"
16104 in
16105 _menhir_env.MenhirLib.EngineTypes.stack <- {
16106 MenhirLib.EngineTypes.state = _menhir_s;
16107 MenhirLib.EngineTypes.semv = Obj.repr _v;
16108 MenhirLib.EngineTypes.startp = _startpos;
16109 MenhirLib.EngineTypes.endp = _endpos;
16110 MenhirLib.EngineTypes.next = _menhir_stack;
16111 });
16112 (fun _menhir_env ->
16113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16114 let {
16115 MenhirLib.EngineTypes.state = _menhir_s;
16116 MenhirLib.EngineTypes.startp = _startpos__1_;
16117 MenhirLib.EngineTypes.endp = _endpos__1_;
16118 MenhirLib.EngineTypes.next = _menhir_stack;
16119 } = _menhir_stack in
16120 let _startpos = _startpos__1_ in
16121 let _endpos = _endpos__1_ in
16122 let _v : 'tv_is_expression =
16123 # 272 "parser_cocci_menhir.mly"
16124 ( true )
16125 # 16126 "parser_cocci_menhir.ml"
16126 in
16127 _menhir_env.MenhirLib.EngineTypes.stack <- {
16128 MenhirLib.EngineTypes.state = _menhir_s;
16129 MenhirLib.EngineTypes.semv = Obj.repr _v;
16130 MenhirLib.EngineTypes.startp = _startpos;
16131 MenhirLib.EngineTypes.endp = _endpos;
16132 MenhirLib.EngineTypes.next = _menhir_stack;
16133 });
16134 (fun _menhir_env ->
16135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16136 let {
16137 MenhirLib.EngineTypes.semv = t;
16138 MenhirLib.EngineTypes.startp = _startpos_t_;
16139 MenhirLib.EngineTypes.endp = _endpos_t_;
16140 MenhirLib.EngineTypes.next = {
16141 MenhirLib.EngineTypes.state = _menhir_s;
16142 MenhirLib.EngineTypes.startp = _startpos__1_;
16143 MenhirLib.EngineTypes.endp = _endpos__1_;
16144 MenhirLib.EngineTypes.next = _menhir_stack;
16145 };
16146 } = _menhir_stack in
16147 let t : 'tv_ctype = Obj.magic t in
16148 let _startpos = _startpos__1_ in
16149 let _endpos = _endpos_t_ in
16150 let _v : 'tv_iso_ctype_ =
16151 # 2050 "parser_cocci_menhir.mly"
16152 ( Common.Left t )
16153 # 16154 "parser_cocci_menhir.ml"
16154 in
16155 _menhir_env.MenhirLib.EngineTypes.stack <- {
16156 MenhirLib.EngineTypes.state = _menhir_s;
16157 MenhirLib.EngineTypes.semv = Obj.repr _v;
16158 MenhirLib.EngineTypes.startp = _startpos;
16159 MenhirLib.EngineTypes.endp = _endpos;
16160 MenhirLib.EngineTypes.next = _menhir_stack;
16161 });
16162 (fun _menhir_env ->
16163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16164 let {
16165 MenhirLib.EngineTypes.semv = t;
16166 MenhirLib.EngineTypes.startp = _startpos_t_;
16167 MenhirLib.EngineTypes.endp = _endpos_t_;
16168 MenhirLib.EngineTypes.next = {
16169 MenhirLib.EngineTypes.state = _menhir_s;
16170 MenhirLib.EngineTypes.startp = _startpos__1_;
16171 MenhirLib.EngineTypes.endp = _endpos__1_;
16172 MenhirLib.EngineTypes.next = _menhir_stack;
16173 };
16174 } = _menhir_stack in
16175 let t : 'tv_ctype = Obj.magic t in
16176 let _startpos = _startpos__1_ in
16177 let _endpos = _endpos_t_ in
16178 let _v : 'tv_iso_ctype_ =
16179 # 2051 "parser_cocci_menhir.mly"
16180 ( Common.Right t )
16181 # 16182 "parser_cocci_menhir.ml"
16182 in
16183 _menhir_env.MenhirLib.EngineTypes.stack <- {
16184 MenhirLib.EngineTypes.state = _menhir_s;
16185 MenhirLib.EngineTypes.semv = Obj.repr _v;
16186 MenhirLib.EngineTypes.startp = _startpos;
16187 MenhirLib.EngineTypes.endp = _endpos;
16188 MenhirLib.EngineTypes.next = _menhir_stack;
16189 });
16190 (fun _menhir_env ->
16191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16192 let {
16193 MenhirLib.EngineTypes.semv = t;
16194 MenhirLib.EngineTypes.startp = _startpos_t_;
16195 MenhirLib.EngineTypes.endp = _endpos_t_;
16196 MenhirLib.EngineTypes.next = {
16197 MenhirLib.EngineTypes.state = _menhir_s;
16198 MenhirLib.EngineTypes.startp = _startpos__1_;
16199 MenhirLib.EngineTypes.endp = _endpos__1_;
16200 MenhirLib.EngineTypes.next = _menhir_stack;
16201 };
16202 } = _menhir_stack in
16203 let t : 'tv_decl_var = Obj.magic t in
16204 let _startpos = _startpos__1_ in
16205 let _endpos = _endpos_t_ in
16206 let _v : 'tv_iso_decl_var_ =
16207 # 2050 "parser_cocci_menhir.mly"
16208 ( Common.Left t )
16209 # 16210 "parser_cocci_menhir.ml"
16210 in
16211 _menhir_env.MenhirLib.EngineTypes.stack <- {
16212 MenhirLib.EngineTypes.state = _menhir_s;
16213 MenhirLib.EngineTypes.semv = Obj.repr _v;
16214 MenhirLib.EngineTypes.startp = _startpos;
16215 MenhirLib.EngineTypes.endp = _endpos;
16216 MenhirLib.EngineTypes.next = _menhir_stack;
16217 });
16218 (fun _menhir_env ->
16219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16220 let {
16221 MenhirLib.EngineTypes.semv = t;
16222 MenhirLib.EngineTypes.startp = _startpos_t_;
16223 MenhirLib.EngineTypes.endp = _endpos_t_;
16224 MenhirLib.EngineTypes.next = {
16225 MenhirLib.EngineTypes.state = _menhir_s;
16226 MenhirLib.EngineTypes.startp = _startpos__1_;
16227 MenhirLib.EngineTypes.endp = _endpos__1_;
16228 MenhirLib.EngineTypes.next = _menhir_stack;
16229 };
16230 } = _menhir_stack in
16231 let t : 'tv_decl_var = Obj.magic t in
16232 let _startpos = _startpos__1_ in
16233 let _endpos = _endpos_t_ in
16234 let _v : 'tv_iso_decl_var_ =
16235 # 2051 "parser_cocci_menhir.mly"
16236 ( Common.Right t )
16237 # 16238 "parser_cocci_menhir.ml"
16238 in
16239 _menhir_env.MenhirLib.EngineTypes.stack <- {
16240 MenhirLib.EngineTypes.state = _menhir_s;
16241 MenhirLib.EngineTypes.semv = Obj.repr _v;
16242 MenhirLib.EngineTypes.startp = _startpos;
16243 MenhirLib.EngineTypes.endp = _endpos;
16244 MenhirLib.EngineTypes.next = _menhir_stack;
16245 });
16246 (fun _menhir_env ->
16247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16248 let {
16249 MenhirLib.EngineTypes.semv = t;
16250 MenhirLib.EngineTypes.startp = _startpos_t_;
16251 MenhirLib.EngineTypes.endp = _endpos_t_;
16252 MenhirLib.EngineTypes.next = {
16253 MenhirLib.EngineTypes.state = _menhir_s;
16254 MenhirLib.EngineTypes.startp = _startpos__1_;
16255 MenhirLib.EngineTypes.endp = _endpos__1_;
16256 MenhirLib.EngineTypes.next = _menhir_stack;
16257 };
16258 } = _menhir_stack in
16259 let t : 'tv_eexpr = Obj.magic t in
16260 let _startpos = _startpos__1_ in
16261 let _endpos = _endpos_t_ in
16262 let _v : 'tv_iso_eexpr_ =
16263 # 2050 "parser_cocci_menhir.mly"
16264 ( Common.Left t )
16265 # 16266 "parser_cocci_menhir.ml"
16266 in
16267 _menhir_env.MenhirLib.EngineTypes.stack <- {
16268 MenhirLib.EngineTypes.state = _menhir_s;
16269 MenhirLib.EngineTypes.semv = Obj.repr _v;
16270 MenhirLib.EngineTypes.startp = _startpos;
16271 MenhirLib.EngineTypes.endp = _endpos;
16272 MenhirLib.EngineTypes.next = _menhir_stack;
16273 });
16274 (fun _menhir_env ->
16275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16276 let {
16277 MenhirLib.EngineTypes.semv = t;
16278 MenhirLib.EngineTypes.startp = _startpos_t_;
16279 MenhirLib.EngineTypes.endp = _endpos_t_;
16280 MenhirLib.EngineTypes.next = {
16281 MenhirLib.EngineTypes.state = _menhir_s;
16282 MenhirLib.EngineTypes.startp = _startpos__1_;
16283 MenhirLib.EngineTypes.endp = _endpos__1_;
16284 MenhirLib.EngineTypes.next = _menhir_stack;
16285 };
16286 } = _menhir_stack in
16287 let t : 'tv_eexpr = Obj.magic t in
16288 let _startpos = _startpos__1_ in
16289 let _endpos = _endpos_t_ in
16290 let _v : 'tv_iso_eexpr_ =
16291 # 2051 "parser_cocci_menhir.mly"
16292 ( Common.Right t )
16293 # 16294 "parser_cocci_menhir.ml"
16294 in
16295 _menhir_env.MenhirLib.EngineTypes.stack <- {
16296 MenhirLib.EngineTypes.state = _menhir_s;
16297 MenhirLib.EngineTypes.semv = Obj.repr _v;
16298 MenhirLib.EngineTypes.startp = _startpos;
16299 MenhirLib.EngineTypes.endp = _endpos;
16300 MenhirLib.EngineTypes.next = _menhir_stack;
16301 });
16302 (fun _menhir_env ->
16303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16304 let {
16305 MenhirLib.EngineTypes.semv = t;
16306 MenhirLib.EngineTypes.startp = _startpos_t_;
16307 MenhirLib.EngineTypes.endp = _endpos_t_;
16308 MenhirLib.EngineTypes.next = {
16309 MenhirLib.EngineTypes.state = _menhir_s;
16310 MenhirLib.EngineTypes.startp = _startpos__1_;
16311 MenhirLib.EngineTypes.endp = _endpos__1_;
16312 MenhirLib.EngineTypes.next = _menhir_stack;
16313 };
16314 } = _menhir_stack in
16315 let t : 'tv_nest_start = Obj.magic t in
16316 let _startpos = _startpos__1_ in
16317 let _endpos = _endpos_t_ in
16318 let _v : 'tv_iso_nest_start_ =
16319 # 2050 "parser_cocci_menhir.mly"
16320 ( Common.Left t )
16321 # 16322 "parser_cocci_menhir.ml"
16322 in
16323 _menhir_env.MenhirLib.EngineTypes.stack <- {
16324 MenhirLib.EngineTypes.state = _menhir_s;
16325 MenhirLib.EngineTypes.semv = Obj.repr _v;
16326 MenhirLib.EngineTypes.startp = _startpos;
16327 MenhirLib.EngineTypes.endp = _endpos;
16328 MenhirLib.EngineTypes.next = _menhir_stack;
16329 });
16330 (fun _menhir_env ->
16331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16332 let {
16333 MenhirLib.EngineTypes.semv = t;
16334 MenhirLib.EngineTypes.startp = _startpos_t_;
16335 MenhirLib.EngineTypes.endp = _endpos_t_;
16336 MenhirLib.EngineTypes.next = {
16337 MenhirLib.EngineTypes.state = _menhir_s;
16338 MenhirLib.EngineTypes.startp = _startpos__1_;
16339 MenhirLib.EngineTypes.endp = _endpos__1_;
16340 MenhirLib.EngineTypes.next = _menhir_stack;
16341 };
16342 } = _menhir_stack in
16343 let t : 'tv_nest_start = Obj.magic t in
16344 let _startpos = _startpos__1_ in
16345 let _endpos = _endpos_t_ in
16346 let _v : 'tv_iso_nest_start_ =
16347 # 2051 "parser_cocci_menhir.mly"
16348 ( Common.Right t )
16349 # 16350 "parser_cocci_menhir.ml"
16350 in
16351 _menhir_env.MenhirLib.EngineTypes.stack <- {
16352 MenhirLib.EngineTypes.state = _menhir_s;
16353 MenhirLib.EngineTypes.semv = Obj.repr _v;
16354 MenhirLib.EngineTypes.startp = _startpos;
16355 MenhirLib.EngineTypes.endp = _endpos;
16356 MenhirLib.EngineTypes.next = _menhir_stack;
16357 });
16358 (fun _menhir_env ->
16359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16360 let {
16361 MenhirLib.EngineTypes.semv = t;
16362 MenhirLib.EngineTypes.startp = _startpos_t_;
16363 MenhirLib.EngineTypes.endp = _endpos_t_;
16364 MenhirLib.EngineTypes.next = {
16365 MenhirLib.EngineTypes.state = _menhir_s;
16366 MenhirLib.EngineTypes.startp = _startpos__1_;
16367 MenhirLib.EngineTypes.endp = _endpos__1_;
16368 MenhirLib.EngineTypes.next = _menhir_stack;
16369 };
16370 } = _menhir_stack in
16371 let t : 'tv_single_statement = Obj.magic t in
16372 let _startpos = _startpos__1_ in
16373 let _endpos = _endpos_t_ in
16374 let _v : 'tv_iso_single_statement_ =
16375 # 2050 "parser_cocci_menhir.mly"
16376 ( Common.Left t )
16377 # 16378 "parser_cocci_menhir.ml"
16378 in
16379 _menhir_env.MenhirLib.EngineTypes.stack <- {
16380 MenhirLib.EngineTypes.state = _menhir_s;
16381 MenhirLib.EngineTypes.semv = Obj.repr _v;
16382 MenhirLib.EngineTypes.startp = _startpos;
16383 MenhirLib.EngineTypes.endp = _endpos;
16384 MenhirLib.EngineTypes.next = _menhir_stack;
16385 });
16386 (fun _menhir_env ->
16387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16388 let {
16389 MenhirLib.EngineTypes.semv = t;
16390 MenhirLib.EngineTypes.startp = _startpos_t_;
16391 MenhirLib.EngineTypes.endp = _endpos_t_;
16392 MenhirLib.EngineTypes.next = {
16393 MenhirLib.EngineTypes.state = _menhir_s;
16394 MenhirLib.EngineTypes.startp = _startpos__1_;
16395 MenhirLib.EngineTypes.endp = _endpos__1_;
16396 MenhirLib.EngineTypes.next = _menhir_stack;
16397 };
16398 } = _menhir_stack in
16399 let t : 'tv_single_statement = Obj.magic t in
16400 let _startpos = _startpos__1_ in
16401 let _endpos = _endpos_t_ in
16402 let _v : 'tv_iso_single_statement_ =
16403 # 2051 "parser_cocci_menhir.mly"
16404 ( Common.Right t )
16405 # 16406 "parser_cocci_menhir.ml"
16406 in
16407 _menhir_env.MenhirLib.EngineTypes.stack <- {
16408 MenhirLib.EngineTypes.state = _menhir_s;
16409 MenhirLib.EngineTypes.semv = Obj.repr _v;
16410 MenhirLib.EngineTypes.startp = _startpos;
16411 MenhirLib.EngineTypes.endp = _endpos;
16412 MenhirLib.EngineTypes.next = _menhir_stack;
16413 });
16414 (fun _menhir_env ->
16415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16416 let {
16417 MenhirLib.EngineTypes.startp = _startpos__4_;
16418 MenhirLib.EngineTypes.endp = _endpos__4_;
16419 MenhirLib.EngineTypes.next = {
16420 MenhirLib.EngineTypes.semv = el;
16421 MenhirLib.EngineTypes.startp = _startpos_el_;
16422 MenhirLib.EngineTypes.endp = _endpos_el_;
16423 MenhirLib.EngineTypes.next = {
16424 MenhirLib.EngineTypes.semv = e1;
16425 MenhirLib.EngineTypes.startp = _startpos_e1_;
16426 MenhirLib.EngineTypes.endp = _endpos_e1_;
16427 MenhirLib.EngineTypes.next = {
16428 MenhirLib.EngineTypes.state = _menhir_s;
16429 MenhirLib.EngineTypes.startp = _startpos__1_;
16430 MenhirLib.EngineTypes.endp = _endpos__1_;
16431 MenhirLib.EngineTypes.next = _menhir_stack;
16432 };
16433 };
16434 };
16435 } = _menhir_stack in
16436 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16437 let e1 : 'tv_eexpr = Obj.magic e1 in
16438 let _startpos = _startpos__1_ in
16439 let _endpos = _endpos__4_ in
16440 let _v : (
16441 # 185 "parser_cocci_menhir.mly"
16442 (Ast0_cocci.anything list list)
16443 # 16444 "parser_cocci_menhir.ml"
16444 ) =
16445 # 2018 "parser_cocci_menhir.mly"
16446 ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
16447 # 16448 "parser_cocci_menhir.ml"
16448 in
16449 _menhir_env.MenhirLib.EngineTypes.stack <- {
16450 MenhirLib.EngineTypes.state = _menhir_s;
16451 MenhirLib.EngineTypes.semv = Obj.repr _v;
16452 MenhirLib.EngineTypes.startp = _startpos;
16453 MenhirLib.EngineTypes.endp = _endpos;
16454 MenhirLib.EngineTypes.next = _menhir_stack;
16455 });
16456 (fun _menhir_env ->
16457 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16458 let {
16459 MenhirLib.EngineTypes.startp = _startpos__4_;
16460 MenhirLib.EngineTypes.endp = _endpos__4_;
16461 MenhirLib.EngineTypes.next = {
16462 MenhirLib.EngineTypes.semv = el;
16463 MenhirLib.EngineTypes.startp = _startpos_el_;
16464 MenhirLib.EngineTypes.endp = _endpos_el_;
16465 MenhirLib.EngineTypes.next = {
16466 MenhirLib.EngineTypes.semv = e1;
16467 MenhirLib.EngineTypes.startp = _startpos_e1_;
16468 MenhirLib.EngineTypes.endp = _endpos_e1_;
16469 MenhirLib.EngineTypes.next = {
16470 MenhirLib.EngineTypes.state = _menhir_s;
16471 MenhirLib.EngineTypes.startp = _startpos__1_;
16472 MenhirLib.EngineTypes.endp = _endpos__1_;
16473 MenhirLib.EngineTypes.next = _menhir_stack;
16474 };
16475 };
16476 };
16477 } = _menhir_stack in
16478 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16479 let e1 : 'tv_eexpr = Obj.magic e1 in
16480 let _startpos = _startpos__1_ in
16481 let _endpos = _endpos__4_ in
16482 let _v : (
16483 # 185 "parser_cocci_menhir.mly"
16484 (Ast0_cocci.anything list list)
16485 # 16486 "parser_cocci_menhir.ml"
16486 ) =
16487 # 2020 "parser_cocci_menhir.mly"
16488 ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
16489 # 16490 "parser_cocci_menhir.ml"
16490 in
16491 _menhir_env.MenhirLib.EngineTypes.stack <- {
16492 MenhirLib.EngineTypes.state = _menhir_s;
16493 MenhirLib.EngineTypes.semv = Obj.repr _v;
16494 MenhirLib.EngineTypes.startp = _startpos;
16495 MenhirLib.EngineTypes.endp = _endpos;
16496 MenhirLib.EngineTypes.next = _menhir_stack;
16497 });
16498 (fun _menhir_env ->
16499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16500 let {
16501 MenhirLib.EngineTypes.startp = _startpos__4_;
16502 MenhirLib.EngineTypes.endp = _endpos__4_;
16503 MenhirLib.EngineTypes.next = {
16504 MenhirLib.EngineTypes.semv = el;
16505 MenhirLib.EngineTypes.startp = _startpos_el_;
16506 MenhirLib.EngineTypes.endp = _endpos_el_;
16507 MenhirLib.EngineTypes.next = {
16508 MenhirLib.EngineTypes.semv = e1;
16509 MenhirLib.EngineTypes.startp = _startpos_e1_;
16510 MenhirLib.EngineTypes.endp = _endpos_e1_;
16511 MenhirLib.EngineTypes.next = {
16512 MenhirLib.EngineTypes.state = _menhir_s;
16513 MenhirLib.EngineTypes.startp = _startpos__1_;
16514 MenhirLib.EngineTypes.endp = _endpos__1_;
16515 MenhirLib.EngineTypes.next = _menhir_stack;
16516 };
16517 };
16518 };
16519 } = _menhir_stack in
16520 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16521 let e1 : 'tv_eexpr = Obj.magic e1 in
16522 let _startpos = _startpos__1_ in
16523 let _endpos = _endpos__4_ in
16524 let _v : (
16525 # 185 "parser_cocci_menhir.mly"
16526 (Ast0_cocci.anything list list)
16527 # 16528 "parser_cocci_menhir.ml"
16528 ) =
16529 # 2022 "parser_cocci_menhir.mly"
16530 ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
16531 # 16532 "parser_cocci_menhir.ml"
16532 in
16533 _menhir_env.MenhirLib.EngineTypes.stack <- {
16534 MenhirLib.EngineTypes.state = _menhir_s;
16535 MenhirLib.EngineTypes.semv = Obj.repr _v;
16536 MenhirLib.EngineTypes.startp = _startpos;
16537 MenhirLib.EngineTypes.endp = _endpos;
16538 MenhirLib.EngineTypes.next = _menhir_stack;
16539 });
16540 (fun _menhir_env ->
16541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16542 let {
16543 MenhirLib.EngineTypes.startp = _startpos__4_;
16544 MenhirLib.EngineTypes.endp = _endpos__4_;
16545 MenhirLib.EngineTypes.next = {
16546 MenhirLib.EngineTypes.semv = el;
16547 MenhirLib.EngineTypes.startp = _startpos_el_;
16548 MenhirLib.EngineTypes.endp = _endpos_el_;
16549 MenhirLib.EngineTypes.next = {
16550 MenhirLib.EngineTypes.semv = e1;
16551 MenhirLib.EngineTypes.startp = _startpos_e1_;
16552 MenhirLib.EngineTypes.endp = _endpos_e1_;
16553 MenhirLib.EngineTypes.next = {
16554 MenhirLib.EngineTypes.state = _menhir_s;
16555 MenhirLib.EngineTypes.startp = _startpos__1_;
16556 MenhirLib.EngineTypes.endp = _endpos__1_;
16557 MenhirLib.EngineTypes.next = _menhir_stack;
16558 };
16559 };
16560 };
16561 } = _menhir_stack in
16562 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16563 let e1 : 'tv_eexpr = Obj.magic e1 in
16564 let _startpos = _startpos__1_ in
16565 let _endpos = _endpos__4_ in
16566 let _v : (
16567 # 185 "parser_cocci_menhir.mly"
16568 (Ast0_cocci.anything list list)
16569 # 16570 "parser_cocci_menhir.ml"
16570 ) =
16571 # 2024 "parser_cocci_menhir.mly"
16572 ( let ffn x = Ast0.ExprTag x in
16573 let fn x = Ast0.TestExprTag x in
16574 P.iso_adjust ffn fn e1 el )
16575 # 16576 "parser_cocci_menhir.ml"
16576 in
16577 _menhir_env.MenhirLib.EngineTypes.stack <- {
16578 MenhirLib.EngineTypes.state = _menhir_s;
16579 MenhirLib.EngineTypes.semv = Obj.repr _v;
16580 MenhirLib.EngineTypes.startp = _startpos;
16581 MenhirLib.EngineTypes.endp = _endpos;
16582 MenhirLib.EngineTypes.next = _menhir_stack;
16583 });
16584 (fun _menhir_env ->
16585 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16586 let {
16587 MenhirLib.EngineTypes.startp = _startpos__4_;
16588 MenhirLib.EngineTypes.endp = _endpos__4_;
16589 MenhirLib.EngineTypes.next = {
16590 MenhirLib.EngineTypes.semv = sl;
16591 MenhirLib.EngineTypes.startp = _startpos_sl_;
16592 MenhirLib.EngineTypes.endp = _endpos_sl_;
16593 MenhirLib.EngineTypes.next = {
16594 MenhirLib.EngineTypes.semv = s1;
16595 MenhirLib.EngineTypes.startp = _startpos_s1_;
16596 MenhirLib.EngineTypes.endp = _endpos_s1_;
16597 MenhirLib.EngineTypes.next = {
16598 MenhirLib.EngineTypes.state = _menhir_s;
16599 MenhirLib.EngineTypes.startp = _startpos__1_;
16600 MenhirLib.EngineTypes.endp = _endpos__1_;
16601 MenhirLib.EngineTypes.next = _menhir_stack;
16602 };
16603 };
16604 };
16605 } = _menhir_stack in
16606 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
16607 let s1 : 'tv_single_statement = Obj.magic s1 in
16608 let _startpos = _startpos__1_ in
16609 let _endpos = _endpos__4_ in
16610 let _v : (
16611 # 185 "parser_cocci_menhir.mly"
16612 (Ast0_cocci.anything list list)
16613 # 16614 "parser_cocci_menhir.ml"
16614 ) =
16615 # 2028 "parser_cocci_menhir.mly"
16616 ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
16617 # 16618 "parser_cocci_menhir.ml"
16618 in
16619 _menhir_env.MenhirLib.EngineTypes.stack <- {
16620 MenhirLib.EngineTypes.state = _menhir_s;
16621 MenhirLib.EngineTypes.semv = Obj.repr _v;
16622 MenhirLib.EngineTypes.startp = _startpos;
16623 MenhirLib.EngineTypes.endp = _endpos;
16624 MenhirLib.EngineTypes.next = _menhir_stack;
16625 });
16626 (fun _menhir_env ->
16627 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16628 let {
16629 MenhirLib.EngineTypes.startp = _startpos__4_;
16630 MenhirLib.EngineTypes.endp = _endpos__4_;
16631 MenhirLib.EngineTypes.next = {
16632 MenhirLib.EngineTypes.semv = tl;
16633 MenhirLib.EngineTypes.startp = _startpos_tl_;
16634 MenhirLib.EngineTypes.endp = _endpos_tl_;
16635 MenhirLib.EngineTypes.next = {
16636 MenhirLib.EngineTypes.semv = t1;
16637 MenhirLib.EngineTypes.startp = _startpos_t1_;
16638 MenhirLib.EngineTypes.endp = _endpos_t1_;
16639 MenhirLib.EngineTypes.next = {
16640 MenhirLib.EngineTypes.state = _menhir_s;
16641 MenhirLib.EngineTypes.startp = _startpos__1_;
16642 MenhirLib.EngineTypes.endp = _endpos__1_;
16643 MenhirLib.EngineTypes.next = _menhir_stack;
16644 };
16645 };
16646 };
16647 } = _menhir_stack in
16648 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
16649 let t1 : 'tv_ctype = Obj.magic t1 in
16650 let _startpos = _startpos__1_ in
16651 let _endpos = _endpos__4_ in
16652 let _v : (
16653 # 185 "parser_cocci_menhir.mly"
16654 (Ast0_cocci.anything list list)
16655 # 16656 "parser_cocci_menhir.ml"
16656 ) =
16657 # 2030 "parser_cocci_menhir.mly"
16658 ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
16659 # 16660 "parser_cocci_menhir.ml"
16660 in
16661 _menhir_env.MenhirLib.EngineTypes.stack <- {
16662 MenhirLib.EngineTypes.state = _menhir_s;
16663 MenhirLib.EngineTypes.semv = Obj.repr _v;
16664 MenhirLib.EngineTypes.startp = _startpos;
16665 MenhirLib.EngineTypes.endp = _endpos;
16666 MenhirLib.EngineTypes.next = _menhir_stack;
16667 });
16668 (fun _menhir_env ->
16669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16670 let {
16671 MenhirLib.EngineTypes.startp = _startpos__4_;
16672 MenhirLib.EngineTypes.endp = _endpos__4_;
16673 MenhirLib.EngineTypes.next = {
16674 MenhirLib.EngineTypes.semv = el;
16675 MenhirLib.EngineTypes.startp = _startpos_el_;
16676 MenhirLib.EngineTypes.endp = _endpos_el_;
16677 MenhirLib.EngineTypes.next = {
16678 MenhirLib.EngineTypes.semv = e1;
16679 MenhirLib.EngineTypes.startp = _startpos_e1_;
16680 MenhirLib.EngineTypes.endp = _endpos_e1_;
16681 MenhirLib.EngineTypes.next = {
16682 MenhirLib.EngineTypes.state = _menhir_s;
16683 MenhirLib.EngineTypes.startp = _startpos__1_;
16684 MenhirLib.EngineTypes.endp = _endpos__1_;
16685 MenhirLib.EngineTypes.next = _menhir_stack;
16686 };
16687 };
16688 };
16689 } = _menhir_stack in
16690 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
16691 let e1 : 'tv_nest_start = Obj.magic e1 in
16692 let _startpos = _startpos__1_ in
16693 let _endpos = _endpos__4_ in
16694 let _v : (
16695 # 185 "parser_cocci_menhir.mly"
16696 (Ast0_cocci.anything list list)
16697 # 16698 "parser_cocci_menhir.ml"
16698 ) =
16699 # 2032 "parser_cocci_menhir.mly"
16700 ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
16701 # 16702 "parser_cocci_menhir.ml"
16702 in
16703 _menhir_env.MenhirLib.EngineTypes.stack <- {
16704 MenhirLib.EngineTypes.state = _menhir_s;
16705 MenhirLib.EngineTypes.semv = Obj.repr _v;
16706 MenhirLib.EngineTypes.startp = _startpos;
16707 MenhirLib.EngineTypes.endp = _endpos;
16708 MenhirLib.EngineTypes.next = _menhir_stack;
16709 });
16710 (fun _menhir_env ->
16711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16712 let {
16713 MenhirLib.EngineTypes.startp = _startpos__4_;
16714 MenhirLib.EngineTypes.endp = _endpos__4_;
16715 MenhirLib.EngineTypes.next = {
16716 MenhirLib.EngineTypes.semv = dl;
16717 MenhirLib.EngineTypes.startp = _startpos_dl_;
16718 MenhirLib.EngineTypes.endp = _endpos_dl_;
16719 MenhirLib.EngineTypes.next = {
16720 MenhirLib.EngineTypes.semv = d1;
16721 MenhirLib.EngineTypes.startp = _startpos_d1_;
16722 MenhirLib.EngineTypes.endp = _endpos_d1_;
16723 MenhirLib.EngineTypes.next = {
16724 MenhirLib.EngineTypes.state = _menhir_s;
16725 MenhirLib.EngineTypes.startp = _startpos__1_;
16726 MenhirLib.EngineTypes.endp = _endpos__1_;
16727 MenhirLib.EngineTypes.next = _menhir_stack;
16728 };
16729 };
16730 };
16731 } = _menhir_stack in
16732 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
16733 let d1 : 'tv_decl_var = Obj.magic d1 in
16734 let _startpos = _startpos__1_ in
16735 let _endpos = _endpos__4_ in
16736 let _v : (
16737 # 185 "parser_cocci_menhir.mly"
16738 (Ast0_cocci.anything list list)
16739 # 16740 "parser_cocci_menhir.ml"
16740 ) =
16741 # 2034 "parser_cocci_menhir.mly"
16742 ( let check_one = function
16743 [x] -> x
16744 | _ ->
16745 raise
16746 (Semantic_cocci.Semantic
16747 "only one variable per declaration in an isomorphism rule") in
16748 let d1 = check_one d1 in
16749 let dl =
16750 List.map
16751 (function
16752 Common.Left x -> Common.Left(check_one x)
16753 | Common.Right x -> Common.Right(check_one x))
16754 dl in
16755 let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
16756 # 16757 "parser_cocci_menhir.ml"
16757 in
16758 _menhir_env.MenhirLib.EngineTypes.stack <- {
16759 MenhirLib.EngineTypes.state = _menhir_s;
16760 MenhirLib.EngineTypes.semv = Obj.repr _v;
16761 MenhirLib.EngineTypes.startp = _startpos;
16762 MenhirLib.EngineTypes.endp = _endpos;
16763 MenhirLib.EngineTypes.next = _menhir_stack;
16764 });
16765 (fun _menhir_env ->
16766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16767 let {
16768 MenhirLib.EngineTypes.state = _menhir_s;
16769 MenhirLib.EngineTypes.semv = m;
16770 MenhirLib.EngineTypes.startp = _startpos_m_;
16771 MenhirLib.EngineTypes.endp = _endpos_m_;
16772 MenhirLib.EngineTypes.next = _menhir_stack;
16773 } = _menhir_stack in
16774 let m : 'tv_metadec = Obj.magic m in
16775 let _startpos = _startpos_m_ in
16776 let _endpos = _endpos_m_ in
16777 let _v : (
16778 # 188 "parser_cocci_menhir.mly"
16779 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
16780 # 16781 "parser_cocci_menhir.ml"
16781 ) =
16782 # 205 "parser_cocci_menhir.mly"
16783 ( m "" )
16784 # 16785 "parser_cocci_menhir.ml"
16785 in
16786 _menhir_env.MenhirLib.EngineTypes.stack <- {
16787 MenhirLib.EngineTypes.state = _menhir_s;
16788 MenhirLib.EngineTypes.semv = Obj.repr _v;
16789 MenhirLib.EngineTypes.startp = _startpos;
16790 MenhirLib.EngineTypes.endp = _endpos;
16791 MenhirLib.EngineTypes.next = _menhir_stack;
16792 });
16793 (fun _menhir_env ->
16794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16795 let {
16796 MenhirLib.EngineTypes.startp = _startpos__2_;
16797 MenhirLib.EngineTypes.endp = _endpos__2_;
16798 MenhirLib.EngineTypes.next = {
16799 MenhirLib.EngineTypes.state = _menhir_s;
16800 MenhirLib.EngineTypes.semv = nm;
16801 MenhirLib.EngineTypes.startp = _startpos_nm_;
16802 MenhirLib.EngineTypes.endp = _endpos_nm_;
16803 MenhirLib.EngineTypes.next = _menhir_stack;
16804 };
16805 } = _menhir_stack in
16806 let nm : 'tv_pure_ident = Obj.magic nm in
16807 let _startpos = _startpos_nm_ in
16808 let _endpos = _endpos__2_ in
16809 let _v : (
16810 # 172 "parser_cocci_menhir.mly"
16811 (Ast_cocci.rulename)
16812 # 16813 "parser_cocci_menhir.ml"
16813 ) =
16814 # 220 "parser_cocci_menhir.mly"
16815 ( P.make_iso_rule_name_result (P.id2name nm) )
16816 # 16817 "parser_cocci_menhir.ml"
16817 in
16818 _menhir_env.MenhirLib.EngineTypes.stack <- {
16819 MenhirLib.EngineTypes.state = _menhir_s;
16820 MenhirLib.EngineTypes.semv = Obj.repr _v;
16821 MenhirLib.EngineTypes.startp = _startpos;
16822 MenhirLib.EngineTypes.endp = _endpos;
16823 MenhirLib.EngineTypes.next = _menhir_stack;
16824 });
16825 (fun _menhir_env ->
16826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16827 let {
16828 MenhirLib.EngineTypes.state = _menhir_s;
16829 MenhirLib.EngineTypes.semv = _1;
16830 MenhirLib.EngineTypes.startp = _startpos__1_;
16831 MenhirLib.EngineTypes.endp = _endpos__1_;
16832 MenhirLib.EngineTypes.next = _menhir_stack;
16833 } = _menhir_stack in
16834 let _1 : (
16835 # 81 "parser_cocci_menhir.mly"
16836 (string * Data.clt)
16837 # 16838 "parser_cocci_menhir.ml"
16838 ) = Obj.magic _1 in
16839 let _startpos = _startpos__1_ in
16840 let _endpos = _endpos__1_ in
16841 let _v : 'tv_iter_ident =
16842 # 1703 "parser_cocci_menhir.mly"
16843 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16844 # 16845 "parser_cocci_menhir.ml"
16845 in
16846 _menhir_env.MenhirLib.EngineTypes.stack <- {
16847 MenhirLib.EngineTypes.state = _menhir_s;
16848 MenhirLib.EngineTypes.semv = Obj.repr _v;
16849 MenhirLib.EngineTypes.startp = _startpos;
16850 MenhirLib.EngineTypes.endp = _endpos;
16851 MenhirLib.EngineTypes.next = _menhir_stack;
16852 });
16853 (fun _menhir_env ->
16854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16855 let {
16856 MenhirLib.EngineTypes.state = _menhir_s;
16857 MenhirLib.EngineTypes.semv = _1;
16858 MenhirLib.EngineTypes.startp = _startpos__1_;
16859 MenhirLib.EngineTypes.endp = _endpos__1_;
16860 MenhirLib.EngineTypes.next = _menhir_stack;
16861 } = _menhir_stack in
16862 let _1 : (
16863 # 85 "parser_cocci_menhir.mly"
16864 (Parse_aux.idinfo)
16865 # 16866 "parser_cocci_menhir.ml"
16866 ) = Obj.magic _1 in
16867 let _startpos = _startpos__1_ in
16868 let _endpos = _endpos__1_ in
16869 let _v : 'tv_iter_ident =
16870 # 1705 "parser_cocci_menhir.mly"
16871 ( let (nm,constraints,pure,clt) = _1 in
16872 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16873 # 16874 "parser_cocci_menhir.ml"
16874 in
16875 _menhir_env.MenhirLib.EngineTypes.stack <- {
16876 MenhirLib.EngineTypes.state = _menhir_s;
16877 MenhirLib.EngineTypes.semv = Obj.repr _v;
16878 MenhirLib.EngineTypes.startp = _startpos;
16879 MenhirLib.EngineTypes.endp = _endpos;
16880 MenhirLib.EngineTypes.next = _menhir_stack;
16881 });
16882 (fun _menhir_env ->
16883 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16884 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16885 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16886 let _endpos = _startpos in
16887 let _v : 'tv_list_TMul_ =
16888 # 114 "standard.mly"
16889 ( [] )
16890 # 16891 "parser_cocci_menhir.ml"
16891 in
16892 _menhir_env.MenhirLib.EngineTypes.stack <- {
16893 MenhirLib.EngineTypes.state = _menhir_s;
16894 MenhirLib.EngineTypes.semv = Obj.repr _v;
16895 MenhirLib.EngineTypes.startp = _startpos;
16896 MenhirLib.EngineTypes.endp = _endpos;
16897 MenhirLib.EngineTypes.next = _menhir_stack;
16898 });
16899 (fun _menhir_env ->
16900 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16901 let {
16902 MenhirLib.EngineTypes.semv = xs;
16903 MenhirLib.EngineTypes.startp = _startpos_xs_;
16904 MenhirLib.EngineTypes.endp = _endpos_xs_;
16905 MenhirLib.EngineTypes.next = {
16906 MenhirLib.EngineTypes.state = _menhir_s;
16907 MenhirLib.EngineTypes.semv = x;
16908 MenhirLib.EngineTypes.startp = _startpos_x_;
16909 MenhirLib.EngineTypes.endp = _endpos_x_;
16910 MenhirLib.EngineTypes.next = _menhir_stack;
16911 };
16912 } = _menhir_stack in
16913 let xs : 'tv_list_TMul_ = Obj.magic xs in
16914 let x : (
16915 # 122 "parser_cocci_menhir.mly"
16916 (Data.clt)
16917 # 16918 "parser_cocci_menhir.ml"
16918 ) = Obj.magic x in
16919 let _startpos = _startpos_x_ in
16920 let _endpos = _endpos_xs_ in
16921 let _v : 'tv_list_TMul_ =
16922 # 116 "standard.mly"
16923 ( x :: xs )
16924 # 16925 "parser_cocci_menhir.ml"
16925 in
16926 _menhir_env.MenhirLib.EngineTypes.stack <- {
16927 MenhirLib.EngineTypes.state = _menhir_s;
16928 MenhirLib.EngineTypes.semv = Obj.repr _v;
16929 MenhirLib.EngineTypes.startp = _startpos;
16930 MenhirLib.EngineTypes.endp = _endpos;
16931 MenhirLib.EngineTypes.next = _menhir_stack;
16932 });
16933 (fun _menhir_env ->
16934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16935 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16936 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16937 let _endpos = _startpos in
16938 let _v : 'tv_list_array_dec_ =
16939 # 114 "standard.mly"
16940 ( [] )
16941 # 16942 "parser_cocci_menhir.ml"
16942 in
16943 _menhir_env.MenhirLib.EngineTypes.stack <- {
16944 MenhirLib.EngineTypes.state = _menhir_s;
16945 MenhirLib.EngineTypes.semv = Obj.repr _v;
16946 MenhirLib.EngineTypes.startp = _startpos;
16947 MenhirLib.EngineTypes.endp = _endpos;
16948 MenhirLib.EngineTypes.next = _menhir_stack;
16949 });
16950 (fun _menhir_env ->
16951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16952 let {
16953 MenhirLib.EngineTypes.semv = xs;
16954 MenhirLib.EngineTypes.startp = _startpos_xs_;
16955 MenhirLib.EngineTypes.endp = _endpos_xs_;
16956 MenhirLib.EngineTypes.next = {
16957 MenhirLib.EngineTypes.state = _menhir_s;
16958 MenhirLib.EngineTypes.semv = x;
16959 MenhirLib.EngineTypes.startp = _startpos_x_;
16960 MenhirLib.EngineTypes.endp = _endpos_x_;
16961 MenhirLib.EngineTypes.next = _menhir_stack;
16962 };
16963 } = _menhir_stack in
16964 let xs : 'tv_list_array_dec_ = Obj.magic xs in
16965 let x : 'tv_array_dec = Obj.magic x in
16966 let _startpos = _startpos_x_ in
16967 let _endpos = _endpos_xs_ in
16968 let _v : 'tv_list_array_dec_ =
16969 # 116 "standard.mly"
16970 ( x :: xs )
16971 # 16972 "parser_cocci_menhir.ml"
16972 in
16973 _menhir_env.MenhirLib.EngineTypes.stack <- {
16974 MenhirLib.EngineTypes.state = _menhir_s;
16975 MenhirLib.EngineTypes.semv = Obj.repr _v;
16976 MenhirLib.EngineTypes.startp = _startpos;
16977 MenhirLib.EngineTypes.endp = _endpos;
16978 MenhirLib.EngineTypes.next = _menhir_stack;
16979 });
16980 (fun _menhir_env ->
16981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16982 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16983 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16984 let _endpos = _startpos in
16985 let _v : 'tv_list_case_line_ =
16986 # 114 "standard.mly"
16987 ( [] )
16988 # 16989 "parser_cocci_menhir.ml"
16989 in
16990 _menhir_env.MenhirLib.EngineTypes.stack <- {
16991 MenhirLib.EngineTypes.state = _menhir_s;
16992 MenhirLib.EngineTypes.semv = Obj.repr _v;
16993 MenhirLib.EngineTypes.startp = _startpos;
16994 MenhirLib.EngineTypes.endp = _endpos;
16995 MenhirLib.EngineTypes.next = _menhir_stack;
16996 });
16997 (fun _menhir_env ->
16998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16999 let {
17000 MenhirLib.EngineTypes.semv = xs;
17001 MenhirLib.EngineTypes.startp = _startpos_xs_;
17002 MenhirLib.EngineTypes.endp = _endpos_xs_;
17003 MenhirLib.EngineTypes.next = {
17004 MenhirLib.EngineTypes.state = _menhir_s;
17005 MenhirLib.EngineTypes.semv = x;
17006 MenhirLib.EngineTypes.startp = _startpos_x_;
17007 MenhirLib.EngineTypes.endp = _endpos_x_;
17008 MenhirLib.EngineTypes.next = _menhir_stack;
17009 };
17010 } = _menhir_stack in
17011 let xs : 'tv_list_case_line_ = Obj.magic xs in
17012 let x : 'tv_case_line = Obj.magic x in
17013 let _startpos = _startpos_x_ in
17014 let _endpos = _endpos_xs_ in
17015 let _v : 'tv_list_case_line_ =
17016 # 116 "standard.mly"
17017 ( x :: xs )
17018 # 17019 "parser_cocci_menhir.ml"
17019 in
17020 _menhir_env.MenhirLib.EngineTypes.stack <- {
17021 MenhirLib.EngineTypes.state = _menhir_s;
17022 MenhirLib.EngineTypes.semv = Obj.repr _v;
17023 MenhirLib.EngineTypes.startp = _startpos;
17024 MenhirLib.EngineTypes.endp = _endpos;
17025 MenhirLib.EngineTypes.next = _menhir_stack;
17026 });
17027 (fun _menhir_env ->
17028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17029 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17030 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17031 let _endpos = _startpos in
17032 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
17033 # 114 "standard.mly"
17034 ( [] )
17035 # 17036 "parser_cocci_menhir.ml"
17036 in
17037 _menhir_env.MenhirLib.EngineTypes.stack <- {
17038 MenhirLib.EngineTypes.state = _menhir_s;
17039 MenhirLib.EngineTypes.semv = Obj.repr _v;
17040 MenhirLib.EngineTypes.startp = _startpos;
17041 MenhirLib.EngineTypes.endp = _endpos;
17042 MenhirLib.EngineTypes.next = _menhir_stack;
17043 });
17044 (fun _menhir_env ->
17045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17046 let {
17047 MenhirLib.EngineTypes.semv = xs;
17048 MenhirLib.EngineTypes.startp = _startpos_xs_;
17049 MenhirLib.EngineTypes.endp = _endpos_xs_;
17050 MenhirLib.EngineTypes.next = {
17051 MenhirLib.EngineTypes.state = _menhir_s;
17052 MenhirLib.EngineTypes.semv = x;
17053 MenhirLib.EngineTypes.startp = _startpos_x_;
17054 MenhirLib.EngineTypes.endp = _endpos_x_;
17055 MenhirLib.EngineTypes.next = _menhir_stack;
17056 };
17057 } = _menhir_stack in
17058 let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
17059 let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
17060 let _startpos = _startpos_x_ in
17061 let _endpos = _endpos_xs_ in
17062 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
17063 # 116 "standard.mly"
17064 ( x :: xs )
17065 # 17066 "parser_cocci_menhir.ml"
17066 in
17067 _menhir_env.MenhirLib.EngineTypes.stack <- {
17068 MenhirLib.EngineTypes.state = _menhir_s;
17069 MenhirLib.EngineTypes.semv = Obj.repr _v;
17070 MenhirLib.EngineTypes.startp = _startpos;
17071 MenhirLib.EngineTypes.endp = _endpos;
17072 MenhirLib.EngineTypes.next = _menhir_stack;
17073 });
17074 (fun _menhir_env ->
17075 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17076 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17077 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17078 let _endpos = _startpos in
17079 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17080 # 114 "standard.mly"
17081 ( [] )
17082 # 17083 "parser_cocci_menhir.ml"
17083 in
17084 _menhir_env.MenhirLib.EngineTypes.stack <- {
17085 MenhirLib.EngineTypes.state = _menhir_s;
17086 MenhirLib.EngineTypes.semv = Obj.repr _v;
17087 MenhirLib.EngineTypes.startp = _startpos;
17088 MenhirLib.EngineTypes.endp = _endpos;
17089 MenhirLib.EngineTypes.next = _menhir_stack;
17090 });
17091 (fun _menhir_env ->
17092 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17093 let {
17094 MenhirLib.EngineTypes.semv = xs;
17095 MenhirLib.EngineTypes.startp = _startpos_xs_;
17096 MenhirLib.EngineTypes.endp = _endpos_xs_;
17097 MenhirLib.EngineTypes.next = {
17098 MenhirLib.EngineTypes.state = _menhir_s;
17099 MenhirLib.EngineTypes.semv = x;
17100 MenhirLib.EngineTypes.startp = _startpos_x_;
17101 MenhirLib.EngineTypes.endp = _endpos_x_;
17102 MenhirLib.EngineTypes.next = _menhir_stack;
17103 };
17104 } = _menhir_stack in
17105 let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
17106 let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
17107 let _startpos = _startpos_x_ in
17108 let _endpos = _endpos_xs_ in
17109 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17110 # 116 "standard.mly"
17111 ( x :: xs )
17112 # 17113 "parser_cocci_menhir.ml"
17113 in
17114 _menhir_env.MenhirLib.EngineTypes.stack <- {
17115 MenhirLib.EngineTypes.state = _menhir_s;
17116 MenhirLib.EngineTypes.semv = Obj.repr _v;
17117 MenhirLib.EngineTypes.startp = _startpos;
17118 MenhirLib.EngineTypes.endp = _endpos;
17119 MenhirLib.EngineTypes.next = _menhir_stack;
17120 });
17121 (fun _menhir_env ->
17122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17123 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17124 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17125 let _endpos = _startpos in
17126 let _v : 'tv_list_decl_var_ =
17127 # 114 "standard.mly"
17128 ( [] )
17129 # 17130 "parser_cocci_menhir.ml"
17130 in
17131 _menhir_env.MenhirLib.EngineTypes.stack <- {
17132 MenhirLib.EngineTypes.state = _menhir_s;
17133 MenhirLib.EngineTypes.semv = Obj.repr _v;
17134 MenhirLib.EngineTypes.startp = _startpos;
17135 MenhirLib.EngineTypes.endp = _endpos;
17136 MenhirLib.EngineTypes.next = _menhir_stack;
17137 });
17138 (fun _menhir_env ->
17139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17140 let {
17141 MenhirLib.EngineTypes.semv = xs;
17142 MenhirLib.EngineTypes.startp = _startpos_xs_;
17143 MenhirLib.EngineTypes.endp = _endpos_xs_;
17144 MenhirLib.EngineTypes.next = {
17145 MenhirLib.EngineTypes.state = _menhir_s;
17146 MenhirLib.EngineTypes.semv = x;
17147 MenhirLib.EngineTypes.startp = _startpos_x_;
17148 MenhirLib.EngineTypes.endp = _endpos_x_;
17149 MenhirLib.EngineTypes.next = _menhir_stack;
17150 };
17151 } = _menhir_stack in
17152 let xs : 'tv_list_decl_var_ = Obj.magic xs in
17153 let x : 'tv_decl_var = Obj.magic x in
17154 let _startpos = _startpos_x_ in
17155 let _endpos = _endpos_xs_ in
17156 let _v : 'tv_list_decl_var_ =
17157 # 116 "standard.mly"
17158 ( x :: xs )
17159 # 17160 "parser_cocci_menhir.ml"
17160 in
17161 _menhir_env.MenhirLib.EngineTypes.stack <- {
17162 MenhirLib.EngineTypes.state = _menhir_s;
17163 MenhirLib.EngineTypes.semv = Obj.repr _v;
17164 MenhirLib.EngineTypes.startp = _startpos;
17165 MenhirLib.EngineTypes.endp = _endpos;
17166 MenhirLib.EngineTypes.next = _menhir_stack;
17167 });
17168 (fun _menhir_env ->
17169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17170 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17171 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17172 let _endpos = _startpos in
17173 let _v : 'tv_list_designator_ =
17174 # 114 "standard.mly"
17175 ( [] )
17176 # 17177 "parser_cocci_menhir.ml"
17177 in
17178 _menhir_env.MenhirLib.EngineTypes.stack <- {
17179 MenhirLib.EngineTypes.state = _menhir_s;
17180 MenhirLib.EngineTypes.semv = Obj.repr _v;
17181 MenhirLib.EngineTypes.startp = _startpos;
17182 MenhirLib.EngineTypes.endp = _endpos;
17183 MenhirLib.EngineTypes.next = _menhir_stack;
17184 });
17185 (fun _menhir_env ->
17186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17187 let {
17188 MenhirLib.EngineTypes.semv = xs;
17189 MenhirLib.EngineTypes.startp = _startpos_xs_;
17190 MenhirLib.EngineTypes.endp = _endpos_xs_;
17191 MenhirLib.EngineTypes.next = {
17192 MenhirLib.EngineTypes.state = _menhir_s;
17193 MenhirLib.EngineTypes.semv = x;
17194 MenhirLib.EngineTypes.startp = _startpos_x_;
17195 MenhirLib.EngineTypes.endp = _endpos_x_;
17196 MenhirLib.EngineTypes.next = _menhir_stack;
17197 };
17198 } = _menhir_stack in
17199 let xs : 'tv_list_designator_ = Obj.magic xs in
17200 let x : 'tv_designator = Obj.magic x in
17201 let _startpos = _startpos_x_ in
17202 let _endpos = _endpos_xs_ in
17203 let _v : 'tv_list_designator_ =
17204 # 116 "standard.mly"
17205 ( x :: xs )
17206 # 17207 "parser_cocci_menhir.ml"
17207 in
17208 _menhir_env.MenhirLib.EngineTypes.stack <- {
17209 MenhirLib.EngineTypes.state = _menhir_s;
17210 MenhirLib.EngineTypes.semv = Obj.repr _v;
17211 MenhirLib.EngineTypes.startp = _startpos;
17212 MenhirLib.EngineTypes.endp = _endpos;
17213 MenhirLib.EngineTypes.next = _menhir_stack;
17214 });
17215 (fun _menhir_env ->
17216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17217 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17218 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17219 let _endpos = _startpos in
17220 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17221 # 114 "standard.mly"
17222 ( [] )
17223 # 17224 "parser_cocci_menhir.ml"
17224 in
17225 _menhir_env.MenhirLib.EngineTypes.stack <- {
17226 MenhirLib.EngineTypes.state = _menhir_s;
17227 MenhirLib.EngineTypes.semv = Obj.repr _v;
17228 MenhirLib.EngineTypes.startp = _startpos;
17229 MenhirLib.EngineTypes.endp = _endpos;
17230 MenhirLib.EngineTypes.next = _menhir_stack;
17231 });
17232 (fun _menhir_env ->
17233 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17234 let {
17235 MenhirLib.EngineTypes.semv = xs;
17236 MenhirLib.EngineTypes.startp = _startpos_xs_;
17237 MenhirLib.EngineTypes.endp = _endpos_xs_;
17238 MenhirLib.EngineTypes.next = {
17239 MenhirLib.EngineTypes.state = _menhir_s;
17240 MenhirLib.EngineTypes.semv = x;
17241 MenhirLib.EngineTypes.startp = _startpos_x_;
17242 MenhirLib.EngineTypes.endp = _endpos_x_;
17243 MenhirLib.EngineTypes.next = _menhir_stack;
17244 };
17245 } = _menhir_stack in
17246 let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
17247 let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
17248 let _startpos = _startpos_x_ in
17249 let _endpos = _endpos_xs_ in
17250 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17251 # 116 "standard.mly"
17252 ( x :: xs )
17253 # 17254 "parser_cocci_menhir.ml"
17254 in
17255 _menhir_env.MenhirLib.EngineTypes.stack <- {
17256 MenhirLib.EngineTypes.state = _menhir_s;
17257 MenhirLib.EngineTypes.semv = Obj.repr _v;
17258 MenhirLib.EngineTypes.startp = _startpos;
17259 MenhirLib.EngineTypes.endp = _endpos;
17260 MenhirLib.EngineTypes.next = _menhir_stack;
17261 });
17262 (fun _menhir_env ->
17263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17264 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17265 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17266 let _endpos = _startpos in
17267 let _v : 'tv_list_incl_ =
17268 # 114 "standard.mly"
17269 ( [] )
17270 # 17271 "parser_cocci_menhir.ml"
17271 in
17272 _menhir_env.MenhirLib.EngineTypes.stack <- {
17273 MenhirLib.EngineTypes.state = _menhir_s;
17274 MenhirLib.EngineTypes.semv = Obj.repr _v;
17275 MenhirLib.EngineTypes.startp = _startpos;
17276 MenhirLib.EngineTypes.endp = _endpos;
17277 MenhirLib.EngineTypes.next = _menhir_stack;
17278 });
17279 (fun _menhir_env ->
17280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17281 let {
17282 MenhirLib.EngineTypes.semv = xs;
17283 MenhirLib.EngineTypes.startp = _startpos_xs_;
17284 MenhirLib.EngineTypes.endp = _endpos_xs_;
17285 MenhirLib.EngineTypes.next = {
17286 MenhirLib.EngineTypes.state = _menhir_s;
17287 MenhirLib.EngineTypes.semv = x;
17288 MenhirLib.EngineTypes.startp = _startpos_x_;
17289 MenhirLib.EngineTypes.endp = _endpos_x_;
17290 MenhirLib.EngineTypes.next = _menhir_stack;
17291 };
17292 } = _menhir_stack in
17293 let xs : 'tv_list_incl_ = Obj.magic xs in
17294 let x : 'tv_incl = Obj.magic x in
17295 let _startpos = _startpos_x_ in
17296 let _endpos = _endpos_xs_ in
17297 let _v : 'tv_list_incl_ =
17298 # 116 "standard.mly"
17299 ( x :: xs )
17300 # 17301 "parser_cocci_menhir.ml"
17301 in
17302 _menhir_env.MenhirLib.EngineTypes.stack <- {
17303 MenhirLib.EngineTypes.state = _menhir_s;
17304 MenhirLib.EngineTypes.semv = Obj.repr _v;
17305 MenhirLib.EngineTypes.startp = _startpos;
17306 MenhirLib.EngineTypes.endp = _endpos;
17307 MenhirLib.EngineTypes.next = _menhir_stack;
17308 });
17309 (fun _menhir_env ->
17310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17311 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17312 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17313 let _endpos = _startpos in
17314 let _v : 'tv_list_iso_ctype__ =
17315 # 114 "standard.mly"
17316 ( [] )
17317 # 17318 "parser_cocci_menhir.ml"
17318 in
17319 _menhir_env.MenhirLib.EngineTypes.stack <- {
17320 MenhirLib.EngineTypes.state = _menhir_s;
17321 MenhirLib.EngineTypes.semv = Obj.repr _v;
17322 MenhirLib.EngineTypes.startp = _startpos;
17323 MenhirLib.EngineTypes.endp = _endpos;
17324 MenhirLib.EngineTypes.next = _menhir_stack;
17325 });
17326 (fun _menhir_env ->
17327 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17328 let {
17329 MenhirLib.EngineTypes.semv = xs;
17330 MenhirLib.EngineTypes.startp = _startpos_xs_;
17331 MenhirLib.EngineTypes.endp = _endpos_xs_;
17332 MenhirLib.EngineTypes.next = {
17333 MenhirLib.EngineTypes.state = _menhir_s;
17334 MenhirLib.EngineTypes.semv = x;
17335 MenhirLib.EngineTypes.startp = _startpos_x_;
17336 MenhirLib.EngineTypes.endp = _endpos_x_;
17337 MenhirLib.EngineTypes.next = _menhir_stack;
17338 };
17339 } = _menhir_stack in
17340 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
17341 let x : 'tv_iso_ctype_ = Obj.magic x in
17342 let _startpos = _startpos_x_ in
17343 let _endpos = _endpos_xs_ in
17344 let _v : 'tv_list_iso_ctype__ =
17345 # 116 "standard.mly"
17346 ( x :: xs )
17347 # 17348 "parser_cocci_menhir.ml"
17348 in
17349 _menhir_env.MenhirLib.EngineTypes.stack <- {
17350 MenhirLib.EngineTypes.state = _menhir_s;
17351 MenhirLib.EngineTypes.semv = Obj.repr _v;
17352 MenhirLib.EngineTypes.startp = _startpos;
17353 MenhirLib.EngineTypes.endp = _endpos;
17354 MenhirLib.EngineTypes.next = _menhir_stack;
17355 });
17356 (fun _menhir_env ->
17357 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17358 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17359 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17360 let _endpos = _startpos in
17361 let _v : 'tv_list_iso_decl_var__ =
17362 # 114 "standard.mly"
17363 ( [] )
17364 # 17365 "parser_cocci_menhir.ml"
17365 in
17366 _menhir_env.MenhirLib.EngineTypes.stack <- {
17367 MenhirLib.EngineTypes.state = _menhir_s;
17368 MenhirLib.EngineTypes.semv = Obj.repr _v;
17369 MenhirLib.EngineTypes.startp = _startpos;
17370 MenhirLib.EngineTypes.endp = _endpos;
17371 MenhirLib.EngineTypes.next = _menhir_stack;
17372 });
17373 (fun _menhir_env ->
17374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17375 let {
17376 MenhirLib.EngineTypes.semv = xs;
17377 MenhirLib.EngineTypes.startp = _startpos_xs_;
17378 MenhirLib.EngineTypes.endp = _endpos_xs_;
17379 MenhirLib.EngineTypes.next = {
17380 MenhirLib.EngineTypes.state = _menhir_s;
17381 MenhirLib.EngineTypes.semv = x;
17382 MenhirLib.EngineTypes.startp = _startpos_x_;
17383 MenhirLib.EngineTypes.endp = _endpos_x_;
17384 MenhirLib.EngineTypes.next = _menhir_stack;
17385 };
17386 } = _menhir_stack in
17387 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
17388 let x : 'tv_iso_decl_var_ = Obj.magic x in
17389 let _startpos = _startpos_x_ in
17390 let _endpos = _endpos_xs_ in
17391 let _v : 'tv_list_iso_decl_var__ =
17392 # 116 "standard.mly"
17393 ( x :: xs )
17394 # 17395 "parser_cocci_menhir.ml"
17395 in
17396 _menhir_env.MenhirLib.EngineTypes.stack <- {
17397 MenhirLib.EngineTypes.state = _menhir_s;
17398 MenhirLib.EngineTypes.semv = Obj.repr _v;
17399 MenhirLib.EngineTypes.startp = _startpos;
17400 MenhirLib.EngineTypes.endp = _endpos;
17401 MenhirLib.EngineTypes.next = _menhir_stack;
17402 });
17403 (fun _menhir_env ->
17404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17405 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17406 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17407 let _endpos = _startpos in
17408 let _v : 'tv_list_iso_eexpr__ =
17409 # 114 "standard.mly"
17410 ( [] )
17411 # 17412 "parser_cocci_menhir.ml"
17412 in
17413 _menhir_env.MenhirLib.EngineTypes.stack <- {
17414 MenhirLib.EngineTypes.state = _menhir_s;
17415 MenhirLib.EngineTypes.semv = Obj.repr _v;
17416 MenhirLib.EngineTypes.startp = _startpos;
17417 MenhirLib.EngineTypes.endp = _endpos;
17418 MenhirLib.EngineTypes.next = _menhir_stack;
17419 });
17420 (fun _menhir_env ->
17421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17422 let {
17423 MenhirLib.EngineTypes.semv = xs;
17424 MenhirLib.EngineTypes.startp = _startpos_xs_;
17425 MenhirLib.EngineTypes.endp = _endpos_xs_;
17426 MenhirLib.EngineTypes.next = {
17427 MenhirLib.EngineTypes.state = _menhir_s;
17428 MenhirLib.EngineTypes.semv = x;
17429 MenhirLib.EngineTypes.startp = _startpos_x_;
17430 MenhirLib.EngineTypes.endp = _endpos_x_;
17431 MenhirLib.EngineTypes.next = _menhir_stack;
17432 };
17433 } = _menhir_stack in
17434 let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
17435 let x : 'tv_iso_eexpr_ = Obj.magic x in
17436 let _startpos = _startpos_x_ in
17437 let _endpos = _endpos_xs_ in
17438 let _v : 'tv_list_iso_eexpr__ =
17439 # 116 "standard.mly"
17440 ( x :: xs )
17441 # 17442 "parser_cocci_menhir.ml"
17442 in
17443 _menhir_env.MenhirLib.EngineTypes.stack <- {
17444 MenhirLib.EngineTypes.state = _menhir_s;
17445 MenhirLib.EngineTypes.semv = Obj.repr _v;
17446 MenhirLib.EngineTypes.startp = _startpos;
17447 MenhirLib.EngineTypes.endp = _endpos;
17448 MenhirLib.EngineTypes.next = _menhir_stack;
17449 });
17450 (fun _menhir_env ->
17451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17452 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17453 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17454 let _endpos = _startpos in
17455 let _v : 'tv_list_iso_nest_start__ =
17456 # 114 "standard.mly"
17457 ( [] )
17458 # 17459 "parser_cocci_menhir.ml"
17459 in
17460 _menhir_env.MenhirLib.EngineTypes.stack <- {
17461 MenhirLib.EngineTypes.state = _menhir_s;
17462 MenhirLib.EngineTypes.semv = Obj.repr _v;
17463 MenhirLib.EngineTypes.startp = _startpos;
17464 MenhirLib.EngineTypes.endp = _endpos;
17465 MenhirLib.EngineTypes.next = _menhir_stack;
17466 });
17467 (fun _menhir_env ->
17468 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17469 let {
17470 MenhirLib.EngineTypes.semv = xs;
17471 MenhirLib.EngineTypes.startp = _startpos_xs_;
17472 MenhirLib.EngineTypes.endp = _endpos_xs_;
17473 MenhirLib.EngineTypes.next = {
17474 MenhirLib.EngineTypes.state = _menhir_s;
17475 MenhirLib.EngineTypes.semv = x;
17476 MenhirLib.EngineTypes.startp = _startpos_x_;
17477 MenhirLib.EngineTypes.endp = _endpos_x_;
17478 MenhirLib.EngineTypes.next = _menhir_stack;
17479 };
17480 } = _menhir_stack in
17481 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
17482 let x : 'tv_iso_nest_start_ = Obj.magic x in
17483 let _startpos = _startpos_x_ in
17484 let _endpos = _endpos_xs_ in
17485 let _v : 'tv_list_iso_nest_start__ =
17486 # 116 "standard.mly"
17487 ( x :: xs )
17488 # 17489 "parser_cocci_menhir.ml"
17489 in
17490 _menhir_env.MenhirLib.EngineTypes.stack <- {
17491 MenhirLib.EngineTypes.state = _menhir_s;
17492 MenhirLib.EngineTypes.semv = Obj.repr _v;
17493 MenhirLib.EngineTypes.startp = _startpos;
17494 MenhirLib.EngineTypes.endp = _endpos;
17495 MenhirLib.EngineTypes.next = _menhir_stack;
17496 });
17497 (fun _menhir_env ->
17498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17499 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17500 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17501 let _endpos = _startpos in
17502 let _v : 'tv_list_iso_single_statement__ =
17503 # 114 "standard.mly"
17504 ( [] )
17505 # 17506 "parser_cocci_menhir.ml"
17506 in
17507 _menhir_env.MenhirLib.EngineTypes.stack <- {
17508 MenhirLib.EngineTypes.state = _menhir_s;
17509 MenhirLib.EngineTypes.semv = Obj.repr _v;
17510 MenhirLib.EngineTypes.startp = _startpos;
17511 MenhirLib.EngineTypes.endp = _endpos;
17512 MenhirLib.EngineTypes.next = _menhir_stack;
17513 });
17514 (fun _menhir_env ->
17515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17516 let {
17517 MenhirLib.EngineTypes.semv = xs;
17518 MenhirLib.EngineTypes.startp = _startpos_xs_;
17519 MenhirLib.EngineTypes.endp = _endpos_xs_;
17520 MenhirLib.EngineTypes.next = {
17521 MenhirLib.EngineTypes.state = _menhir_s;
17522 MenhirLib.EngineTypes.semv = x;
17523 MenhirLib.EngineTypes.startp = _startpos_x_;
17524 MenhirLib.EngineTypes.endp = _endpos_x_;
17525 MenhirLib.EngineTypes.next = _menhir_stack;
17526 };
17527 } = _menhir_stack in
17528 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
17529 let x : 'tv_iso_single_statement_ = Obj.magic x in
17530 let _startpos = _startpos_x_ in
17531 let _endpos = _endpos_xs_ in
17532 let _v : 'tv_list_iso_single_statement__ =
17533 # 116 "standard.mly"
17534 ( x :: xs )
17535 # 17536 "parser_cocci_menhir.ml"
17536 in
17537 _menhir_env.MenhirLib.EngineTypes.stack <- {
17538 MenhirLib.EngineTypes.state = _menhir_s;
17539 MenhirLib.EngineTypes.semv = Obj.repr _v;
17540 MenhirLib.EngineTypes.startp = _startpos;
17541 MenhirLib.EngineTypes.endp = _endpos;
17542 MenhirLib.EngineTypes.next = _menhir_stack;
17543 });
17544 (fun _menhir_env ->
17545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17546 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17547 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17548 let _endpos = _startpos in
17549 let _v : 'tv_list_mzl_ctype__ =
17550 # 114 "standard.mly"
17551 ( [] )
17552 # 17553 "parser_cocci_menhir.ml"
17553 in
17554 _menhir_env.MenhirLib.EngineTypes.stack <- {
17555 MenhirLib.EngineTypes.state = _menhir_s;
17556 MenhirLib.EngineTypes.semv = Obj.repr _v;
17557 MenhirLib.EngineTypes.startp = _startpos;
17558 MenhirLib.EngineTypes.endp = _endpos;
17559 MenhirLib.EngineTypes.next = _menhir_stack;
17560 });
17561 (fun _menhir_env ->
17562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17563 let {
17564 MenhirLib.EngineTypes.semv = xs;
17565 MenhirLib.EngineTypes.startp = _startpos_xs_;
17566 MenhirLib.EngineTypes.endp = _endpos_xs_;
17567 MenhirLib.EngineTypes.next = {
17568 MenhirLib.EngineTypes.state = _menhir_s;
17569 MenhirLib.EngineTypes.semv = x;
17570 MenhirLib.EngineTypes.startp = _startpos_x_;
17571 MenhirLib.EngineTypes.endp = _endpos_x_;
17572 MenhirLib.EngineTypes.next = _menhir_stack;
17573 };
17574 } = _menhir_stack in
17575 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
17576 let x : 'tv_mzl_ctype_ = Obj.magic x in
17577 let _startpos = _startpos_x_ in
17578 let _endpos = _endpos_xs_ in
17579 let _v : 'tv_list_mzl_ctype__ =
17580 # 116 "standard.mly"
17581 ( x :: xs )
17582 # 17583 "parser_cocci_menhir.ml"
17583 in
17584 _menhir_env.MenhirLib.EngineTypes.stack <- {
17585 MenhirLib.EngineTypes.state = _menhir_s;
17586 MenhirLib.EngineTypes.semv = Obj.repr _v;
17587 MenhirLib.EngineTypes.startp = _startpos;
17588 MenhirLib.EngineTypes.endp = _endpos;
17589 MenhirLib.EngineTypes.next = _menhir_stack;
17590 });
17591 (fun _menhir_env ->
17592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17593 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17594 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17595 let _endpos = _startpos in
17596 let _v : 'tv_list_mzl_eexpr__ =
17597 # 114 "standard.mly"
17598 ( [] )
17599 # 17600 "parser_cocci_menhir.ml"
17600 in
17601 _menhir_env.MenhirLib.EngineTypes.stack <- {
17602 MenhirLib.EngineTypes.state = _menhir_s;
17603 MenhirLib.EngineTypes.semv = Obj.repr _v;
17604 MenhirLib.EngineTypes.startp = _startpos;
17605 MenhirLib.EngineTypes.endp = _endpos;
17606 MenhirLib.EngineTypes.next = _menhir_stack;
17607 });
17608 (fun _menhir_env ->
17609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17610 let {
17611 MenhirLib.EngineTypes.semv = xs;
17612 MenhirLib.EngineTypes.startp = _startpos_xs_;
17613 MenhirLib.EngineTypes.endp = _endpos_xs_;
17614 MenhirLib.EngineTypes.next = {
17615 MenhirLib.EngineTypes.state = _menhir_s;
17616 MenhirLib.EngineTypes.semv = x;
17617 MenhirLib.EngineTypes.startp = _startpos_x_;
17618 MenhirLib.EngineTypes.endp = _endpos_x_;
17619 MenhirLib.EngineTypes.next = _menhir_stack;
17620 };
17621 } = _menhir_stack in
17622 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
17623 let x : 'tv_mzl_eexpr_ = Obj.magic x in
17624 let _startpos = _startpos_x_ in
17625 let _endpos = _endpos_xs_ in
17626 let _v : 'tv_list_mzl_eexpr__ =
17627 # 116 "standard.mly"
17628 ( x :: xs )
17629 # 17630 "parser_cocci_menhir.ml"
17630 in
17631 _menhir_env.MenhirLib.EngineTypes.stack <- {
17632 MenhirLib.EngineTypes.state = _menhir_s;
17633 MenhirLib.EngineTypes.semv = Obj.repr _v;
17634 MenhirLib.EngineTypes.startp = _startpos;
17635 MenhirLib.EngineTypes.endp = _endpos;
17636 MenhirLib.EngineTypes.next = _menhir_stack;
17637 });
17638 (fun _menhir_env ->
17639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17640 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17641 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17642 let _endpos = _startpos in
17643 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17644 # 114 "standard.mly"
17645 ( [] )
17646 # 17647 "parser_cocci_menhir.ml"
17647 in
17648 _menhir_env.MenhirLib.EngineTypes.stack <- {
17649 MenhirLib.EngineTypes.state = _menhir_s;
17650 MenhirLib.EngineTypes.semv = Obj.repr _v;
17651 MenhirLib.EngineTypes.startp = _startpos;
17652 MenhirLib.EngineTypes.endp = _endpos;
17653 MenhirLib.EngineTypes.next = _menhir_stack;
17654 });
17655 (fun _menhir_env ->
17656 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17657 let {
17658 MenhirLib.EngineTypes.semv = xs;
17659 MenhirLib.EngineTypes.startp = _startpos_xs_;
17660 MenhirLib.EngineTypes.endp = _endpos_xs_;
17661 MenhirLib.EngineTypes.next = {
17662 MenhirLib.EngineTypes.state = _menhir_s;
17663 MenhirLib.EngineTypes.semv = x;
17664 MenhirLib.EngineTypes.startp = _startpos_x_;
17665 MenhirLib.EngineTypes.endp = _endpos_x_;
17666 MenhirLib.EngineTypes.next = _menhir_stack;
17667 };
17668 } = _menhir_stack in
17669 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
17670 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
17671 let _startpos = _startpos_x_ in
17672 let _endpos = _endpos_xs_ in
17673 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17674 # 116 "standard.mly"
17675 ( x :: xs )
17676 # 17677 "parser_cocci_menhir.ml"
17677 in
17678 _menhir_env.MenhirLib.EngineTypes.stack <- {
17679 MenhirLib.EngineTypes.state = _menhir_s;
17680 MenhirLib.EngineTypes.semv = Obj.repr _v;
17681 MenhirLib.EngineTypes.startp = _startpos;
17682 MenhirLib.EngineTypes.endp = _endpos;
17683 MenhirLib.EngineTypes.next = _menhir_stack;
17684 });
17685 (fun _menhir_env ->
17686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17687 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17688 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17689 let _endpos = _startpos in
17690 let _v : 'tv_list_mzl_fun_start__ =
17691 # 114 "standard.mly"
17692 ( [] )
17693 # 17694 "parser_cocci_menhir.ml"
17694 in
17695 _menhir_env.MenhirLib.EngineTypes.stack <- {
17696 MenhirLib.EngineTypes.state = _menhir_s;
17697 MenhirLib.EngineTypes.semv = Obj.repr _v;
17698 MenhirLib.EngineTypes.startp = _startpos;
17699 MenhirLib.EngineTypes.endp = _endpos;
17700 MenhirLib.EngineTypes.next = _menhir_stack;
17701 });
17702 (fun _menhir_env ->
17703 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17704 let {
17705 MenhirLib.EngineTypes.semv = xs;
17706 MenhirLib.EngineTypes.startp = _startpos_xs_;
17707 MenhirLib.EngineTypes.endp = _endpos_xs_;
17708 MenhirLib.EngineTypes.next = {
17709 MenhirLib.EngineTypes.state = _menhir_s;
17710 MenhirLib.EngineTypes.semv = x;
17711 MenhirLib.EngineTypes.startp = _startpos_x_;
17712 MenhirLib.EngineTypes.endp = _endpos_x_;
17713 MenhirLib.EngineTypes.next = _menhir_stack;
17714 };
17715 } = _menhir_stack in
17716 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
17717 let x : 'tv_mzl_fun_start_ = Obj.magic x in
17718 let _startpos = _startpos_x_ in
17719 let _endpos = _endpos_xs_ in
17720 let _v : 'tv_list_mzl_fun_start__ =
17721 # 116 "standard.mly"
17722 ( x :: xs )
17723 # 17724 "parser_cocci_menhir.ml"
17724 in
17725 _menhir_env.MenhirLib.EngineTypes.stack <- {
17726 MenhirLib.EngineTypes.state = _menhir_s;
17727 MenhirLib.EngineTypes.semv = Obj.repr _v;
17728 MenhirLib.EngineTypes.startp = _startpos;
17729 MenhirLib.EngineTypes.endp = _endpos;
17730 MenhirLib.EngineTypes.next = _menhir_stack;
17731 });
17732 (fun _menhir_env ->
17733 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17734 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17735 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17736 let _endpos = _startpos in
17737 let _v : 'tv_list_mzl_rule_elem_statement__ =
17738 # 114 "standard.mly"
17739 ( [] )
17740 # 17741 "parser_cocci_menhir.ml"
17741 in
17742 _menhir_env.MenhirLib.EngineTypes.stack <- {
17743 MenhirLib.EngineTypes.state = _menhir_s;
17744 MenhirLib.EngineTypes.semv = Obj.repr _v;
17745 MenhirLib.EngineTypes.startp = _startpos;
17746 MenhirLib.EngineTypes.endp = _endpos;
17747 MenhirLib.EngineTypes.next = _menhir_stack;
17748 });
17749 (fun _menhir_env ->
17750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17751 let {
17752 MenhirLib.EngineTypes.semv = xs;
17753 MenhirLib.EngineTypes.startp = _startpos_xs_;
17754 MenhirLib.EngineTypes.endp = _endpos_xs_;
17755 MenhirLib.EngineTypes.next = {
17756 MenhirLib.EngineTypes.state = _menhir_s;
17757 MenhirLib.EngineTypes.semv = x;
17758 MenhirLib.EngineTypes.startp = _startpos_x_;
17759 MenhirLib.EngineTypes.endp = _endpos_x_;
17760 MenhirLib.EngineTypes.next = _menhir_stack;
17761 };
17762 } = _menhir_stack in
17763 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
17764 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
17765 let _startpos = _startpos_x_ in
17766 let _endpos = _endpos_xs_ in
17767 let _v : 'tv_list_mzl_rule_elem_statement__ =
17768 # 116 "standard.mly"
17769 ( x :: xs )
17770 # 17771 "parser_cocci_menhir.ml"
17771 in
17772 _menhir_env.MenhirLib.EngineTypes.stack <- {
17773 MenhirLib.EngineTypes.state = _menhir_s;
17774 MenhirLib.EngineTypes.semv = Obj.repr _v;
17775 MenhirLib.EngineTypes.startp = _startpos;
17776 MenhirLib.EngineTypes.endp = _endpos;
17777 MenhirLib.EngineTypes.next = _menhir_stack;
17778 });
17779 (fun _menhir_env ->
17780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17781 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17782 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17783 let _endpos = _startpos in
17784 let _v : 'tv_list_mzl_statement__ =
17785 # 114 "standard.mly"
17786 ( [] )
17787 # 17788 "parser_cocci_menhir.ml"
17788 in
17789 _menhir_env.MenhirLib.EngineTypes.stack <- {
17790 MenhirLib.EngineTypes.state = _menhir_s;
17791 MenhirLib.EngineTypes.semv = Obj.repr _v;
17792 MenhirLib.EngineTypes.startp = _startpos;
17793 MenhirLib.EngineTypes.endp = _endpos;
17794 MenhirLib.EngineTypes.next = _menhir_stack;
17795 });
17796 (fun _menhir_env ->
17797 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17798 let {
17799 MenhirLib.EngineTypes.semv = xs;
17800 MenhirLib.EngineTypes.startp = _startpos_xs_;
17801 MenhirLib.EngineTypes.endp = _endpos_xs_;
17802 MenhirLib.EngineTypes.next = {
17803 MenhirLib.EngineTypes.state = _menhir_s;
17804 MenhirLib.EngineTypes.semv = x;
17805 MenhirLib.EngineTypes.startp = _startpos_x_;
17806 MenhirLib.EngineTypes.endp = _endpos_x_;
17807 MenhirLib.EngineTypes.next = _menhir_stack;
17808 };
17809 } = _menhir_stack in
17810 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
17811 let x : 'tv_mzl_statement_ = Obj.magic x in
17812 let _startpos = _startpos_x_ in
17813 let _endpos = _endpos_xs_ in
17814 let _v : 'tv_list_mzl_statement__ =
17815 # 116 "standard.mly"
17816 ( x :: xs )
17817 # 17818 "parser_cocci_menhir.ml"
17818 in
17819 _menhir_env.MenhirLib.EngineTypes.stack <- {
17820 MenhirLib.EngineTypes.state = _menhir_s;
17821 MenhirLib.EngineTypes.semv = Obj.repr _v;
17822 MenhirLib.EngineTypes.startp = _startpos;
17823 MenhirLib.EngineTypes.endp = _endpos;
17824 MenhirLib.EngineTypes.next = _menhir_stack;
17825 });
17826 (fun _menhir_env ->
17827 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17828 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17829 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17830 let _endpos = _startpos in
17831 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
17832 # 114 "standard.mly"
17833 ( [] )
17834 # 17835 "parser_cocci_menhir.ml"
17835 in
17836 _menhir_env.MenhirLib.EngineTypes.stack <- {
17837 MenhirLib.EngineTypes.state = _menhir_s;
17838 MenhirLib.EngineTypes.semv = Obj.repr _v;
17839 MenhirLib.EngineTypes.startp = _startpos;
17840 MenhirLib.EngineTypes.endp = _endpos;
17841 MenhirLib.EngineTypes.next = _menhir_stack;
17842 });
17843 (fun _menhir_env ->
17844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17845 let {
17846 MenhirLib.EngineTypes.semv = xs;
17847 MenhirLib.EngineTypes.startp = _startpos_xs_;
17848 MenhirLib.EngineTypes.endp = _endpos_xs_;
17849 MenhirLib.EngineTypes.next = {
17850 MenhirLib.EngineTypes.semv = y0;
17851 MenhirLib.EngineTypes.startp = _startpos_y0_;
17852 MenhirLib.EngineTypes.endp = _endpos_y0_;
17853 MenhirLib.EngineTypes.next = {
17854 MenhirLib.EngineTypes.state = _menhir_s;
17855 MenhirLib.EngineTypes.semv = x0;
17856 MenhirLib.EngineTypes.startp = _startpos_x0_;
17857 MenhirLib.EngineTypes.endp = _endpos_x0_;
17858 MenhirLib.EngineTypes.next = _menhir_stack;
17859 };
17860 };
17861 } = _menhir_stack in
17862 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
17863 let y0 : 'tv_dexpr = Obj.magic y0 in
17864 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
17865 let _startpos = _startpos_x0_ in
17866 let _endpos = _endpos_xs_ in
17867 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
17868 let y = y0 in
17869 let x = x0 in
17870
17871 # 70 "standard.mly"
17872 ( (x, y) )
17873 # 17874 "parser_cocci_menhir.ml"
17874
17875 in
17876
17877 # 116 "standard.mly"
17878 ( x :: xs )
17879 # 17880 "parser_cocci_menhir.ml"
17880 in
17881 _menhir_env.MenhirLib.EngineTypes.stack <- {
17882 MenhirLib.EngineTypes.state = _menhir_s;
17883 MenhirLib.EngineTypes.semv = Obj.repr _v;
17884 MenhirLib.EngineTypes.startp = _startpos;
17885 MenhirLib.EngineTypes.endp = _endpos;
17886 MenhirLib.EngineTypes.next = _menhir_stack;
17887 });
17888 (fun _menhir_env ->
17889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17890 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17891 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17892 let _endpos = _startpos in
17893 let _v : 'tv_list_whenppdecs_ =
17894 # 114 "standard.mly"
17895 ( [] )
17896 # 17897 "parser_cocci_menhir.ml"
17897 in
17898 _menhir_env.MenhirLib.EngineTypes.stack <- {
17899 MenhirLib.EngineTypes.state = _menhir_s;
17900 MenhirLib.EngineTypes.semv = Obj.repr _v;
17901 MenhirLib.EngineTypes.startp = _startpos;
17902 MenhirLib.EngineTypes.endp = _endpos;
17903 MenhirLib.EngineTypes.next = _menhir_stack;
17904 });
17905 (fun _menhir_env ->
17906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17907 let {
17908 MenhirLib.EngineTypes.semv = xs;
17909 MenhirLib.EngineTypes.startp = _startpos_xs_;
17910 MenhirLib.EngineTypes.endp = _endpos_xs_;
17911 MenhirLib.EngineTypes.next = {
17912 MenhirLib.EngineTypes.state = _menhir_s;
17913 MenhirLib.EngineTypes.semv = x;
17914 MenhirLib.EngineTypes.startp = _startpos_x_;
17915 MenhirLib.EngineTypes.endp = _endpos_x_;
17916 MenhirLib.EngineTypes.next = _menhir_stack;
17917 };
17918 } = _menhir_stack in
17919 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
17920 let x : 'tv_whenppdecs = Obj.magic x in
17921 let _startpos = _startpos_x_ in
17922 let _endpos = _endpos_xs_ in
17923 let _v : 'tv_list_whenppdecs_ =
17924 # 116 "standard.mly"
17925 ( x :: xs )
17926 # 17927 "parser_cocci_menhir.ml"
17927 in
17928 _menhir_env.MenhirLib.EngineTypes.stack <- {
17929 MenhirLib.EngineTypes.state = _menhir_s;
17930 MenhirLib.EngineTypes.semv = Obj.repr _v;
17931 MenhirLib.EngineTypes.startp = _startpos;
17932 MenhirLib.EngineTypes.endp = _endpos;
17933 MenhirLib.EngineTypes.next = _menhir_stack;
17934 });
17935 (fun _menhir_env ->
17936 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17937 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17938 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17939 let _endpos = _startpos in
17940 let _v : 'tv_loption_choose_iso_ =
17941 # 57 "standard.mly"
17942 ( [] )
17943 # 17944 "parser_cocci_menhir.ml"
17944 in
17945 _menhir_env.MenhirLib.EngineTypes.stack <- {
17946 MenhirLib.EngineTypes.state = _menhir_s;
17947 MenhirLib.EngineTypes.semv = Obj.repr _v;
17948 MenhirLib.EngineTypes.startp = _startpos;
17949 MenhirLib.EngineTypes.endp = _endpos;
17950 MenhirLib.EngineTypes.next = _menhir_stack;
17951 });
17952 (fun _menhir_env ->
17953 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17954 let {
17955 MenhirLib.EngineTypes.state = _menhir_s;
17956 MenhirLib.EngineTypes.semv = x;
17957 MenhirLib.EngineTypes.startp = _startpos_x_;
17958 MenhirLib.EngineTypes.endp = _endpos_x_;
17959 MenhirLib.EngineTypes.next = _menhir_stack;
17960 } = _menhir_stack in
17961 let x : 'tv_choose_iso = Obj.magic x in
17962 let _startpos = _startpos_x_ in
17963 let _endpos = _endpos_x_ in
17964 let _v : 'tv_loption_choose_iso_ =
17965 # 59 "standard.mly"
17966 ( x )
17967 # 17968 "parser_cocci_menhir.ml"
17968 in
17969 _menhir_env.MenhirLib.EngineTypes.stack <- {
17970 MenhirLib.EngineTypes.state = _menhir_s;
17971 MenhirLib.EngineTypes.semv = Obj.repr _v;
17972 MenhirLib.EngineTypes.startp = _startpos;
17973 MenhirLib.EngineTypes.endp = _endpos;
17974 MenhirLib.EngineTypes.next = _menhir_stack;
17975 });
17976 (fun _menhir_env ->
17977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17978 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17979 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17980 let _endpos = _startpos in
17981 let _v : 'tv_loption_disable_ =
17982 # 57 "standard.mly"
17983 ( [] )
17984 # 17985 "parser_cocci_menhir.ml"
17985 in
17986 _menhir_env.MenhirLib.EngineTypes.stack <- {
17987 MenhirLib.EngineTypes.state = _menhir_s;
17988 MenhirLib.EngineTypes.semv = Obj.repr _v;
17989 MenhirLib.EngineTypes.startp = _startpos;
17990 MenhirLib.EngineTypes.endp = _endpos;
17991 MenhirLib.EngineTypes.next = _menhir_stack;
17992 });
17993 (fun _menhir_env ->
17994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17995 let {
17996 MenhirLib.EngineTypes.state = _menhir_s;
17997 MenhirLib.EngineTypes.semv = x;
17998 MenhirLib.EngineTypes.startp = _startpos_x_;
17999 MenhirLib.EngineTypes.endp = _endpos_x_;
18000 MenhirLib.EngineTypes.next = _menhir_stack;
18001 } = _menhir_stack in
18002 let x : 'tv_disable = Obj.magic x in
18003 let _startpos = _startpos_x_ in
18004 let _endpos = _endpos_x_ in
18005 let _v : 'tv_loption_disable_ =
18006 # 59 "standard.mly"
18007 ( x )
18008 # 18009 "parser_cocci_menhir.ml"
18009 in
18010 _menhir_env.MenhirLib.EngineTypes.stack <- {
18011 MenhirLib.EngineTypes.state = _menhir_s;
18012 MenhirLib.EngineTypes.semv = Obj.repr _v;
18013 MenhirLib.EngineTypes.startp = _startpos;
18014 MenhirLib.EngineTypes.endp = _endpos;
18015 MenhirLib.EngineTypes.next = _menhir_stack;
18016 });
18017 (fun _menhir_env ->
18018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18019 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18020 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18021 let _endpos = _startpos in
18022 let _v : 'tv_loption_filespec_ =
18023 # 57 "standard.mly"
18024 ( [] )
18025 # 18026 "parser_cocci_menhir.ml"
18026 in
18027 _menhir_env.MenhirLib.EngineTypes.stack <- {
18028 MenhirLib.EngineTypes.state = _menhir_s;
18029 MenhirLib.EngineTypes.semv = Obj.repr _v;
18030 MenhirLib.EngineTypes.startp = _startpos;
18031 MenhirLib.EngineTypes.endp = _endpos;
18032 MenhirLib.EngineTypes.next = _menhir_stack;
18033 });
18034 (fun _menhir_env ->
18035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18036 let {
18037 MenhirLib.EngineTypes.state = _menhir_s;
18038 MenhirLib.EngineTypes.semv = x;
18039 MenhirLib.EngineTypes.startp = _startpos_x_;
18040 MenhirLib.EngineTypes.endp = _endpos_x_;
18041 MenhirLib.EngineTypes.next = _menhir_stack;
18042 } = _menhir_stack in
18043 let x : 'tv_filespec = Obj.magic x in
18044 let _startpos = _startpos_x_ in
18045 let _endpos = _endpos_x_ in
18046 let _v : 'tv_loption_filespec_ =
18047 # 59 "standard.mly"
18048 ( x )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18061 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18062 let _endpos = _startpos in
18063 let _v : 'tv_loption_minus_start_ =
18064 # 57 "standard.mly"
18065 ( [] )
18066 # 18067 "parser_cocci_menhir.ml"
18067 in
18068 _menhir_env.MenhirLib.EngineTypes.stack <- {
18069 MenhirLib.EngineTypes.state = _menhir_s;
18070 MenhirLib.EngineTypes.semv = Obj.repr _v;
18071 MenhirLib.EngineTypes.startp = _startpos;
18072 MenhirLib.EngineTypes.endp = _endpos;
18073 MenhirLib.EngineTypes.next = _menhir_stack;
18074 });
18075 (fun _menhir_env ->
18076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18077 let {
18078 MenhirLib.EngineTypes.state = _menhir_s;
18079 MenhirLib.EngineTypes.semv = x;
18080 MenhirLib.EngineTypes.startp = _startpos_x_;
18081 MenhirLib.EngineTypes.endp = _endpos_x_;
18082 MenhirLib.EngineTypes.next = _menhir_stack;
18083 } = _menhir_stack in
18084 let x : 'tv_minus_start = Obj.magic x in
18085 let _startpos = _startpos_x_ in
18086 let _endpos = _endpos_x_ in
18087 let _v : 'tv_loption_minus_start_ =
18088 # 59 "standard.mly"
18089 ( x )
18090 # 18091 "parser_cocci_menhir.ml"
18091 in
18092 _menhir_env.MenhirLib.EngineTypes.stack <- {
18093 MenhirLib.EngineTypes.state = _menhir_s;
18094 MenhirLib.EngineTypes.semv = Obj.repr _v;
18095 MenhirLib.EngineTypes.startp = _startpos;
18096 MenhirLib.EngineTypes.endp = _endpos;
18097 MenhirLib.EngineTypes.next = _menhir_stack;
18098 });
18099 (fun _menhir_env ->
18100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18101 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18102 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18103 let _endpos = _startpos in
18104 let _v : 'tv_loption_not_pos_ =
18105 # 57 "standard.mly"
18106 ( [] )
18107 # 18108 "parser_cocci_menhir.ml"
18108 in
18109 _menhir_env.MenhirLib.EngineTypes.stack <- {
18110 MenhirLib.EngineTypes.state = _menhir_s;
18111 MenhirLib.EngineTypes.semv = Obj.repr _v;
18112 MenhirLib.EngineTypes.startp = _startpos;
18113 MenhirLib.EngineTypes.endp = _endpos;
18114 MenhirLib.EngineTypes.next = _menhir_stack;
18115 });
18116 (fun _menhir_env ->
18117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18118 let {
18119 MenhirLib.EngineTypes.state = _menhir_s;
18120 MenhirLib.EngineTypes.semv = x;
18121 MenhirLib.EngineTypes.startp = _startpos_x_;
18122 MenhirLib.EngineTypes.endp = _endpos_x_;
18123 MenhirLib.EngineTypes.next = _menhir_stack;
18124 } = _menhir_stack in
18125 let x : 'tv_not_pos = Obj.magic x in
18126 let _startpos = _startpos_x_ in
18127 let _endpos = _endpos_x_ in
18128 let _v : 'tv_loption_not_pos_ =
18129 # 59 "standard.mly"
18130 ( x )
18131 # 18132 "parser_cocci_menhir.ml"
18132 in
18133 _menhir_env.MenhirLib.EngineTypes.stack <- {
18134 MenhirLib.EngineTypes.state = _menhir_s;
18135 MenhirLib.EngineTypes.semv = Obj.repr _v;
18136 MenhirLib.EngineTypes.startp = _startpos;
18137 MenhirLib.EngineTypes.endp = _endpos;
18138 MenhirLib.EngineTypes.next = _menhir_stack;
18139 });
18140 (fun _menhir_env ->
18141 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18142 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18143 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18144 let _endpos = _startpos in
18145 let _v : 'tv_loption_plus_start_ =
18146 # 57 "standard.mly"
18147 ( [] )
18148 # 18149 "parser_cocci_menhir.ml"
18149 in
18150 _menhir_env.MenhirLib.EngineTypes.stack <- {
18151 MenhirLib.EngineTypes.state = _menhir_s;
18152 MenhirLib.EngineTypes.semv = Obj.repr _v;
18153 MenhirLib.EngineTypes.startp = _startpos;
18154 MenhirLib.EngineTypes.endp = _endpos;
18155 MenhirLib.EngineTypes.next = _menhir_stack;
18156 });
18157 (fun _menhir_env ->
18158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18159 let {
18160 MenhirLib.EngineTypes.state = _menhir_s;
18161 MenhirLib.EngineTypes.semv = x;
18162 MenhirLib.EngineTypes.startp = _startpos_x_;
18163 MenhirLib.EngineTypes.endp = _endpos_x_;
18164 MenhirLib.EngineTypes.next = _menhir_stack;
18165 } = _menhir_stack in
18166 let x : 'tv_plus_start = Obj.magic x in
18167 let _startpos = _startpos_x_ in
18168 let _endpos = _endpos_x_ in
18169 let _v : 'tv_loption_plus_start_ =
18170 # 59 "standard.mly"
18171 ( x )
18172 # 18173 "parser_cocci_menhir.ml"
18173 in
18174 _menhir_env.MenhirLib.EngineTypes.stack <- {
18175 MenhirLib.EngineTypes.state = _menhir_s;
18176 MenhirLib.EngineTypes.semv = Obj.repr _v;
18177 MenhirLib.EngineTypes.startp = _startpos;
18178 MenhirLib.EngineTypes.endp = _endpos;
18179 MenhirLib.EngineTypes.next = _menhir_stack;
18180 });
18181 (fun _menhir_env ->
18182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18183 let {
18184 MenhirLib.EngineTypes.state = _menhir_s;
18185 MenhirLib.EngineTypes.semv = t;
18186 MenhirLib.EngineTypes.startp = _startpos_t_;
18187 MenhirLib.EngineTypes.endp = _endpos_t_;
18188 MenhirLib.EngineTypes.next = _menhir_stack;
18189 } = _menhir_stack in
18190 let t : 'tv_typedef_ctype = Obj.magic t in
18191 let _startpos = _startpos_t_ in
18192 let _endpos = _endpos_t_ in
18193 let _v : 'tv_meta_exp_type =
18194 # 513 "parser_cocci_menhir.mly"
18195 ( [Ast0_cocci.ast0_type_to_type t] )
18196 # 18197 "parser_cocci_menhir.ml"
18197 in
18198 _menhir_env.MenhirLib.EngineTypes.stack <- {
18199 MenhirLib.EngineTypes.state = _menhir_s;
18200 MenhirLib.EngineTypes.semv = Obj.repr _v;
18201 MenhirLib.EngineTypes.startp = _startpos;
18202 MenhirLib.EngineTypes.endp = _endpos;
18203 MenhirLib.EngineTypes.next = _menhir_stack;
18204 });
18205 (fun _menhir_env ->
18206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18207 let {
18208 MenhirLib.EngineTypes.semv = m;
18209 MenhirLib.EngineTypes.startp = _startpos_m_;
18210 MenhirLib.EngineTypes.endp = _endpos_m_;
18211 MenhirLib.EngineTypes.next = {
18212 MenhirLib.EngineTypes.startp = _startpos__3_;
18213 MenhirLib.EngineTypes.endp = _endpos__3_;
18214 MenhirLib.EngineTypes.next = {
18215 MenhirLib.EngineTypes.semv = t;
18216 MenhirLib.EngineTypes.startp = _startpos_t_;
18217 MenhirLib.EngineTypes.endp = _endpos_t_;
18218 MenhirLib.EngineTypes.next = {
18219 MenhirLib.EngineTypes.state = _menhir_s;
18220 MenhirLib.EngineTypes.startp = _startpos__1_;
18221 MenhirLib.EngineTypes.endp = _endpos__1_;
18222 MenhirLib.EngineTypes.next = _menhir_stack;
18223 };
18224 };
18225 };
18226 } = _menhir_stack in
18227 let m : 'tv_list_TMul_ = Obj.magic m in
18228 let t : 'tv_comma_list_ctype_ = Obj.magic t in
18229 let _startpos = _startpos__1_ in
18230 let _endpos = _endpos_m_ in
18231 let _v : 'tv_meta_exp_type =
18232 # 515 "parser_cocci_menhir.mly"
18233 ( List.map
18234 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
18235 t )
18236 # 18237 "parser_cocci_menhir.ml"
18237 in
18238 _menhir_env.MenhirLib.EngineTypes.stack <- {
18239 MenhirLib.EngineTypes.state = _menhir_s;
18240 MenhirLib.EngineTypes.semv = Obj.repr _v;
18241 MenhirLib.EngineTypes.startp = _startpos;
18242 MenhirLib.EngineTypes.endp = _endpos;
18243 MenhirLib.EngineTypes.next = _menhir_stack;
18244 });
18245 (fun _menhir_env ->
18246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18247 let {
18248 MenhirLib.EngineTypes.semv = _3;
18249 MenhirLib.EngineTypes.startp = _startpos__3_;
18250 MenhirLib.EngineTypes.endp = _endpos__3_;
18251 MenhirLib.EngineTypes.next = {
18252 MenhirLib.EngineTypes.startp = _startpos__2_;
18253 MenhirLib.EngineTypes.endp = _endpos__2_;
18254 MenhirLib.EngineTypes.next = {
18255 MenhirLib.EngineTypes.state = _menhir_s;
18256 MenhirLib.EngineTypes.semv = _1;
18257 MenhirLib.EngineTypes.startp = _startpos__1_;
18258 MenhirLib.EngineTypes.endp = _endpos__1_;
18259 MenhirLib.EngineTypes.next = _menhir_stack;
18260 };
18261 };
18262 } = _menhir_stack in
18263 let _3 : 'tv_pure_ident = Obj.magic _3 in
18264 let _1 : (
18265 # 69 "parser_cocci_menhir.mly"
18266 (string)
18267 # 18268 "parser_cocci_menhir.ml"
18268 ) = Obj.magic _1 in
18269 let _startpos = _startpos__1_ in
18270 let _endpos = _endpos__3_ in
18271 let _v : 'tv_meta_ident =
18272 # 1472 "parser_cocci_menhir.mly"
18273 ( (Some _1,P.id2name _3) )
18274 # 18275 "parser_cocci_menhir.ml"
18275 in
18276 _menhir_env.MenhirLib.EngineTypes.stack <- {
18277 MenhirLib.EngineTypes.state = _menhir_s;
18278 MenhirLib.EngineTypes.semv = Obj.repr _v;
18279 MenhirLib.EngineTypes.startp = _startpos;
18280 MenhirLib.EngineTypes.endp = _endpos;
18281 MenhirLib.EngineTypes.next = _menhir_stack;
18282 });
18283 (fun _menhir_env ->
18284 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18285 let {
18286 MenhirLib.EngineTypes.semv = _3;
18287 MenhirLib.EngineTypes.startp = _startpos__3_;
18288 MenhirLib.EngineTypes.endp = _endpos__3_;
18289 MenhirLib.EngineTypes.next = {
18290 MenhirLib.EngineTypes.startp = _startpos__2_;
18291 MenhirLib.EngineTypes.endp = _endpos__2_;
18292 MenhirLib.EngineTypes.next = {
18293 MenhirLib.EngineTypes.state = _menhir_s;
18294 MenhirLib.EngineTypes.semv = _1;
18295 MenhirLib.EngineTypes.startp = _startpos__1_;
18296 MenhirLib.EngineTypes.endp = _endpos__1_;
18297 MenhirLib.EngineTypes.next = _menhir_stack;
18298 };
18299 };
18300 } = _menhir_stack in
18301 let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
18302 let _1 : (
18303 # 69 "parser_cocci_menhir.mly"
18304 (string)
18305 # 18306 "parser_cocci_menhir.ml"
18306 ) = Obj.magic _1 in
18307 let _startpos = _startpos__1_ in
18308 let _endpos = _endpos__3_ in
18309 let _v : 'tv_meta_ident =
18310 # 1473 "parser_cocci_menhir.mly"
18311 ( (Some _1,_3) )
18312 # 18313 "parser_cocci_menhir.ml"
18313 in
18314 _menhir_env.MenhirLib.EngineTypes.stack <- {
18315 MenhirLib.EngineTypes.state = _menhir_s;
18316 MenhirLib.EngineTypes.semv = Obj.repr _v;
18317 MenhirLib.EngineTypes.startp = _startpos;
18318 MenhirLib.EngineTypes.endp = _endpos;
18319 MenhirLib.EngineTypes.next = _menhir_stack;
18320 });
18321 (fun _menhir_env ->
18322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18323 let {
18324 MenhirLib.EngineTypes.state = _menhir_s;
18325 MenhirLib.EngineTypes.semv = m;
18326 MenhirLib.EngineTypes.startp = _startpos_m_;
18327 MenhirLib.EngineTypes.endp = _endpos_m_;
18328 MenhirLib.EngineTypes.next = _menhir_stack;
18329 } = _menhir_stack in
18330 let m : 'tv_metadec = Obj.magic m in
18331 let _startpos = _startpos_m_ in
18332 let _endpos = _endpos_m_ in
18333 let _v : (
18334 # 180 "parser_cocci_menhir.mly"
18335 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
18336 # 18337 "parser_cocci_menhir.ml"
18337 ) =
18338 # 204 "parser_cocci_menhir.mly"
18339 ( m (!Ast0.rule_name) )
18340 # 18341 "parser_cocci_menhir.ml"
18341 in
18342 _menhir_env.MenhirLib.EngineTypes.stack <- {
18343 MenhirLib.EngineTypes.state = _menhir_s;
18344 MenhirLib.EngineTypes.semv = Obj.repr _v;
18345 MenhirLib.EngineTypes.startp = _startpos;
18346 MenhirLib.EngineTypes.endp = _endpos;
18347 MenhirLib.EngineTypes.next = _menhir_stack;
18348 });
18349 (fun _menhir_env ->
18350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18351 let {
18352 MenhirLib.EngineTypes.startp = _startpos__5_;
18353 MenhirLib.EngineTypes.endp = _endpos__5_;
18354 MenhirLib.EngineTypes.next = {
18355 MenhirLib.EngineTypes.semv = ids;
18356 MenhirLib.EngineTypes.startp = _startpos_ids_;
18357 MenhirLib.EngineTypes.endp = _endpos_ids_;
18358 MenhirLib.EngineTypes.next = {
18359 MenhirLib.EngineTypes.startp = _startpos__3_;
18360 MenhirLib.EngineTypes.endp = _endpos__3_;
18361 MenhirLib.EngineTypes.next = {
18362 MenhirLib.EngineTypes.semv = ispure;
18363 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18364 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18365 MenhirLib.EngineTypes.next = {
18366 MenhirLib.EngineTypes.state = _menhir_s;
18367 MenhirLib.EngineTypes.semv = ar;
18368 MenhirLib.EngineTypes.startp = _startpos_ar_;
18369 MenhirLib.EngineTypes.endp = _endpos_ar_;
18370 MenhirLib.EngineTypes.next = _menhir_stack;
18371 };
18372 };
18373 };
18374 };
18375 } = _menhir_stack in
18376 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18377 let ispure : 'tv_pure = Obj.magic ispure in
18378 let ar : 'tv_arity = Obj.magic ar in
18379 let _startpos = _startpos_ar_ in
18380 let _endpos = _endpos__5_ in
18381 let _v : 'tv_metadec = let kindfn =
18382
18383 # 362 "parser_cocci_menhir.mly"
18384 ( (fun arity name pure check_meta ->
18385 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
18386 !Data.add_param_meta name pure; tok) )
18387 # 18388 "parser_cocci_menhir.ml"
18388
18389 in
18390
18391 # 293 "parser_cocci_menhir.mly"
18392 ( P.create_metadec ar ispure kindfn ids )
18393 # 18394 "parser_cocci_menhir.ml"
18394 in
18395 _menhir_env.MenhirLib.EngineTypes.stack <- {
18396 MenhirLib.EngineTypes.state = _menhir_s;
18397 MenhirLib.EngineTypes.semv = Obj.repr _v;
18398 MenhirLib.EngineTypes.startp = _startpos;
18399 MenhirLib.EngineTypes.endp = _endpos;
18400 MenhirLib.EngineTypes.next = _menhir_stack;
18401 });
18402 (fun _menhir_env ->
18403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18404 let {
18405 MenhirLib.EngineTypes.startp = _startpos__6_;
18406 MenhirLib.EngineTypes.endp = _endpos__6_;
18407 MenhirLib.EngineTypes.next = {
18408 MenhirLib.EngineTypes.semv = ids;
18409 MenhirLib.EngineTypes.startp = _startpos_ids_;
18410 MenhirLib.EngineTypes.endp = _endpos_ids_;
18411 MenhirLib.EngineTypes.next = {
18412 MenhirLib.EngineTypes.startp = _startpos__4_;
18413 MenhirLib.EngineTypes.endp = _endpos__4_;
18414 MenhirLib.EngineTypes.next = {
18415 MenhirLib.EngineTypes.startp = _startpos__3_;
18416 MenhirLib.EngineTypes.endp = _endpos__3_;
18417 MenhirLib.EngineTypes.next = {
18418 MenhirLib.EngineTypes.semv = ispure;
18419 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18420 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18421 MenhirLib.EngineTypes.next = {
18422 MenhirLib.EngineTypes.state = _menhir_s;
18423 MenhirLib.EngineTypes.semv = ar;
18424 MenhirLib.EngineTypes.startp = _startpos_ar_;
18425 MenhirLib.EngineTypes.endp = _endpos_ar_;
18426 MenhirLib.EngineTypes.next = _menhir_stack;
18427 };
18428 };
18429 };
18430 };
18431 };
18432 } = _menhir_stack in
18433 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18434 let ispure : 'tv_pure = Obj.magic ispure in
18435 let ar : 'tv_arity = Obj.magic ar in
18436 let _startpos = _startpos_ar_ in
18437 let _endpos = _endpos__6_ in
18438 let _v : 'tv_metadec = let kindfn =
18439
18440 # 366 "parser_cocci_menhir.mly"
18441 ( (fun arity name pure check_meta ->
18442 let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
18443 !Data.add_paramlist_meta name None pure; tok) )
18444 # 18445 "parser_cocci_menhir.ml"
18445
18446 in
18447
18448 # 293 "parser_cocci_menhir.mly"
18449 ( P.create_metadec ar ispure kindfn ids )
18450 # 18451 "parser_cocci_menhir.ml"
18451 in
18452 _menhir_env.MenhirLib.EngineTypes.stack <- {
18453 MenhirLib.EngineTypes.state = _menhir_s;
18454 MenhirLib.EngineTypes.semv = Obj.repr _v;
18455 MenhirLib.EngineTypes.startp = _startpos;
18456 MenhirLib.EngineTypes.endp = _endpos;
18457 MenhirLib.EngineTypes.next = _menhir_stack;
18458 });
18459 (fun _menhir_env ->
18460 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18461 let {
18462 MenhirLib.EngineTypes.startp = _startpos__6_;
18463 MenhirLib.EngineTypes.endp = _endpos__6_;
18464 MenhirLib.EngineTypes.next = {
18465 MenhirLib.EngineTypes.semv = ids;
18466 MenhirLib.EngineTypes.startp = _startpos_ids_;
18467 MenhirLib.EngineTypes.endp = _endpos_ids_;
18468 MenhirLib.EngineTypes.next = {
18469 MenhirLib.EngineTypes.startp = _startpos__4_;
18470 MenhirLib.EngineTypes.endp = _endpos__4_;
18471 MenhirLib.EngineTypes.next = {
18472 MenhirLib.EngineTypes.startp = _startpos__3_;
18473 MenhirLib.EngineTypes.endp = _endpos__3_;
18474 MenhirLib.EngineTypes.next = {
18475 MenhirLib.EngineTypes.semv = ispure;
18476 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18477 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18478 MenhirLib.EngineTypes.next = {
18479 MenhirLib.EngineTypes.state = _menhir_s;
18480 MenhirLib.EngineTypes.semv = ar;
18481 MenhirLib.EngineTypes.startp = _startpos_ar_;
18482 MenhirLib.EngineTypes.endp = _endpos_ar_;
18483 MenhirLib.EngineTypes.next = _menhir_stack;
18484 };
18485 };
18486 };
18487 };
18488 };
18489 } = _menhir_stack in
18490 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18491 let ispure : 'tv_pure = Obj.magic ispure in
18492 let ar : 'tv_arity = Obj.magic ar in
18493 let _startpos = _startpos_ar_ in
18494 let _endpos = _endpos__6_ in
18495 let _v : 'tv_metadec = let kindfn =
18496
18497 # 370 "parser_cocci_menhir.mly"
18498 ( (fun arity name pure check_meta ->
18499 let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
18500 !Data.add_explist_meta name None pure; tok) )
18501 # 18502 "parser_cocci_menhir.ml"
18502
18503 in
18504
18505 # 293 "parser_cocci_menhir.mly"
18506 ( P.create_metadec ar ispure kindfn ids )
18507 # 18508 "parser_cocci_menhir.ml"
18508 in
18509 _menhir_env.MenhirLib.EngineTypes.stack <- {
18510 MenhirLib.EngineTypes.state = _menhir_s;
18511 MenhirLib.EngineTypes.semv = Obj.repr _v;
18512 MenhirLib.EngineTypes.startp = _startpos;
18513 MenhirLib.EngineTypes.endp = _endpos;
18514 MenhirLib.EngineTypes.next = _menhir_stack;
18515 });
18516 (fun _menhir_env ->
18517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18518 let {
18519 MenhirLib.EngineTypes.startp = _startpos__5_;
18520 MenhirLib.EngineTypes.endp = _endpos__5_;
18521 MenhirLib.EngineTypes.next = {
18522 MenhirLib.EngineTypes.semv = ids;
18523 MenhirLib.EngineTypes.startp = _startpos_ids_;
18524 MenhirLib.EngineTypes.endp = _endpos_ids_;
18525 MenhirLib.EngineTypes.next = {
18526 MenhirLib.EngineTypes.startp = _startpos__3_;
18527 MenhirLib.EngineTypes.endp = _endpos__3_;
18528 MenhirLib.EngineTypes.next = {
18529 MenhirLib.EngineTypes.semv = ispure;
18530 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18531 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18532 MenhirLib.EngineTypes.next = {
18533 MenhirLib.EngineTypes.state = _menhir_s;
18534 MenhirLib.EngineTypes.semv = ar;
18535 MenhirLib.EngineTypes.startp = _startpos_ar_;
18536 MenhirLib.EngineTypes.endp = _endpos_ar_;
18537 MenhirLib.EngineTypes.next = _menhir_stack;
18538 };
18539 };
18540 };
18541 };
18542 } = _menhir_stack in
18543 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18544 let ispure : 'tv_pure = Obj.magic ispure in
18545 let ar : 'tv_arity = Obj.magic ar in
18546 let _startpos = _startpos_ar_ in
18547 let _endpos = _endpos__5_ in
18548 let _v : 'tv_metadec = let kindfn =
18549
18550 # 374 "parser_cocci_menhir.mly"
18551 ( (fun arity name pure check_meta ->
18552 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
18553 !Data.add_type_meta name pure; tok) )
18554 # 18555 "parser_cocci_menhir.ml"
18555
18556 in
18557
18558 # 293 "parser_cocci_menhir.mly"
18559 ( P.create_metadec ar ispure kindfn ids )
18560 # 18561 "parser_cocci_menhir.ml"
18561 in
18562 _menhir_env.MenhirLib.EngineTypes.stack <- {
18563 MenhirLib.EngineTypes.state = _menhir_s;
18564 MenhirLib.EngineTypes.semv = Obj.repr _v;
18565 MenhirLib.EngineTypes.startp = _startpos;
18566 MenhirLib.EngineTypes.endp = _endpos;
18567 MenhirLib.EngineTypes.next = _menhir_stack;
18568 });
18569 (fun _menhir_env ->
18570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18571 let {
18572 MenhirLib.EngineTypes.startp = _startpos__5_;
18573 MenhirLib.EngineTypes.endp = _endpos__5_;
18574 MenhirLib.EngineTypes.next = {
18575 MenhirLib.EngineTypes.semv = ids;
18576 MenhirLib.EngineTypes.startp = _startpos_ids_;
18577 MenhirLib.EngineTypes.endp = _endpos_ids_;
18578 MenhirLib.EngineTypes.next = {
18579 MenhirLib.EngineTypes.startp = _startpos__3_;
18580 MenhirLib.EngineTypes.endp = _endpos__3_;
18581 MenhirLib.EngineTypes.next = {
18582 MenhirLib.EngineTypes.semv = ispure;
18583 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18584 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18585 MenhirLib.EngineTypes.next = {
18586 MenhirLib.EngineTypes.state = _menhir_s;
18587 MenhirLib.EngineTypes.semv = ar;
18588 MenhirLib.EngineTypes.startp = _startpos_ar_;
18589 MenhirLib.EngineTypes.endp = _endpos_ar_;
18590 MenhirLib.EngineTypes.next = _menhir_stack;
18591 };
18592 };
18593 };
18594 };
18595 } = _menhir_stack in
18596 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18597 let ispure : 'tv_pure = Obj.magic ispure in
18598 let ar : 'tv_arity = Obj.magic ar in
18599 let _startpos = _startpos_ar_ in
18600 let _endpos = _endpos__5_ in
18601 let _v : 'tv_metadec = let kindfn =
18602
18603 # 378 "parser_cocci_menhir.mly"
18604 ( (fun arity name pure check_meta ->
18605 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
18606 !Data.add_init_meta name pure; tok) )
18607 # 18608 "parser_cocci_menhir.ml"
18608
18609 in
18610
18611 # 293 "parser_cocci_menhir.mly"
18612 ( P.create_metadec ar ispure kindfn ids )
18613 # 18614 "parser_cocci_menhir.ml"
18614 in
18615 _menhir_env.MenhirLib.EngineTypes.stack <- {
18616 MenhirLib.EngineTypes.state = _menhir_s;
18617 MenhirLib.EngineTypes.semv = Obj.repr _v;
18618 MenhirLib.EngineTypes.startp = _startpos;
18619 MenhirLib.EngineTypes.endp = _endpos;
18620 MenhirLib.EngineTypes.next = _menhir_stack;
18621 });
18622 (fun _menhir_env ->
18623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18624 let {
18625 MenhirLib.EngineTypes.startp = _startpos__5_;
18626 MenhirLib.EngineTypes.endp = _endpos__5_;
18627 MenhirLib.EngineTypes.next = {
18628 MenhirLib.EngineTypes.semv = ids;
18629 MenhirLib.EngineTypes.startp = _startpos_ids_;
18630 MenhirLib.EngineTypes.endp = _endpos_ids_;
18631 MenhirLib.EngineTypes.next = {
18632 MenhirLib.EngineTypes.startp = _startpos__3_;
18633 MenhirLib.EngineTypes.endp = _endpos__3_;
18634 MenhirLib.EngineTypes.next = {
18635 MenhirLib.EngineTypes.semv = ispure;
18636 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18637 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18638 MenhirLib.EngineTypes.next = {
18639 MenhirLib.EngineTypes.state = _menhir_s;
18640 MenhirLib.EngineTypes.semv = ar;
18641 MenhirLib.EngineTypes.startp = _startpos_ar_;
18642 MenhirLib.EngineTypes.endp = _endpos_ar_;
18643 MenhirLib.EngineTypes.next = _menhir_stack;
18644 };
18645 };
18646 };
18647 };
18648 } = _menhir_stack in
18649 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18650 let ispure : 'tv_pure = Obj.magic ispure in
18651 let ar : 'tv_arity = Obj.magic ar in
18652 let _startpos = _startpos_ar_ in
18653 let _endpos = _endpos__5_ in
18654 let _v : 'tv_metadec = let kindfn =
18655
18656 # 382 "parser_cocci_menhir.mly"
18657 ( (fun arity name pure check_meta ->
18658 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
18659 !Data.add_stm_meta name pure; tok) )
18660 # 18661 "parser_cocci_menhir.ml"
18661
18662 in
18663
18664 # 293 "parser_cocci_menhir.mly"
18665 ( P.create_metadec ar ispure kindfn ids )
18666 # 18667 "parser_cocci_menhir.ml"
18667 in
18668 _menhir_env.MenhirLib.EngineTypes.stack <- {
18669 MenhirLib.EngineTypes.state = _menhir_s;
18670 MenhirLib.EngineTypes.semv = Obj.repr _v;
18671 MenhirLib.EngineTypes.startp = _startpos;
18672 MenhirLib.EngineTypes.endp = _endpos;
18673 MenhirLib.EngineTypes.next = _menhir_stack;
18674 });
18675 (fun _menhir_env ->
18676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18677 let {
18678 MenhirLib.EngineTypes.startp = _startpos__6_;
18679 MenhirLib.EngineTypes.endp = _endpos__6_;
18680 MenhirLib.EngineTypes.next = {
18681 MenhirLib.EngineTypes.semv = ids;
18682 MenhirLib.EngineTypes.startp = _startpos_ids_;
18683 MenhirLib.EngineTypes.endp = _endpos_ids_;
18684 MenhirLib.EngineTypes.next = {
18685 MenhirLib.EngineTypes.startp = _startpos__4_;
18686 MenhirLib.EngineTypes.endp = _endpos__4_;
18687 MenhirLib.EngineTypes.next = {
18688 MenhirLib.EngineTypes.startp = _startpos__3_;
18689 MenhirLib.EngineTypes.endp = _endpos__3_;
18690 MenhirLib.EngineTypes.next = {
18691 MenhirLib.EngineTypes.semv = ispure;
18692 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18693 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18694 MenhirLib.EngineTypes.next = {
18695 MenhirLib.EngineTypes.state = _menhir_s;
18696 MenhirLib.EngineTypes.semv = ar;
18697 MenhirLib.EngineTypes.startp = _startpos_ar_;
18698 MenhirLib.EngineTypes.endp = _endpos_ar_;
18699 MenhirLib.EngineTypes.next = _menhir_stack;
18700 };
18701 };
18702 };
18703 };
18704 };
18705 } = _menhir_stack in
18706 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18707 let ispure : 'tv_pure = Obj.magic ispure in
18708 let ar : 'tv_arity = Obj.magic ar in
18709 let _startpos = _startpos_ar_ in
18710 let _endpos = _endpos__6_ in
18711 let _v : 'tv_metadec = let kindfn =
18712
18713 # 386 "parser_cocci_menhir.mly"
18714 ( (fun arity name pure check_meta ->
18715 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
18716 !Data.add_stmlist_meta name pure; tok) )
18717 # 18718 "parser_cocci_menhir.ml"
18718
18719 in
18720
18721 # 293 "parser_cocci_menhir.mly"
18722 ( P.create_metadec ar ispure kindfn ids )
18723 # 18724 "parser_cocci_menhir.ml"
18724 in
18725 _menhir_env.MenhirLib.EngineTypes.stack <- {
18726 MenhirLib.EngineTypes.state = _menhir_s;
18727 MenhirLib.EngineTypes.semv = Obj.repr _v;
18728 MenhirLib.EngineTypes.startp = _startpos;
18729 MenhirLib.EngineTypes.endp = _endpos;
18730 MenhirLib.EngineTypes.next = _menhir_stack;
18731 });
18732 (fun _menhir_env ->
18733 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18734 let {
18735 MenhirLib.EngineTypes.startp = _startpos__5_;
18736 MenhirLib.EngineTypes.endp = _endpos__5_;
18737 MenhirLib.EngineTypes.next = {
18738 MenhirLib.EngineTypes.semv = ids;
18739 MenhirLib.EngineTypes.startp = _startpos_ids_;
18740 MenhirLib.EngineTypes.endp = _endpos_ids_;
18741 MenhirLib.EngineTypes.next = {
18742 MenhirLib.EngineTypes.startp = _startpos__3_;
18743 MenhirLib.EngineTypes.endp = _endpos__3_;
18744 MenhirLib.EngineTypes.next = {
18745 MenhirLib.EngineTypes.semv = ispure;
18746 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18747 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18748 MenhirLib.EngineTypes.next = {
18749 MenhirLib.EngineTypes.state = _menhir_s;
18750 MenhirLib.EngineTypes.semv = ar;
18751 MenhirLib.EngineTypes.startp = _startpos_ar_;
18752 MenhirLib.EngineTypes.endp = _endpos_ar_;
18753 MenhirLib.EngineTypes.next = _menhir_stack;
18754 };
18755 };
18756 };
18757 };
18758 } = _menhir_stack in
18759 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18760 let ispure : 'tv_pure = Obj.magic ispure in
18761 let ar : 'tv_arity = Obj.magic ar in
18762 let _startpos = _startpos_ar_ in
18763 let _endpos = _endpos__5_ in
18764 let _v : 'tv_metadec = let kindfn =
18765
18766 # 390 "parser_cocci_menhir.mly"
18767 ( (fun arity (_,name) pure check_meta ->
18768 if arity = Ast.NONE && pure = Ast0.Impure
18769 then (!Data.add_type_name name; [])
18770 else raise (Semantic_cocci.Semantic "bad typedef")) )
18771 # 18772 "parser_cocci_menhir.ml"
18772
18773 in
18774
18775 # 293 "parser_cocci_menhir.mly"
18776 ( P.create_metadec ar ispure kindfn ids )
18777 # 18778 "parser_cocci_menhir.ml"
18778 in
18779 _menhir_env.MenhirLib.EngineTypes.stack <- {
18780 MenhirLib.EngineTypes.state = _menhir_s;
18781 MenhirLib.EngineTypes.semv = Obj.repr _v;
18782 MenhirLib.EngineTypes.startp = _startpos;
18783 MenhirLib.EngineTypes.endp = _endpos;
18784 MenhirLib.EngineTypes.next = _menhir_stack;
18785 });
18786 (fun _menhir_env ->
18787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18788 let {
18789 MenhirLib.EngineTypes.startp = _startpos__6_;
18790 MenhirLib.EngineTypes.endp = _endpos__6_;
18791 MenhirLib.EngineTypes.next = {
18792 MenhirLib.EngineTypes.semv = ids;
18793 MenhirLib.EngineTypes.startp = _startpos_ids_;
18794 MenhirLib.EngineTypes.endp = _endpos_ids_;
18795 MenhirLib.EngineTypes.next = {
18796 MenhirLib.EngineTypes.startp = _startpos__4_;
18797 MenhirLib.EngineTypes.endp = _endpos__4_;
18798 MenhirLib.EngineTypes.next = {
18799 MenhirLib.EngineTypes.startp = _startpos__3_;
18800 MenhirLib.EngineTypes.endp = _endpos__3_;
18801 MenhirLib.EngineTypes.next = {
18802 MenhirLib.EngineTypes.semv = ispure;
18803 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18804 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18805 MenhirLib.EngineTypes.next = {
18806 MenhirLib.EngineTypes.state = _menhir_s;
18807 MenhirLib.EngineTypes.semv = ar;
18808 MenhirLib.EngineTypes.startp = _startpos_ar_;
18809 MenhirLib.EngineTypes.endp = _endpos_ar_;
18810 MenhirLib.EngineTypes.next = _menhir_stack;
18811 };
18812 };
18813 };
18814 };
18815 };
18816 } = _menhir_stack in
18817 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18818 let ispure : 'tv_pure = Obj.magic ispure in
18819 let ar : 'tv_arity = Obj.magic ar in
18820 let _startpos = _startpos_ar_ in
18821 let _endpos = _endpos__6_ in
18822 let _v : 'tv_metadec = let kindfn =
18823
18824 # 395 "parser_cocci_menhir.mly"
18825 ( (fun arity (_,name) pure check_meta ->
18826 if arity = Ast.NONE && pure = Ast0.Impure
18827 then (!Data.add_declarer_name name; [])
18828 else raise (Semantic_cocci.Semantic "bad declarer")) )
18829 # 18830 "parser_cocci_menhir.ml"
18830
18831 in
18832
18833 # 293 "parser_cocci_menhir.mly"
18834 ( P.create_metadec ar ispure kindfn ids )
18835 # 18836 "parser_cocci_menhir.ml"
18836 in
18837 _menhir_env.MenhirLib.EngineTypes.stack <- {
18838 MenhirLib.EngineTypes.state = _menhir_s;
18839 MenhirLib.EngineTypes.semv = Obj.repr _v;
18840 MenhirLib.EngineTypes.startp = _startpos;
18841 MenhirLib.EngineTypes.endp = _endpos;
18842 MenhirLib.EngineTypes.next = _menhir_stack;
18843 });
18844 (fun _menhir_env ->
18845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18846 let {
18847 MenhirLib.EngineTypes.startp = _startpos__6_;
18848 MenhirLib.EngineTypes.endp = _endpos__6_;
18849 MenhirLib.EngineTypes.next = {
18850 MenhirLib.EngineTypes.semv = ids;
18851 MenhirLib.EngineTypes.startp = _startpos_ids_;
18852 MenhirLib.EngineTypes.endp = _endpos_ids_;
18853 MenhirLib.EngineTypes.next = {
18854 MenhirLib.EngineTypes.startp = _startpos__4_;
18855 MenhirLib.EngineTypes.endp = _endpos__4_;
18856 MenhirLib.EngineTypes.next = {
18857 MenhirLib.EngineTypes.startp = _startpos__3_;
18858 MenhirLib.EngineTypes.endp = _endpos__3_;
18859 MenhirLib.EngineTypes.next = {
18860 MenhirLib.EngineTypes.semv = ispure;
18861 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18862 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18863 MenhirLib.EngineTypes.next = {
18864 MenhirLib.EngineTypes.state = _menhir_s;
18865 MenhirLib.EngineTypes.semv = ar;
18866 MenhirLib.EngineTypes.startp = _startpos_ar_;
18867 MenhirLib.EngineTypes.endp = _endpos_ar_;
18868 MenhirLib.EngineTypes.next = _menhir_stack;
18869 };
18870 };
18871 };
18872 };
18873 };
18874 } = _menhir_stack in
18875 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18876 let ispure : 'tv_pure = Obj.magic ispure in
18877 let ar : 'tv_arity = Obj.magic ar in
18878 let _startpos = _startpos_ar_ in
18879 let _endpos = _endpos__6_ in
18880 let _v : 'tv_metadec = let kindfn =
18881
18882 # 400 "parser_cocci_menhir.mly"
18883 ( (fun arity (_,name) pure check_meta ->
18884 if arity = Ast.NONE && pure = Ast0.Impure
18885 then (!Data.add_iterator_name name; [])
18886 else raise (Semantic_cocci.Semantic "bad iterator")) )
18887 # 18888 "parser_cocci_menhir.ml"
18888
18889 in
18890
18891 # 293 "parser_cocci_menhir.mly"
18892 ( P.create_metadec ar ispure kindfn ids )
18893 # 18894 "parser_cocci_menhir.ml"
18894 in
18895 _menhir_env.MenhirLib.EngineTypes.stack <- {
18896 MenhirLib.EngineTypes.state = _menhir_s;
18897 MenhirLib.EngineTypes.semv = Obj.repr _v;
18898 MenhirLib.EngineTypes.startp = _startpos;
18899 MenhirLib.EngineTypes.endp = _endpos;
18900 MenhirLib.EngineTypes.next = _menhir_stack;
18901 });
18902 (fun _menhir_env ->
18903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18904 let {
18905 MenhirLib.EngineTypes.startp = _startpos__4_;
18906 MenhirLib.EngineTypes.endp = _endpos__4_;
18907 MenhirLib.EngineTypes.next = {
18908 MenhirLib.EngineTypes.semv = ids;
18909 MenhirLib.EngineTypes.startp = _startpos_ids_;
18910 MenhirLib.EngineTypes.endp = _endpos_ids_;
18911 MenhirLib.EngineTypes.next = {
18912 MenhirLib.EngineTypes.startp = _startpos__2_;
18913 MenhirLib.EngineTypes.endp = _endpos__2_;
18914 MenhirLib.EngineTypes.next = {
18915 MenhirLib.EngineTypes.state = _menhir_s;
18916 MenhirLib.EngineTypes.startp = _startpos__1_;
18917 MenhirLib.EngineTypes.endp = _endpos__1_;
18918 MenhirLib.EngineTypes.next = _menhir_stack;
18919 };
18920 };
18921 };
18922 } = _menhir_stack in
18923 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
18924 let _startpos = _startpos__1_ in
18925 let _endpos = _endpos__4_ in
18926 let _v : 'tv_metadec = let kindfn =
18927
18928 # 355 "parser_cocci_menhir.mly"
18929 ( (fun name check_meta seed ->
18930 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
18931 !Data.add_fresh_id_meta name; tok) )
18932 # 18933 "parser_cocci_menhir.ml"
18933
18934 in
18935
18936 # 296 "parser_cocci_menhir.mly"
18937 ( P.create_fresh_metadec kindfn ids )
18938 # 18939 "parser_cocci_menhir.ml"
18939 in
18940 _menhir_env.MenhirLib.EngineTypes.stack <- {
18941 MenhirLib.EngineTypes.state = _menhir_s;
18942 MenhirLib.EngineTypes.semv = Obj.repr _v;
18943 MenhirLib.EngineTypes.startp = _startpos;
18944 MenhirLib.EngineTypes.endp = _endpos;
18945 MenhirLib.EngineTypes.next = _menhir_stack;
18946 });
18947 (fun _menhir_env ->
18948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18949 let {
18950 MenhirLib.EngineTypes.startp = _startpos__5_;
18951 MenhirLib.EngineTypes.endp = _endpos__5_;
18952 MenhirLib.EngineTypes.next = {
18953 MenhirLib.EngineTypes.semv = ids;
18954 MenhirLib.EngineTypes.startp = _startpos_ids_;
18955 MenhirLib.EngineTypes.endp = _endpos_ids_;
18956 MenhirLib.EngineTypes.next = {
18957 MenhirLib.EngineTypes.startp = _startpos__3_;
18958 MenhirLib.EngineTypes.endp = _endpos__3_;
18959 MenhirLib.EngineTypes.next = {
18960 MenhirLib.EngineTypes.semv = ispure;
18961 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18962 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18963 MenhirLib.EngineTypes.next = {
18964 MenhirLib.EngineTypes.state = _menhir_s;
18965 MenhirLib.EngineTypes.semv = ar;
18966 MenhirLib.EngineTypes.startp = _startpos_ar_;
18967 MenhirLib.EngineTypes.endp = _endpos_ar_;
18968 MenhirLib.EngineTypes.next = _menhir_stack;
18969 };
18970 };
18971 };
18972 };
18973 } = _menhir_stack in
18974 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
18975 let ispure : 'tv_pure = Obj.magic ispure in
18976 let ar : 'tv_arity = Obj.magic ar in
18977 let _startpos = _startpos_ar_ in
18978 let _endpos = _endpos__5_ in
18979 let _v : 'tv_metadec = let kindfn =
18980
18981 # 407 "parser_cocci_menhir.mly"
18982 (
18983 let idfn arity name pure check_meta constraints =
18984 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
18985 !Data.add_id_meta name constraints pure; tok in
18986 let virtfn arity name pure check_meta virtual_env =
18987 try
18988 let vl = List.assoc name virtual_env in
18989 !Data.add_virt_id_meta_found name vl; []
18990 with Not_found ->
18991 let name = ("virtual",name) in
18992 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
18993 !Data.add_virt_id_meta_not_found name pure; tok in
18994 (idfn,virtfn) )
18995 # 18996 "parser_cocci_menhir.ml"
18996
18997 in
18998
18999 # 302 "parser_cocci_menhir.mly"
19000 ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
19001 let (idfn,virtfn) = kindfn in
19002 function cr ->
19003 (P.create_metadec_with_constraints ar ispure idfn normal cr) @
19004 (P.create_metadec_virt ar ispure virtfn virt cr) )
19005 # 19006 "parser_cocci_menhir.ml"
19006 in
19007 _menhir_env.MenhirLib.EngineTypes.stack <- {
19008 MenhirLib.EngineTypes.state = _menhir_s;
19009 MenhirLib.EngineTypes.semv = Obj.repr _v;
19010 MenhirLib.EngineTypes.startp = _startpos;
19011 MenhirLib.EngineTypes.endp = _endpos;
19012 MenhirLib.EngineTypes.next = _menhir_stack;
19013 });
19014 (fun _menhir_env ->
19015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19016 let {
19017 MenhirLib.EngineTypes.startp = _startpos__5_;
19018 MenhirLib.EngineTypes.endp = _endpos__5_;
19019 MenhirLib.EngineTypes.next = {
19020 MenhirLib.EngineTypes.semv = ids;
19021 MenhirLib.EngineTypes.startp = _startpos_ids_;
19022 MenhirLib.EngineTypes.endp = _endpos_ids_;
19023 MenhirLib.EngineTypes.next = {
19024 MenhirLib.EngineTypes.startp = _startpos__3_;
19025 MenhirLib.EngineTypes.endp = _endpos__3_;
19026 MenhirLib.EngineTypes.next = {
19027 MenhirLib.EngineTypes.semv = ispure;
19028 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19029 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19030 MenhirLib.EngineTypes.next = {
19031 MenhirLib.EngineTypes.state = _menhir_s;
19032 MenhirLib.EngineTypes.semv = ar;
19033 MenhirLib.EngineTypes.startp = _startpos_ar_;
19034 MenhirLib.EngineTypes.endp = _endpos_ar_;
19035 MenhirLib.EngineTypes.next = _menhir_stack;
19036 };
19037 };
19038 };
19039 };
19040 } = _menhir_stack in
19041 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19042 let ispure : 'tv_pure = Obj.magic ispure in
19043 let ar : 'tv_arity = Obj.magic ar in
19044 let _startpos = _startpos_ar_ in
19045 let _endpos = _endpos__5_ in
19046 let _v : 'tv_metadec = let kindfn =
19047
19048 # 423 "parser_cocci_menhir.mly"
19049 ( (fun arity name pure check_meta constraints ->
19050 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
19051 !Data.add_func_meta name constraints pure; tok) )
19052 # 19053 "parser_cocci_menhir.ml"
19053
19054 in
19055
19056 # 311 "parser_cocci_menhir.mly"
19057 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19058 # 19059 "parser_cocci_menhir.ml"
19059 in
19060 _menhir_env.MenhirLib.EngineTypes.stack <- {
19061 MenhirLib.EngineTypes.state = _menhir_s;
19062 MenhirLib.EngineTypes.semv = Obj.repr _v;
19063 MenhirLib.EngineTypes.startp = _startpos;
19064 MenhirLib.EngineTypes.endp = _endpos;
19065 MenhirLib.EngineTypes.next = _menhir_stack;
19066 });
19067 (fun _menhir_env ->
19068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19069 let {
19070 MenhirLib.EngineTypes.startp = _startpos__6_;
19071 MenhirLib.EngineTypes.endp = _endpos__6_;
19072 MenhirLib.EngineTypes.next = {
19073 MenhirLib.EngineTypes.semv = ids;
19074 MenhirLib.EngineTypes.startp = _startpos_ids_;
19075 MenhirLib.EngineTypes.endp = _endpos_ids_;
19076 MenhirLib.EngineTypes.next = {
19077 MenhirLib.EngineTypes.startp = _startpos__4_;
19078 MenhirLib.EngineTypes.endp = _endpos__4_;
19079 MenhirLib.EngineTypes.next = {
19080 MenhirLib.EngineTypes.startp = _startpos__3_;
19081 MenhirLib.EngineTypes.endp = _endpos__3_;
19082 MenhirLib.EngineTypes.next = {
19083 MenhirLib.EngineTypes.semv = ispure;
19084 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19085 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19086 MenhirLib.EngineTypes.next = {
19087 MenhirLib.EngineTypes.state = _menhir_s;
19088 MenhirLib.EngineTypes.semv = ar;
19089 MenhirLib.EngineTypes.startp = _startpos_ar_;
19090 MenhirLib.EngineTypes.endp = _endpos_ar_;
19091 MenhirLib.EngineTypes.next = _menhir_stack;
19092 };
19093 };
19094 };
19095 };
19096 };
19097 } = _menhir_stack in
19098 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19099 let ispure : 'tv_pure = Obj.magic ispure in
19100 let ar : 'tv_arity = Obj.magic ar in
19101 let _startpos = _startpos_ar_ in
19102 let _endpos = _endpos__6_ in
19103 let _v : 'tv_metadec = let kindfn =
19104
19105 # 427 "parser_cocci_menhir.mly"
19106 ( (fun arity name pure check_meta constraints ->
19107 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
19108 !Data.add_local_func_meta name constraints pure;
19109 tok) )
19110 # 19111 "parser_cocci_menhir.ml"
19111
19112 in
19113
19114 # 311 "parser_cocci_menhir.mly"
19115 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19116 # 19117 "parser_cocci_menhir.ml"
19117 in
19118 _menhir_env.MenhirLib.EngineTypes.stack <- {
19119 MenhirLib.EngineTypes.state = _menhir_s;
19120 MenhirLib.EngineTypes.semv = Obj.repr _v;
19121 MenhirLib.EngineTypes.startp = _startpos;
19122 MenhirLib.EngineTypes.endp = _endpos;
19123 MenhirLib.EngineTypes.next = _menhir_stack;
19124 });
19125 (fun _menhir_env ->
19126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19127 let {
19128 MenhirLib.EngineTypes.startp = _startpos__5_;
19129 MenhirLib.EngineTypes.endp = _endpos__5_;
19130 MenhirLib.EngineTypes.next = {
19131 MenhirLib.EngineTypes.semv = ids;
19132 MenhirLib.EngineTypes.startp = _startpos_ids_;
19133 MenhirLib.EngineTypes.endp = _endpos_ids_;
19134 MenhirLib.EngineTypes.next = {
19135 MenhirLib.EngineTypes.startp = _startpos__3_;
19136 MenhirLib.EngineTypes.endp = _endpos__3_;
19137 MenhirLib.EngineTypes.next = {
19138 MenhirLib.EngineTypes.semv = ispure;
19139 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19140 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19141 MenhirLib.EngineTypes.next = {
19142 MenhirLib.EngineTypes.state = _menhir_s;
19143 MenhirLib.EngineTypes.semv = ar;
19144 MenhirLib.EngineTypes.startp = _startpos_ar_;
19145 MenhirLib.EngineTypes.endp = _endpos_ar_;
19146 MenhirLib.EngineTypes.next = _menhir_stack;
19147 };
19148 };
19149 };
19150 };
19151 } = _menhir_stack in
19152 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19153 let ispure : 'tv_pure = Obj.magic ispure in
19154 let ar : 'tv_arity = Obj.magic ar in
19155 let _startpos = _startpos_ar_ in
19156 let _endpos = _endpos__5_ in
19157 let _v : 'tv_metadec = let kindfn =
19158
19159 # 432 "parser_cocci_menhir.mly"
19160 ( (fun arity name pure check_meta constraints ->
19161 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
19162 !Data.add_declarer_meta name constraints pure; tok) )
19163 # 19164 "parser_cocci_menhir.ml"
19164
19165 in
19166
19167 # 311 "parser_cocci_menhir.mly"
19168 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19169 # 19170 "parser_cocci_menhir.ml"
19170 in
19171 _menhir_env.MenhirLib.EngineTypes.stack <- {
19172 MenhirLib.EngineTypes.state = _menhir_s;
19173 MenhirLib.EngineTypes.semv = Obj.repr _v;
19174 MenhirLib.EngineTypes.startp = _startpos;
19175 MenhirLib.EngineTypes.endp = _endpos;
19176 MenhirLib.EngineTypes.next = _menhir_stack;
19177 });
19178 (fun _menhir_env ->
19179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19180 let {
19181 MenhirLib.EngineTypes.startp = _startpos__5_;
19182 MenhirLib.EngineTypes.endp = _endpos__5_;
19183 MenhirLib.EngineTypes.next = {
19184 MenhirLib.EngineTypes.semv = ids;
19185 MenhirLib.EngineTypes.startp = _startpos_ids_;
19186 MenhirLib.EngineTypes.endp = _endpos_ids_;
19187 MenhirLib.EngineTypes.next = {
19188 MenhirLib.EngineTypes.startp = _startpos__3_;
19189 MenhirLib.EngineTypes.endp = _endpos__3_;
19190 MenhirLib.EngineTypes.next = {
19191 MenhirLib.EngineTypes.semv = ispure;
19192 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19193 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19194 MenhirLib.EngineTypes.next = {
19195 MenhirLib.EngineTypes.state = _menhir_s;
19196 MenhirLib.EngineTypes.semv = ar;
19197 MenhirLib.EngineTypes.startp = _startpos_ar_;
19198 MenhirLib.EngineTypes.endp = _endpos_ar_;
19199 MenhirLib.EngineTypes.next = _menhir_stack;
19200 };
19201 };
19202 };
19203 };
19204 } = _menhir_stack in
19205 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19206 let ispure : 'tv_pure = Obj.magic ispure in
19207 let ar : 'tv_arity = Obj.magic ar in
19208 let _startpos = _startpos_ar_ in
19209 let _endpos = _endpos__5_ in
19210 let _v : 'tv_metadec = let kindfn =
19211
19212 # 436 "parser_cocci_menhir.mly"
19213 ( (fun arity name pure check_meta constraints ->
19214 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
19215 !Data.add_iterator_meta name constraints pure; tok) )
19216 # 19217 "parser_cocci_menhir.ml"
19217
19218 in
19219
19220 # 311 "parser_cocci_menhir.mly"
19221 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19222 # 19223 "parser_cocci_menhir.ml"
19223 in
19224 _menhir_env.MenhirLib.EngineTypes.stack <- {
19225 MenhirLib.EngineTypes.state = _menhir_s;
19226 MenhirLib.EngineTypes.semv = Obj.repr _v;
19227 MenhirLib.EngineTypes.startp = _startpos;
19228 MenhirLib.EngineTypes.endp = _endpos;
19229 MenhirLib.EngineTypes.next = _menhir_stack;
19230 });
19231 (fun _menhir_env ->
19232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19233 let {
19234 MenhirLib.EngineTypes.startp = _startpos__5_;
19235 MenhirLib.EngineTypes.endp = _endpos__5_;
19236 MenhirLib.EngineTypes.next = {
19237 MenhirLib.EngineTypes.semv = ids;
19238 MenhirLib.EngineTypes.startp = _startpos_ids_;
19239 MenhirLib.EngineTypes.endp = _endpos_ids_;
19240 MenhirLib.EngineTypes.next = {
19241 MenhirLib.EngineTypes.startp = _startpos__3_;
19242 MenhirLib.EngineTypes.endp = _endpos__3_;
19243 MenhirLib.EngineTypes.next = {
19244 MenhirLib.EngineTypes.semv = ispure;
19245 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19246 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19247 MenhirLib.EngineTypes.next = {
19248 MenhirLib.EngineTypes.state = _menhir_s;
19249 MenhirLib.EngineTypes.semv = ar;
19250 MenhirLib.EngineTypes.startp = _startpos_ar_;
19251 MenhirLib.EngineTypes.endp = _endpos_ar_;
19252 MenhirLib.EngineTypes.next = _menhir_stack;
19253 };
19254 };
19255 };
19256 };
19257 } = _menhir_stack in
19258 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19259 let ispure : 'tv_pure = Obj.magic ispure in
19260 let ar : 'tv_arity = Obj.magic ar in
19261 let _startpos = _startpos_ar_ in
19262 let _endpos = _endpos__5_ in
19263 let _v : 'tv_metadec = let kindfn =
19264
19265 # 442 "parser_cocci_menhir.mly"
19266 ( (fun arity name pure check_meta constraints ->
19267 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
19268 !Data.add_err_meta name constraints pure; tok) )
19269 # 19270 "parser_cocci_menhir.ml"
19270
19271 in
19272
19273 # 316 "parser_cocci_menhir.mly"
19274 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19275 # 19276 "parser_cocci_menhir.ml"
19276 in
19277 _menhir_env.MenhirLib.EngineTypes.stack <- {
19278 MenhirLib.EngineTypes.state = _menhir_s;
19279 MenhirLib.EngineTypes.semv = Obj.repr _v;
19280 MenhirLib.EngineTypes.startp = _startpos;
19281 MenhirLib.EngineTypes.endp = _endpos;
19282 MenhirLib.EngineTypes.next = _menhir_stack;
19283 });
19284 (fun _menhir_env ->
19285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19286 let {
19287 MenhirLib.EngineTypes.startp = _startpos__6_;
19288 MenhirLib.EngineTypes.endp = _endpos__6_;
19289 MenhirLib.EngineTypes.next = {
19290 MenhirLib.EngineTypes.semv = ids;
19291 MenhirLib.EngineTypes.startp = _startpos_ids_;
19292 MenhirLib.EngineTypes.endp = _endpos_ids_;
19293 MenhirLib.EngineTypes.next = {
19294 MenhirLib.EngineTypes.startp = _startpos__4_;
19295 MenhirLib.EngineTypes.endp = _endpos__4_;
19296 MenhirLib.EngineTypes.next = {
19297 MenhirLib.EngineTypes.semv = l0;
19298 MenhirLib.EngineTypes.startp = _startpos_l0_;
19299 MenhirLib.EngineTypes.endp = _endpos_l0_;
19300 MenhirLib.EngineTypes.next = {
19301 MenhirLib.EngineTypes.semv = ispure;
19302 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19303 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19304 MenhirLib.EngineTypes.next = {
19305 MenhirLib.EngineTypes.state = _menhir_s;
19306 MenhirLib.EngineTypes.semv = ar;
19307 MenhirLib.EngineTypes.startp = _startpos_ar_;
19308 MenhirLib.EngineTypes.endp = _endpos_ar_;
19309 MenhirLib.EngineTypes.next = _menhir_stack;
19310 };
19311 };
19312 };
19313 };
19314 };
19315 } = _menhir_stack in
19316 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19317 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19318 let ispure : 'tv_pure = Obj.magic ispure in
19319 let ar : 'tv_arity = Obj.magic ar in
19320 let _startpos = _startpos_ar_ in
19321 let _endpos = _endpos__6_ in
19322 let _v : 'tv_metadec = let kindfn =
19323 let l = l0 in
19324 let ty =
19325
19326 # 39 "standard.mly"
19327 ( None )
19328 # 19329 "parser_cocci_menhir.ml"
19329
19330 in
19331
19332 # 446 "parser_cocci_menhir.mly"
19333 ( (fun arity name pure check_meta constraints ->
19334 match l with
19335 None ->
19336 !Data.add_idexp_meta ty name constraints pure;
19337 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19338 | Some _ ->
19339 !Data.add_local_idexp_meta ty name constraints pure;
19340 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19341 # 19342 "parser_cocci_menhir.ml"
19342
19343 in
19344
19345 # 316 "parser_cocci_menhir.mly"
19346 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19347 # 19348 "parser_cocci_menhir.ml"
19348 in
19349 _menhir_env.MenhirLib.EngineTypes.stack <- {
19350 MenhirLib.EngineTypes.state = _menhir_s;
19351 MenhirLib.EngineTypes.semv = Obj.repr _v;
19352 MenhirLib.EngineTypes.startp = _startpos;
19353 MenhirLib.EngineTypes.endp = _endpos;
19354 MenhirLib.EngineTypes.next = _menhir_stack;
19355 });
19356 (fun _menhir_env ->
19357 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19358 let {
19359 MenhirLib.EngineTypes.startp = _startpos__7_;
19360 MenhirLib.EngineTypes.endp = _endpos__7_;
19361 MenhirLib.EngineTypes.next = {
19362 MenhirLib.EngineTypes.semv = ids;
19363 MenhirLib.EngineTypes.startp = _startpos_ids_;
19364 MenhirLib.EngineTypes.endp = _endpos_ids_;
19365 MenhirLib.EngineTypes.next = {
19366 MenhirLib.EngineTypes.semv = x00;
19367 MenhirLib.EngineTypes.startp = _startpos_x00_;
19368 MenhirLib.EngineTypes.endp = _endpos_x00_;
19369 MenhirLib.EngineTypes.next = {
19370 MenhirLib.EngineTypes.startp = _startpos__4_;
19371 MenhirLib.EngineTypes.endp = _endpos__4_;
19372 MenhirLib.EngineTypes.next = {
19373 MenhirLib.EngineTypes.semv = l0;
19374 MenhirLib.EngineTypes.startp = _startpos_l0_;
19375 MenhirLib.EngineTypes.endp = _endpos_l0_;
19376 MenhirLib.EngineTypes.next = {
19377 MenhirLib.EngineTypes.semv = ispure;
19378 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19379 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19380 MenhirLib.EngineTypes.next = {
19381 MenhirLib.EngineTypes.state = _menhir_s;
19382 MenhirLib.EngineTypes.semv = ar;
19383 MenhirLib.EngineTypes.startp = _startpos_ar_;
19384 MenhirLib.EngineTypes.endp = _endpos_ar_;
19385 MenhirLib.EngineTypes.next = _menhir_stack;
19386 };
19387 };
19388 };
19389 };
19390 };
19391 };
19392 } = _menhir_stack in
19393 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19394 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19395 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19396 let ispure : 'tv_pure = Obj.magic ispure in
19397 let ar : 'tv_arity = Obj.magic ar in
19398 let _startpos = _startpos_ar_ in
19399 let _endpos = _endpos__7_ in
19400 let _v : 'tv_metadec = let kindfn =
19401 let x0 = x00 in
19402 let l = l0 in
19403 let ty =
19404 let x = x0 in
19405
19406 # 41 "standard.mly"
19407 ( Some x )
19408 # 19409 "parser_cocci_menhir.ml"
19409
19410 in
19411
19412 # 446 "parser_cocci_menhir.mly"
19413 ( (fun arity name pure check_meta constraints ->
19414 match l with
19415 None ->
19416 !Data.add_idexp_meta ty name constraints pure;
19417 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19418 | Some _ ->
19419 !Data.add_local_idexp_meta ty name constraints pure;
19420 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19421 # 19422 "parser_cocci_menhir.ml"
19422
19423 in
19424
19425 # 316 "parser_cocci_menhir.mly"
19426 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19427 # 19428 "parser_cocci_menhir.ml"
19428 in
19429 _menhir_env.MenhirLib.EngineTypes.stack <- {
19430 MenhirLib.EngineTypes.state = _menhir_s;
19431 MenhirLib.EngineTypes.semv = Obj.repr _v;
19432 MenhirLib.EngineTypes.startp = _startpos;
19433 MenhirLib.EngineTypes.endp = _endpos;
19434 MenhirLib.EngineTypes.next = _menhir_stack;
19435 });
19436 (fun _menhir_env ->
19437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19438 let {
19439 MenhirLib.EngineTypes.startp = _startpos__7_;
19440 MenhirLib.EngineTypes.endp = _endpos__7_;
19441 MenhirLib.EngineTypes.next = {
19442 MenhirLib.EngineTypes.semv = ids;
19443 MenhirLib.EngineTypes.startp = _startpos_ids_;
19444 MenhirLib.EngineTypes.endp = _endpos_ids_;
19445 MenhirLib.EngineTypes.next = {
19446 MenhirLib.EngineTypes.semv = m0;
19447 MenhirLib.EngineTypes.startp = _startpos_m0_;
19448 MenhirLib.EngineTypes.endp = _endpos_m0_;
19449 MenhirLib.EngineTypes.next = {
19450 MenhirLib.EngineTypes.startp = _startpos__4_;
19451 MenhirLib.EngineTypes.endp = _endpos__4_;
19452 MenhirLib.EngineTypes.next = {
19453 MenhirLib.EngineTypes.semv = l0;
19454 MenhirLib.EngineTypes.startp = _startpos_l0_;
19455 MenhirLib.EngineTypes.endp = _endpos_l0_;
19456 MenhirLib.EngineTypes.next = {
19457 MenhirLib.EngineTypes.semv = ispure;
19458 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19459 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19460 MenhirLib.EngineTypes.next = {
19461 MenhirLib.EngineTypes.state = _menhir_s;
19462 MenhirLib.EngineTypes.semv = ar;
19463 MenhirLib.EngineTypes.startp = _startpos_ar_;
19464 MenhirLib.EngineTypes.endp = _endpos_ar_;
19465 MenhirLib.EngineTypes.next = _menhir_stack;
19466 };
19467 };
19468 };
19469 };
19470 };
19471 };
19472 } = _menhir_stack in
19473 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19474 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19475 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19476 let ispure : 'tv_pure = Obj.magic ispure in
19477 let ar : 'tv_arity = Obj.magic ar in
19478 let _startpos = _startpos_ar_ in
19479 let _endpos = _endpos__7_ in
19480 let _v : 'tv_metadec = let kindfn =
19481 let m = m0 in
19482 let l = l0 in
19483
19484 # 455 "parser_cocci_menhir.mly"
19485 ( (fun arity name pure check_meta constraints ->
19486 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19487 match l with
19488 None ->
19489 !Data.add_idexp_meta ty name constraints pure;
19490 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19491 | Some _ ->
19492 !Data.add_local_idexp_meta ty name constraints pure;
19493 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19494 # 19495 "parser_cocci_menhir.ml"
19495
19496 in
19497
19498 # 316 "parser_cocci_menhir.mly"
19499 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19500 # 19501 "parser_cocci_menhir.ml"
19501 in
19502 _menhir_env.MenhirLib.EngineTypes.stack <- {
19503 MenhirLib.EngineTypes.state = _menhir_s;
19504 MenhirLib.EngineTypes.semv = Obj.repr _v;
19505 MenhirLib.EngineTypes.startp = _startpos;
19506 MenhirLib.EngineTypes.endp = _endpos;
19507 MenhirLib.EngineTypes.next = _menhir_stack;
19508 });
19509 (fun _menhir_env ->
19510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19511 let {
19512 MenhirLib.EngineTypes.startp = _startpos__6_;
19513 MenhirLib.EngineTypes.endp = _endpos__6_;
19514 MenhirLib.EngineTypes.next = {
19515 MenhirLib.EngineTypes.semv = ids;
19516 MenhirLib.EngineTypes.startp = _startpos_ids_;
19517 MenhirLib.EngineTypes.endp = _endpos_ids_;
19518 MenhirLib.EngineTypes.next = {
19519 MenhirLib.EngineTypes.semv = m0;
19520 MenhirLib.EngineTypes.startp = _startpos_m0_;
19521 MenhirLib.EngineTypes.endp = _endpos_m0_;
19522 MenhirLib.EngineTypes.next = {
19523 MenhirLib.EngineTypes.startp = _startpos__3_;
19524 MenhirLib.EngineTypes.endp = _endpos__3_;
19525 MenhirLib.EngineTypes.next = {
19526 MenhirLib.EngineTypes.semv = ispure;
19527 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19528 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19529 MenhirLib.EngineTypes.next = {
19530 MenhirLib.EngineTypes.state = _menhir_s;
19531 MenhirLib.EngineTypes.semv = ar;
19532 MenhirLib.EngineTypes.startp = _startpos_ar_;
19533 MenhirLib.EngineTypes.endp = _endpos_ar_;
19534 MenhirLib.EngineTypes.next = _menhir_stack;
19535 };
19536 };
19537 };
19538 };
19539 };
19540 } = _menhir_stack in
19541 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19542 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19543 let ispure : 'tv_pure = Obj.magic ispure in
19544 let ar : 'tv_arity = Obj.magic ar in
19545 let _startpos = _startpos_ar_ in
19546 let _endpos = _endpos__6_ in
19547 let _v : 'tv_metadec = let kindfn =
19548 let m = m0 in
19549
19550 # 465 "parser_cocci_menhir.mly"
19551 ( (fun arity name pure check_meta constraints ->
19552 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19553 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19554 !Data.add_exp_meta ty name constraints pure; tok) )
19555 # 19556 "parser_cocci_menhir.ml"
19556
19557 in
19558
19559 # 316 "parser_cocci_menhir.mly"
19560 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19561 # 19562 "parser_cocci_menhir.ml"
19562 in
19563 _menhir_env.MenhirLib.EngineTypes.stack <- {
19564 MenhirLib.EngineTypes.state = _menhir_s;
19565 MenhirLib.EngineTypes.semv = Obj.repr _v;
19566 MenhirLib.EngineTypes.startp = _startpos;
19567 MenhirLib.EngineTypes.endp = _endpos;
19568 MenhirLib.EngineTypes.next = _menhir_stack;
19569 });
19570 (fun _menhir_env ->
19571 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19572 let {
19573 MenhirLib.EngineTypes.startp = _startpos__7_;
19574 MenhirLib.EngineTypes.endp = _endpos__7_;
19575 MenhirLib.EngineTypes.next = {
19576 MenhirLib.EngineTypes.semv = ids;
19577 MenhirLib.EngineTypes.startp = _startpos_ids_;
19578 MenhirLib.EngineTypes.endp = _endpos_ids_;
19579 MenhirLib.EngineTypes.next = {
19580 MenhirLib.EngineTypes.startp = _startpos__5_;
19581 MenhirLib.EngineTypes.endp = _endpos__5_;
19582 MenhirLib.EngineTypes.next = {
19583 MenhirLib.EngineTypes.startp = _startpos__4_;
19584 MenhirLib.EngineTypes.endp = _endpos__4_;
19585 MenhirLib.EngineTypes.next = {
19586 MenhirLib.EngineTypes.semv = vl0;
19587 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19588 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19589 MenhirLib.EngineTypes.next = {
19590 MenhirLib.EngineTypes.semv = ispure;
19591 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19592 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19593 MenhirLib.EngineTypes.next = {
19594 MenhirLib.EngineTypes.state = _menhir_s;
19595 MenhirLib.EngineTypes.semv = ar;
19596 MenhirLib.EngineTypes.startp = _startpos_ar_;
19597 MenhirLib.EngineTypes.endp = _endpos_ar_;
19598 MenhirLib.EngineTypes.next = _menhir_stack;
19599 };
19600 };
19601 };
19602 };
19603 };
19604 };
19605 } = _menhir_stack in
19606 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19607 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19608 let ispure : 'tv_pure = Obj.magic ispure in
19609 let ar : 'tv_arity = Obj.magic ar in
19610 let _startpos = _startpos_ar_ in
19611 let _endpos = _endpos__7_ in
19612 let _v : 'tv_metadec = let kindfn =
19613 let vl = vl0 in
19614
19615 # 470 "parser_cocci_menhir.mly"
19616 ( (fun arity name pure check_meta constraints ->
19617 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
19618 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19619 !Data.add_exp_meta ty name constraints pure; tok) )
19620 # 19621 "parser_cocci_menhir.ml"
19621
19622 in
19623
19624 # 316 "parser_cocci_menhir.mly"
19625 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19626 # 19627 "parser_cocci_menhir.ml"
19627 in
19628 _menhir_env.MenhirLib.EngineTypes.stack <- {
19629 MenhirLib.EngineTypes.state = _menhir_s;
19630 MenhirLib.EngineTypes.semv = Obj.repr _v;
19631 MenhirLib.EngineTypes.startp = _startpos;
19632 MenhirLib.EngineTypes.endp = _endpos;
19633 MenhirLib.EngineTypes.next = _menhir_stack;
19634 });
19635 (fun _menhir_env ->
19636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19637 let {
19638 MenhirLib.EngineTypes.startp = _startpos__5_;
19639 MenhirLib.EngineTypes.endp = _endpos__5_;
19640 MenhirLib.EngineTypes.next = {
19641 MenhirLib.EngineTypes.semv = ids;
19642 MenhirLib.EngineTypes.startp = _startpos_ids_;
19643 MenhirLib.EngineTypes.endp = _endpos_ids_;
19644 MenhirLib.EngineTypes.next = {
19645 MenhirLib.EngineTypes.startp = _startpos__3_;
19646 MenhirLib.EngineTypes.endp = _endpos__3_;
19647 MenhirLib.EngineTypes.next = {
19648 MenhirLib.EngineTypes.semv = ispure;
19649 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19650 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19651 MenhirLib.EngineTypes.next = {
19652 MenhirLib.EngineTypes.state = _menhir_s;
19653 MenhirLib.EngineTypes.semv = ar;
19654 MenhirLib.EngineTypes.startp = _startpos_ar_;
19655 MenhirLib.EngineTypes.endp = _endpos_ar_;
19656 MenhirLib.EngineTypes.next = _menhir_stack;
19657 };
19658 };
19659 };
19660 };
19661 } = _menhir_stack in
19662 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19663 let ispure : 'tv_pure = Obj.magic ispure in
19664 let ar : 'tv_arity = Obj.magic ar in
19665 let _startpos = _startpos_ar_ in
19666 let _endpos = _endpos__5_ in
19667 let _v : 'tv_metadec = let kindfn =
19668 let ty =
19669
19670 # 39 "standard.mly"
19671 ( None )
19672 # 19673 "parser_cocci_menhir.ml"
19673
19674 in
19675
19676 # 475 "parser_cocci_menhir.mly"
19677 ( (fun arity name pure check_meta constraints ->
19678 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19679 !Data.add_const_meta ty name constraints pure; tok) )
19680 # 19681 "parser_cocci_menhir.ml"
19681
19682 in
19683
19684 # 316 "parser_cocci_menhir.mly"
19685 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19686 # 19687 "parser_cocci_menhir.ml"
19687 in
19688 _menhir_env.MenhirLib.EngineTypes.stack <- {
19689 MenhirLib.EngineTypes.state = _menhir_s;
19690 MenhirLib.EngineTypes.semv = Obj.repr _v;
19691 MenhirLib.EngineTypes.startp = _startpos;
19692 MenhirLib.EngineTypes.endp = _endpos;
19693 MenhirLib.EngineTypes.next = _menhir_stack;
19694 });
19695 (fun _menhir_env ->
19696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19697 let {
19698 MenhirLib.EngineTypes.startp = _startpos__6_;
19699 MenhirLib.EngineTypes.endp = _endpos__6_;
19700 MenhirLib.EngineTypes.next = {
19701 MenhirLib.EngineTypes.semv = ids;
19702 MenhirLib.EngineTypes.startp = _startpos_ids_;
19703 MenhirLib.EngineTypes.endp = _endpos_ids_;
19704 MenhirLib.EngineTypes.next = {
19705 MenhirLib.EngineTypes.semv = x00;
19706 MenhirLib.EngineTypes.startp = _startpos_x00_;
19707 MenhirLib.EngineTypes.endp = _endpos_x00_;
19708 MenhirLib.EngineTypes.next = {
19709 MenhirLib.EngineTypes.startp = _startpos__3_;
19710 MenhirLib.EngineTypes.endp = _endpos__3_;
19711 MenhirLib.EngineTypes.next = {
19712 MenhirLib.EngineTypes.semv = ispure;
19713 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19714 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19715 MenhirLib.EngineTypes.next = {
19716 MenhirLib.EngineTypes.state = _menhir_s;
19717 MenhirLib.EngineTypes.semv = ar;
19718 MenhirLib.EngineTypes.startp = _startpos_ar_;
19719 MenhirLib.EngineTypes.endp = _endpos_ar_;
19720 MenhirLib.EngineTypes.next = _menhir_stack;
19721 };
19722 };
19723 };
19724 };
19725 };
19726 } = _menhir_stack in
19727 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19728 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19729 let ispure : 'tv_pure = Obj.magic ispure in
19730 let ar : 'tv_arity = Obj.magic ar in
19731 let _startpos = _startpos_ar_ in
19732 let _endpos = _endpos__6_ in
19733 let _v : 'tv_metadec = let kindfn =
19734 let x0 = x00 in
19735 let ty =
19736 let x = x0 in
19737
19738 # 41 "standard.mly"
19739 ( Some x )
19740 # 19741 "parser_cocci_menhir.ml"
19741
19742 in
19743
19744 # 475 "parser_cocci_menhir.mly"
19745 ( (fun arity name pure check_meta constraints ->
19746 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19747 !Data.add_const_meta ty name constraints pure; tok) )
19748 # 19749 "parser_cocci_menhir.ml"
19749
19750 in
19751
19752 # 316 "parser_cocci_menhir.mly"
19753 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19754 # 19755 "parser_cocci_menhir.ml"
19755 in
19756 _menhir_env.MenhirLib.EngineTypes.stack <- {
19757 MenhirLib.EngineTypes.state = _menhir_s;
19758 MenhirLib.EngineTypes.semv = Obj.repr _v;
19759 MenhirLib.EngineTypes.startp = _startpos;
19760 MenhirLib.EngineTypes.endp = _endpos;
19761 MenhirLib.EngineTypes.next = _menhir_stack;
19762 });
19763 (fun _menhir_env ->
19764 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19765 let {
19766 MenhirLib.EngineTypes.startp = _startpos__5_;
19767 MenhirLib.EngineTypes.endp = _endpos__5_;
19768 MenhirLib.EngineTypes.next = {
19769 MenhirLib.EngineTypes.semv = ids;
19770 MenhirLib.EngineTypes.startp = _startpos_ids_;
19771 MenhirLib.EngineTypes.endp = _endpos_ids_;
19772 MenhirLib.EngineTypes.next = {
19773 MenhirLib.EngineTypes.startp = _startpos__3_;
19774 MenhirLib.EngineTypes.endp = _endpos__3_;
19775 MenhirLib.EngineTypes.next = {
19776 MenhirLib.EngineTypes.semv = ispure;
19777 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19778 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19779 MenhirLib.EngineTypes.next = {
19780 MenhirLib.EngineTypes.state = _menhir_s;
19781 MenhirLib.EngineTypes.semv = ar;
19782 MenhirLib.EngineTypes.startp = _startpos_ar_;
19783 MenhirLib.EngineTypes.endp = _endpos_ar_;
19784 MenhirLib.EngineTypes.next = _menhir_stack;
19785 };
19786 };
19787 };
19788 };
19789 } = _menhir_stack in
19790 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
19791 let ispure : 'tv_pure = Obj.magic ispure in
19792 let ar : 'tv_arity = Obj.magic ar in
19793 let _startpos = _startpos_ar_ in
19794 let _endpos = _endpos__5_ in
19795 let _v : 'tv_metadec = let kindfn =
19796
19797 # 481 "parser_cocci_menhir.mly"
19798 ( (fun arity name pure check_meta constraints ->
19799 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
19800 !Data.add_exp_meta None name constraints pure; tok) )
19801 # 19802 "parser_cocci_menhir.ml"
19802
19803 in
19804
19805 # 321 "parser_cocci_menhir.mly"
19806 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19807 # 19808 "parser_cocci_menhir.ml"
19808 in
19809 _menhir_env.MenhirLib.EngineTypes.stack <- {
19810 MenhirLib.EngineTypes.state = _menhir_s;
19811 MenhirLib.EngineTypes.semv = Obj.repr _v;
19812 MenhirLib.EngineTypes.startp = _startpos;
19813 MenhirLib.EngineTypes.endp = _endpos;
19814 MenhirLib.EngineTypes.next = _menhir_stack;
19815 });
19816 (fun _menhir_env ->
19817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19818 let {
19819 MenhirLib.EngineTypes.startp = _startpos__5_;
19820 MenhirLib.EngineTypes.endp = _endpos__5_;
19821 MenhirLib.EngineTypes.next = {
19822 MenhirLib.EngineTypes.semv = ids;
19823 MenhirLib.EngineTypes.startp = _startpos_ids_;
19824 MenhirLib.EngineTypes.endp = _endpos_ids_;
19825 MenhirLib.EngineTypes.next = {
19826 MenhirLib.EngineTypes.semv = vl0;
19827 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19828 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19829 MenhirLib.EngineTypes.next = {
19830 MenhirLib.EngineTypes.semv = ispure;
19831 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19832 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19833 MenhirLib.EngineTypes.next = {
19834 MenhirLib.EngineTypes.state = _menhir_s;
19835 MenhirLib.EngineTypes.semv = ar;
19836 MenhirLib.EngineTypes.startp = _startpos_ar_;
19837 MenhirLib.EngineTypes.endp = _endpos_ar_;
19838 MenhirLib.EngineTypes.next = _menhir_stack;
19839 };
19840 };
19841 };
19842 };
19843 } = _menhir_stack in
19844 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
19845 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19846 let ispure : 'tv_pure = Obj.magic ispure in
19847 let ar : 'tv_arity = Obj.magic ar in
19848 let _startpos = _startpos_ar_ in
19849 let _endpos = _endpos__5_ in
19850 let _v : 'tv_metadec = let kindfn =
19851 let vl = vl0 in
19852
19853 # 485 "parser_cocci_menhir.mly"
19854 ( (fun arity name pure check_meta constraints ->
19855 let ty = Some vl in
19856 (match constraints with
19857 Ast0.NotExpCstrt constraints ->
19858 List.iter
19859 (function c ->
19860 match Ast0.unwrap c with
19861 Ast0.Constant(_) ->
19862 if not
19863 (List.exists
19864 (function
19865 Type_cocci.BaseType(Type_cocci.IntType) -> true
19866 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
19867 | Type_cocci.BaseType(Type_cocci.LongType) -> true
19868 | _ -> false)
19869 vl)
19870 then
19871 failwith "metavariable with int constraint must be an int"
19872 | _ -> ())
19873 constraints
19874 | _ -> ());
19875 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19876 !Data.add_exp_meta ty name constraints pure; tok)
19877 )
19878 # 19879 "parser_cocci_menhir.ml"
19879
19880 in
19881
19882 # 321 "parser_cocci_menhir.mly"
19883 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19884 # 19885 "parser_cocci_menhir.ml"
19885 in
19886 _menhir_env.MenhirLib.EngineTypes.stack <- {
19887 MenhirLib.EngineTypes.state = _menhir_s;
19888 MenhirLib.EngineTypes.semv = Obj.repr _v;
19889 MenhirLib.EngineTypes.startp = _startpos;
19890 MenhirLib.EngineTypes.endp = _endpos;
19891 MenhirLib.EngineTypes.next = _menhir_stack;
19892 });
19893 (fun _menhir_env ->
19894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19895 let {
19896 MenhirLib.EngineTypes.startp = _startpos__5_;
19897 MenhirLib.EngineTypes.endp = _endpos__5_;
19898 MenhirLib.EngineTypes.next = {
19899 MenhirLib.EngineTypes.semv = ids;
19900 MenhirLib.EngineTypes.startp = _startpos_ids_;
19901 MenhirLib.EngineTypes.endp = _endpos_ids_;
19902 MenhirLib.EngineTypes.next = {
19903 MenhirLib.EngineTypes.semv = a;
19904 MenhirLib.EngineTypes.startp = _startpos_a_;
19905 MenhirLib.EngineTypes.endp = _endpos_a_;
19906 MenhirLib.EngineTypes.next = {
19907 MenhirLib.EngineTypes.startp = _startpos__2_;
19908 MenhirLib.EngineTypes.endp = _endpos__2_;
19909 MenhirLib.EngineTypes.next = {
19910 MenhirLib.EngineTypes.state = _menhir_s;
19911 MenhirLib.EngineTypes.semv = ar;
19912 MenhirLib.EngineTypes.startp = _startpos_ar_;
19913 MenhirLib.EngineTypes.endp = _endpos_ar_;
19914 MenhirLib.EngineTypes.next = _menhir_stack;
19915 };
19916 };
19917 };
19918 };
19919 } = _menhir_stack in
19920 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
19921 let a : 'tv_option_TPosAny_ = Obj.magic a in
19922 let ar : 'tv_arity = Obj.magic ar in
19923 let _startpos = _startpos_ar_ in
19924 let _endpos = _endpos__5_ in
19925 let _v : 'tv_metadec =
19926 # 327 "parser_cocci_menhir.mly"
19927 ( (if !Data.in_generating
19928 then failwith "position variables not allowed in a generated rule file");
19929 let kindfn arity name pure check_meta constraints =
19930 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
19931 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
19932 !Data.add_pos_meta name constraints any; tok in
19933 P.create_metadec_with_constraints ar false kindfn ids )
19934 # 19935 "parser_cocci_menhir.ml"
19935 in
19936 _menhir_env.MenhirLib.EngineTypes.stack <- {
19937 MenhirLib.EngineTypes.state = _menhir_s;
19938 MenhirLib.EngineTypes.semv = Obj.repr _v;
19939 MenhirLib.EngineTypes.startp = _startpos;
19940 MenhirLib.EngineTypes.endp = _endpos;
19941 MenhirLib.EngineTypes.next = _menhir_stack;
19942 });
19943 (fun _menhir_env ->
19944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19945 let {
19946 MenhirLib.EngineTypes.startp = _startpos__9_;
19947 MenhirLib.EngineTypes.endp = _endpos__9_;
19948 MenhirLib.EngineTypes.next = {
19949 MenhirLib.EngineTypes.semv = ids;
19950 MenhirLib.EngineTypes.startp = _startpos_ids_;
19951 MenhirLib.EngineTypes.endp = _endpos_ids_;
19952 MenhirLib.EngineTypes.next = {
19953 MenhirLib.EngineTypes.startp = _startpos__7_;
19954 MenhirLib.EngineTypes.endp = _endpos__7_;
19955 MenhirLib.EngineTypes.next = {
19956 MenhirLib.EngineTypes.semv = id;
19957 MenhirLib.EngineTypes.startp = _startpos_id_;
19958 MenhirLib.EngineTypes.endp = _endpos_id_;
19959 MenhirLib.EngineTypes.next = {
19960 MenhirLib.EngineTypes.startp = _startpos__5_;
19961 MenhirLib.EngineTypes.endp = _endpos__5_;
19962 MenhirLib.EngineTypes.next = {
19963 MenhirLib.EngineTypes.startp = _startpos__4_;
19964 MenhirLib.EngineTypes.endp = _endpos__4_;
19965 MenhirLib.EngineTypes.next = {
19966 MenhirLib.EngineTypes.startp = _startpos__3_;
19967 MenhirLib.EngineTypes.endp = _endpos__3_;
19968 MenhirLib.EngineTypes.next = {
19969 MenhirLib.EngineTypes.semv = ispure;
19970 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19971 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19972 MenhirLib.EngineTypes.next = {
19973 MenhirLib.EngineTypes.state = _menhir_s;
19974 MenhirLib.EngineTypes.semv = ar;
19975 MenhirLib.EngineTypes.startp = _startpos_ar_;
19976 MenhirLib.EngineTypes.endp = _endpos_ar_;
19977 MenhirLib.EngineTypes.next = _menhir_stack;
19978 };
19979 };
19980 };
19981 };
19982 };
19983 };
19984 };
19985 };
19986 } = _menhir_stack in
19987 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19988 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
19989 let ispure : 'tv_pure = Obj.magic ispure in
19990 let ar : 'tv_arity = Obj.magic ar in
19991 let _startpos = _startpos_ar_ in
19992 let _endpos = _endpos__9_ in
19993 let _v : 'tv_metadec =
19994 # 337 "parser_cocci_menhir.mly"
19995 ( P.create_len_metadec ar ispure
19996 (fun lenname arity name pure check_meta ->
19997 let tok =
19998 check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
19999 !Data.add_paramlist_meta name (Some lenname) pure; tok)
20000 id ids )
20001 # 20002 "parser_cocci_menhir.ml"
20002 in
20003 _menhir_env.MenhirLib.EngineTypes.stack <- {
20004 MenhirLib.EngineTypes.state = _menhir_s;
20005 MenhirLib.EngineTypes.semv = Obj.repr _v;
20006 MenhirLib.EngineTypes.startp = _startpos;
20007 MenhirLib.EngineTypes.endp = _endpos;
20008 MenhirLib.EngineTypes.next = _menhir_stack;
20009 });
20010 (fun _menhir_env ->
20011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20012 let {
20013 MenhirLib.EngineTypes.startp = _startpos__9_;
20014 MenhirLib.EngineTypes.endp = _endpos__9_;
20015 MenhirLib.EngineTypes.next = {
20016 MenhirLib.EngineTypes.semv = ids;
20017 MenhirLib.EngineTypes.startp = _startpos_ids_;
20018 MenhirLib.EngineTypes.endp = _endpos_ids_;
20019 MenhirLib.EngineTypes.next = {
20020 MenhirLib.EngineTypes.startp = _startpos__7_;
20021 MenhirLib.EngineTypes.endp = _endpos__7_;
20022 MenhirLib.EngineTypes.next = {
20023 MenhirLib.EngineTypes.semv = id;
20024 MenhirLib.EngineTypes.startp = _startpos_id_;
20025 MenhirLib.EngineTypes.endp = _endpos_id_;
20026 MenhirLib.EngineTypes.next = {
20027 MenhirLib.EngineTypes.startp = _startpos__5_;
20028 MenhirLib.EngineTypes.endp = _endpos__5_;
20029 MenhirLib.EngineTypes.next = {
20030 MenhirLib.EngineTypes.startp = _startpos__4_;
20031 MenhirLib.EngineTypes.endp = _endpos__4_;
20032 MenhirLib.EngineTypes.next = {
20033 MenhirLib.EngineTypes.startp = _startpos__3_;
20034 MenhirLib.EngineTypes.endp = _endpos__3_;
20035 MenhirLib.EngineTypes.next = {
20036 MenhirLib.EngineTypes.semv = ispure;
20037 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20038 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20039 MenhirLib.EngineTypes.next = {
20040 MenhirLib.EngineTypes.state = _menhir_s;
20041 MenhirLib.EngineTypes.semv = ar;
20042 MenhirLib.EngineTypes.startp = _startpos_ar_;
20043 MenhirLib.EngineTypes.endp = _endpos_ar_;
20044 MenhirLib.EngineTypes.next = _menhir_stack;
20045 };
20046 };
20047 };
20048 };
20049 };
20050 };
20051 };
20052 };
20053 } = _menhir_stack in
20054 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20055 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
20056 let ispure : 'tv_pure = Obj.magic ispure in
20057 let ar : 'tv_arity = Obj.magic ar in
20058 let _startpos = _startpos_ar_ in
20059 let _endpos = _endpos__9_ in
20060 let _v : 'tv_metadec =
20061 # 346 "parser_cocci_menhir.mly"
20062 ( P.create_len_metadec ar ispure
20063 (fun lenname arity name pure check_meta ->
20064 let tok =
20065 check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
20066 !Data.add_explist_meta name (Some lenname) pure; tok)
20067 id ids )
20068 # 20069 "parser_cocci_menhir.ml"
20069 in
20070 _menhir_env.MenhirLib.EngineTypes.stack <- {
20071 MenhirLib.EngineTypes.state = _menhir_s;
20072 MenhirLib.EngineTypes.semv = Obj.repr _v;
20073 MenhirLib.EngineTypes.startp = _startpos;
20074 MenhirLib.EngineTypes.endp = _endpos;
20075 MenhirLib.EngineTypes.next = _menhir_stack;
20076 });
20077 (fun _menhir_env ->
20078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20079 let {
20080 MenhirLib.EngineTypes.semv = b;
20081 MenhirLib.EngineTypes.startp = _startpos_b_;
20082 MenhirLib.EngineTypes.endp = _endpos_b_;
20083 MenhirLib.EngineTypes.next = {
20084 MenhirLib.EngineTypes.state = _menhir_s;
20085 MenhirLib.EngineTypes.semv = a;
20086 MenhirLib.EngineTypes.startp = _startpos_a_;
20087 MenhirLib.EngineTypes.endp = _endpos_a_;
20088 MenhirLib.EngineTypes.next = _menhir_stack;
20089 };
20090 } = _menhir_stack in
20091 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
20092 let a : 'tv_ctype = Obj.magic a in
20093 let _startpos = _startpos_a_ in
20094 let _endpos = _endpos_b_ in
20095 let _v : 'tv_midzero_list_ctype_ctype_ =
20096 # 1988 "parser_cocci_menhir.mly"
20097 ( let (mids,code) = List.split b in (mids,(a::code)) )
20098 # 20099 "parser_cocci_menhir.ml"
20099 in
20100 _menhir_env.MenhirLib.EngineTypes.stack <- {
20101 MenhirLib.EngineTypes.state = _menhir_s;
20102 MenhirLib.EngineTypes.semv = Obj.repr _v;
20103 MenhirLib.EngineTypes.startp = _startpos;
20104 MenhirLib.EngineTypes.endp = _endpos;
20105 MenhirLib.EngineTypes.next = _menhir_stack;
20106 });
20107 (fun _menhir_env ->
20108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20109 let {
20110 MenhirLib.EngineTypes.semv = b;
20111 MenhirLib.EngineTypes.startp = _startpos_b_;
20112 MenhirLib.EngineTypes.endp = _endpos_b_;
20113 MenhirLib.EngineTypes.next = {
20114 MenhirLib.EngineTypes.state = _menhir_s;
20115 MenhirLib.EngineTypes.semv = a;
20116 MenhirLib.EngineTypes.startp = _startpos_a_;
20117 MenhirLib.EngineTypes.endp = _endpos_a_;
20118 MenhirLib.EngineTypes.next = _menhir_stack;
20119 };
20120 } = _menhir_stack in
20121 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20122 let a : 'tv_eexpr = Obj.magic a in
20123 let _startpos = _startpos_a_ in
20124 let _endpos = _endpos_b_ in
20125 let _v : 'tv_midzero_list_eexpr_eexpr_ =
20126 # 1988 "parser_cocci_menhir.mly"
20127 ( let (mids,code) = List.split b in (mids,(a::code)) )
20128 # 20129 "parser_cocci_menhir.ml"
20129 in
20130 _menhir_env.MenhirLib.EngineTypes.stack <- {
20131 MenhirLib.EngineTypes.state = _menhir_s;
20132 MenhirLib.EngineTypes.semv = Obj.repr _v;
20133 MenhirLib.EngineTypes.startp = _startpos;
20134 MenhirLib.EngineTypes.endp = _endpos;
20135 MenhirLib.EngineTypes.next = _menhir_stack;
20136 });
20137 (fun _menhir_env ->
20138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20139 let {
20140 MenhirLib.EngineTypes.semv = b;
20141 MenhirLib.EngineTypes.startp = _startpos_b_;
20142 MenhirLib.EngineTypes.endp = _endpos_b_;
20143 MenhirLib.EngineTypes.next = {
20144 MenhirLib.EngineTypes.state = _menhir_s;
20145 MenhirLib.EngineTypes.semv = a;
20146 MenhirLib.EngineTypes.startp = _startpos_a_;
20147 MenhirLib.EngineTypes.endp = _endpos_a_;
20148 MenhirLib.EngineTypes.next = _menhir_stack;
20149 };
20150 } = _menhir_stack in
20151 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20152 let a : 'tv_expr = Obj.magic a in
20153 let _startpos = _startpos_a_ in
20154 let _endpos = _endpos_b_ in
20155 let _v : 'tv_midzero_list_expr_eexpr_ =
20156 # 1988 "parser_cocci_menhir.mly"
20157 ( let (mids,code) = List.split b in (mids,(a::code)) )
20158 # 20159 "parser_cocci_menhir.ml"
20159 in
20160 _menhir_env.MenhirLib.EngineTypes.stack <- {
20161 MenhirLib.EngineTypes.state = _menhir_s;
20162 MenhirLib.EngineTypes.semv = Obj.repr _v;
20163 MenhirLib.EngineTypes.startp = _startpos;
20164 MenhirLib.EngineTypes.endp = _endpos;
20165 MenhirLib.EngineTypes.next = _menhir_stack;
20166 });
20167 (fun _menhir_env ->
20168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20169 let {
20170 MenhirLib.EngineTypes.semv = b;
20171 MenhirLib.EngineTypes.startp = _startpos_b_;
20172 MenhirLib.EngineTypes.endp = _endpos_b_;
20173 MenhirLib.EngineTypes.next = {
20174 MenhirLib.EngineTypes.state = _menhir_s;
20175 MenhirLib.EngineTypes.semv = a;
20176 MenhirLib.EngineTypes.startp = _startpos_a_;
20177 MenhirLib.EngineTypes.endp = _endpos_a_;
20178 MenhirLib.EngineTypes.next = _menhir_stack;
20179 };
20180 } = _menhir_stack in
20181 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
20182 let a : 'tv_fun_after_stm = Obj.magic a in
20183 let _startpos = _startpos_a_ in
20184 let _endpos = _endpos_b_ in
20185 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
20186 # 1988 "parser_cocci_menhir.mly"
20187 ( let (mids,code) = List.split b in (mids,(a::code)) )
20188 # 20189 "parser_cocci_menhir.ml"
20189 in
20190 _menhir_env.MenhirLib.EngineTypes.stack <- {
20191 MenhirLib.EngineTypes.state = _menhir_s;
20192 MenhirLib.EngineTypes.semv = Obj.repr _v;
20193 MenhirLib.EngineTypes.startp = _startpos;
20194 MenhirLib.EngineTypes.endp = _endpos;
20195 MenhirLib.EngineTypes.next = _menhir_stack;
20196 });
20197 (fun _menhir_env ->
20198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20199 let {
20200 MenhirLib.EngineTypes.semv = b;
20201 MenhirLib.EngineTypes.startp = _startpos_b_;
20202 MenhirLib.EngineTypes.endp = _endpos_b_;
20203 MenhirLib.EngineTypes.next = {
20204 MenhirLib.EngineTypes.state = _menhir_s;
20205 MenhirLib.EngineTypes.semv = a;
20206 MenhirLib.EngineTypes.startp = _startpos_a_;
20207 MenhirLib.EngineTypes.endp = _endpos_a_;
20208 MenhirLib.EngineTypes.next = _menhir_stack;
20209 };
20210 } = _menhir_stack in
20211 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
20212 let a : 'tv_fun_start = Obj.magic a in
20213 let _startpos = _startpos_a_ in
20214 let _endpos = _endpos_b_ in
20215 let _v : 'tv_midzero_list_fun_start_fun_start_ =
20216 # 1988 "parser_cocci_menhir.mly"
20217 ( let (mids,code) = List.split b in (mids,(a::code)) )
20218 # 20219 "parser_cocci_menhir.ml"
20219 in
20220 _menhir_env.MenhirLib.EngineTypes.stack <- {
20221 MenhirLib.EngineTypes.state = _menhir_s;
20222 MenhirLib.EngineTypes.semv = Obj.repr _v;
20223 MenhirLib.EngineTypes.startp = _startpos;
20224 MenhirLib.EngineTypes.endp = _endpos;
20225 MenhirLib.EngineTypes.next = _menhir_stack;
20226 });
20227 (fun _menhir_env ->
20228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20229 let {
20230 MenhirLib.EngineTypes.semv = b;
20231 MenhirLib.EngineTypes.startp = _startpos_b_;
20232 MenhirLib.EngineTypes.endp = _endpos_b_;
20233 MenhirLib.EngineTypes.next = {
20234 MenhirLib.EngineTypes.state = _menhir_s;
20235 MenhirLib.EngineTypes.semv = a;
20236 MenhirLib.EngineTypes.startp = _startpos_a_;
20237 MenhirLib.EngineTypes.endp = _endpos_a_;
20238 MenhirLib.EngineTypes.next = _menhir_stack;
20239 };
20240 } = _menhir_stack in
20241 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
20242 let a : 'tv_rule_elem_statement = Obj.magic a in
20243 let _startpos = _startpos_a_ in
20244 let _endpos = _endpos_b_ in
20245 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
20246 # 1988 "parser_cocci_menhir.mly"
20247 ( let (mids,code) = List.split b in (mids,(a::code)) )
20248 # 20249 "parser_cocci_menhir.ml"
20249 in
20250 _menhir_env.MenhirLib.EngineTypes.stack <- {
20251 MenhirLib.EngineTypes.state = _menhir_s;
20252 MenhirLib.EngineTypes.semv = Obj.repr _v;
20253 MenhirLib.EngineTypes.startp = _startpos;
20254 MenhirLib.EngineTypes.endp = _endpos;
20255 MenhirLib.EngineTypes.next = _menhir_stack;
20256 });
20257 (fun _menhir_env ->
20258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20259 let {
20260 MenhirLib.EngineTypes.semv = b;
20261 MenhirLib.EngineTypes.startp = _startpos_b_;
20262 MenhirLib.EngineTypes.endp = _endpos_b_;
20263 MenhirLib.EngineTypes.next = {
20264 MenhirLib.EngineTypes.state = _menhir_s;
20265 MenhirLib.EngineTypes.semv = a;
20266 MenhirLib.EngineTypes.startp = _startpos_a_;
20267 MenhirLib.EngineTypes.endp = _endpos_a_;
20268 MenhirLib.EngineTypes.next = _menhir_stack;
20269 };
20270 } = _menhir_stack in
20271 let b : 'tv_list_mzl_statement__ = Obj.magic b in
20272 let a : 'tv_statement = Obj.magic a in
20273 let _startpos = _startpos_a_ in
20274 let _endpos = _endpos_b_ in
20275 let _v : 'tv_midzero_list_statement_statement_ =
20276 # 1988 "parser_cocci_menhir.mly"
20277 ( let (mids,code) = List.split b in (mids,(a::code)) )
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 {
20290 MenhirLib.EngineTypes.semv = b;
20291 MenhirLib.EngineTypes.startp = _startpos_b_;
20292 MenhirLib.EngineTypes.endp = _endpos_b_;
20293 MenhirLib.EngineTypes.next = {
20294 MenhirLib.EngineTypes.state = _menhir_s;
20295 MenhirLib.EngineTypes.semv = f;
20296 MenhirLib.EngineTypes.startp = _startpos_f_;
20297 MenhirLib.EngineTypes.endp = _endpos_f_;
20298 MenhirLib.EngineTypes.next = _menhir_stack;
20299 };
20300 } = _menhir_stack in
20301 let b : 'tv_loption_minus_start_ = Obj.magic b in
20302 let f : 'tv_loption_filespec_ = Obj.magic f in
20303 let _startpos = _startpos_f_ in
20304 let _endpos = _endpos_b_ in
20305 let _v : 'tv_minus_body =
20306 # 657 "parser_cocci_menhir.mly"
20307 ( match f@b(*@ew*) with
20308 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20309 | code -> Top_level.top_level code )
20310 # 20311 "parser_cocci_menhir.ml"
20311 in
20312 _menhir_env.MenhirLib.EngineTypes.stack <- {
20313 MenhirLib.EngineTypes.state = _menhir_s;
20314 MenhirLib.EngineTypes.semv = Obj.repr _v;
20315 MenhirLib.EngineTypes.startp = _startpos;
20316 MenhirLib.EngineTypes.endp = _endpos;
20317 MenhirLib.EngineTypes.next = _menhir_stack;
20318 });
20319 (fun _menhir_env ->
20320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20321 let {
20322 MenhirLib.EngineTypes.semv = b;
20323 MenhirLib.EngineTypes.startp = _startpos_b_;
20324 MenhirLib.EngineTypes.endp = _endpos_b_;
20325 MenhirLib.EngineTypes.next = {
20326 MenhirLib.EngineTypes.state = _menhir_s;
20327 MenhirLib.EngineTypes.semv = f;
20328 MenhirLib.EngineTypes.startp = _startpos_f_;
20329 MenhirLib.EngineTypes.endp = _endpos_f_;
20330 MenhirLib.EngineTypes.next = _menhir_stack;
20331 };
20332 } = _menhir_stack in
20333 let b : 'tv_top_eexpr = Obj.magic b in
20334 let f : 'tv_loption_filespec_ = Obj.magic f in
20335 let _startpos = _startpos_f_ in
20336 let _endpos = _endpos_b_ in
20337 let _v : 'tv_minus_exp_body =
20338 # 671 "parser_cocci_menhir.mly"
20339 ( match f@[b](*@ew*) with
20340 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20341 | code -> Top_level.top_level code )
20342 # 20343 "parser_cocci_menhir.ml"
20343 in
20344 _menhir_env.MenhirLib.EngineTypes.stack <- {
20345 MenhirLib.EngineTypes.state = _menhir_s;
20346 MenhirLib.EngineTypes.semv = Obj.repr _v;
20347 MenhirLib.EngineTypes.startp = _startpos;
20348 MenhirLib.EngineTypes.endp = _endpos;
20349 MenhirLib.EngineTypes.next = _menhir_stack;
20350 });
20351 (fun _menhir_env ->
20352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20353 let {
20354 MenhirLib.EngineTypes.startp = _startpos__2_;
20355 MenhirLib.EngineTypes.endp = _endpos__2_;
20356 MenhirLib.EngineTypes.next = {
20357 MenhirLib.EngineTypes.state = _menhir_s;
20358 MenhirLib.EngineTypes.semv = _1;
20359 MenhirLib.EngineTypes.startp = _startpos__1_;
20360 MenhirLib.EngineTypes.endp = _endpos__1_;
20361 MenhirLib.EngineTypes.next = _menhir_stack;
20362 };
20363 } = _menhir_stack in
20364 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
20365 let _startpos = _startpos__1_ in
20366 let _endpos = _endpos__2_ in
20367 let _v : (
20368 # 160 "parser_cocci_menhir.mly"
20369 (Ast0_cocci.rule)
20370 # 20371 "parser_cocci_menhir.ml"
20371 ) =
20372 # 200 "parser_cocci_menhir.mly"
20373 ( _1 )
20374 # 20375 "parser_cocci_menhir.ml"
20375 in
20376 _menhir_env.MenhirLib.EngineTypes.stack <- {
20377 MenhirLib.EngineTypes.state = _menhir_s;
20378 MenhirLib.EngineTypes.semv = Obj.repr _v;
20379 MenhirLib.EngineTypes.startp = _startpos;
20380 MenhirLib.EngineTypes.endp = _endpos;
20381 MenhirLib.EngineTypes.next = _menhir_stack;
20382 });
20383 (fun _menhir_env ->
20384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20385 let {
20386 MenhirLib.EngineTypes.startp = _startpos__2_;
20387 MenhirLib.EngineTypes.endp = _endpos__2_;
20388 MenhirLib.EngineTypes.next = {
20389 MenhirLib.EngineTypes.state = _menhir_s;
20390 MenhirLib.EngineTypes.semv = m;
20391 MenhirLib.EngineTypes.startp = _startpos_m_;
20392 MenhirLib.EngineTypes.endp = _endpos_m_;
20393 MenhirLib.EngineTypes.next = _menhir_stack;
20394 };
20395 } = _menhir_stack in
20396 let m : 'tv_minus_exp_body = Obj.magic m in
20397 let _startpos = _startpos_m_ in
20398 let _endpos = _endpos__2_ in
20399 let _v : (
20400 # 160 "parser_cocci_menhir.mly"
20401 (Ast0_cocci.rule)
20402 # 20403 "parser_cocci_menhir.ml"
20403 ) =
20404 # 200 "parser_cocci_menhir.mly"
20405 ( m )
20406 # 20407 "parser_cocci_menhir.ml"
20407 in
20408 _menhir_env.MenhirLib.EngineTypes.stack <- {
20409 MenhirLib.EngineTypes.state = _menhir_s;
20410 MenhirLib.EngineTypes.semv = Obj.repr _v;
20411 MenhirLib.EngineTypes.startp = _startpos;
20412 MenhirLib.EngineTypes.endp = _endpos;
20413 MenhirLib.EngineTypes.next = _menhir_stack;
20414 });
20415 (fun _menhir_env ->
20416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20417 let {
20418 MenhirLib.EngineTypes.startp = _startpos__2_;
20419 MenhirLib.EngineTypes.endp = _endpos__2_;
20420 MenhirLib.EngineTypes.next = {
20421 MenhirLib.EngineTypes.state = _menhir_s;
20422 MenhirLib.EngineTypes.semv = m;
20423 MenhirLib.EngineTypes.startp = _startpos_m_;
20424 MenhirLib.EngineTypes.endp = _endpos_m_;
20425 MenhirLib.EngineTypes.next = _menhir_stack;
20426 };
20427 } = _menhir_stack in
20428 let m : 'tv_minus_exp_body = Obj.magic m in
20429 let _startpos = _startpos_m_ in
20430 let _endpos = _endpos__2_ in
20431 let _v : (
20432 # 160 "parser_cocci_menhir.mly"
20433 (Ast0_cocci.rule)
20434 # 20435 "parser_cocci_menhir.ml"
20435 ) =
20436 # 201 "parser_cocci_menhir.mly"
20437 ( m )
20438 # 20439 "parser_cocci_menhir.ml"
20439 in
20440 _menhir_env.MenhirLib.EngineTypes.stack <- {
20441 MenhirLib.EngineTypes.state = _menhir_s;
20442 MenhirLib.EngineTypes.semv = Obj.repr _v;
20443 MenhirLib.EngineTypes.startp = _startpos;
20444 MenhirLib.EngineTypes.endp = _endpos;
20445 MenhirLib.EngineTypes.next = _menhir_stack;
20446 });
20447 (fun _menhir_env ->
20448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20449 let {
20450 MenhirLib.EngineTypes.startp = _startpos__2_;
20451 MenhirLib.EngineTypes.endp = _endpos__2_;
20452 MenhirLib.EngineTypes.next = {
20453 MenhirLib.EngineTypes.state = _menhir_s;
20454 MenhirLib.EngineTypes.semv = _1;
20455 MenhirLib.EngineTypes.startp = _startpos__1_;
20456 MenhirLib.EngineTypes.endp = _endpos__1_;
20457 MenhirLib.EngineTypes.next = _menhir_stack;
20458 };
20459 } = _menhir_stack in
20460 let _1 : 'tv_minus_body = Obj.magic _1 in
20461 let _startpos = _startpos__1_ in
20462 let _endpos = _endpos__2_ in
20463 let _v : (
20464 # 157 "parser_cocci_menhir.mly"
20465 (Ast0_cocci.rule)
20466 # 20467 "parser_cocci_menhir.ml"
20467 ) =
20468 # 196 "parser_cocci_menhir.mly"
20469 ( _1 )
20470 # 20471 "parser_cocci_menhir.ml"
20471 in
20472 _menhir_env.MenhirLib.EngineTypes.stack <- {
20473 MenhirLib.EngineTypes.state = _menhir_s;
20474 MenhirLib.EngineTypes.semv = Obj.repr _v;
20475 MenhirLib.EngineTypes.startp = _startpos;
20476 MenhirLib.EngineTypes.endp = _endpos;
20477 MenhirLib.EngineTypes.next = _menhir_stack;
20478 });
20479 (fun _menhir_env ->
20480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20481 let {
20482 MenhirLib.EngineTypes.startp = _startpos__2_;
20483 MenhirLib.EngineTypes.endp = _endpos__2_;
20484 MenhirLib.EngineTypes.next = {
20485 MenhirLib.EngineTypes.state = _menhir_s;
20486 MenhirLib.EngineTypes.semv = m;
20487 MenhirLib.EngineTypes.startp = _startpos_m_;
20488 MenhirLib.EngineTypes.endp = _endpos_m_;
20489 MenhirLib.EngineTypes.next = _menhir_stack;
20490 };
20491 } = _menhir_stack in
20492 let m : 'tv_minus_body = Obj.magic m in
20493 let _startpos = _startpos_m_ in
20494 let _endpos = _endpos__2_ in
20495 let _v : (
20496 # 157 "parser_cocci_menhir.mly"
20497 (Ast0_cocci.rule)
20498 # 20499 "parser_cocci_menhir.ml"
20499 ) =
20500 # 196 "parser_cocci_menhir.mly"
20501 ( m )
20502 # 20503 "parser_cocci_menhir.ml"
20503 in
20504 _menhir_env.MenhirLib.EngineTypes.stack <- {
20505 MenhirLib.EngineTypes.state = _menhir_s;
20506 MenhirLib.EngineTypes.semv = Obj.repr _v;
20507 MenhirLib.EngineTypes.startp = _startpos;
20508 MenhirLib.EngineTypes.endp = _endpos;
20509 MenhirLib.EngineTypes.next = _menhir_stack;
20510 });
20511 (fun _menhir_env ->
20512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20513 let {
20514 MenhirLib.EngineTypes.startp = _startpos__2_;
20515 MenhirLib.EngineTypes.endp = _endpos__2_;
20516 MenhirLib.EngineTypes.next = {
20517 MenhirLib.EngineTypes.state = _menhir_s;
20518 MenhirLib.EngineTypes.semv = m;
20519 MenhirLib.EngineTypes.startp = _startpos_m_;
20520 MenhirLib.EngineTypes.endp = _endpos_m_;
20521 MenhirLib.EngineTypes.next = _menhir_stack;
20522 };
20523 } = _menhir_stack in
20524 let m : 'tv_minus_body = Obj.magic m in
20525 let _startpos = _startpos_m_ in
20526 let _endpos = _endpos__2_ in
20527 let _v : (
20528 # 157 "parser_cocci_menhir.mly"
20529 (Ast0_cocci.rule)
20530 # 20531 "parser_cocci_menhir.ml"
20531 ) =
20532 # 197 "parser_cocci_menhir.mly"
20533 ( m )
20534 # 20535 "parser_cocci_menhir.ml"
20535 in
20536 _menhir_env.MenhirLib.EngineTypes.stack <- {
20537 MenhirLib.EngineTypes.state = _menhir_s;
20538 MenhirLib.EngineTypes.semv = Obj.repr _v;
20539 MenhirLib.EngineTypes.startp = _startpos;
20540 MenhirLib.EngineTypes.endp = _endpos;
20541 MenhirLib.EngineTypes.next = _menhir_stack;
20542 });
20543 (fun _menhir_env ->
20544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20545 let {
20546 MenhirLib.EngineTypes.state = _menhir_s;
20547 MenhirLib.EngineTypes.semv = _1;
20548 MenhirLib.EngineTypes.startp = _startpos__1_;
20549 MenhirLib.EngineTypes.endp = _endpos__1_;
20550 MenhirLib.EngineTypes.next = _menhir_stack;
20551 } = _menhir_stack in
20552 let _1 : 'tv_fundecl = Obj.magic _1 in
20553 let _startpos = _startpos__1_ in
20554 let _endpos = _endpos__1_ in
20555 let _v : 'tv_minus_start =
20556 # 1797 "parser_cocci_menhir.mly"
20557 ( [Ast0.wrap(Ast0.DECL(_1))] )
20558 # 20559 "parser_cocci_menhir.ml"
20559 in
20560 _menhir_env.MenhirLib.EngineTypes.stack <- {
20561 MenhirLib.EngineTypes.state = _menhir_s;
20562 MenhirLib.EngineTypes.semv = Obj.repr _v;
20563 MenhirLib.EngineTypes.startp = _startpos;
20564 MenhirLib.EngineTypes.endp = _endpos;
20565 MenhirLib.EngineTypes.next = _menhir_stack;
20566 });
20567 (fun _menhir_env ->
20568 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20569 let {
20570 MenhirLib.EngineTypes.state = _menhir_s;
20571 MenhirLib.EngineTypes.semv = _1;
20572 MenhirLib.EngineTypes.startp = _startpos__1_;
20573 MenhirLib.EngineTypes.endp = _endpos__1_;
20574 MenhirLib.EngineTypes.next = _menhir_stack;
20575 } = _menhir_stack in
20576 let _1 : 'tv_ctype = Obj.magic _1 in
20577 let _startpos = _startpos__1_ in
20578 let _endpos = _endpos__1_ in
20579 let _v : 'tv_minus_start =
20580 # 1798 "parser_cocci_menhir.mly"
20581 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
20582 # 20583 "parser_cocci_menhir.ml"
20583 in
20584 _menhir_env.MenhirLib.EngineTypes.stack <- {
20585 MenhirLib.EngineTypes.state = _menhir_s;
20586 MenhirLib.EngineTypes.semv = Obj.repr _v;
20587 MenhirLib.EngineTypes.startp = _startpos;
20588 MenhirLib.EngineTypes.endp = _endpos;
20589 MenhirLib.EngineTypes.next = _menhir_stack;
20590 });
20591 (fun _menhir_env ->
20592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20593 let {
20594 MenhirLib.EngineTypes.state = _menhir_s;
20595 MenhirLib.EngineTypes.semv = _1;
20596 MenhirLib.EngineTypes.startp = _startpos__1_;
20597 MenhirLib.EngineTypes.endp = _endpos__1_;
20598 MenhirLib.EngineTypes.next = _menhir_stack;
20599 } = _menhir_stack in
20600 let _1 : 'tv_top_init = Obj.magic _1 in
20601 let _startpos = _startpos__1_ in
20602 let _endpos = _endpos__1_ in
20603 let _v : 'tv_minus_start =
20604 # 1799 "parser_cocci_menhir.mly"
20605 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
20606 # 20607 "parser_cocci_menhir.ml"
20607 in
20608 _menhir_env.MenhirLib.EngineTypes.stack <- {
20609 MenhirLib.EngineTypes.state = _menhir_s;
20610 MenhirLib.EngineTypes.semv = Obj.repr _v;
20611 MenhirLib.EngineTypes.startp = _startpos;
20612 MenhirLib.EngineTypes.endp = _endpos;
20613 MenhirLib.EngineTypes.next = _menhir_stack;
20614 });
20615 (fun _menhir_env ->
20616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20617 let {
20618 MenhirLib.EngineTypes.state = _menhir_s;
20619 MenhirLib.EngineTypes.semv = _1;
20620 MenhirLib.EngineTypes.startp = _startpos__1_;
20621 MenhirLib.EngineTypes.endp = _endpos__1_;
20622 MenhirLib.EngineTypes.next = _menhir_stack;
20623 } = _menhir_stack in
20624 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
20625 let _startpos = _startpos__1_ in
20626 let _endpos = _endpos__1_ in
20627 let _v : 'tv_minus_start =
20628 # 1801 "parser_cocci_menhir.mly"
20629 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
20630 # 20631 "parser_cocci_menhir.ml"
20631 in
20632 _menhir_env.MenhirLib.EngineTypes.stack <- {
20633 MenhirLib.EngineTypes.state = _menhir_s;
20634 MenhirLib.EngineTypes.semv = Obj.repr _v;
20635 MenhirLib.EngineTypes.startp = _startpos;
20636 MenhirLib.EngineTypes.endp = _endpos;
20637 MenhirLib.EngineTypes.next = _menhir_stack;
20638 });
20639 (fun _menhir_env ->
20640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20641 let {
20642 MenhirLib.EngineTypes.semv = b;
20643 MenhirLib.EngineTypes.startp = _startpos_b_;
20644 MenhirLib.EngineTypes.endp = _endpos_b_;
20645 MenhirLib.EngineTypes.next = {
20646 MenhirLib.EngineTypes.state = _menhir_s;
20647 MenhirLib.EngineTypes.semv = a;
20648 MenhirLib.EngineTypes.startp = _startpos_a_;
20649 MenhirLib.EngineTypes.endp = _endpos_a_;
20650 MenhirLib.EngineTypes.next = _menhir_stack;
20651 };
20652 } = _menhir_stack in
20653 let b : 'tv_ctype = Obj.magic b in
20654 let a : (
20655 # 100 "parser_cocci_menhir.mly"
20656 (Data.clt)
20657 # 20658 "parser_cocci_menhir.ml"
20658 ) = Obj.magic a in
20659 let _startpos = _startpos_a_ in
20660 let _endpos = _endpos_b_ in
20661 let _v : 'tv_mzl_ctype_ =
20662 # 1991 "parser_cocci_menhir.mly"
20663 ( (P.clt2mcode "|" a, b) )
20664 # 20665 "parser_cocci_menhir.ml"
20665 in
20666 _menhir_env.MenhirLib.EngineTypes.stack <- {
20667 MenhirLib.EngineTypes.state = _menhir_s;
20668 MenhirLib.EngineTypes.semv = Obj.repr _v;
20669 MenhirLib.EngineTypes.startp = _startpos;
20670 MenhirLib.EngineTypes.endp = _endpos;
20671 MenhirLib.EngineTypes.next = _menhir_stack;
20672 });
20673 (fun _menhir_env ->
20674 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20675 let {
20676 MenhirLib.EngineTypes.semv = b;
20677 MenhirLib.EngineTypes.startp = _startpos_b_;
20678 MenhirLib.EngineTypes.endp = _endpos_b_;
20679 MenhirLib.EngineTypes.next = {
20680 MenhirLib.EngineTypes.state = _menhir_s;
20681 MenhirLib.EngineTypes.semv = a;
20682 MenhirLib.EngineTypes.startp = _startpos_a_;
20683 MenhirLib.EngineTypes.endp = _endpos_a_;
20684 MenhirLib.EngineTypes.next = _menhir_stack;
20685 };
20686 } = _menhir_stack in
20687 let b : 'tv_eexpr = Obj.magic b in
20688 let a : (
20689 # 100 "parser_cocci_menhir.mly"
20690 (Data.clt)
20691 # 20692 "parser_cocci_menhir.ml"
20692 ) = Obj.magic a in
20693 let _startpos = _startpos_a_ in
20694 let _endpos = _endpos_b_ in
20695 let _v : 'tv_mzl_eexpr_ =
20696 # 1991 "parser_cocci_menhir.mly"
20697 ( (P.clt2mcode "|" a, b) )
20698 # 20699 "parser_cocci_menhir.ml"
20699 in
20700 _menhir_env.MenhirLib.EngineTypes.stack <- {
20701 MenhirLib.EngineTypes.state = _menhir_s;
20702 MenhirLib.EngineTypes.semv = Obj.repr _v;
20703 MenhirLib.EngineTypes.startp = _startpos;
20704 MenhirLib.EngineTypes.endp = _endpos;
20705 MenhirLib.EngineTypes.next = _menhir_stack;
20706 });
20707 (fun _menhir_env ->
20708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20709 let {
20710 MenhirLib.EngineTypes.semv = b;
20711 MenhirLib.EngineTypes.startp = _startpos_b_;
20712 MenhirLib.EngineTypes.endp = _endpos_b_;
20713 MenhirLib.EngineTypes.next = {
20714 MenhirLib.EngineTypes.state = _menhir_s;
20715 MenhirLib.EngineTypes.semv = a;
20716 MenhirLib.EngineTypes.startp = _startpos_a_;
20717 MenhirLib.EngineTypes.endp = _endpos_a_;
20718 MenhirLib.EngineTypes.next = _menhir_stack;
20719 };
20720 } = _menhir_stack in
20721 let b : 'tv_fun_after_dots_or = Obj.magic b in
20722 let a : (
20723 # 100 "parser_cocci_menhir.mly"
20724 (Data.clt)
20725 # 20726 "parser_cocci_menhir.ml"
20726 ) = Obj.magic a in
20727 let _startpos = _startpos_a_ in
20728 let _endpos = _endpos_b_ in
20729 let _v : 'tv_mzl_fun_after_dots_or_ =
20730 # 1991 "parser_cocci_menhir.mly"
20731 ( (P.clt2mcode "|" a, b) )
20732 # 20733 "parser_cocci_menhir.ml"
20733 in
20734 _menhir_env.MenhirLib.EngineTypes.stack <- {
20735 MenhirLib.EngineTypes.state = _menhir_s;
20736 MenhirLib.EngineTypes.semv = Obj.repr _v;
20737 MenhirLib.EngineTypes.startp = _startpos;
20738 MenhirLib.EngineTypes.endp = _endpos;
20739 MenhirLib.EngineTypes.next = _menhir_stack;
20740 });
20741 (fun _menhir_env ->
20742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20743 let {
20744 MenhirLib.EngineTypes.semv = b;
20745 MenhirLib.EngineTypes.startp = _startpos_b_;
20746 MenhirLib.EngineTypes.endp = _endpos_b_;
20747 MenhirLib.EngineTypes.next = {
20748 MenhirLib.EngineTypes.state = _menhir_s;
20749 MenhirLib.EngineTypes.semv = a;
20750 MenhirLib.EngineTypes.startp = _startpos_a_;
20751 MenhirLib.EngineTypes.endp = _endpos_a_;
20752 MenhirLib.EngineTypes.next = _menhir_stack;
20753 };
20754 } = _menhir_stack in
20755 let b : 'tv_fun_start = Obj.magic b in
20756 let a : (
20757 # 100 "parser_cocci_menhir.mly"
20758 (Data.clt)
20759 # 20760 "parser_cocci_menhir.ml"
20760 ) = Obj.magic a in
20761 let _startpos = _startpos_a_ in
20762 let _endpos = _endpos_b_ in
20763 let _v : 'tv_mzl_fun_start_ =
20764 # 1991 "parser_cocci_menhir.mly"
20765 ( (P.clt2mcode "|" a, b) )
20766 # 20767 "parser_cocci_menhir.ml"
20767 in
20768 _menhir_env.MenhirLib.EngineTypes.stack <- {
20769 MenhirLib.EngineTypes.state = _menhir_s;
20770 MenhirLib.EngineTypes.semv = Obj.repr _v;
20771 MenhirLib.EngineTypes.startp = _startpos;
20772 MenhirLib.EngineTypes.endp = _endpos;
20773 MenhirLib.EngineTypes.next = _menhir_stack;
20774 });
20775 (fun _menhir_env ->
20776 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20777 let {
20778 MenhirLib.EngineTypes.semv = b;
20779 MenhirLib.EngineTypes.startp = _startpos_b_;
20780 MenhirLib.EngineTypes.endp = _endpos_b_;
20781 MenhirLib.EngineTypes.next = {
20782 MenhirLib.EngineTypes.state = _menhir_s;
20783 MenhirLib.EngineTypes.semv = a;
20784 MenhirLib.EngineTypes.startp = _startpos_a_;
20785 MenhirLib.EngineTypes.endp = _endpos_a_;
20786 MenhirLib.EngineTypes.next = _menhir_stack;
20787 };
20788 } = _menhir_stack in
20789 let b : 'tv_rule_elem_statement = Obj.magic b in
20790 let a : (
20791 # 100 "parser_cocci_menhir.mly"
20792 (Data.clt)
20793 # 20794 "parser_cocci_menhir.ml"
20794 ) = Obj.magic a in
20795 let _startpos = _startpos_a_ in
20796 let _endpos = _endpos_b_ in
20797 let _v : 'tv_mzl_rule_elem_statement_ =
20798 # 1991 "parser_cocci_menhir.mly"
20799 ( (P.clt2mcode "|" a, b) )
20800 # 20801 "parser_cocci_menhir.ml"
20801 in
20802 _menhir_env.MenhirLib.EngineTypes.stack <- {
20803 MenhirLib.EngineTypes.state = _menhir_s;
20804 MenhirLib.EngineTypes.semv = Obj.repr _v;
20805 MenhirLib.EngineTypes.startp = _startpos;
20806 MenhirLib.EngineTypes.endp = _endpos;
20807 MenhirLib.EngineTypes.next = _menhir_stack;
20808 });
20809 (fun _menhir_env ->
20810 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20811 let {
20812 MenhirLib.EngineTypes.semv = b;
20813 MenhirLib.EngineTypes.startp = _startpos_b_;
20814 MenhirLib.EngineTypes.endp = _endpos_b_;
20815 MenhirLib.EngineTypes.next = {
20816 MenhirLib.EngineTypes.state = _menhir_s;
20817 MenhirLib.EngineTypes.semv = a;
20818 MenhirLib.EngineTypes.startp = _startpos_a_;
20819 MenhirLib.EngineTypes.endp = _endpos_a_;
20820 MenhirLib.EngineTypes.next = _menhir_stack;
20821 };
20822 } = _menhir_stack in
20823 let b : 'tv_statement = Obj.magic b in
20824 let a : (
20825 # 100 "parser_cocci_menhir.mly"
20826 (Data.clt)
20827 # 20828 "parser_cocci_menhir.ml"
20828 ) = Obj.magic a in
20829 let _startpos = _startpos_a_ in
20830 let _endpos = _endpos_b_ in
20831 let _v : 'tv_mzl_statement_ =
20832 # 1991 "parser_cocci_menhir.mly"
20833 ( (P.clt2mcode "|" a, b) )
20834 # 20835 "parser_cocci_menhir.ml"
20835 in
20836 _menhir_env.MenhirLib.EngineTypes.stack <- {
20837 MenhirLib.EngineTypes.state = _menhir_s;
20838 MenhirLib.EngineTypes.semv = Obj.repr _v;
20839 MenhirLib.EngineTypes.startp = _startpos;
20840 MenhirLib.EngineTypes.endp = _endpos;
20841 MenhirLib.EngineTypes.next = _menhir_stack;
20842 });
20843 (fun _menhir_env ->
20844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20845 let {
20846 MenhirLib.EngineTypes.state = _menhir_s;
20847 MenhirLib.EngineTypes.semv = _1;
20848 MenhirLib.EngineTypes.startp = _startpos__1_;
20849 MenhirLib.EngineTypes.endp = _endpos__1_;
20850 MenhirLib.EngineTypes.next = _menhir_stack;
20851 } = _menhir_stack in
20852 let _1 : 'tv_decl = Obj.magic _1 in
20853 let _startpos = _startpos__1_ in
20854 let _endpos = _endpos__1_ in
20855 let _v : 'tv_name_opt_decl =
20856 # 882 "parser_cocci_menhir.mly"
20857 ( _1 )
20858 # 20859 "parser_cocci_menhir.ml"
20859 in
20860 _menhir_env.MenhirLib.EngineTypes.stack <- {
20861 MenhirLib.EngineTypes.state = _menhir_s;
20862 MenhirLib.EngineTypes.semv = Obj.repr _v;
20863 MenhirLib.EngineTypes.startp = _startpos;
20864 MenhirLib.EngineTypes.endp = _endpos;
20865 MenhirLib.EngineTypes.next = _menhir_stack;
20866 });
20867 (fun _menhir_env ->
20868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20869 let {
20870 MenhirLib.EngineTypes.semv = rp1;
20871 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20872 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20873 MenhirLib.EngineTypes.next = {
20874 MenhirLib.EngineTypes.semv = d;
20875 MenhirLib.EngineTypes.startp = _startpos_d_;
20876 MenhirLib.EngineTypes.endp = _endpos_d_;
20877 MenhirLib.EngineTypes.next = {
20878 MenhirLib.EngineTypes.semv = lp1;
20879 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20880 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20881 MenhirLib.EngineTypes.next = {
20882 MenhirLib.EngineTypes.semv = rp;
20883 MenhirLib.EngineTypes.startp = _startpos_rp_;
20884 MenhirLib.EngineTypes.endp = _endpos_rp_;
20885 MenhirLib.EngineTypes.next = {
20886 MenhirLib.EngineTypes.semv = s;
20887 MenhirLib.EngineTypes.startp = _startpos_s_;
20888 MenhirLib.EngineTypes.endp = _endpos_s_;
20889 MenhirLib.EngineTypes.next = {
20890 MenhirLib.EngineTypes.semv = lp;
20891 MenhirLib.EngineTypes.startp = _startpos_lp_;
20892 MenhirLib.EngineTypes.endp = _endpos_lp_;
20893 MenhirLib.EngineTypes.next = {
20894 MenhirLib.EngineTypes.state = _menhir_s;
20895 MenhirLib.EngineTypes.semv = t;
20896 MenhirLib.EngineTypes.startp = _startpos_t_;
20897 MenhirLib.EngineTypes.endp = _endpos_t_;
20898 MenhirLib.EngineTypes.next = _menhir_stack;
20899 };
20900 };
20901 };
20902 };
20903 };
20904 };
20905 } = _menhir_stack in
20906 let rp1 : (
20907 # 100 "parser_cocci_menhir.mly"
20908 (Data.clt)
20909 # 20910 "parser_cocci_menhir.ml"
20910 ) = Obj.magic rp1 in
20911 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
20912 let lp1 : (
20913 # 99 "parser_cocci_menhir.mly"
20914 (Data.clt)
20915 # 20916 "parser_cocci_menhir.ml"
20916 ) = Obj.magic lp1 in
20917 let rp : (
20918 # 100 "parser_cocci_menhir.mly"
20919 (Data.clt)
20920 # 20921 "parser_cocci_menhir.ml"
20921 ) = Obj.magic rp in
20922 let s : (
20923 # 122 "parser_cocci_menhir.mly"
20924 (Data.clt)
20925 # 20926 "parser_cocci_menhir.ml"
20926 ) = Obj.magic s in
20927 let lp : (
20928 # 99 "parser_cocci_menhir.mly"
20929 (Data.clt)
20930 # 20931 "parser_cocci_menhir.ml"
20931 ) = Obj.magic lp in
20932 let t : 'tv_ctype = Obj.magic t in
20933 let _startpos = _startpos_t_ in
20934 let _endpos = _endpos_rp1_ in
20935 let _v : 'tv_name_opt_decl =
20936 # 885 "parser_cocci_menhir.mly"
20937 ( let fnptr =
20938 Ast0.wrap
20939 (Ast0.FunctionPointer
20940 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
20941 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
20942 Ast0.wrap(Ast0.Param(fnptr, None)) )
20943 # 20944 "parser_cocci_menhir.ml"
20944 in
20945 _menhir_env.MenhirLib.EngineTypes.stack <- {
20946 MenhirLib.EngineTypes.state = _menhir_s;
20947 MenhirLib.EngineTypes.semv = Obj.repr _v;
20948 MenhirLib.EngineTypes.startp = _startpos;
20949 MenhirLib.EngineTypes.endp = _endpos;
20950 MenhirLib.EngineTypes.next = _menhir_stack;
20951 });
20952 (fun _menhir_env ->
20953 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20954 let {
20955 MenhirLib.EngineTypes.semv = _2;
20956 MenhirLib.EngineTypes.startp = _startpos__2_;
20957 MenhirLib.EngineTypes.endp = _endpos__2_;
20958 MenhirLib.EngineTypes.next = {
20959 MenhirLib.EngineTypes.state = _menhir_s;
20960 MenhirLib.EngineTypes.semv = _1;
20961 MenhirLib.EngineTypes.startp = _startpos__1_;
20962 MenhirLib.EngineTypes.endp = _endpos__1_;
20963 MenhirLib.EngineTypes.next = _menhir_stack;
20964 };
20965 } = _menhir_stack in
20966 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
20967 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
20968 let _startpos = _startpos__1_ in
20969 let _endpos = _endpos__2_ in
20970 let _v : 'tv_nest_after_dots =
20971 # 1912 "parser_cocci_menhir.mly"
20972 (_1@_2)
20973 # 20974 "parser_cocci_menhir.ml"
20974 in
20975 _menhir_env.MenhirLib.EngineTypes.stack <- {
20976 MenhirLib.EngineTypes.state = _menhir_s;
20977 MenhirLib.EngineTypes.semv = Obj.repr _v;
20978 MenhirLib.EngineTypes.startp = _startpos;
20979 MenhirLib.EngineTypes.endp = _endpos;
20980 MenhirLib.EngineTypes.next = _menhir_stack;
20981 });
20982 (fun _menhir_env ->
20983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20984 let {
20985 MenhirLib.EngineTypes.semv = _2;
20986 MenhirLib.EngineTypes.startp = _startpos__2_;
20987 MenhirLib.EngineTypes.endp = _endpos__2_;
20988 MenhirLib.EngineTypes.next = {
20989 MenhirLib.EngineTypes.state = _menhir_s;
20990 MenhirLib.EngineTypes.startp = _startpos__1_;
20991 MenhirLib.EngineTypes.endp = _endpos__1_;
20992 MenhirLib.EngineTypes.next = _menhir_stack;
20993 };
20994 } = _menhir_stack in
20995 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
20996 let _startpos = _startpos__1_ in
20997 let _endpos = _endpos__2_ in
20998 let _v : 'tv_nest_after_dots =
20999 # 1913 "parser_cocci_menhir.mly"
21000 (_2)
21001 # 21002 "parser_cocci_menhir.ml"
21002 in
21003 _menhir_env.MenhirLib.EngineTypes.stack <- {
21004 MenhirLib.EngineTypes.state = _menhir_s;
21005 MenhirLib.EngineTypes.semv = Obj.repr _v;
21006 MenhirLib.EngineTypes.startp = _startpos;
21007 MenhirLib.EngineTypes.endp = _endpos;
21008 MenhirLib.EngineTypes.next = _menhir_stack;
21009 });
21010 (fun _menhir_env ->
21011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21012 let {
21013 MenhirLib.EngineTypes.semv = _2;
21014 MenhirLib.EngineTypes.startp = _startpos__2_;
21015 MenhirLib.EngineTypes.endp = _endpos__2_;
21016 MenhirLib.EngineTypes.next = {
21017 MenhirLib.EngineTypes.state = _menhir_s;
21018 MenhirLib.EngineTypes.semv = _1;
21019 MenhirLib.EngineTypes.startp = _startpos__1_;
21020 MenhirLib.EngineTypes.endp = _endpos__1_;
21021 MenhirLib.EngineTypes.next = _menhir_stack;
21022 };
21023 } = _menhir_stack in
21024 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
21025 let _1 : 'tv_expr = Obj.magic _1 in
21026 let _startpos = _startpos__1_ in
21027 let _endpos = _endpos__2_ in
21028 let _v : 'tv_nest_after_dots =
21029 # 1914 "parser_cocci_menhir.mly"
21030 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
21031 # 21032 "parser_cocci_menhir.ml"
21032 in
21033 _menhir_env.MenhirLib.EngineTypes.stack <- {
21034 MenhirLib.EngineTypes.state = _menhir_s;
21035 MenhirLib.EngineTypes.semv = Obj.repr _v;
21036 MenhirLib.EngineTypes.startp = _startpos;
21037 MenhirLib.EngineTypes.endp = _endpos;
21038 MenhirLib.EngineTypes.next = _menhir_stack;
21039 });
21040 (fun _menhir_env ->
21041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21042 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21043 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21044 let _endpos = _startpos in
21045 let _v : 'tv_nest_after_exp =
21046 # 1922 "parser_cocci_menhir.mly"
21047 ([])
21048 # 21049 "parser_cocci_menhir.ml"
21049 in
21050 _menhir_env.MenhirLib.EngineTypes.stack <- {
21051 MenhirLib.EngineTypes.state = _menhir_s;
21052 MenhirLib.EngineTypes.semv = Obj.repr _v;
21053 MenhirLib.EngineTypes.startp = _startpos;
21054 MenhirLib.EngineTypes.endp = _endpos;
21055 MenhirLib.EngineTypes.next = _menhir_stack;
21056 });
21057 (fun _menhir_env ->
21058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21059 let {
21060 MenhirLib.EngineTypes.semv = _2;
21061 MenhirLib.EngineTypes.startp = _startpos__2_;
21062 MenhirLib.EngineTypes.endp = _endpos__2_;
21063 MenhirLib.EngineTypes.next = {
21064 MenhirLib.EngineTypes.state = _menhir_s;
21065 MenhirLib.EngineTypes.semv = _1;
21066 MenhirLib.EngineTypes.startp = _startpos__1_;
21067 MenhirLib.EngineTypes.endp = _endpos__1_;
21068 MenhirLib.EngineTypes.next = _menhir_stack;
21069 };
21070 } = _menhir_stack in
21071 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
21072 let _1 : 'tv_stm_dots = Obj.magic _1 in
21073 let _startpos = _startpos__1_ in
21074 let _endpos = _endpos__2_ in
21075 let _v : 'tv_nest_after_exp =
21076 # 1923 "parser_cocci_menhir.mly"
21077 (_1::_2)
21078 # 21079 "parser_cocci_menhir.ml"
21079 in
21080 _menhir_env.MenhirLib.EngineTypes.stack <- {
21081 MenhirLib.EngineTypes.state = _menhir_s;
21082 MenhirLib.EngineTypes.semv = Obj.repr _v;
21083 MenhirLib.EngineTypes.startp = _startpos;
21084 MenhirLib.EngineTypes.endp = _endpos;
21085 MenhirLib.EngineTypes.next = _menhir_stack;
21086 });
21087 (fun _menhir_env ->
21088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21089 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21090 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21091 let _endpos = _startpos in
21092 let _v : 'tv_nest_after_stm =
21093 # 1917 "parser_cocci_menhir.mly"
21094 ([])
21095 # 21096 "parser_cocci_menhir.ml"
21096 in
21097 _menhir_env.MenhirLib.EngineTypes.stack <- {
21098 MenhirLib.EngineTypes.state = _menhir_s;
21099 MenhirLib.EngineTypes.semv = Obj.repr _v;
21100 MenhirLib.EngineTypes.startp = _startpos;
21101 MenhirLib.EngineTypes.endp = _endpos;
21102 MenhirLib.EngineTypes.next = _menhir_stack;
21103 });
21104 (fun _menhir_env ->
21105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21106 let {
21107 MenhirLib.EngineTypes.semv = _2;
21108 MenhirLib.EngineTypes.startp = _startpos__2_;
21109 MenhirLib.EngineTypes.endp = _endpos__2_;
21110 MenhirLib.EngineTypes.next = {
21111 MenhirLib.EngineTypes.state = _menhir_s;
21112 MenhirLib.EngineTypes.semv = _1;
21113 MenhirLib.EngineTypes.startp = _startpos__1_;
21114 MenhirLib.EngineTypes.endp = _endpos__1_;
21115 MenhirLib.EngineTypes.next = _menhir_stack;
21116 };
21117 } = _menhir_stack in
21118 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
21119 let _1 : 'tv_stm_dots = Obj.magic _1 in
21120 let _startpos = _startpos__1_ in
21121 let _endpos = _endpos__2_ in
21122 let _v : 'tv_nest_after_stm =
21123 # 1918 "parser_cocci_menhir.mly"
21124 (_1::_2)
21125 # 21126 "parser_cocci_menhir.ml"
21126 in
21127 _menhir_env.MenhirLib.EngineTypes.stack <- {
21128 MenhirLib.EngineTypes.state = _menhir_s;
21129 MenhirLib.EngineTypes.semv = Obj.repr _v;
21130 MenhirLib.EngineTypes.startp = _startpos;
21131 MenhirLib.EngineTypes.endp = _endpos;
21132 MenhirLib.EngineTypes.next = _menhir_stack;
21133 });
21134 (fun _menhir_env ->
21135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21136 let {
21137 MenhirLib.EngineTypes.semv = _2;
21138 MenhirLib.EngineTypes.startp = _startpos__2_;
21139 MenhirLib.EngineTypes.endp = _endpos__2_;
21140 MenhirLib.EngineTypes.next = {
21141 MenhirLib.EngineTypes.state = _menhir_s;
21142 MenhirLib.EngineTypes.semv = _1;
21143 MenhirLib.EngineTypes.startp = _startpos__1_;
21144 MenhirLib.EngineTypes.endp = _endpos__1_;
21145 MenhirLib.EngineTypes.next = _menhir_stack;
21146 };
21147 } = _menhir_stack in
21148 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
21149 let _1 : 'tv_decl_statement = Obj.magic _1 in
21150 let _startpos = _startpos__1_ in
21151 let _endpos = _endpos__2_ in
21152 let _v : 'tv_nest_after_stm =
21153 # 1919 "parser_cocci_menhir.mly"
21154 (_1@_2)
21155 # 21156 "parser_cocci_menhir.ml"
21156 in
21157 _menhir_env.MenhirLib.EngineTypes.stack <- {
21158 MenhirLib.EngineTypes.state = _menhir_s;
21159 MenhirLib.EngineTypes.semv = Obj.repr _v;
21160 MenhirLib.EngineTypes.startp = _startpos;
21161 MenhirLib.EngineTypes.endp = _endpos;
21162 MenhirLib.EngineTypes.next = _menhir_stack;
21163 });
21164 (fun _menhir_env ->
21165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21166 let {
21167 MenhirLib.EngineTypes.semv = c;
21168 MenhirLib.EngineTypes.startp = _startpos_c_;
21169 MenhirLib.EngineTypes.endp = _endpos_c_;
21170 MenhirLib.EngineTypes.next = {
21171 MenhirLib.EngineTypes.semv = e;
21172 MenhirLib.EngineTypes.startp = _startpos_e_;
21173 MenhirLib.EngineTypes.endp = _endpos_e_;
21174 MenhirLib.EngineTypes.next = {
21175 MenhirLib.EngineTypes.state = _menhir_s;
21176 MenhirLib.EngineTypes.semv = _1;
21177 MenhirLib.EngineTypes.startp = _startpos__1_;
21178 MenhirLib.EngineTypes.endp = _endpos__1_;
21179 MenhirLib.EngineTypes.next = _menhir_stack;
21180 };
21181 };
21182 } = _menhir_stack in
21183 let c : (
21184 # 96 "parser_cocci_menhir.mly"
21185 (Data.clt)
21186 # 21187 "parser_cocci_menhir.ml"
21187 ) = Obj.magic c in
21188 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21189 let _1 : (
21190 # 96 "parser_cocci_menhir.mly"
21191 (Data.clt)
21192 # 21193 "parser_cocci_menhir.ml"
21193 ) = Obj.magic _1 in
21194 let _startpos = _startpos__1_ in
21195 let _endpos = _endpos_c_ in
21196 let _v : 'tv_nest_expressions =
21197 # 1271 "parser_cocci_menhir.mly"
21198 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
21199 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21200 P.clt2mcode "...>" c, None, false)) )
21201 # 21202 "parser_cocci_menhir.ml"
21202 in
21203 _menhir_env.MenhirLib.EngineTypes.stack <- {
21204 MenhirLib.EngineTypes.state = _menhir_s;
21205 MenhirLib.EngineTypes.semv = Obj.repr _v;
21206 MenhirLib.EngineTypes.startp = _startpos;
21207 MenhirLib.EngineTypes.endp = _endpos;
21208 MenhirLib.EngineTypes.next = _menhir_stack;
21209 });
21210 (fun _menhir_env ->
21211 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21212 let {
21213 MenhirLib.EngineTypes.semv = c;
21214 MenhirLib.EngineTypes.startp = _startpos_c_;
21215 MenhirLib.EngineTypes.endp = _endpos_c_;
21216 MenhirLib.EngineTypes.next = {
21217 MenhirLib.EngineTypes.semv = e;
21218 MenhirLib.EngineTypes.startp = _startpos_e_;
21219 MenhirLib.EngineTypes.endp = _endpos_e_;
21220 MenhirLib.EngineTypes.next = {
21221 MenhirLib.EngineTypes.state = _menhir_s;
21222 MenhirLib.EngineTypes.semv = _1;
21223 MenhirLib.EngineTypes.startp = _startpos__1_;
21224 MenhirLib.EngineTypes.endp = _endpos__1_;
21225 MenhirLib.EngineTypes.next = _menhir_stack;
21226 };
21227 };
21228 } = _menhir_stack in
21229 let c : (
21230 # 96 "parser_cocci_menhir.mly"
21231 (Data.clt)
21232 # 21233 "parser_cocci_menhir.ml"
21233 ) = Obj.magic c in
21234 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21235 let _1 : (
21236 # 96 "parser_cocci_menhir.mly"
21237 (Data.clt)
21238 # 21239 "parser_cocci_menhir.ml"
21239 ) = Obj.magic _1 in
21240 let _startpos = _startpos__1_ in
21241 let _endpos = _endpos_c_ in
21242 let _v : 'tv_nest_expressions =
21243 # 1275 "parser_cocci_menhir.mly"
21244 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
21245 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21246 P.clt2mcode "...+>" c, None, true)) )
21247 # 21248 "parser_cocci_menhir.ml"
21248 in
21249 _menhir_env.MenhirLib.EngineTypes.stack <- {
21250 MenhirLib.EngineTypes.state = _menhir_s;
21251 MenhirLib.EngineTypes.semv = Obj.repr _v;
21252 MenhirLib.EngineTypes.startp = _startpos;
21253 MenhirLib.EngineTypes.endp = _endpos;
21254 MenhirLib.EngineTypes.next = _menhir_stack;
21255 });
21256 (fun _menhir_env ->
21257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21258 let {
21259 MenhirLib.EngineTypes.state = _menhir_s;
21260 MenhirLib.EngineTypes.semv = _1;
21261 MenhirLib.EngineTypes.startp = _startpos__1_;
21262 MenhirLib.EngineTypes.endp = _endpos__1_;
21263 MenhirLib.EngineTypes.next = _menhir_stack;
21264 } = _menhir_stack in
21265 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
21266 let _startpos = _startpos__1_ in
21267 let _endpos = _endpos__1_ in
21268 let _v : 'tv_nest_start =
21269 # 1909 "parser_cocci_menhir.mly"
21270 ( Ast0.wrap(Ast0.DOTS(_1)) )
21271 # 21272 "parser_cocci_menhir.ml"
21272 in
21273 _menhir_env.MenhirLib.EngineTypes.stack <- {
21274 MenhirLib.EngineTypes.state = _menhir_s;
21275 MenhirLib.EngineTypes.semv = Obj.repr _v;
21276 MenhirLib.EngineTypes.startp = _startpos;
21277 MenhirLib.EngineTypes.endp = _endpos;
21278 MenhirLib.EngineTypes.next = _menhir_stack;
21279 });
21280 (fun _menhir_env ->
21281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21282 let {
21283 MenhirLib.EngineTypes.state = _menhir_s;
21284 MenhirLib.EngineTypes.startp = _startpos__1_;
21285 MenhirLib.EngineTypes.endp = _endpos__1_;
21286 MenhirLib.EngineTypes.next = _menhir_stack;
21287 } = _menhir_stack in
21288 let _startpos = _startpos__1_ in
21289 let _endpos = _endpos__1_ in
21290 let _v : (
21291 # 191 "parser_cocci_menhir.mly"
21292 (unit)
21293 # 21294 "parser_cocci_menhir.ml"
21294 ) =
21295 # 2058 "parser_cocci_menhir.mly"
21296 ( () )
21297 # 21298 "parser_cocci_menhir.ml"
21298 in
21299 _menhir_env.MenhirLib.EngineTypes.stack <- {
21300 MenhirLib.EngineTypes.state = _menhir_s;
21301 MenhirLib.EngineTypes.semv = Obj.repr _v;
21302 MenhirLib.EngineTypes.startp = _startpos;
21303 MenhirLib.EngineTypes.endp = _endpos;
21304 MenhirLib.EngineTypes.next = _menhir_stack;
21305 });
21306 (fun _menhir_env ->
21307 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21308 let {
21309 MenhirLib.EngineTypes.startp = _startpos__2_;
21310 MenhirLib.EngineTypes.endp = _endpos__2_;
21311 MenhirLib.EngineTypes.next = {
21312 MenhirLib.EngineTypes.state = _menhir_s;
21313 MenhirLib.EngineTypes.startp = _startpos__1_;
21314 MenhirLib.EngineTypes.endp = _endpos__1_;
21315 MenhirLib.EngineTypes.next = _menhir_stack;
21316 };
21317 } = _menhir_stack in
21318 let _startpos = _startpos__1_ in
21319 let _endpos = _endpos__2_ in
21320 let _v : (
21321 # 191 "parser_cocci_menhir.mly"
21322 (unit)
21323 # 21324 "parser_cocci_menhir.ml"
21324 ) =
21325 # 2059 "parser_cocci_menhir.mly"
21326 ( () )
21327 # 21328 "parser_cocci_menhir.ml"
21328 in
21329 _menhir_env.MenhirLib.EngineTypes.stack <- {
21330 MenhirLib.EngineTypes.state = _menhir_s;
21331 MenhirLib.EngineTypes.semv = Obj.repr _v;
21332 MenhirLib.EngineTypes.startp = _startpos;
21333 MenhirLib.EngineTypes.endp = _endpos;
21334 MenhirLib.EngineTypes.next = _menhir_stack;
21335 });
21336 (fun _menhir_env ->
21337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21338 let {
21339 MenhirLib.EngineTypes.state = _menhir_s;
21340 MenhirLib.EngineTypes.startp = _startpos__1_;
21341 MenhirLib.EngineTypes.endp = _endpos__1_;
21342 MenhirLib.EngineTypes.next = _menhir_stack;
21343 } = _menhir_stack in
21344 let _startpos = _startpos__1_ in
21345 let _endpos = _endpos__1_ in
21346 let _v : (
21347 # 191 "parser_cocci_menhir.mly"
21348 (unit)
21349 # 21350 "parser_cocci_menhir.ml"
21350 ) =
21351 # 2060 "parser_cocci_menhir.mly"
21352 ( () )
21353 # 21354 "parser_cocci_menhir.ml"
21354 in
21355 _menhir_env.MenhirLib.EngineTypes.stack <- {
21356 MenhirLib.EngineTypes.state = _menhir_s;
21357 MenhirLib.EngineTypes.semv = Obj.repr _v;
21358 MenhirLib.EngineTypes.startp = _startpos;
21359 MenhirLib.EngineTypes.endp = _endpos;
21360 MenhirLib.EngineTypes.next = _menhir_stack;
21361 });
21362 (fun _menhir_env ->
21363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21364 let {
21365 MenhirLib.EngineTypes.semv = dg;
21366 MenhirLib.EngineTypes.startp = _startpos_dg_;
21367 MenhirLib.EngineTypes.endp = _endpos_dg_;
21368 MenhirLib.EngineTypes.next = {
21369 MenhirLib.EngineTypes.state = _menhir_s;
21370 MenhirLib.EngineTypes.semv = g;
21371 MenhirLib.EngineTypes.startp = _startpos_g_;
21372 MenhirLib.EngineTypes.endp = _endpos_g_;
21373 MenhirLib.EngineTypes.next = _menhir_stack;
21374 };
21375 } = _menhir_stack in
21376 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
21377 let g : 'tv_dexpr = Obj.magic g in
21378 let _startpos = _startpos_g_ in
21379 let _endpos = _endpos_dg_ in
21380 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
21381 # 1439 "parser_cocci_menhir.mly"
21382 ( function dot_builder ->
21383 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
21384 # 21385 "parser_cocci_menhir.ml"
21385 in
21386 _menhir_env.MenhirLib.EngineTypes.stack <- {
21387 MenhirLib.EngineTypes.state = _menhir_s;
21388 MenhirLib.EngineTypes.semv = Obj.repr _v;
21389 MenhirLib.EngineTypes.startp = _startpos;
21390 MenhirLib.EngineTypes.endp = _endpos;
21391 MenhirLib.EngineTypes.next = _menhir_stack;
21392 });
21393 (fun _menhir_env ->
21394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21395 let {
21396 MenhirLib.EngineTypes.state = _menhir_s;
21397 MenhirLib.EngineTypes.semv = x;
21398 MenhirLib.EngineTypes.startp = _startpos_x_;
21399 MenhirLib.EngineTypes.endp = _endpos_x_;
21400 MenhirLib.EngineTypes.next = _menhir_stack;
21401 } = _menhir_stack in
21402 let x : (
21403 # 122 "parser_cocci_menhir.mly"
21404 (Data.clt)
21405 # 21406 "parser_cocci_menhir.ml"
21406 ) = Obj.magic x in
21407 let _startpos = _startpos_x_ in
21408 let _endpos = _endpos_x_ in
21409 let _v : 'tv_nonempty_list_TMul_ =
21410 # 124 "standard.mly"
21411 ( [ x ] )
21412 # 21413 "parser_cocci_menhir.ml"
21413 in
21414 _menhir_env.MenhirLib.EngineTypes.stack <- {
21415 MenhirLib.EngineTypes.state = _menhir_s;
21416 MenhirLib.EngineTypes.semv = Obj.repr _v;
21417 MenhirLib.EngineTypes.startp = _startpos;
21418 MenhirLib.EngineTypes.endp = _endpos;
21419 MenhirLib.EngineTypes.next = _menhir_stack;
21420 });
21421 (fun _menhir_env ->
21422 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21423 let {
21424 MenhirLib.EngineTypes.semv = xs;
21425 MenhirLib.EngineTypes.startp = _startpos_xs_;
21426 MenhirLib.EngineTypes.endp = _endpos_xs_;
21427 MenhirLib.EngineTypes.next = {
21428 MenhirLib.EngineTypes.state = _menhir_s;
21429 MenhirLib.EngineTypes.semv = x;
21430 MenhirLib.EngineTypes.startp = _startpos_x_;
21431 MenhirLib.EngineTypes.endp = _endpos_x_;
21432 MenhirLib.EngineTypes.next = _menhir_stack;
21433 };
21434 } = _menhir_stack in
21435 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
21436 let x : (
21437 # 122 "parser_cocci_menhir.mly"
21438 (Data.clt)
21439 # 21440 "parser_cocci_menhir.ml"
21440 ) = Obj.magic x in
21441 let _startpos = _startpos_x_ in
21442 let _endpos = _endpos_xs_ in
21443 let _v : 'tv_nonempty_list_TMul_ =
21444 # 126 "standard.mly"
21445 ( x :: xs )
21446 # 21447 "parser_cocci_menhir.ml"
21447 in
21448 _menhir_env.MenhirLib.EngineTypes.stack <- {
21449 MenhirLib.EngineTypes.state = _menhir_s;
21450 MenhirLib.EngineTypes.semv = Obj.repr _v;
21451 MenhirLib.EngineTypes.startp = _startpos;
21452 MenhirLib.EngineTypes.endp = _endpos;
21453 MenhirLib.EngineTypes.next = _menhir_stack;
21454 });
21455 (fun _menhir_env ->
21456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21457 let {
21458 MenhirLib.EngineTypes.semv = i;
21459 MenhirLib.EngineTypes.startp = _startpos_i_;
21460 MenhirLib.EngineTypes.endp = _endpos_i_;
21461 MenhirLib.EngineTypes.next = {
21462 MenhirLib.EngineTypes.state = _menhir_s;
21463 MenhirLib.EngineTypes.startp = _startpos__1_;
21464 MenhirLib.EngineTypes.endp = _endpos__1_;
21465 MenhirLib.EngineTypes.next = _menhir_stack;
21466 };
21467 } = _menhir_stack in
21468 let i : 'tv_ident_or_const = Obj.magic i in
21469 let _startpos = _startpos__1_ in
21470 let _endpos = _endpos_i_ in
21471 let _v : 'tv_not_ceq =
21472 # 1612 "parser_cocci_menhir.mly"
21473 ( (if !Data.in_iso
21474 then failwith "constraints not allowed in iso file");
21475 (if !Data.in_generating
21476 then failwith "constraints not allowed in a generated rule file");
21477 [i] )
21478 # 21479 "parser_cocci_menhir.ml"
21479 in
21480 _menhir_env.MenhirLib.EngineTypes.stack <- {
21481 MenhirLib.EngineTypes.state = _menhir_s;
21482 MenhirLib.EngineTypes.semv = Obj.repr _v;
21483 MenhirLib.EngineTypes.startp = _startpos;
21484 MenhirLib.EngineTypes.endp = _endpos;
21485 MenhirLib.EngineTypes.next = _menhir_stack;
21486 });
21487 (fun _menhir_env ->
21488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21489 let {
21490 MenhirLib.EngineTypes.startp = _startpos__4_;
21491 MenhirLib.EngineTypes.endp = _endpos__4_;
21492 MenhirLib.EngineTypes.next = {
21493 MenhirLib.EngineTypes.semv = l;
21494 MenhirLib.EngineTypes.startp = _startpos_l_;
21495 MenhirLib.EngineTypes.endp = _endpos_l_;
21496 MenhirLib.EngineTypes.next = {
21497 MenhirLib.EngineTypes.startp = _startpos__2_;
21498 MenhirLib.EngineTypes.endp = _endpos__2_;
21499 MenhirLib.EngineTypes.next = {
21500 MenhirLib.EngineTypes.state = _menhir_s;
21501 MenhirLib.EngineTypes.startp = _startpos__1_;
21502 MenhirLib.EngineTypes.endp = _endpos__1_;
21503 MenhirLib.EngineTypes.next = _menhir_stack;
21504 };
21505 };
21506 };
21507 } = _menhir_stack in
21508 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
21509 let _startpos = _startpos__1_ in
21510 let _endpos = _endpos__4_ in
21511 let _v : 'tv_not_ceq =
21512 # 1618 "parser_cocci_menhir.mly"
21513 ( (if !Data.in_iso
21514 then failwith "constraints not allowed in iso file");
21515 (if !Data.in_generating
21516 then failwith "constraints not allowed in a generated rule file");
21517 l )
21518 # 21519 "parser_cocci_menhir.ml"
21519 in
21520 _menhir_env.MenhirLib.EngineTypes.stack <- {
21521 MenhirLib.EngineTypes.state = _menhir_s;
21522 MenhirLib.EngineTypes.semv = Obj.repr _v;
21523 MenhirLib.EngineTypes.startp = _startpos;
21524 MenhirLib.EngineTypes.endp = _endpos;
21525 MenhirLib.EngineTypes.next = _menhir_stack;
21526 });
21527 (fun _menhir_env ->
21528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21529 let {
21530 MenhirLib.EngineTypes.state = _menhir_s;
21531 MenhirLib.EngineTypes.semv = ceq;
21532 MenhirLib.EngineTypes.startp = _startpos_ceq_;
21533 MenhirLib.EngineTypes.endp = _endpos_ceq_;
21534 MenhirLib.EngineTypes.next = _menhir_stack;
21535 } = _menhir_stack in
21536 let ceq : 'tv_not_ceq = Obj.magic ceq in
21537 let _startpos = _startpos_ceq_ in
21538 let _endpos = _endpos_ceq_ in
21539 let _v : 'tv_not_ceq_or_sub =
21540 # 1588 "parser_cocci_menhir.mly"
21541 (Ast0.NotExpCstrt ceq)
21542 # 21543 "parser_cocci_menhir.ml"
21543 in
21544 _menhir_env.MenhirLib.EngineTypes.stack <- {
21545 MenhirLib.EngineTypes.state = _menhir_s;
21546 MenhirLib.EngineTypes.semv = Obj.repr _v;
21547 MenhirLib.EngineTypes.startp = _startpos;
21548 MenhirLib.EngineTypes.endp = _endpos;
21549 MenhirLib.EngineTypes.next = _menhir_stack;
21550 });
21551 (fun _menhir_env ->
21552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21553 let {
21554 MenhirLib.EngineTypes.state = _menhir_s;
21555 MenhirLib.EngineTypes.semv = s;
21556 MenhirLib.EngineTypes.startp = _startpos_s_;
21557 MenhirLib.EngineTypes.endp = _endpos_s_;
21558 MenhirLib.EngineTypes.next = _menhir_stack;
21559 } = _menhir_stack in
21560 let s : 'tv_sub = Obj.magic s in
21561 let _startpos = _startpos_s_ in
21562 let _endpos = _endpos_s_ in
21563 let _v : 'tv_not_ceq_or_sub =
21564 # 1589 "parser_cocci_menhir.mly"
21565 (Ast0.SubExpCstrt s)
21566 # 21567 "parser_cocci_menhir.ml"
21567 in
21568 _menhir_env.MenhirLib.EngineTypes.stack <- {
21569 MenhirLib.EngineTypes.state = _menhir_s;
21570 MenhirLib.EngineTypes.semv = Obj.repr _v;
21571 MenhirLib.EngineTypes.startp = _startpos;
21572 MenhirLib.EngineTypes.endp = _endpos;
21573 MenhirLib.EngineTypes.next = _menhir_stack;
21574 });
21575 (fun _menhir_env ->
21576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21577 let {
21578 MenhirLib.EngineTypes.semv = i;
21579 MenhirLib.EngineTypes.startp = _startpos_i_;
21580 MenhirLib.EngineTypes.endp = _endpos_i_;
21581 MenhirLib.EngineTypes.next = {
21582 MenhirLib.EngineTypes.state = _menhir_s;
21583 MenhirLib.EngineTypes.startp = _startpos__1_;
21584 MenhirLib.EngineTypes.endp = _endpos__1_;
21585 MenhirLib.EngineTypes.next = _menhir_stack;
21586 };
21587 } = _menhir_stack in
21588 let i : 'tv_pure_ident = Obj.magic i in
21589 let _startpos = _startpos__1_ in
21590 let _endpos = _endpos_i_ in
21591 let _v : 'tv_not_eqe =
21592 # 1593 "parser_cocci_menhir.mly"
21593 ( (if !Data.in_iso
21594 then failwith "constraints not allowed in iso file");
21595 (if !Data.in_generating
21596 then failwith "constraints not allowed in a generated rule file");
21597 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
21598 )
21599 # 21600 "parser_cocci_menhir.ml"
21600 in
21601 _menhir_env.MenhirLib.EngineTypes.stack <- {
21602 MenhirLib.EngineTypes.state = _menhir_s;
21603 MenhirLib.EngineTypes.semv = Obj.repr _v;
21604 MenhirLib.EngineTypes.startp = _startpos;
21605 MenhirLib.EngineTypes.endp = _endpos;
21606 MenhirLib.EngineTypes.next = _menhir_stack;
21607 });
21608 (fun _menhir_env ->
21609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21610 let {
21611 MenhirLib.EngineTypes.startp = _startpos__4_;
21612 MenhirLib.EngineTypes.endp = _endpos__4_;
21613 MenhirLib.EngineTypes.next = {
21614 MenhirLib.EngineTypes.semv = l;
21615 MenhirLib.EngineTypes.startp = _startpos_l_;
21616 MenhirLib.EngineTypes.endp = _endpos_l_;
21617 MenhirLib.EngineTypes.next = {
21618 MenhirLib.EngineTypes.startp = _startpos__2_;
21619 MenhirLib.EngineTypes.endp = _endpos__2_;
21620 MenhirLib.EngineTypes.next = {
21621 MenhirLib.EngineTypes.state = _menhir_s;
21622 MenhirLib.EngineTypes.startp = _startpos__1_;
21623 MenhirLib.EngineTypes.endp = _endpos__1_;
21624 MenhirLib.EngineTypes.next = _menhir_stack;
21625 };
21626 };
21627 };
21628 } = _menhir_stack in
21629 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21630 let _startpos = _startpos__1_ in
21631 let _endpos = _endpos__4_ in
21632 let _v : 'tv_not_eqe =
21633 # 1600 "parser_cocci_menhir.mly"
21634 ( (if !Data.in_iso
21635 then failwith "constraints not allowed in iso file");
21636 (if !Data.in_generating
21637 then failwith "constraints not allowed in a generated rule file");
21638 List.map
21639 (function i ->
21640 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
21641 l
21642 )
21643 # 21644 "parser_cocci_menhir.ml"
21644 in
21645 _menhir_env.MenhirLib.EngineTypes.stack <- {
21646 MenhirLib.EngineTypes.state = _menhir_s;
21647 MenhirLib.EngineTypes.semv = Obj.repr _v;
21648 MenhirLib.EngineTypes.startp = _startpos;
21649 MenhirLib.EngineTypes.endp = _endpos;
21650 MenhirLib.EngineTypes.next = _menhir_stack;
21651 });
21652 (fun _menhir_env ->
21653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21654 let {
21655 MenhirLib.EngineTypes.semv = i;
21656 MenhirLib.EngineTypes.startp = _startpos_i_;
21657 MenhirLib.EngineTypes.endp = _endpos_i_;
21658 MenhirLib.EngineTypes.next = {
21659 MenhirLib.EngineTypes.state = _menhir_s;
21660 MenhirLib.EngineTypes.startp = _startpos__1_;
21661 MenhirLib.EngineTypes.endp = _endpos__1_;
21662 MenhirLib.EngineTypes.next = _menhir_stack;
21663 };
21664 } = _menhir_stack in
21665 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
21666 let _startpos = _startpos__1_ in
21667 let _endpos = _endpos_i_ in
21668 let _v : 'tv_not_eqid =
21669 # 1550 "parser_cocci_menhir.mly"
21670 ( (if !Data.in_iso
21671 then failwith "constraints not allowed in iso file");
21672 (if !Data.in_generating
21673 (* pb: constraints not stored with metavars; too lazy to search for
21674 them in the pattern *)
21675 then failwith "constraints not allowed in a generated rule file");
21676 (match i with
21677 (Some rn,id) ->
21678 let i =
21679 P.check_inherited_constraint i
21680 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
21681 Ast.IdNegIdSet([],[i])
21682 | (None,i) -> Ast.IdNegIdSet([i],[])) )
21683 # 21684 "parser_cocci_menhir.ml"
21684 in
21685 _menhir_env.MenhirLib.EngineTypes.stack <- {
21686 MenhirLib.EngineTypes.state = _menhir_s;
21687 MenhirLib.EngineTypes.semv = Obj.repr _v;
21688 MenhirLib.EngineTypes.startp = _startpos;
21689 MenhirLib.EngineTypes.endp = _endpos;
21690 MenhirLib.EngineTypes.next = _menhir_stack;
21691 });
21692 (fun _menhir_env ->
21693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21694 let {
21695 MenhirLib.EngineTypes.startp = _startpos__4_;
21696 MenhirLib.EngineTypes.endp = _endpos__4_;
21697 MenhirLib.EngineTypes.next = {
21698 MenhirLib.EngineTypes.semv = l;
21699 MenhirLib.EngineTypes.startp = _startpos_l_;
21700 MenhirLib.EngineTypes.endp = _endpos_l_;
21701 MenhirLib.EngineTypes.next = {
21702 MenhirLib.EngineTypes.startp = _startpos__2_;
21703 MenhirLib.EngineTypes.endp = _endpos__2_;
21704 MenhirLib.EngineTypes.next = {
21705 MenhirLib.EngineTypes.state = _menhir_s;
21706 MenhirLib.EngineTypes.startp = _startpos__1_;
21707 MenhirLib.EngineTypes.endp = _endpos__1_;
21708 MenhirLib.EngineTypes.next = _menhir_stack;
21709 };
21710 };
21711 };
21712 } = _menhir_stack in
21713 let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
21714 let _startpos = _startpos__1_ in
21715 let _endpos = _endpos__4_ in
21716 let _v : 'tv_not_eqid =
21717 # 1564 "parser_cocci_menhir.mly"
21718 ( (if !Data.in_iso
21719 then failwith "constraints not allowed in iso file");
21720 (if !Data.in_generating
21721 then failwith "constraints not allowed in a generated rule file");
21722 let (str,meta) =
21723 List.fold_left
21724 (function (str,meta) ->
21725 function
21726 (Some rn,id) as i ->
21727 let i =
21728 P.check_inherited_constraint i
21729 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
21730 (str,i::meta)
21731 | (None,i) -> (i::str,meta))
21732 ([],[]) l in
21733 Ast.IdNegIdSet(str,meta)
21734 )
21735 # 21736 "parser_cocci_menhir.ml"
21736 in
21737 _menhir_env.MenhirLib.EngineTypes.stack <- {
21738 MenhirLib.EngineTypes.state = _menhir_s;
21739 MenhirLib.EngineTypes.semv = Obj.repr _v;
21740 MenhirLib.EngineTypes.startp = _startpos;
21741 MenhirLib.EngineTypes.endp = _endpos;
21742 MenhirLib.EngineTypes.next = _menhir_stack;
21743 });
21744 (fun _menhir_env ->
21745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21746 let {
21747 MenhirLib.EngineTypes.semv = i;
21748 MenhirLib.EngineTypes.startp = _startpos_i_;
21749 MenhirLib.EngineTypes.endp = _endpos_i_;
21750 MenhirLib.EngineTypes.next = {
21751 MenhirLib.EngineTypes.state = _menhir_s;
21752 MenhirLib.EngineTypes.startp = _startpos__1_;
21753 MenhirLib.EngineTypes.endp = _endpos__1_;
21754 MenhirLib.EngineTypes.next = _menhir_stack;
21755 };
21756 } = _menhir_stack in
21757 let i : 'tv_meta_ident = Obj.magic i in
21758 let _startpos = _startpos__1_ in
21759 let _endpos = _endpos_i_ in
21760 let _v : 'tv_not_pos =
21761 # 1656 "parser_cocci_menhir.mly"
21762 ( (if !Data.in_iso
21763 then failwith "constraints not allowed in iso file");
21764 (if !Data.in_generating
21765 then failwith "constraints not allowed in a generated rule file");
21766 let i =
21767 P.check_inherited_constraint i
21768 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
21769 [i] )
21770 # 21771 "parser_cocci_menhir.ml"
21771 in
21772 _menhir_env.MenhirLib.EngineTypes.stack <- {
21773 MenhirLib.EngineTypes.state = _menhir_s;
21774 MenhirLib.EngineTypes.semv = Obj.repr _v;
21775 MenhirLib.EngineTypes.startp = _startpos;
21776 MenhirLib.EngineTypes.endp = _endpos;
21777 MenhirLib.EngineTypes.next = _menhir_stack;
21778 });
21779 (fun _menhir_env ->
21780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21781 let {
21782 MenhirLib.EngineTypes.startp = _startpos__4_;
21783 MenhirLib.EngineTypes.endp = _endpos__4_;
21784 MenhirLib.EngineTypes.next = {
21785 MenhirLib.EngineTypes.semv = l;
21786 MenhirLib.EngineTypes.startp = _startpos_l_;
21787 MenhirLib.EngineTypes.endp = _endpos_l_;
21788 MenhirLib.EngineTypes.next = {
21789 MenhirLib.EngineTypes.startp = _startpos__2_;
21790 MenhirLib.EngineTypes.endp = _endpos__2_;
21791 MenhirLib.EngineTypes.next = {
21792 MenhirLib.EngineTypes.state = _menhir_s;
21793 MenhirLib.EngineTypes.startp = _startpos__1_;
21794 MenhirLib.EngineTypes.endp = _endpos__1_;
21795 MenhirLib.EngineTypes.next = _menhir_stack;
21796 };
21797 };
21798 };
21799 } = _menhir_stack in
21800 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
21801 let _startpos = _startpos__1_ in
21802 let _endpos = _endpos__4_ in
21803 let _v : 'tv_not_pos =
21804 # 1665 "parser_cocci_menhir.mly"
21805 ( (if !Data.in_iso
21806 then failwith "constraints not allowed in iso file");
21807 (if !Data.in_generating
21808 then failwith "constraints not allowed in a generated rule file");
21809 List.map
21810 (function i ->
21811 P.check_inherited_constraint i
21812 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
21813 l )
21814 # 21815 "parser_cocci_menhir.ml"
21815 in
21816 _menhir_env.MenhirLib.EngineTypes.stack <- {
21817 MenhirLib.EngineTypes.state = _menhir_s;
21818 MenhirLib.EngineTypes.semv = Obj.repr _v;
21819 MenhirLib.EngineTypes.startp = _startpos;
21820 MenhirLib.EngineTypes.endp = _endpos;
21821 MenhirLib.EngineTypes.next = _menhir_stack;
21822 });
21823 (fun _menhir_env ->
21824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21825 let {
21826 MenhirLib.EngineTypes.state = _menhir_s;
21827 MenhirLib.EngineTypes.semv = _1;
21828 MenhirLib.EngineTypes.startp = _startpos__1_;
21829 MenhirLib.EngineTypes.endp = _endpos__1_;
21830 MenhirLib.EngineTypes.next = _menhir_stack;
21831 } = _menhir_stack in
21832 let _1 : 'tv_decl = Obj.magic _1 in
21833 let _startpos = _startpos__1_ in
21834 let _endpos = _endpos__1_ in
21835 let _v : 'tv_one_dec_decl_ =
21836 # 1735 "parser_cocci_menhir.mly"
21837 ( _1 )
21838 # 21839 "parser_cocci_menhir.ml"
21839 in
21840 _menhir_env.MenhirLib.EngineTypes.stack <- {
21841 MenhirLib.EngineTypes.state = _menhir_s;
21842 MenhirLib.EngineTypes.semv = Obj.repr _v;
21843 MenhirLib.EngineTypes.startp = _startpos;
21844 MenhirLib.EngineTypes.endp = _endpos;
21845 MenhirLib.EngineTypes.next = _menhir_stack;
21846 });
21847 (fun _menhir_env ->
21848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21849 let {
21850 MenhirLib.EngineTypes.state = _menhir_s;
21851 MenhirLib.EngineTypes.semv = _1;
21852 MenhirLib.EngineTypes.startp = _startpos__1_;
21853 MenhirLib.EngineTypes.endp = _endpos__1_;
21854 MenhirLib.EngineTypes.next = _menhir_stack;
21855 } = _menhir_stack in
21856 let _1 : (
21857 # 89 "parser_cocci_menhir.mly"
21858 (Parse_aux.list_info)
21859 # 21860 "parser_cocci_menhir.ml"
21860 ) = Obj.magic _1 in
21861 let _startpos = _startpos__1_ in
21862 let _endpos = _endpos__1_ in
21863 let _v : 'tv_one_dec_decl_ =
21864 # 1737 "parser_cocci_menhir.mly"
21865 ( let (nm,lenname,pure,clt) = _1 in
21866 let nm = P.clt2mcode nm clt in
21867 let lenname =
21868 match lenname with
21869 Some nm -> Some(P.clt2mcode nm clt)
21870 | None -> None in
21871 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21872 # 21873 "parser_cocci_menhir.ml"
21873 in
21874 _menhir_env.MenhirLib.EngineTypes.stack <- {
21875 MenhirLib.EngineTypes.state = _menhir_s;
21876 MenhirLib.EngineTypes.semv = Obj.repr _v;
21877 MenhirLib.EngineTypes.startp = _startpos;
21878 MenhirLib.EngineTypes.endp = _endpos;
21879 MenhirLib.EngineTypes.next = _menhir_stack;
21880 });
21881 (fun _menhir_env ->
21882 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21883 let {
21884 MenhirLib.EngineTypes.state = _menhir_s;
21885 MenhirLib.EngineTypes.semv = _1;
21886 MenhirLib.EngineTypes.startp = _startpos__1_;
21887 MenhirLib.EngineTypes.endp = _endpos__1_;
21888 MenhirLib.EngineTypes.next = _menhir_stack;
21889 } = _menhir_stack in
21890 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
21891 let _startpos = _startpos__1_ in
21892 let _endpos = _endpos__1_ in
21893 let _v : 'tv_one_dec_name_opt_decl_ =
21894 # 1735 "parser_cocci_menhir.mly"
21895 ( _1 )
21896 # 21897 "parser_cocci_menhir.ml"
21897 in
21898 _menhir_env.MenhirLib.EngineTypes.stack <- {
21899 MenhirLib.EngineTypes.state = _menhir_s;
21900 MenhirLib.EngineTypes.semv = Obj.repr _v;
21901 MenhirLib.EngineTypes.startp = _startpos;
21902 MenhirLib.EngineTypes.endp = _endpos;
21903 MenhirLib.EngineTypes.next = _menhir_stack;
21904 });
21905 (fun _menhir_env ->
21906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21907 let {
21908 MenhirLib.EngineTypes.state = _menhir_s;
21909 MenhirLib.EngineTypes.semv = _1;
21910 MenhirLib.EngineTypes.startp = _startpos__1_;
21911 MenhirLib.EngineTypes.endp = _endpos__1_;
21912 MenhirLib.EngineTypes.next = _menhir_stack;
21913 } = _menhir_stack in
21914 let _1 : (
21915 # 89 "parser_cocci_menhir.mly"
21916 (Parse_aux.list_info)
21917 # 21918 "parser_cocci_menhir.ml"
21918 ) = Obj.magic _1 in
21919 let _startpos = _startpos__1_ in
21920 let _endpos = _endpos__1_ in
21921 let _v : 'tv_one_dec_name_opt_decl_ =
21922 # 1737 "parser_cocci_menhir.mly"
21923 ( let (nm,lenname,pure,clt) = _1 in
21924 let nm = P.clt2mcode nm clt in
21925 let lenname =
21926 match lenname with
21927 Some nm -> Some(P.clt2mcode nm clt)
21928 | None -> None in
21929 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21930 # 21931 "parser_cocci_menhir.ml"
21931 in
21932 _menhir_env.MenhirLib.EngineTypes.stack <- {
21933 MenhirLib.EngineTypes.state = _menhir_s;
21934 MenhirLib.EngineTypes.semv = Obj.repr _v;
21935 MenhirLib.EngineTypes.startp = _startpos;
21936 MenhirLib.EngineTypes.endp = _endpos;
21937 MenhirLib.EngineTypes.next = _menhir_stack;
21938 });
21939 (fun _menhir_env ->
21940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21941 let {
21942 MenhirLib.EngineTypes.semv = pv;
21943 MenhirLib.EngineTypes.startp = _startpos_pv_;
21944 MenhirLib.EngineTypes.endp = _endpos_pv_;
21945 MenhirLib.EngineTypes.next = {
21946 MenhirLib.EngineTypes.state = _menhir_s;
21947 MenhirLib.EngineTypes.semv = t;
21948 MenhirLib.EngineTypes.startp = _startpos_t_;
21949 MenhirLib.EngineTypes.endp = _endpos_t_;
21950 MenhirLib.EngineTypes.next = _menhir_stack;
21951 };
21952 } = _menhir_stack in
21953 let pv : (
21954 # 130 "parser_cocci_menhir.mly"
21955 (Data.clt)
21956 # 21957 "parser_cocci_menhir.ml"
21957 ) = Obj.magic pv in
21958 let t : 'tv_ctype = Obj.magic t in
21959 let _startpos = _startpos_t_ in
21960 let _endpos = _endpos_pv_ in
21961 let _v : 'tv_one_decl_var =
21962 # 1060 "parser_cocci_menhir.mly"
21963 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
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.semv = pv;
21977 MenhirLib.EngineTypes.startp = _startpos_pv_;
21978 MenhirLib.EngineTypes.endp = _endpos_pv_;
21979 MenhirLib.EngineTypes.next = {
21980 MenhirLib.EngineTypes.semv = d;
21981 MenhirLib.EngineTypes.startp = _startpos_d_;
21982 MenhirLib.EngineTypes.endp = _endpos_d_;
21983 MenhirLib.EngineTypes.next = {
21984 MenhirLib.EngineTypes.state = _menhir_s;
21985 MenhirLib.EngineTypes.semv = t;
21986 MenhirLib.EngineTypes.startp = _startpos_t_;
21987 MenhirLib.EngineTypes.endp = _endpos_t_;
21988 MenhirLib.EngineTypes.next = _menhir_stack;
21989 };
21990 };
21991 } = _menhir_stack in
21992 let pv : (
21993 # 130 "parser_cocci_menhir.mly"
21994 (Data.clt)
21995 # 21996 "parser_cocci_menhir.ml"
21996 ) = Obj.magic pv in
21997 let d : 'tv_d_ident = Obj.magic d in
21998 let t : 'tv_ctype = Obj.magic t in
21999 let _startpos = _startpos_t_ in
22000 let _endpos = _endpos_pv_ in
22001 let _v : 'tv_one_decl_var = let s =
22002
22003 # 39 "standard.mly"
22004 ( None )
22005 # 22006 "parser_cocci_menhir.ml"
22006
22007 in
22008
22009 # 1062 "parser_cocci_menhir.mly"
22010 ( let (id,fn) = d in
22011 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22012 # 22013 "parser_cocci_menhir.ml"
22013 in
22014 _menhir_env.MenhirLib.EngineTypes.stack <- {
22015 MenhirLib.EngineTypes.state = _menhir_s;
22016 MenhirLib.EngineTypes.semv = Obj.repr _v;
22017 MenhirLib.EngineTypes.startp = _startpos;
22018 MenhirLib.EngineTypes.endp = _endpos;
22019 MenhirLib.EngineTypes.next = _menhir_stack;
22020 });
22021 (fun _menhir_env ->
22022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22023 let {
22024 MenhirLib.EngineTypes.semv = pv;
22025 MenhirLib.EngineTypes.startp = _startpos_pv_;
22026 MenhirLib.EngineTypes.endp = _endpos_pv_;
22027 MenhirLib.EngineTypes.next = {
22028 MenhirLib.EngineTypes.semv = d;
22029 MenhirLib.EngineTypes.startp = _startpos_d_;
22030 MenhirLib.EngineTypes.endp = _endpos_d_;
22031 MenhirLib.EngineTypes.next = {
22032 MenhirLib.EngineTypes.semv = t;
22033 MenhirLib.EngineTypes.startp = _startpos_t_;
22034 MenhirLib.EngineTypes.endp = _endpos_t_;
22035 MenhirLib.EngineTypes.next = {
22036 MenhirLib.EngineTypes.state = _menhir_s;
22037 MenhirLib.EngineTypes.semv = x0;
22038 MenhirLib.EngineTypes.startp = _startpos_x0_;
22039 MenhirLib.EngineTypes.endp = _endpos_x0_;
22040 MenhirLib.EngineTypes.next = _menhir_stack;
22041 };
22042 };
22043 };
22044 } = _menhir_stack in
22045 let pv : (
22046 # 130 "parser_cocci_menhir.mly"
22047 (Data.clt)
22048 # 22049 "parser_cocci_menhir.ml"
22049 ) = Obj.magic pv in
22050 let d : 'tv_d_ident = Obj.magic d in
22051 let t : 'tv_ctype = Obj.magic t in
22052 let x0 : 'tv_storage = Obj.magic x0 in
22053 let _startpos = _startpos_x0_ in
22054 let _endpos = _endpos_pv_ in
22055 let _v : 'tv_one_decl_var = let s =
22056 let x = x0 in
22057
22058 # 41 "standard.mly"
22059 ( Some x )
22060 # 22061 "parser_cocci_menhir.ml"
22061
22062 in
22063
22064 # 1062 "parser_cocci_menhir.mly"
22065 ( let (id,fn) = d in
22066 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22067 # 22068 "parser_cocci_menhir.ml"
22068 in
22069 _menhir_env.MenhirLib.EngineTypes.stack <- {
22070 MenhirLib.EngineTypes.state = _menhir_s;
22071 MenhirLib.EngineTypes.semv = Obj.repr _v;
22072 MenhirLib.EngineTypes.startp = _startpos;
22073 MenhirLib.EngineTypes.endp = _endpos;
22074 MenhirLib.EngineTypes.next = _menhir_stack;
22075 });
22076 (fun _menhir_env ->
22077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22078 let {
22079 MenhirLib.EngineTypes.state = _menhir_s;
22080 MenhirLib.EngineTypes.semv = f;
22081 MenhirLib.EngineTypes.startp = _startpos_f_;
22082 MenhirLib.EngineTypes.endp = _endpos_f_;
22083 MenhirLib.EngineTypes.next = _menhir_stack;
22084 } = _menhir_stack in
22085 let f : 'tv_funproto = Obj.magic f in
22086 let _startpos = _startpos_f_ in
22087 let _endpos = _endpos_f_ in
22088 let _v : 'tv_one_decl_var =
22089 # 1064 "parser_cocci_menhir.mly"
22090 ( f )
22091 # 22092 "parser_cocci_menhir.ml"
22092 in
22093 _menhir_env.MenhirLib.EngineTypes.stack <- {
22094 MenhirLib.EngineTypes.state = _menhir_s;
22095 MenhirLib.EngineTypes.semv = Obj.repr _v;
22096 MenhirLib.EngineTypes.startp = _startpos;
22097 MenhirLib.EngineTypes.endp = _endpos;
22098 MenhirLib.EngineTypes.next = _menhir_stack;
22099 });
22100 (fun _menhir_env ->
22101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22102 let {
22103 MenhirLib.EngineTypes.semv = pv;
22104 MenhirLib.EngineTypes.startp = _startpos_pv_;
22105 MenhirLib.EngineTypes.endp = _endpos_pv_;
22106 MenhirLib.EngineTypes.next = {
22107 MenhirLib.EngineTypes.semv = e;
22108 MenhirLib.EngineTypes.startp = _startpos_e_;
22109 MenhirLib.EngineTypes.endp = _endpos_e_;
22110 MenhirLib.EngineTypes.next = {
22111 MenhirLib.EngineTypes.semv = q;
22112 MenhirLib.EngineTypes.startp = _startpos_q_;
22113 MenhirLib.EngineTypes.endp = _endpos_q_;
22114 MenhirLib.EngineTypes.next = {
22115 MenhirLib.EngineTypes.semv = d;
22116 MenhirLib.EngineTypes.startp = _startpos_d_;
22117 MenhirLib.EngineTypes.endp = _endpos_d_;
22118 MenhirLib.EngineTypes.next = {
22119 MenhirLib.EngineTypes.state = _menhir_s;
22120 MenhirLib.EngineTypes.semv = t;
22121 MenhirLib.EngineTypes.startp = _startpos_t_;
22122 MenhirLib.EngineTypes.endp = _endpos_t_;
22123 MenhirLib.EngineTypes.next = _menhir_stack;
22124 };
22125 };
22126 };
22127 };
22128 } = _menhir_stack in
22129 let pv : (
22130 # 130 "parser_cocci_menhir.mly"
22131 (Data.clt)
22132 # 22133 "parser_cocci_menhir.ml"
22133 ) = Obj.magic pv in
22134 let e : 'tv_initialize = Obj.magic e in
22135 let q : (
22136 # 130 "parser_cocci_menhir.mly"
22137 (Data.clt)
22138 # 22139 "parser_cocci_menhir.ml"
22139 ) = Obj.magic q in
22140 let d : 'tv_d_ident = Obj.magic d in
22141 let t : 'tv_ctype = Obj.magic t in
22142 let _startpos = _startpos_t_ in
22143 let _endpos = _endpos_pv_ in
22144 let _v : 'tv_one_decl_var = let s =
22145
22146 # 39 "standard.mly"
22147 ( None )
22148 # 22149 "parser_cocci_menhir.ml"
22149
22150 in
22151
22152 # 1066 "parser_cocci_menhir.mly"
22153 ( let (id,fn) = d in
22154 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22155 # 22156 "parser_cocci_menhir.ml"
22156 in
22157 _menhir_env.MenhirLib.EngineTypes.stack <- {
22158 MenhirLib.EngineTypes.state = _menhir_s;
22159 MenhirLib.EngineTypes.semv = Obj.repr _v;
22160 MenhirLib.EngineTypes.startp = _startpos;
22161 MenhirLib.EngineTypes.endp = _endpos;
22162 MenhirLib.EngineTypes.next = _menhir_stack;
22163 });
22164 (fun _menhir_env ->
22165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22166 let {
22167 MenhirLib.EngineTypes.semv = pv;
22168 MenhirLib.EngineTypes.startp = _startpos_pv_;
22169 MenhirLib.EngineTypes.endp = _endpos_pv_;
22170 MenhirLib.EngineTypes.next = {
22171 MenhirLib.EngineTypes.semv = e;
22172 MenhirLib.EngineTypes.startp = _startpos_e_;
22173 MenhirLib.EngineTypes.endp = _endpos_e_;
22174 MenhirLib.EngineTypes.next = {
22175 MenhirLib.EngineTypes.semv = q;
22176 MenhirLib.EngineTypes.startp = _startpos_q_;
22177 MenhirLib.EngineTypes.endp = _endpos_q_;
22178 MenhirLib.EngineTypes.next = {
22179 MenhirLib.EngineTypes.semv = d;
22180 MenhirLib.EngineTypes.startp = _startpos_d_;
22181 MenhirLib.EngineTypes.endp = _endpos_d_;
22182 MenhirLib.EngineTypes.next = {
22183 MenhirLib.EngineTypes.semv = t;
22184 MenhirLib.EngineTypes.startp = _startpos_t_;
22185 MenhirLib.EngineTypes.endp = _endpos_t_;
22186 MenhirLib.EngineTypes.next = {
22187 MenhirLib.EngineTypes.state = _menhir_s;
22188 MenhirLib.EngineTypes.semv = x0;
22189 MenhirLib.EngineTypes.startp = _startpos_x0_;
22190 MenhirLib.EngineTypes.endp = _endpos_x0_;
22191 MenhirLib.EngineTypes.next = _menhir_stack;
22192 };
22193 };
22194 };
22195 };
22196 };
22197 } = _menhir_stack in
22198 let pv : (
22199 # 130 "parser_cocci_menhir.mly"
22200 (Data.clt)
22201 # 22202 "parser_cocci_menhir.ml"
22202 ) = Obj.magic pv in
22203 let e : 'tv_initialize = Obj.magic e in
22204 let q : (
22205 # 130 "parser_cocci_menhir.mly"
22206 (Data.clt)
22207 # 22208 "parser_cocci_menhir.ml"
22208 ) = Obj.magic q in
22209 let d : 'tv_d_ident = Obj.magic d in
22210 let t : 'tv_ctype = Obj.magic t in
22211 let x0 : 'tv_storage = Obj.magic x0 in
22212 let _startpos = _startpos_x0_ in
22213 let _endpos = _endpos_pv_ in
22214 let _v : 'tv_one_decl_var = let s =
22215 let x = x0 in
22216
22217 # 41 "standard.mly"
22218 ( Some x )
22219 # 22220 "parser_cocci_menhir.ml"
22220
22221 in
22222
22223 # 1066 "parser_cocci_menhir.mly"
22224 ( let (id,fn) = d in
22225 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22226 # 22227 "parser_cocci_menhir.ml"
22227 in
22228 _menhir_env.MenhirLib.EngineTypes.stack <- {
22229 MenhirLib.EngineTypes.state = _menhir_s;
22230 MenhirLib.EngineTypes.semv = Obj.repr _v;
22231 MenhirLib.EngineTypes.startp = _startpos;
22232 MenhirLib.EngineTypes.endp = _endpos;
22233 MenhirLib.EngineTypes.next = _menhir_stack;
22234 });
22235 (fun _menhir_env ->
22236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22237 let {
22238 MenhirLib.EngineTypes.semv = pv;
22239 MenhirLib.EngineTypes.startp = _startpos_pv_;
22240 MenhirLib.EngineTypes.endp = _endpos_pv_;
22241 MenhirLib.EngineTypes.next = {
22242 MenhirLib.EngineTypes.semv = d;
22243 MenhirLib.EngineTypes.startp = _startpos_d_;
22244 MenhirLib.EngineTypes.endp = _endpos_d_;
22245 MenhirLib.EngineTypes.next = {
22246 MenhirLib.EngineTypes.state = _menhir_s;
22247 MenhirLib.EngineTypes.semv = i;
22248 MenhirLib.EngineTypes.startp = _startpos_i_;
22249 MenhirLib.EngineTypes.endp = _endpos_i_;
22250 MenhirLib.EngineTypes.next = _menhir_stack;
22251 };
22252 };
22253 } = _menhir_stack in
22254 let pv : (
22255 # 130 "parser_cocci_menhir.mly"
22256 (Data.clt)
22257 # 22258 "parser_cocci_menhir.ml"
22258 ) = Obj.magic pv in
22259 let d : 'tv_d_ident = Obj.magic d in
22260 let i : 'tv_pure_ident = Obj.magic i in
22261 let _startpos = _startpos_i_ in
22262 let _endpos = _endpos_pv_ in
22263 let _v : 'tv_one_decl_var = let cv =
22264
22265 # 39 "standard.mly"
22266 ( None )
22267 # 22268 "parser_cocci_menhir.ml"
22268
22269 in
22270 let s =
22271
22272 # 39 "standard.mly"
22273 ( None )
22274 # 22275 "parser_cocci_menhir.ml"
22275
22276 in
22277
22278 # 1071 "parser_cocci_menhir.mly"
22279 ( let (id,fn) = d in
22280 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22281 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22282 # 22283 "parser_cocci_menhir.ml"
22283 in
22284 _menhir_env.MenhirLib.EngineTypes.stack <- {
22285 MenhirLib.EngineTypes.state = _menhir_s;
22286 MenhirLib.EngineTypes.semv = Obj.repr _v;
22287 MenhirLib.EngineTypes.startp = _startpos;
22288 MenhirLib.EngineTypes.endp = _endpos;
22289 MenhirLib.EngineTypes.next = _menhir_stack;
22290 });
22291 (fun _menhir_env ->
22292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22293 let {
22294 MenhirLib.EngineTypes.semv = pv;
22295 MenhirLib.EngineTypes.startp = _startpos_pv_;
22296 MenhirLib.EngineTypes.endp = _endpos_pv_;
22297 MenhirLib.EngineTypes.next = {
22298 MenhirLib.EngineTypes.semv = d;
22299 MenhirLib.EngineTypes.startp = _startpos_d_;
22300 MenhirLib.EngineTypes.endp = _endpos_d_;
22301 MenhirLib.EngineTypes.next = {
22302 MenhirLib.EngineTypes.semv = i;
22303 MenhirLib.EngineTypes.startp = _startpos_i_;
22304 MenhirLib.EngineTypes.endp = _endpos_i_;
22305 MenhirLib.EngineTypes.next = {
22306 MenhirLib.EngineTypes.state = _menhir_s;
22307 MenhirLib.EngineTypes.semv = x0;
22308 MenhirLib.EngineTypes.startp = _startpos_x0_;
22309 MenhirLib.EngineTypes.endp = _endpos_x0_;
22310 MenhirLib.EngineTypes.next = _menhir_stack;
22311 };
22312 };
22313 };
22314 } = _menhir_stack in
22315 let pv : (
22316 # 130 "parser_cocci_menhir.mly"
22317 (Data.clt)
22318 # 22319 "parser_cocci_menhir.ml"
22319 ) = Obj.magic pv in
22320 let d : 'tv_d_ident = Obj.magic d in
22321 let i : 'tv_pure_ident = Obj.magic i in
22322 let x0 : 'tv_const_vol = Obj.magic x0 in
22323 let _startpos = _startpos_x0_ in
22324 let _endpos = _endpos_pv_ in
22325 let _v : 'tv_one_decl_var = let cv =
22326 let x = x0 in
22327
22328 # 41 "standard.mly"
22329 ( Some x )
22330 # 22331 "parser_cocci_menhir.ml"
22331
22332 in
22333 let s =
22334
22335 # 39 "standard.mly"
22336 ( None )
22337 # 22338 "parser_cocci_menhir.ml"
22338
22339 in
22340
22341 # 1071 "parser_cocci_menhir.mly"
22342 ( let (id,fn) = d in
22343 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22344 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22345 # 22346 "parser_cocci_menhir.ml"
22346 in
22347 _menhir_env.MenhirLib.EngineTypes.stack <- {
22348 MenhirLib.EngineTypes.state = _menhir_s;
22349 MenhirLib.EngineTypes.semv = Obj.repr _v;
22350 MenhirLib.EngineTypes.startp = _startpos;
22351 MenhirLib.EngineTypes.endp = _endpos;
22352 MenhirLib.EngineTypes.next = _menhir_stack;
22353 });
22354 (fun _menhir_env ->
22355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22356 let {
22357 MenhirLib.EngineTypes.semv = pv;
22358 MenhirLib.EngineTypes.startp = _startpos_pv_;
22359 MenhirLib.EngineTypes.endp = _endpos_pv_;
22360 MenhirLib.EngineTypes.next = {
22361 MenhirLib.EngineTypes.semv = d;
22362 MenhirLib.EngineTypes.startp = _startpos_d_;
22363 MenhirLib.EngineTypes.endp = _endpos_d_;
22364 MenhirLib.EngineTypes.next = {
22365 MenhirLib.EngineTypes.semv = i;
22366 MenhirLib.EngineTypes.startp = _startpos_i_;
22367 MenhirLib.EngineTypes.endp = _endpos_i_;
22368 MenhirLib.EngineTypes.next = {
22369 MenhirLib.EngineTypes.state = _menhir_s;
22370 MenhirLib.EngineTypes.semv = x0;
22371 MenhirLib.EngineTypes.startp = _startpos_x0_;
22372 MenhirLib.EngineTypes.endp = _endpos_x0_;
22373 MenhirLib.EngineTypes.next = _menhir_stack;
22374 };
22375 };
22376 };
22377 } = _menhir_stack in
22378 let pv : (
22379 # 130 "parser_cocci_menhir.mly"
22380 (Data.clt)
22381 # 22382 "parser_cocci_menhir.ml"
22382 ) = Obj.magic pv in
22383 let d : 'tv_d_ident = Obj.magic d in
22384 let i : 'tv_pure_ident = Obj.magic i in
22385 let x0 : 'tv_storage = Obj.magic x0 in
22386 let _startpos = _startpos_x0_ in
22387 let _endpos = _endpos_pv_ in
22388 let _v : 'tv_one_decl_var = let cv =
22389
22390 # 39 "standard.mly"
22391 ( None )
22392 # 22393 "parser_cocci_menhir.ml"
22393
22394 in
22395 let s =
22396 let x = x0 in
22397
22398 # 41 "standard.mly"
22399 ( Some x )
22400 # 22401 "parser_cocci_menhir.ml"
22401
22402 in
22403
22404 # 1071 "parser_cocci_menhir.mly"
22405 ( let (id,fn) = d in
22406 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22407 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22408 # 22409 "parser_cocci_menhir.ml"
22409 in
22410 _menhir_env.MenhirLib.EngineTypes.stack <- {
22411 MenhirLib.EngineTypes.state = _menhir_s;
22412 MenhirLib.EngineTypes.semv = Obj.repr _v;
22413 MenhirLib.EngineTypes.startp = _startpos;
22414 MenhirLib.EngineTypes.endp = _endpos;
22415 MenhirLib.EngineTypes.next = _menhir_stack;
22416 });
22417 (fun _menhir_env ->
22418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22419 let {
22420 MenhirLib.EngineTypes.semv = pv;
22421 MenhirLib.EngineTypes.startp = _startpos_pv_;
22422 MenhirLib.EngineTypes.endp = _endpos_pv_;
22423 MenhirLib.EngineTypes.next = {
22424 MenhirLib.EngineTypes.semv = d;
22425 MenhirLib.EngineTypes.startp = _startpos_d_;
22426 MenhirLib.EngineTypes.endp = _endpos_d_;
22427 MenhirLib.EngineTypes.next = {
22428 MenhirLib.EngineTypes.semv = i;
22429 MenhirLib.EngineTypes.startp = _startpos_i_;
22430 MenhirLib.EngineTypes.endp = _endpos_i_;
22431 MenhirLib.EngineTypes.next = {
22432 MenhirLib.EngineTypes.semv = x1;
22433 MenhirLib.EngineTypes.startp = _startpos_x1_;
22434 MenhirLib.EngineTypes.endp = _endpos_x1_;
22435 MenhirLib.EngineTypes.next = {
22436 MenhirLib.EngineTypes.state = _menhir_s;
22437 MenhirLib.EngineTypes.semv = x0;
22438 MenhirLib.EngineTypes.startp = _startpos_x0_;
22439 MenhirLib.EngineTypes.endp = _endpos_x0_;
22440 MenhirLib.EngineTypes.next = _menhir_stack;
22441 };
22442 };
22443 };
22444 };
22445 } = _menhir_stack in
22446 let pv : (
22447 # 130 "parser_cocci_menhir.mly"
22448 (Data.clt)
22449 # 22450 "parser_cocci_menhir.ml"
22450 ) = Obj.magic pv in
22451 let d : 'tv_d_ident = Obj.magic d in
22452 let i : 'tv_pure_ident = Obj.magic i in
22453 let x1 : 'tv_const_vol = Obj.magic x1 in
22454 let x0 : 'tv_storage = Obj.magic x0 in
22455 let _startpos = _startpos_x0_ in
22456 let _endpos = _endpos_pv_ in
22457 let _v : 'tv_one_decl_var = let cv =
22458 let x = x1 in
22459
22460 # 41 "standard.mly"
22461 ( Some x )
22462 # 22463 "parser_cocci_menhir.ml"
22463
22464 in
22465 let s =
22466 let x = x0 in
22467
22468 # 41 "standard.mly"
22469 ( Some x )
22470 # 22471 "parser_cocci_menhir.ml"
22471
22472 in
22473
22474 # 1071 "parser_cocci_menhir.mly"
22475 ( let (id,fn) = d in
22476 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22477 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22478 # 22479 "parser_cocci_menhir.ml"
22479 in
22480 _menhir_env.MenhirLib.EngineTypes.stack <- {
22481 MenhirLib.EngineTypes.state = _menhir_s;
22482 MenhirLib.EngineTypes.semv = Obj.repr _v;
22483 MenhirLib.EngineTypes.startp = _startpos;
22484 MenhirLib.EngineTypes.endp = _endpos;
22485 MenhirLib.EngineTypes.next = _menhir_stack;
22486 });
22487 (fun _menhir_env ->
22488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22489 let {
22490 MenhirLib.EngineTypes.semv = pv;
22491 MenhirLib.EngineTypes.startp = _startpos_pv_;
22492 MenhirLib.EngineTypes.endp = _endpos_pv_;
22493 MenhirLib.EngineTypes.next = {
22494 MenhirLib.EngineTypes.semv = e;
22495 MenhirLib.EngineTypes.startp = _startpos_e_;
22496 MenhirLib.EngineTypes.endp = _endpos_e_;
22497 MenhirLib.EngineTypes.next = {
22498 MenhirLib.EngineTypes.semv = q;
22499 MenhirLib.EngineTypes.startp = _startpos_q_;
22500 MenhirLib.EngineTypes.endp = _endpos_q_;
22501 MenhirLib.EngineTypes.next = {
22502 MenhirLib.EngineTypes.semv = d;
22503 MenhirLib.EngineTypes.startp = _startpos_d_;
22504 MenhirLib.EngineTypes.endp = _endpos_d_;
22505 MenhirLib.EngineTypes.next = {
22506 MenhirLib.EngineTypes.state = _menhir_s;
22507 MenhirLib.EngineTypes.semv = i;
22508 MenhirLib.EngineTypes.startp = _startpos_i_;
22509 MenhirLib.EngineTypes.endp = _endpos_i_;
22510 MenhirLib.EngineTypes.next = _menhir_stack;
22511 };
22512 };
22513 };
22514 };
22515 } = _menhir_stack in
22516 let pv : (
22517 # 130 "parser_cocci_menhir.mly"
22518 (Data.clt)
22519 # 22520 "parser_cocci_menhir.ml"
22520 ) = Obj.magic pv in
22521 let e : 'tv_initialize = Obj.magic e in
22522 let q : (
22523 # 130 "parser_cocci_menhir.mly"
22524 (Data.clt)
22525 # 22526 "parser_cocci_menhir.ml"
22526 ) = Obj.magic q in
22527 let d : 'tv_d_ident = Obj.magic d in
22528 let i : 'tv_pure_ident = Obj.magic i in
22529 let _startpos = _startpos_i_ in
22530 let _endpos = _endpos_pv_ in
22531 let _v : 'tv_one_decl_var = let cv =
22532
22533 # 39 "standard.mly"
22534 ( None )
22535 # 22536 "parser_cocci_menhir.ml"
22536
22537 in
22538 let s =
22539
22540 # 39 "standard.mly"
22541 ( None )
22542 # 22543 "parser_cocci_menhir.ml"
22543
22544 in
22545
22546 # 1076 "parser_cocci_menhir.mly"
22547 ( let (id,fn) = d in
22548 !Data.add_type_name (P.id2name i);
22549 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22550 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22551 P.clt2mcode ";" pv)) )
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.semv = pv;
22565 MenhirLib.EngineTypes.startp = _startpos_pv_;
22566 MenhirLib.EngineTypes.endp = _endpos_pv_;
22567 MenhirLib.EngineTypes.next = {
22568 MenhirLib.EngineTypes.semv = e;
22569 MenhirLib.EngineTypes.startp = _startpos_e_;
22570 MenhirLib.EngineTypes.endp = _endpos_e_;
22571 MenhirLib.EngineTypes.next = {
22572 MenhirLib.EngineTypes.semv = q;
22573 MenhirLib.EngineTypes.startp = _startpos_q_;
22574 MenhirLib.EngineTypes.endp = _endpos_q_;
22575 MenhirLib.EngineTypes.next = {
22576 MenhirLib.EngineTypes.semv = d;
22577 MenhirLib.EngineTypes.startp = _startpos_d_;
22578 MenhirLib.EngineTypes.endp = _endpos_d_;
22579 MenhirLib.EngineTypes.next = {
22580 MenhirLib.EngineTypes.semv = i;
22581 MenhirLib.EngineTypes.startp = _startpos_i_;
22582 MenhirLib.EngineTypes.endp = _endpos_i_;
22583 MenhirLib.EngineTypes.next = {
22584 MenhirLib.EngineTypes.state = _menhir_s;
22585 MenhirLib.EngineTypes.semv = x0;
22586 MenhirLib.EngineTypes.startp = _startpos_x0_;
22587 MenhirLib.EngineTypes.endp = _endpos_x0_;
22588 MenhirLib.EngineTypes.next = _menhir_stack;
22589 };
22590 };
22591 };
22592 };
22593 };
22594 } = _menhir_stack in
22595 let pv : (
22596 # 130 "parser_cocci_menhir.mly"
22597 (Data.clt)
22598 # 22599 "parser_cocci_menhir.ml"
22599 ) = Obj.magic pv in
22600 let e : 'tv_initialize = Obj.magic e in
22601 let q : (
22602 # 130 "parser_cocci_menhir.mly"
22603 (Data.clt)
22604 # 22605 "parser_cocci_menhir.ml"
22605 ) = Obj.magic q in
22606 let d : 'tv_d_ident = Obj.magic d in
22607 let i : 'tv_pure_ident = Obj.magic i in
22608 let x0 : 'tv_const_vol = Obj.magic x0 in
22609 let _startpos = _startpos_x0_ in
22610 let _endpos = _endpos_pv_ in
22611 let _v : 'tv_one_decl_var = let cv =
22612 let x = x0 in
22613
22614 # 41 "standard.mly"
22615 ( Some x )
22616 # 22617 "parser_cocci_menhir.ml"
22617
22618 in
22619 let s =
22620
22621 # 39 "standard.mly"
22622 ( None )
22623 # 22624 "parser_cocci_menhir.ml"
22624
22625 in
22626
22627 # 1076 "parser_cocci_menhir.mly"
22628 ( let (id,fn) = d in
22629 !Data.add_type_name (P.id2name i);
22630 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22631 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22632 P.clt2mcode ";" pv)) )
22633 # 22634 "parser_cocci_menhir.ml"
22634 in
22635 _menhir_env.MenhirLib.EngineTypes.stack <- {
22636 MenhirLib.EngineTypes.state = _menhir_s;
22637 MenhirLib.EngineTypes.semv = Obj.repr _v;
22638 MenhirLib.EngineTypes.startp = _startpos;
22639 MenhirLib.EngineTypes.endp = _endpos;
22640 MenhirLib.EngineTypes.next = _menhir_stack;
22641 });
22642 (fun _menhir_env ->
22643 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22644 let {
22645 MenhirLib.EngineTypes.semv = pv;
22646 MenhirLib.EngineTypes.startp = _startpos_pv_;
22647 MenhirLib.EngineTypes.endp = _endpos_pv_;
22648 MenhirLib.EngineTypes.next = {
22649 MenhirLib.EngineTypes.semv = e;
22650 MenhirLib.EngineTypes.startp = _startpos_e_;
22651 MenhirLib.EngineTypes.endp = _endpos_e_;
22652 MenhirLib.EngineTypes.next = {
22653 MenhirLib.EngineTypes.semv = q;
22654 MenhirLib.EngineTypes.startp = _startpos_q_;
22655 MenhirLib.EngineTypes.endp = _endpos_q_;
22656 MenhirLib.EngineTypes.next = {
22657 MenhirLib.EngineTypes.semv = d;
22658 MenhirLib.EngineTypes.startp = _startpos_d_;
22659 MenhirLib.EngineTypes.endp = _endpos_d_;
22660 MenhirLib.EngineTypes.next = {
22661 MenhirLib.EngineTypes.semv = i;
22662 MenhirLib.EngineTypes.startp = _startpos_i_;
22663 MenhirLib.EngineTypes.endp = _endpos_i_;
22664 MenhirLib.EngineTypes.next = {
22665 MenhirLib.EngineTypes.state = _menhir_s;
22666 MenhirLib.EngineTypes.semv = x0;
22667 MenhirLib.EngineTypes.startp = _startpos_x0_;
22668 MenhirLib.EngineTypes.endp = _endpos_x0_;
22669 MenhirLib.EngineTypes.next = _menhir_stack;
22670 };
22671 };
22672 };
22673 };
22674 };
22675 } = _menhir_stack in
22676 let pv : (
22677 # 130 "parser_cocci_menhir.mly"
22678 (Data.clt)
22679 # 22680 "parser_cocci_menhir.ml"
22680 ) = Obj.magic pv in
22681 let e : 'tv_initialize = Obj.magic e in
22682 let q : (
22683 # 130 "parser_cocci_menhir.mly"
22684 (Data.clt)
22685 # 22686 "parser_cocci_menhir.ml"
22686 ) = Obj.magic q in
22687 let d : 'tv_d_ident = Obj.magic d in
22688 let i : 'tv_pure_ident = Obj.magic i in
22689 let x0 : 'tv_storage = Obj.magic x0 in
22690 let _startpos = _startpos_x0_ in
22691 let _endpos = _endpos_pv_ in
22692 let _v : 'tv_one_decl_var = let cv =
22693
22694 # 39 "standard.mly"
22695 ( None )
22696 # 22697 "parser_cocci_menhir.ml"
22697
22698 in
22699 let s =
22700 let x = x0 in
22701
22702 # 41 "standard.mly"
22703 ( Some x )
22704 # 22705 "parser_cocci_menhir.ml"
22705
22706 in
22707
22708 # 1076 "parser_cocci_menhir.mly"
22709 ( let (id,fn) = d in
22710 !Data.add_type_name (P.id2name i);
22711 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22712 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22713 P.clt2mcode ";" pv)) )
22714 # 22715 "parser_cocci_menhir.ml"
22715 in
22716 _menhir_env.MenhirLib.EngineTypes.stack <- {
22717 MenhirLib.EngineTypes.state = _menhir_s;
22718 MenhirLib.EngineTypes.semv = Obj.repr _v;
22719 MenhirLib.EngineTypes.startp = _startpos;
22720 MenhirLib.EngineTypes.endp = _endpos;
22721 MenhirLib.EngineTypes.next = _menhir_stack;
22722 });
22723 (fun _menhir_env ->
22724 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22725 let {
22726 MenhirLib.EngineTypes.semv = pv;
22727 MenhirLib.EngineTypes.startp = _startpos_pv_;
22728 MenhirLib.EngineTypes.endp = _endpos_pv_;
22729 MenhirLib.EngineTypes.next = {
22730 MenhirLib.EngineTypes.semv = e;
22731 MenhirLib.EngineTypes.startp = _startpos_e_;
22732 MenhirLib.EngineTypes.endp = _endpos_e_;
22733 MenhirLib.EngineTypes.next = {
22734 MenhirLib.EngineTypes.semv = q;
22735 MenhirLib.EngineTypes.startp = _startpos_q_;
22736 MenhirLib.EngineTypes.endp = _endpos_q_;
22737 MenhirLib.EngineTypes.next = {
22738 MenhirLib.EngineTypes.semv = d;
22739 MenhirLib.EngineTypes.startp = _startpos_d_;
22740 MenhirLib.EngineTypes.endp = _endpos_d_;
22741 MenhirLib.EngineTypes.next = {
22742 MenhirLib.EngineTypes.semv = i;
22743 MenhirLib.EngineTypes.startp = _startpos_i_;
22744 MenhirLib.EngineTypes.endp = _endpos_i_;
22745 MenhirLib.EngineTypes.next = {
22746 MenhirLib.EngineTypes.semv = x1;
22747 MenhirLib.EngineTypes.startp = _startpos_x1_;
22748 MenhirLib.EngineTypes.endp = _endpos_x1_;
22749 MenhirLib.EngineTypes.next = {
22750 MenhirLib.EngineTypes.state = _menhir_s;
22751 MenhirLib.EngineTypes.semv = x0;
22752 MenhirLib.EngineTypes.startp = _startpos_x0_;
22753 MenhirLib.EngineTypes.endp = _endpos_x0_;
22754 MenhirLib.EngineTypes.next = _menhir_stack;
22755 };
22756 };
22757 };
22758 };
22759 };
22760 };
22761 } = _menhir_stack in
22762 let pv : (
22763 # 130 "parser_cocci_menhir.mly"
22764 (Data.clt)
22765 # 22766 "parser_cocci_menhir.ml"
22766 ) = Obj.magic pv in
22767 let e : 'tv_initialize = Obj.magic e in
22768 let q : (
22769 # 130 "parser_cocci_menhir.mly"
22770 (Data.clt)
22771 # 22772 "parser_cocci_menhir.ml"
22772 ) = Obj.magic q in
22773 let d : 'tv_d_ident = Obj.magic d in
22774 let i : 'tv_pure_ident = Obj.magic i in
22775 let x1 : 'tv_const_vol = Obj.magic x1 in
22776 let x0 : 'tv_storage = Obj.magic x0 in
22777 let _startpos = _startpos_x0_ in
22778 let _endpos = _endpos_pv_ in
22779 let _v : 'tv_one_decl_var = let cv =
22780 let x = x1 in
22781
22782 # 41 "standard.mly"
22783 ( Some x )
22784 # 22785 "parser_cocci_menhir.ml"
22785
22786 in
22787 let s =
22788 let x = x0 in
22789
22790 # 41 "standard.mly"
22791 ( Some x )
22792 # 22793 "parser_cocci_menhir.ml"
22793
22794 in
22795
22796 # 1076 "parser_cocci_menhir.mly"
22797 ( let (id,fn) = d in
22798 !Data.add_type_name (P.id2name i);
22799 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22800 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22801 P.clt2mcode ";" pv)) )
22802 # 22803 "parser_cocci_menhir.ml"
22803 in
22804 _menhir_env.MenhirLib.EngineTypes.stack <- {
22805 MenhirLib.EngineTypes.state = _menhir_s;
22806 MenhirLib.EngineTypes.semv = Obj.repr _v;
22807 MenhirLib.EngineTypes.startp = _startpos;
22808 MenhirLib.EngineTypes.endp = _endpos;
22809 MenhirLib.EngineTypes.next = _menhir_stack;
22810 });
22811 (fun _menhir_env ->
22812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22813 let {
22814 MenhirLib.EngineTypes.semv = pv;
22815 MenhirLib.EngineTypes.startp = _startpos_pv_;
22816 MenhirLib.EngineTypes.endp = _endpos_pv_;
22817 MenhirLib.EngineTypes.next = {
22818 MenhirLib.EngineTypes.semv = rp2;
22819 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22820 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22821 MenhirLib.EngineTypes.next = {
22822 MenhirLib.EngineTypes.semv = p;
22823 MenhirLib.EngineTypes.startp = _startpos_p_;
22824 MenhirLib.EngineTypes.endp = _endpos_p_;
22825 MenhirLib.EngineTypes.next = {
22826 MenhirLib.EngineTypes.semv = lp2;
22827 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22828 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22829 MenhirLib.EngineTypes.next = {
22830 MenhirLib.EngineTypes.semv = rp1;
22831 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22832 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22833 MenhirLib.EngineTypes.next = {
22834 MenhirLib.EngineTypes.semv = d;
22835 MenhirLib.EngineTypes.startp = _startpos_d_;
22836 MenhirLib.EngineTypes.endp = _endpos_d_;
22837 MenhirLib.EngineTypes.next = {
22838 MenhirLib.EngineTypes.semv = st;
22839 MenhirLib.EngineTypes.startp = _startpos_st_;
22840 MenhirLib.EngineTypes.endp = _endpos_st_;
22841 MenhirLib.EngineTypes.next = {
22842 MenhirLib.EngineTypes.semv = lp1;
22843 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22844 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22845 MenhirLib.EngineTypes.next = {
22846 MenhirLib.EngineTypes.state = _menhir_s;
22847 MenhirLib.EngineTypes.semv = t;
22848 MenhirLib.EngineTypes.startp = _startpos_t_;
22849 MenhirLib.EngineTypes.endp = _endpos_t_;
22850 MenhirLib.EngineTypes.next = _menhir_stack;
22851 };
22852 };
22853 };
22854 };
22855 };
22856 };
22857 };
22858 };
22859 } = _menhir_stack in
22860 let pv : (
22861 # 130 "parser_cocci_menhir.mly"
22862 (Data.clt)
22863 # 22864 "parser_cocci_menhir.ml"
22864 ) = Obj.magic pv in
22865 let rp2 : (
22866 # 100 "parser_cocci_menhir.mly"
22867 (Data.clt)
22868 # 22869 "parser_cocci_menhir.ml"
22869 ) = Obj.magic rp2 in
22870 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22871 let lp2 : (
22872 # 99 "parser_cocci_menhir.mly"
22873 (Data.clt)
22874 # 22875 "parser_cocci_menhir.ml"
22875 ) = Obj.magic lp2 in
22876 let rp1 : (
22877 # 100 "parser_cocci_menhir.mly"
22878 (Data.clt)
22879 # 22880 "parser_cocci_menhir.ml"
22880 ) = Obj.magic rp1 in
22881 let d : 'tv_d_ident = Obj.magic d in
22882 let st : (
22883 # 122 "parser_cocci_menhir.mly"
22884 (Data.clt)
22885 # 22886 "parser_cocci_menhir.ml"
22886 ) = Obj.magic st in
22887 let lp1 : (
22888 # 99 "parser_cocci_menhir.mly"
22889 (Data.clt)
22890 # 22891 "parser_cocci_menhir.ml"
22891 ) = Obj.magic lp1 in
22892 let t : 'tv_ctype = Obj.magic t in
22893 let _startpos = _startpos_t_ in
22894 let _endpos = _endpos_pv_ in
22895 let _v : 'tv_one_decl_var = let s =
22896
22897 # 39 "standard.mly"
22898 ( None )
22899 # 22900 "parser_cocci_menhir.ml"
22900
22901 in
22902
22903 # 1086 "parser_cocci_menhir.mly"
22904 ( let (id,fn) = d in
22905 let t =
22906 Ast0.wrap
22907 (Ast0.FunctionPointer
22908 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22909 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22910 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22911 # 22912 "parser_cocci_menhir.ml"
22912 in
22913 _menhir_env.MenhirLib.EngineTypes.stack <- {
22914 MenhirLib.EngineTypes.state = _menhir_s;
22915 MenhirLib.EngineTypes.semv = Obj.repr _v;
22916 MenhirLib.EngineTypes.startp = _startpos;
22917 MenhirLib.EngineTypes.endp = _endpos;
22918 MenhirLib.EngineTypes.next = _menhir_stack;
22919 });
22920 (fun _menhir_env ->
22921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22922 let {
22923 MenhirLib.EngineTypes.semv = pv;
22924 MenhirLib.EngineTypes.startp = _startpos_pv_;
22925 MenhirLib.EngineTypes.endp = _endpos_pv_;
22926 MenhirLib.EngineTypes.next = {
22927 MenhirLib.EngineTypes.semv = rp2;
22928 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22929 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22930 MenhirLib.EngineTypes.next = {
22931 MenhirLib.EngineTypes.semv = p;
22932 MenhirLib.EngineTypes.startp = _startpos_p_;
22933 MenhirLib.EngineTypes.endp = _endpos_p_;
22934 MenhirLib.EngineTypes.next = {
22935 MenhirLib.EngineTypes.semv = lp2;
22936 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22937 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22938 MenhirLib.EngineTypes.next = {
22939 MenhirLib.EngineTypes.semv = rp1;
22940 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22941 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22942 MenhirLib.EngineTypes.next = {
22943 MenhirLib.EngineTypes.semv = d;
22944 MenhirLib.EngineTypes.startp = _startpos_d_;
22945 MenhirLib.EngineTypes.endp = _endpos_d_;
22946 MenhirLib.EngineTypes.next = {
22947 MenhirLib.EngineTypes.semv = st;
22948 MenhirLib.EngineTypes.startp = _startpos_st_;
22949 MenhirLib.EngineTypes.endp = _endpos_st_;
22950 MenhirLib.EngineTypes.next = {
22951 MenhirLib.EngineTypes.semv = lp1;
22952 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22953 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22954 MenhirLib.EngineTypes.next = {
22955 MenhirLib.EngineTypes.semv = t;
22956 MenhirLib.EngineTypes.startp = _startpos_t_;
22957 MenhirLib.EngineTypes.endp = _endpos_t_;
22958 MenhirLib.EngineTypes.next = {
22959 MenhirLib.EngineTypes.state = _menhir_s;
22960 MenhirLib.EngineTypes.semv = x0;
22961 MenhirLib.EngineTypes.startp = _startpos_x0_;
22962 MenhirLib.EngineTypes.endp = _endpos_x0_;
22963 MenhirLib.EngineTypes.next = _menhir_stack;
22964 };
22965 };
22966 };
22967 };
22968 };
22969 };
22970 };
22971 };
22972 };
22973 } = _menhir_stack in
22974 let pv : (
22975 # 130 "parser_cocci_menhir.mly"
22976 (Data.clt)
22977 # 22978 "parser_cocci_menhir.ml"
22978 ) = Obj.magic pv in
22979 let rp2 : (
22980 # 100 "parser_cocci_menhir.mly"
22981 (Data.clt)
22982 # 22983 "parser_cocci_menhir.ml"
22983 ) = Obj.magic rp2 in
22984 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22985 let lp2 : (
22986 # 99 "parser_cocci_menhir.mly"
22987 (Data.clt)
22988 # 22989 "parser_cocci_menhir.ml"
22989 ) = Obj.magic lp2 in
22990 let rp1 : (
22991 # 100 "parser_cocci_menhir.mly"
22992 (Data.clt)
22993 # 22994 "parser_cocci_menhir.ml"
22994 ) = Obj.magic rp1 in
22995 let d : 'tv_d_ident = Obj.magic d in
22996 let st : (
22997 # 122 "parser_cocci_menhir.mly"
22998 (Data.clt)
22999 # 23000 "parser_cocci_menhir.ml"
23000 ) = Obj.magic st in
23001 let lp1 : (
23002 # 99 "parser_cocci_menhir.mly"
23003 (Data.clt)
23004 # 23005 "parser_cocci_menhir.ml"
23005 ) = Obj.magic lp1 in
23006 let t : 'tv_ctype = Obj.magic t in
23007 let x0 : 'tv_storage = Obj.magic x0 in
23008 let _startpos = _startpos_x0_ in
23009 let _endpos = _endpos_pv_ in
23010 let _v : 'tv_one_decl_var = let s =
23011 let x = x0 in
23012
23013 # 41 "standard.mly"
23014 ( Some x )
23015 # 23016 "parser_cocci_menhir.ml"
23016
23017 in
23018
23019 # 1086 "parser_cocci_menhir.mly"
23020 ( let (id,fn) = d in
23021 let t =
23022 Ast0.wrap
23023 (Ast0.FunctionPointer
23024 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23025 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23026 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
23027 # 23028 "parser_cocci_menhir.ml"
23028 in
23029 _menhir_env.MenhirLib.EngineTypes.stack <- {
23030 MenhirLib.EngineTypes.state = _menhir_s;
23031 MenhirLib.EngineTypes.semv = Obj.repr _v;
23032 MenhirLib.EngineTypes.startp = _startpos;
23033 MenhirLib.EngineTypes.endp = _endpos;
23034 MenhirLib.EngineTypes.next = _menhir_stack;
23035 });
23036 (fun _menhir_env ->
23037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23038 let {
23039 MenhirLib.EngineTypes.semv = _5;
23040 MenhirLib.EngineTypes.startp = _startpos__5_;
23041 MenhirLib.EngineTypes.endp = _endpos__5_;
23042 MenhirLib.EngineTypes.next = {
23043 MenhirLib.EngineTypes.semv = _4;
23044 MenhirLib.EngineTypes.startp = _startpos__4_;
23045 MenhirLib.EngineTypes.endp = _endpos__4_;
23046 MenhirLib.EngineTypes.next = {
23047 MenhirLib.EngineTypes.semv = _3;
23048 MenhirLib.EngineTypes.startp = _startpos__3_;
23049 MenhirLib.EngineTypes.endp = _endpos__3_;
23050 MenhirLib.EngineTypes.next = {
23051 MenhirLib.EngineTypes.semv = _2;
23052 MenhirLib.EngineTypes.startp = _startpos__2_;
23053 MenhirLib.EngineTypes.endp = _endpos__2_;
23054 MenhirLib.EngineTypes.next = {
23055 MenhirLib.EngineTypes.state = _menhir_s;
23056 MenhirLib.EngineTypes.semv = _1;
23057 MenhirLib.EngineTypes.startp = _startpos__1_;
23058 MenhirLib.EngineTypes.endp = _endpos__1_;
23059 MenhirLib.EngineTypes.next = _menhir_stack;
23060 };
23061 };
23062 };
23063 };
23064 } = _menhir_stack in
23065 let _5 : (
23066 # 130 "parser_cocci_menhir.mly"
23067 (Data.clt)
23068 # 23069 "parser_cocci_menhir.ml"
23069 ) = Obj.magic _5 in
23070 let _4 : (
23071 # 100 "parser_cocci_menhir.mly"
23072 (Data.clt)
23073 # 23074 "parser_cocci_menhir.ml"
23074 ) = Obj.magic _4 in
23075 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
23076 let _2 : (
23077 # 99 "parser_cocci_menhir.mly"
23078 (Data.clt)
23079 # 23080 "parser_cocci_menhir.ml"
23080 ) = Obj.magic _2 in
23081 let _1 : 'tv_decl_ident = Obj.magic _1 in
23082 let _startpos = _startpos__1_ in
23083 let _endpos = _endpos__5_ in
23084 let _v : 'tv_one_decl_var =
23085 # 1094 "parser_cocci_menhir.mly"
23086 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
23087 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
23088 # 23089 "parser_cocci_menhir.ml"
23089 in
23090 _menhir_env.MenhirLib.EngineTypes.stack <- {
23091 MenhirLib.EngineTypes.state = _menhir_s;
23092 MenhirLib.EngineTypes.semv = Obj.repr _v;
23093 MenhirLib.EngineTypes.startp = _startpos;
23094 MenhirLib.EngineTypes.endp = _endpos;
23095 MenhirLib.EngineTypes.next = _menhir_stack;
23096 });
23097 (fun _menhir_env ->
23098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23099 let {
23100 MenhirLib.EngineTypes.semv = pv;
23101 MenhirLib.EngineTypes.startp = _startpos_pv_;
23102 MenhirLib.EngineTypes.endp = _endpos_pv_;
23103 MenhirLib.EngineTypes.next = {
23104 MenhirLib.EngineTypes.semv = e;
23105 MenhirLib.EngineTypes.startp = _startpos_e_;
23106 MenhirLib.EngineTypes.endp = _endpos_e_;
23107 MenhirLib.EngineTypes.next = {
23108 MenhirLib.EngineTypes.semv = q;
23109 MenhirLib.EngineTypes.startp = _startpos_q_;
23110 MenhirLib.EngineTypes.endp = _endpos_q_;
23111 MenhirLib.EngineTypes.next = {
23112 MenhirLib.EngineTypes.semv = rp2;
23113 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23114 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23115 MenhirLib.EngineTypes.next = {
23116 MenhirLib.EngineTypes.semv = p;
23117 MenhirLib.EngineTypes.startp = _startpos_p_;
23118 MenhirLib.EngineTypes.endp = _endpos_p_;
23119 MenhirLib.EngineTypes.next = {
23120 MenhirLib.EngineTypes.semv = lp2;
23121 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23122 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23123 MenhirLib.EngineTypes.next = {
23124 MenhirLib.EngineTypes.semv = rp1;
23125 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23126 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23127 MenhirLib.EngineTypes.next = {
23128 MenhirLib.EngineTypes.semv = d;
23129 MenhirLib.EngineTypes.startp = _startpos_d_;
23130 MenhirLib.EngineTypes.endp = _endpos_d_;
23131 MenhirLib.EngineTypes.next = {
23132 MenhirLib.EngineTypes.semv = st;
23133 MenhirLib.EngineTypes.startp = _startpos_st_;
23134 MenhirLib.EngineTypes.endp = _endpos_st_;
23135 MenhirLib.EngineTypes.next = {
23136 MenhirLib.EngineTypes.semv = lp1;
23137 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23138 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23139 MenhirLib.EngineTypes.next = {
23140 MenhirLib.EngineTypes.state = _menhir_s;
23141 MenhirLib.EngineTypes.semv = t;
23142 MenhirLib.EngineTypes.startp = _startpos_t_;
23143 MenhirLib.EngineTypes.endp = _endpos_t_;
23144 MenhirLib.EngineTypes.next = _menhir_stack;
23145 };
23146 };
23147 };
23148 };
23149 };
23150 };
23151 };
23152 };
23153 };
23154 };
23155 } = _menhir_stack in
23156 let pv : (
23157 # 130 "parser_cocci_menhir.mly"
23158 (Data.clt)
23159 # 23160 "parser_cocci_menhir.ml"
23160 ) = Obj.magic pv in
23161 let e : 'tv_initialize = Obj.magic e in
23162 let q : (
23163 # 130 "parser_cocci_menhir.mly"
23164 (Data.clt)
23165 # 23166 "parser_cocci_menhir.ml"
23166 ) = Obj.magic q in
23167 let rp2 : (
23168 # 100 "parser_cocci_menhir.mly"
23169 (Data.clt)
23170 # 23171 "parser_cocci_menhir.ml"
23171 ) = Obj.magic rp2 in
23172 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23173 let lp2 : (
23174 # 99 "parser_cocci_menhir.mly"
23175 (Data.clt)
23176 # 23177 "parser_cocci_menhir.ml"
23177 ) = Obj.magic lp2 in
23178 let rp1 : (
23179 # 100 "parser_cocci_menhir.mly"
23180 (Data.clt)
23181 # 23182 "parser_cocci_menhir.ml"
23182 ) = Obj.magic rp1 in
23183 let d : 'tv_d_ident = Obj.magic d in
23184 let st : (
23185 # 122 "parser_cocci_menhir.mly"
23186 (Data.clt)
23187 # 23188 "parser_cocci_menhir.ml"
23188 ) = Obj.magic st in
23189 let lp1 : (
23190 # 99 "parser_cocci_menhir.mly"
23191 (Data.clt)
23192 # 23193 "parser_cocci_menhir.ml"
23193 ) = Obj.magic lp1 in
23194 let t : 'tv_ctype = Obj.magic t in
23195 let _startpos = _startpos_t_ in
23196 let _endpos = _endpos_pv_ in
23197 let _v : 'tv_one_decl_var = let s =
23198
23199 # 39 "standard.mly"
23200 ( None )
23201 # 23202 "parser_cocci_menhir.ml"
23202
23203 in
23204
23205 # 1100 "parser_cocci_menhir.mly"
23206 ( let (id,fn) = d in
23207 let t =
23208 Ast0.wrap
23209 (Ast0.FunctionPointer
23210 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23211 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23212 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23213 # 23214 "parser_cocci_menhir.ml"
23214 in
23215 _menhir_env.MenhirLib.EngineTypes.stack <- {
23216 MenhirLib.EngineTypes.state = _menhir_s;
23217 MenhirLib.EngineTypes.semv = Obj.repr _v;
23218 MenhirLib.EngineTypes.startp = _startpos;
23219 MenhirLib.EngineTypes.endp = _endpos;
23220 MenhirLib.EngineTypes.next = _menhir_stack;
23221 });
23222 (fun _menhir_env ->
23223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23224 let {
23225 MenhirLib.EngineTypes.semv = pv;
23226 MenhirLib.EngineTypes.startp = _startpos_pv_;
23227 MenhirLib.EngineTypes.endp = _endpos_pv_;
23228 MenhirLib.EngineTypes.next = {
23229 MenhirLib.EngineTypes.semv = e;
23230 MenhirLib.EngineTypes.startp = _startpos_e_;
23231 MenhirLib.EngineTypes.endp = _endpos_e_;
23232 MenhirLib.EngineTypes.next = {
23233 MenhirLib.EngineTypes.semv = q;
23234 MenhirLib.EngineTypes.startp = _startpos_q_;
23235 MenhirLib.EngineTypes.endp = _endpos_q_;
23236 MenhirLib.EngineTypes.next = {
23237 MenhirLib.EngineTypes.semv = rp2;
23238 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23239 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23240 MenhirLib.EngineTypes.next = {
23241 MenhirLib.EngineTypes.semv = p;
23242 MenhirLib.EngineTypes.startp = _startpos_p_;
23243 MenhirLib.EngineTypes.endp = _endpos_p_;
23244 MenhirLib.EngineTypes.next = {
23245 MenhirLib.EngineTypes.semv = lp2;
23246 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23247 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23248 MenhirLib.EngineTypes.next = {
23249 MenhirLib.EngineTypes.semv = rp1;
23250 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23251 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23252 MenhirLib.EngineTypes.next = {
23253 MenhirLib.EngineTypes.semv = d;
23254 MenhirLib.EngineTypes.startp = _startpos_d_;
23255 MenhirLib.EngineTypes.endp = _endpos_d_;
23256 MenhirLib.EngineTypes.next = {
23257 MenhirLib.EngineTypes.semv = st;
23258 MenhirLib.EngineTypes.startp = _startpos_st_;
23259 MenhirLib.EngineTypes.endp = _endpos_st_;
23260 MenhirLib.EngineTypes.next = {
23261 MenhirLib.EngineTypes.semv = lp1;
23262 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23263 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23264 MenhirLib.EngineTypes.next = {
23265 MenhirLib.EngineTypes.semv = t;
23266 MenhirLib.EngineTypes.startp = _startpos_t_;
23267 MenhirLib.EngineTypes.endp = _endpos_t_;
23268 MenhirLib.EngineTypes.next = {
23269 MenhirLib.EngineTypes.state = _menhir_s;
23270 MenhirLib.EngineTypes.semv = x0;
23271 MenhirLib.EngineTypes.startp = _startpos_x0_;
23272 MenhirLib.EngineTypes.endp = _endpos_x0_;
23273 MenhirLib.EngineTypes.next = _menhir_stack;
23274 };
23275 };
23276 };
23277 };
23278 };
23279 };
23280 };
23281 };
23282 };
23283 };
23284 };
23285 } = _menhir_stack in
23286 let pv : (
23287 # 130 "parser_cocci_menhir.mly"
23288 (Data.clt)
23289 # 23290 "parser_cocci_menhir.ml"
23290 ) = Obj.magic pv in
23291 let e : 'tv_initialize = Obj.magic e in
23292 let q : (
23293 # 130 "parser_cocci_menhir.mly"
23294 (Data.clt)
23295 # 23296 "parser_cocci_menhir.ml"
23296 ) = Obj.magic q in
23297 let rp2 : (
23298 # 100 "parser_cocci_menhir.mly"
23299 (Data.clt)
23300 # 23301 "parser_cocci_menhir.ml"
23301 ) = Obj.magic rp2 in
23302 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23303 let lp2 : (
23304 # 99 "parser_cocci_menhir.mly"
23305 (Data.clt)
23306 # 23307 "parser_cocci_menhir.ml"
23307 ) = Obj.magic lp2 in
23308 let rp1 : (
23309 # 100 "parser_cocci_menhir.mly"
23310 (Data.clt)
23311 # 23312 "parser_cocci_menhir.ml"
23312 ) = Obj.magic rp1 in
23313 let d : 'tv_d_ident = Obj.magic d in
23314 let st : (
23315 # 122 "parser_cocci_menhir.mly"
23316 (Data.clt)
23317 # 23318 "parser_cocci_menhir.ml"
23318 ) = Obj.magic st in
23319 let lp1 : (
23320 # 99 "parser_cocci_menhir.mly"
23321 (Data.clt)
23322 # 23323 "parser_cocci_menhir.ml"
23323 ) = Obj.magic lp1 in
23324 let t : 'tv_ctype = Obj.magic t in
23325 let x0 : 'tv_storage = Obj.magic x0 in
23326 let _startpos = _startpos_x0_ in
23327 let _endpos = _endpos_pv_ in
23328 let _v : 'tv_one_decl_var = let s =
23329 let x = x0 in
23330
23331 # 41 "standard.mly"
23332 ( Some x )
23333 # 23334 "parser_cocci_menhir.ml"
23334
23335 in
23336
23337 # 1100 "parser_cocci_menhir.mly"
23338 ( let (id,fn) = d in
23339 let t =
23340 Ast0.wrap
23341 (Ast0.FunctionPointer
23342 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23343 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23344 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23345 # 23346 "parser_cocci_menhir.ml"
23346 in
23347 _menhir_env.MenhirLib.EngineTypes.stack <- {
23348 MenhirLib.EngineTypes.state = _menhir_s;
23349 MenhirLib.EngineTypes.semv = Obj.repr _v;
23350 MenhirLib.EngineTypes.startp = _startpos;
23351 MenhirLib.EngineTypes.endp = _endpos;
23352 MenhirLib.EngineTypes.next = _menhir_stack;
23353 });
23354 (fun _menhir_env ->
23355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23356 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23357 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23358 let _endpos = _startpos in
23359 let _v : 'tv_option_TLocal_ =
23360 # 29 "standard.mly"
23361 ( None )
23362 # 23363 "parser_cocci_menhir.ml"
23363 in
23364 _menhir_env.MenhirLib.EngineTypes.stack <- {
23365 MenhirLib.EngineTypes.state = _menhir_s;
23366 MenhirLib.EngineTypes.semv = Obj.repr _v;
23367 MenhirLib.EngineTypes.startp = _startpos;
23368 MenhirLib.EngineTypes.endp = _endpos;
23369 MenhirLib.EngineTypes.next = _menhir_stack;
23370 });
23371 (fun _menhir_env ->
23372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23373 let {
23374 MenhirLib.EngineTypes.state = _menhir_s;
23375 MenhirLib.EngineTypes.semv = x;
23376 MenhirLib.EngineTypes.startp = _startpos_x_;
23377 MenhirLib.EngineTypes.endp = _endpos_x_;
23378 MenhirLib.EngineTypes.next = _menhir_stack;
23379 } = _menhir_stack in
23380 let x : unit = Obj.magic x in
23381 let _startpos = _startpos_x_ in
23382 let _endpos = _endpos_x_ in
23383 let _v : 'tv_option_TLocal_ =
23384 # 31 "standard.mly"
23385 ( Some x )
23386 # 23387 "parser_cocci_menhir.ml"
23387 in
23388 _menhir_env.MenhirLib.EngineTypes.stack <- {
23389 MenhirLib.EngineTypes.state = _menhir_s;
23390 MenhirLib.EngineTypes.semv = Obj.repr _v;
23391 MenhirLib.EngineTypes.startp = _startpos;
23392 MenhirLib.EngineTypes.endp = _endpos;
23393 MenhirLib.EngineTypes.next = _menhir_stack;
23394 });
23395 (fun _menhir_env ->
23396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23397 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23398 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23399 let _endpos = _startpos in
23400 let _v : 'tv_option_TPosAny_ =
23401 # 29 "standard.mly"
23402 ( None )
23403 # 23404 "parser_cocci_menhir.ml"
23404 in
23405 _menhir_env.MenhirLib.EngineTypes.stack <- {
23406 MenhirLib.EngineTypes.state = _menhir_s;
23407 MenhirLib.EngineTypes.semv = Obj.repr _v;
23408 MenhirLib.EngineTypes.startp = _startpos;
23409 MenhirLib.EngineTypes.endp = _endpos;
23410 MenhirLib.EngineTypes.next = _menhir_stack;
23411 });
23412 (fun _menhir_env ->
23413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23414 let {
23415 MenhirLib.EngineTypes.state = _menhir_s;
23416 MenhirLib.EngineTypes.semv = x;
23417 MenhirLib.EngineTypes.startp = _startpos_x_;
23418 MenhirLib.EngineTypes.endp = _endpos_x_;
23419 MenhirLib.EngineTypes.next = _menhir_stack;
23420 } = _menhir_stack in
23421 let x : unit = Obj.magic x in
23422 let _startpos = _startpos_x_ in
23423 let _endpos = _endpos_x_ in
23424 let _v : 'tv_option_TPosAny_ =
23425 # 31 "standard.mly"
23426 ( Some x )
23427 # 23428 "parser_cocci_menhir.ml"
23428 in
23429 _menhir_env.MenhirLib.EngineTypes.stack <- {
23430 MenhirLib.EngineTypes.state = _menhir_s;
23431 MenhirLib.EngineTypes.semv = Obj.repr _v;
23432 MenhirLib.EngineTypes.startp = _startpos;
23433 MenhirLib.EngineTypes.endp = _endpos;
23434 MenhirLib.EngineTypes.next = _menhir_stack;
23435 });
23436 (fun _menhir_env ->
23437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23438 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23439 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23440 let _endpos = _startpos in
23441 let _v : 'tv_option_eexpr_ =
23442 # 29 "standard.mly"
23443 ( None )
23444 # 23445 "parser_cocci_menhir.ml"
23445 in
23446 _menhir_env.MenhirLib.EngineTypes.stack <- {
23447 MenhirLib.EngineTypes.state = _menhir_s;
23448 MenhirLib.EngineTypes.semv = Obj.repr _v;
23449 MenhirLib.EngineTypes.startp = _startpos;
23450 MenhirLib.EngineTypes.endp = _endpos;
23451 MenhirLib.EngineTypes.next = _menhir_stack;
23452 });
23453 (fun _menhir_env ->
23454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23455 let {
23456 MenhirLib.EngineTypes.state = _menhir_s;
23457 MenhirLib.EngineTypes.semv = x;
23458 MenhirLib.EngineTypes.startp = _startpos_x_;
23459 MenhirLib.EngineTypes.endp = _endpos_x_;
23460 MenhirLib.EngineTypes.next = _menhir_stack;
23461 } = _menhir_stack in
23462 let x : 'tv_eexpr = Obj.magic x in
23463 let _startpos = _startpos_x_ in
23464 let _endpos = _endpos_x_ in
23465 let _v : 'tv_option_eexpr_ =
23466 # 31 "standard.mly"
23467 ( Some x )
23468 # 23469 "parser_cocci_menhir.ml"
23469 in
23470 _menhir_env.MenhirLib.EngineTypes.stack <- {
23471 MenhirLib.EngineTypes.state = _menhir_s;
23472 MenhirLib.EngineTypes.semv = Obj.repr _v;
23473 MenhirLib.EngineTypes.startp = _startpos;
23474 MenhirLib.EngineTypes.endp = _endpos;
23475 MenhirLib.EngineTypes.next = _menhir_stack;
23476 });
23477 (fun _menhir_env ->
23478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23479 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23480 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23481 let _endpos = _startpos in
23482 let _v : 'tv_option_not_ceq_or_sub_ =
23483 # 29 "standard.mly"
23484 ( None )
23485 # 23486 "parser_cocci_menhir.ml"
23486 in
23487 _menhir_env.MenhirLib.EngineTypes.stack <- {
23488 MenhirLib.EngineTypes.state = _menhir_s;
23489 MenhirLib.EngineTypes.semv = Obj.repr _v;
23490 MenhirLib.EngineTypes.startp = _startpos;
23491 MenhirLib.EngineTypes.endp = _endpos;
23492 MenhirLib.EngineTypes.next = _menhir_stack;
23493 });
23494 (fun _menhir_env ->
23495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23496 let {
23497 MenhirLib.EngineTypes.state = _menhir_s;
23498 MenhirLib.EngineTypes.semv = x;
23499 MenhirLib.EngineTypes.startp = _startpos_x_;
23500 MenhirLib.EngineTypes.endp = _endpos_x_;
23501 MenhirLib.EngineTypes.next = _menhir_stack;
23502 } = _menhir_stack in
23503 let x : 'tv_not_ceq_or_sub = Obj.magic x in
23504 let _startpos = _startpos_x_ in
23505 let _endpos = _endpos_x_ in
23506 let _v : 'tv_option_not_ceq_or_sub_ =
23507 # 31 "standard.mly"
23508 ( Some x )
23509 # 23510 "parser_cocci_menhir.ml"
23510 in
23511 _menhir_env.MenhirLib.EngineTypes.stack <- {
23512 MenhirLib.EngineTypes.state = _menhir_s;
23513 MenhirLib.EngineTypes.semv = Obj.repr _v;
23514 MenhirLib.EngineTypes.startp = _startpos;
23515 MenhirLib.EngineTypes.endp = _endpos;
23516 MenhirLib.EngineTypes.next = _menhir_stack;
23517 });
23518 (fun _menhir_env ->
23519 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23520 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23521 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23522 let _endpos = _startpos in
23523 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
23524 # 29 "standard.mly"
23525 ( None )
23526 # 23527 "parser_cocci_menhir.ml"
23527 in
23528 _menhir_env.MenhirLib.EngineTypes.stack <- {
23529 MenhirLib.EngineTypes.state = _menhir_s;
23530 MenhirLib.EngineTypes.semv = Obj.repr _v;
23531 MenhirLib.EngineTypes.startp = _startpos;
23532 MenhirLib.EngineTypes.endp = _endpos;
23533 MenhirLib.EngineTypes.next = _menhir_stack;
23534 });
23535 (fun _menhir_env ->
23536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23537 let {
23538 MenhirLib.EngineTypes.state = _menhir_s;
23539 MenhirLib.EngineTypes.semv = x;
23540 MenhirLib.EngineTypes.startp = _startpos_x_;
23541 MenhirLib.EngineTypes.endp = _endpos_x_;
23542 MenhirLib.EngineTypes.next = _menhir_stack;
23543 } = _menhir_stack in
23544 let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
23545 let _startpos = _startpos_x_ in
23546 let _endpos = _endpos_x_ in
23547 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
23548 # 31 "standard.mly"
23549 ( Some x )
23550 # 23551 "parser_cocci_menhir.ml"
23551 in
23552 _menhir_env.MenhirLib.EngineTypes.stack <- {
23553 MenhirLib.EngineTypes.state = _menhir_s;
23554 MenhirLib.EngineTypes.semv = Obj.repr _v;
23555 MenhirLib.EngineTypes.startp = _startpos;
23556 MenhirLib.EngineTypes.endp = _endpos;
23557 MenhirLib.EngineTypes.next = _menhir_stack;
23558 });
23559 (fun _menhir_env ->
23560 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23561 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23562 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23563 let _endpos = _startpos in
23564 let _v : 'tv_option_re_or_not_eqid_ =
23565 # 29 "standard.mly"
23566 ( None )
23567 # 23568 "parser_cocci_menhir.ml"
23568 in
23569 _menhir_env.MenhirLib.EngineTypes.stack <- {
23570 MenhirLib.EngineTypes.state = _menhir_s;
23571 MenhirLib.EngineTypes.semv = Obj.repr _v;
23572 MenhirLib.EngineTypes.startp = _startpos;
23573 MenhirLib.EngineTypes.endp = _endpos;
23574 MenhirLib.EngineTypes.next = _menhir_stack;
23575 });
23576 (fun _menhir_env ->
23577 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23578 let {
23579 MenhirLib.EngineTypes.state = _menhir_s;
23580 MenhirLib.EngineTypes.semv = x;
23581 MenhirLib.EngineTypes.startp = _startpos_x_;
23582 MenhirLib.EngineTypes.endp = _endpos_x_;
23583 MenhirLib.EngineTypes.next = _menhir_stack;
23584 } = _menhir_stack in
23585 let x : 'tv_re_or_not_eqid = Obj.magic x in
23586 let _startpos = _startpos_x_ in
23587 let _endpos = _endpos_x_ in
23588 let _v : 'tv_option_re_or_not_eqid_ =
23589 # 31 "standard.mly"
23590 ( Some x )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23603 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23604 let _endpos = _startpos in
23605 let _v : 'tv_plus_after_dots =
23606 # 1859 "parser_cocci_menhir.mly"
23607 ([])
23608 # 23609 "parser_cocci_menhir.ml"
23609 in
23610 _menhir_env.MenhirLib.EngineTypes.stack <- {
23611 MenhirLib.EngineTypes.state = _menhir_s;
23612 MenhirLib.EngineTypes.semv = Obj.repr _v;
23613 MenhirLib.EngineTypes.startp = _startpos;
23614 MenhirLib.EngineTypes.endp = _endpos;
23615 MenhirLib.EngineTypes.next = _menhir_stack;
23616 });
23617 (fun _menhir_env ->
23618 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23619 let {
23620 MenhirLib.EngineTypes.semv = _2;
23621 MenhirLib.EngineTypes.startp = _startpos__2_;
23622 MenhirLib.EngineTypes.endp = _endpos__2_;
23623 MenhirLib.EngineTypes.next = {
23624 MenhirLib.EngineTypes.state = _menhir_s;
23625 MenhirLib.EngineTypes.startp = _startpos__1_;
23626 MenhirLib.EngineTypes.endp = _endpos__1_;
23627 MenhirLib.EngineTypes.next = _menhir_stack;
23628 };
23629 } = _menhir_stack in
23630 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23631 let _startpos = _startpos__1_ in
23632 let _endpos = _endpos__2_ in
23633 let _v : 'tv_plus_after_dots =
23634 # 1860 "parser_cocci_menhir.mly"
23635 (_2)
23636 # 23637 "parser_cocci_menhir.ml"
23637 in
23638 _menhir_env.MenhirLib.EngineTypes.stack <- {
23639 MenhirLib.EngineTypes.state = _menhir_s;
23640 MenhirLib.EngineTypes.semv = Obj.repr _v;
23641 MenhirLib.EngineTypes.startp = _startpos;
23642 MenhirLib.EngineTypes.endp = _endpos;
23643 MenhirLib.EngineTypes.next = _menhir_stack;
23644 });
23645 (fun _menhir_env ->
23646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23647 let {
23648 MenhirLib.EngineTypes.semv = _2;
23649 MenhirLib.EngineTypes.startp = _startpos__2_;
23650 MenhirLib.EngineTypes.endp = _endpos__2_;
23651 MenhirLib.EngineTypes.next = {
23652 MenhirLib.EngineTypes.state = _menhir_s;
23653 MenhirLib.EngineTypes.semv = _1;
23654 MenhirLib.EngineTypes.startp = _startpos__1_;
23655 MenhirLib.EngineTypes.endp = _endpos__1_;
23656 MenhirLib.EngineTypes.next = _menhir_stack;
23657 };
23658 } = _menhir_stack in
23659 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23660 let _1 : 'tv_expr = Obj.magic _1 in
23661 let _startpos = _startpos__1_ in
23662 let _endpos = _endpos__2_ in
23663 let _v : 'tv_plus_after_dots =
23664 # 1862 "parser_cocci_menhir.mly"
23665 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
23666 # 23667 "parser_cocci_menhir.ml"
23667 in
23668 _menhir_env.MenhirLib.EngineTypes.stack <- {
23669 MenhirLib.EngineTypes.state = _menhir_s;
23670 MenhirLib.EngineTypes.semv = Obj.repr _v;
23671 MenhirLib.EngineTypes.startp = _startpos;
23672 MenhirLib.EngineTypes.endp = _endpos;
23673 MenhirLib.EngineTypes.next = _menhir_stack;
23674 });
23675 (fun _menhir_env ->
23676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23677 let {
23678 MenhirLib.EngineTypes.semv = _2;
23679 MenhirLib.EngineTypes.startp = _startpos__2_;
23680 MenhirLib.EngineTypes.endp = _endpos__2_;
23681 MenhirLib.EngineTypes.next = {
23682 MenhirLib.EngineTypes.state = _menhir_s;
23683 MenhirLib.EngineTypes.semv = _1;
23684 MenhirLib.EngineTypes.startp = _startpos__1_;
23685 MenhirLib.EngineTypes.endp = _endpos__1_;
23686 MenhirLib.EngineTypes.next = _menhir_stack;
23687 };
23688 } = _menhir_stack in
23689 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23690 let _1 : 'tv_fundecl = Obj.magic _1 in
23691 let _startpos = _startpos__1_ in
23692 let _endpos = _endpos__2_ in
23693 let _v : 'tv_plus_after_dots =
23694 # 1863 "parser_cocci_menhir.mly"
23695 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23696 # 23697 "parser_cocci_menhir.ml"
23697 in
23698 _menhir_env.MenhirLib.EngineTypes.stack <- {
23699 MenhirLib.EngineTypes.state = _menhir_s;
23700 MenhirLib.EngineTypes.semv = Obj.repr _v;
23701 MenhirLib.EngineTypes.startp = _startpos;
23702 MenhirLib.EngineTypes.endp = _endpos;
23703 MenhirLib.EngineTypes.next = _menhir_stack;
23704 });
23705 (fun _menhir_env ->
23706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23707 let {
23708 MenhirLib.EngineTypes.semv = _2;
23709 MenhirLib.EngineTypes.startp = _startpos__2_;
23710 MenhirLib.EngineTypes.endp = _endpos__2_;
23711 MenhirLib.EngineTypes.next = {
23712 MenhirLib.EngineTypes.state = _menhir_s;
23713 MenhirLib.EngineTypes.semv = _1;
23714 MenhirLib.EngineTypes.startp = _startpos__1_;
23715 MenhirLib.EngineTypes.endp = _endpos__1_;
23716 MenhirLib.EngineTypes.next = _menhir_stack;
23717 };
23718 } = _menhir_stack in
23719 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23720 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
23721 let _startpos = _startpos__1_ in
23722 let _endpos = _endpos__2_ in
23723 let _v : 'tv_plus_after_dots =
23724 # 1865 "parser_cocci_menhir.mly"
23725 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23726 # 23727 "parser_cocci_menhir.ml"
23727 in
23728 _menhir_env.MenhirLib.EngineTypes.stack <- {
23729 MenhirLib.EngineTypes.state = _menhir_s;
23730 MenhirLib.EngineTypes.semv = Obj.repr _v;
23731 MenhirLib.EngineTypes.startp = _startpos;
23732 MenhirLib.EngineTypes.endp = _endpos;
23733 MenhirLib.EngineTypes.next = _menhir_stack;
23734 });
23735 (fun _menhir_env ->
23736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23737 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23738 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23739 let _endpos = _startpos in
23740 let _v : 'tv_plus_after_exp =
23741 # 1855 "parser_cocci_menhir.mly"
23742 ([])
23743 # 23744 "parser_cocci_menhir.ml"
23744 in
23745 _menhir_env.MenhirLib.EngineTypes.stack <- {
23746 MenhirLib.EngineTypes.state = _menhir_s;
23747 MenhirLib.EngineTypes.semv = Obj.repr _v;
23748 MenhirLib.EngineTypes.startp = _startpos;
23749 MenhirLib.EngineTypes.endp = _endpos;
23750 MenhirLib.EngineTypes.next = _menhir_stack;
23751 });
23752 (fun _menhir_env ->
23753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23754 let {
23755 MenhirLib.EngineTypes.semv = _2;
23756 MenhirLib.EngineTypes.startp = _startpos__2_;
23757 MenhirLib.EngineTypes.endp = _endpos__2_;
23758 MenhirLib.EngineTypes.next = {
23759 MenhirLib.EngineTypes.state = _menhir_s;
23760 MenhirLib.EngineTypes.semv = _1;
23761 MenhirLib.EngineTypes.startp = _startpos__1_;
23762 MenhirLib.EngineTypes.endp = _endpos__1_;
23763 MenhirLib.EngineTypes.next = _menhir_stack;
23764 };
23765 } = _menhir_stack in
23766 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23767 let _1 : 'tv_stm_dots = Obj.magic _1 in
23768 let _startpos = _startpos__1_ in
23769 let _endpos = _endpos__2_ in
23770 let _v : 'tv_plus_after_exp =
23771 # 1856 "parser_cocci_menhir.mly"
23772 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23773 # 23774 "parser_cocci_menhir.ml"
23774 in
23775 _menhir_env.MenhirLib.EngineTypes.stack <- {
23776 MenhirLib.EngineTypes.state = _menhir_s;
23777 MenhirLib.EngineTypes.semv = Obj.repr _v;
23778 MenhirLib.EngineTypes.startp = _startpos;
23779 MenhirLib.EngineTypes.endp = _endpos;
23780 MenhirLib.EngineTypes.next = _menhir_stack;
23781 });
23782 (fun _menhir_env ->
23783 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23784 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23785 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23786 let _endpos = _startpos in
23787 let _v : 'tv_plus_after_stm =
23788 # 1868 "parser_cocci_menhir.mly"
23789 ([])
23790 # 23791 "parser_cocci_menhir.ml"
23791 in
23792 _menhir_env.MenhirLib.EngineTypes.stack <- {
23793 MenhirLib.EngineTypes.state = _menhir_s;
23794 MenhirLib.EngineTypes.semv = Obj.repr _v;
23795 MenhirLib.EngineTypes.startp = _startpos;
23796 MenhirLib.EngineTypes.endp = _endpos;
23797 MenhirLib.EngineTypes.next = _menhir_stack;
23798 });
23799 (fun _menhir_env ->
23800 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23801 let {
23802 MenhirLib.EngineTypes.semv = _2;
23803 MenhirLib.EngineTypes.startp = _startpos__2_;
23804 MenhirLib.EngineTypes.endp = _endpos__2_;
23805 MenhirLib.EngineTypes.next = {
23806 MenhirLib.EngineTypes.state = _menhir_s;
23807 MenhirLib.EngineTypes.semv = _1;
23808 MenhirLib.EngineTypes.startp = _startpos__1_;
23809 MenhirLib.EngineTypes.endp = _endpos__1_;
23810 MenhirLib.EngineTypes.next = _menhir_stack;
23811 };
23812 } = _menhir_stack in
23813 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23814 let _1 : 'tv_stm_dots = Obj.magic _1 in
23815 let _startpos = _startpos__1_ in
23816 let _endpos = _endpos__2_ in
23817 let _v : 'tv_plus_after_stm =
23818 # 1869 "parser_cocci_menhir.mly"
23819 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23820 # 23821 "parser_cocci_menhir.ml"
23821 in
23822 _menhir_env.MenhirLib.EngineTypes.stack <- {
23823 MenhirLib.EngineTypes.state = _menhir_s;
23824 MenhirLib.EngineTypes.semv = Obj.repr _v;
23825 MenhirLib.EngineTypes.startp = _startpos;
23826 MenhirLib.EngineTypes.endp = _endpos;
23827 MenhirLib.EngineTypes.next = _menhir_stack;
23828 });
23829 (fun _menhir_env ->
23830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23831 let {
23832 MenhirLib.EngineTypes.semv = _2;
23833 MenhirLib.EngineTypes.startp = _startpos__2_;
23834 MenhirLib.EngineTypes.endp = _endpos__2_;
23835 MenhirLib.EngineTypes.next = {
23836 MenhirLib.EngineTypes.state = _menhir_s;
23837 MenhirLib.EngineTypes.semv = _1;
23838 MenhirLib.EngineTypes.startp = _startpos__1_;
23839 MenhirLib.EngineTypes.endp = _endpos__1_;
23840 MenhirLib.EngineTypes.next = _menhir_stack;
23841 };
23842 } = _menhir_stack in
23843 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23844 let _1 : 'tv_fundecl = Obj.magic _1 in
23845 let _startpos = _startpos__1_ in
23846 let _endpos = _endpos__2_ in
23847 let _v : 'tv_plus_after_stm =
23848 # 1870 "parser_cocci_menhir.mly"
23849 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23850 # 23851 "parser_cocci_menhir.ml"
23851 in
23852 _menhir_env.MenhirLib.EngineTypes.stack <- {
23853 MenhirLib.EngineTypes.state = _menhir_s;
23854 MenhirLib.EngineTypes.semv = Obj.repr _v;
23855 MenhirLib.EngineTypes.startp = _startpos;
23856 MenhirLib.EngineTypes.endp = _endpos;
23857 MenhirLib.EngineTypes.next = _menhir_stack;
23858 });
23859 (fun _menhir_env ->
23860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23861 let {
23862 MenhirLib.EngineTypes.semv = _2;
23863 MenhirLib.EngineTypes.startp = _startpos__2_;
23864 MenhirLib.EngineTypes.endp = _endpos__2_;
23865 MenhirLib.EngineTypes.next = {
23866 MenhirLib.EngineTypes.state = _menhir_s;
23867 MenhirLib.EngineTypes.semv = _1;
23868 MenhirLib.EngineTypes.startp = _startpos__1_;
23869 MenhirLib.EngineTypes.endp = _endpos__1_;
23870 MenhirLib.EngineTypes.next = _menhir_stack;
23871 };
23872 } = _menhir_stack in
23873 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23874 let _1 : 'tv_decl_statement = Obj.magic _1 in
23875 let _startpos = _startpos__1_ in
23876 let _endpos = _endpos__2_ in
23877 let _v : 'tv_plus_after_stm =
23878 # 1872 "parser_cocci_menhir.mly"
23879 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23880 # 23881 "parser_cocci_menhir.ml"
23881 in
23882 _menhir_env.MenhirLib.EngineTypes.stack <- {
23883 MenhirLib.EngineTypes.state = _menhir_s;
23884 MenhirLib.EngineTypes.semv = Obj.repr _v;
23885 MenhirLib.EngineTypes.startp = _startpos;
23886 MenhirLib.EngineTypes.endp = _endpos;
23887 MenhirLib.EngineTypes.next = _menhir_stack;
23888 });
23889 (fun _menhir_env ->
23890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23891 let {
23892 MenhirLib.EngineTypes.semv = b;
23893 MenhirLib.EngineTypes.startp = _startpos_b_;
23894 MenhirLib.EngineTypes.endp = _endpos_b_;
23895 MenhirLib.EngineTypes.next = {
23896 MenhirLib.EngineTypes.state = _menhir_s;
23897 MenhirLib.EngineTypes.semv = f;
23898 MenhirLib.EngineTypes.startp = _startpos_f_;
23899 MenhirLib.EngineTypes.endp = _endpos_f_;
23900 MenhirLib.EngineTypes.next = _menhir_stack;
23901 };
23902 } = _menhir_stack in
23903 let b : 'tv_loption_plus_start_ = Obj.magic b in
23904 let f : 'tv_loption_filespec_ = Obj.magic f in
23905 let _startpos = _startpos_f_ in
23906 let _endpos = _endpos_b_ in
23907 let _v : 'tv_plus_body =
23908 # 665 "parser_cocci_menhir.mly"
23909 ( Top_level.top_level (f@b(*@ew*)) )
23910 # 23911 "parser_cocci_menhir.ml"
23911 in
23912 _menhir_env.MenhirLib.EngineTypes.stack <- {
23913 MenhirLib.EngineTypes.state = _menhir_s;
23914 MenhirLib.EngineTypes.semv = Obj.repr _v;
23915 MenhirLib.EngineTypes.startp = _startpos;
23916 MenhirLib.EngineTypes.endp = _endpos;
23917 MenhirLib.EngineTypes.next = _menhir_stack;
23918 });
23919 (fun _menhir_env ->
23920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23921 let {
23922 MenhirLib.EngineTypes.semv = b;
23923 MenhirLib.EngineTypes.startp = _startpos_b_;
23924 MenhirLib.EngineTypes.endp = _endpos_b_;
23925 MenhirLib.EngineTypes.next = {
23926 MenhirLib.EngineTypes.state = _menhir_s;
23927 MenhirLib.EngineTypes.semv = f;
23928 MenhirLib.EngineTypes.startp = _startpos_f_;
23929 MenhirLib.EngineTypes.endp = _endpos_f_;
23930 MenhirLib.EngineTypes.next = _menhir_stack;
23931 };
23932 } = _menhir_stack in
23933 let b : 'tv_top_eexpr = Obj.magic b in
23934 let f : 'tv_loption_filespec_ = Obj.magic f in
23935 let _startpos = _startpos_f_ in
23936 let _endpos = _endpos_b_ in
23937 let _v : 'tv_plus_exp_body =
23938 # 679 "parser_cocci_menhir.mly"
23939 ( Top_level.top_level (f@[b](*@ew*)) )
23940 # 23941 "parser_cocci_menhir.ml"
23941 in
23942 _menhir_env.MenhirLib.EngineTypes.stack <- {
23943 MenhirLib.EngineTypes.state = _menhir_s;
23944 MenhirLib.EngineTypes.semv = Obj.repr _v;
23945 MenhirLib.EngineTypes.startp = _startpos;
23946 MenhirLib.EngineTypes.endp = _endpos;
23947 MenhirLib.EngineTypes.next = _menhir_stack;
23948 });
23949 (fun _menhir_env ->
23950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23951 let {
23952 MenhirLib.EngineTypes.startp = _startpos__2_;
23953 MenhirLib.EngineTypes.endp = _endpos__2_;
23954 MenhirLib.EngineTypes.next = {
23955 MenhirLib.EngineTypes.state = _menhir_s;
23956 MenhirLib.EngineTypes.semv = _1;
23957 MenhirLib.EngineTypes.startp = _startpos__1_;
23958 MenhirLib.EngineTypes.endp = _endpos__1_;
23959 MenhirLib.EngineTypes.next = _menhir_stack;
23960 };
23961 } = _menhir_stack in
23962 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
23963 let _startpos = _startpos__1_ in
23964 let _endpos = _endpos__2_ in
23965 let _v : (
23966 # 166 "parser_cocci_menhir.mly"
23967 (Ast0_cocci.rule)
23968 # 23969 "parser_cocci_menhir.ml"
23969 ) =
23970 # 202 "parser_cocci_menhir.mly"
23971 ( _1 )
23972 # 23973 "parser_cocci_menhir.ml"
23973 in
23974 _menhir_env.MenhirLib.EngineTypes.stack <- {
23975 MenhirLib.EngineTypes.state = _menhir_s;
23976 MenhirLib.EngineTypes.semv = Obj.repr _v;
23977 MenhirLib.EngineTypes.startp = _startpos;
23978 MenhirLib.EngineTypes.endp = _endpos;
23979 MenhirLib.EngineTypes.next = _menhir_stack;
23980 });
23981 (fun _menhir_env ->
23982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23983 let {
23984 MenhirLib.EngineTypes.startp = _startpos__2_;
23985 MenhirLib.EngineTypes.endp = _endpos__2_;
23986 MenhirLib.EngineTypes.next = {
23987 MenhirLib.EngineTypes.state = _menhir_s;
23988 MenhirLib.EngineTypes.semv = p;
23989 MenhirLib.EngineTypes.startp = _startpos_p_;
23990 MenhirLib.EngineTypes.endp = _endpos_p_;
23991 MenhirLib.EngineTypes.next = _menhir_stack;
23992 };
23993 } = _menhir_stack in
23994 let p : 'tv_plus_exp_body = Obj.magic p in
23995 let _startpos = _startpos_p_ in
23996 let _endpos = _endpos__2_ in
23997 let _v : (
23998 # 166 "parser_cocci_menhir.mly"
23999 (Ast0_cocci.rule)
24000 # 24001 "parser_cocci_menhir.ml"
24001 ) =
24002 # 202 "parser_cocci_menhir.mly"
24003 ( p )
24004 # 24005 "parser_cocci_menhir.ml"
24005 in
24006 _menhir_env.MenhirLib.EngineTypes.stack <- {
24007 MenhirLib.EngineTypes.state = _menhir_s;
24008 MenhirLib.EngineTypes.semv = Obj.repr _v;
24009 MenhirLib.EngineTypes.startp = _startpos;
24010 MenhirLib.EngineTypes.endp = _endpos;
24011 MenhirLib.EngineTypes.next = _menhir_stack;
24012 });
24013 (fun _menhir_env ->
24014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24015 let {
24016 MenhirLib.EngineTypes.startp = _startpos__2_;
24017 MenhirLib.EngineTypes.endp = _endpos__2_;
24018 MenhirLib.EngineTypes.next = {
24019 MenhirLib.EngineTypes.state = _menhir_s;
24020 MenhirLib.EngineTypes.semv = p;
24021 MenhirLib.EngineTypes.startp = _startpos_p_;
24022 MenhirLib.EngineTypes.endp = _endpos_p_;
24023 MenhirLib.EngineTypes.next = _menhir_stack;
24024 };
24025 } = _menhir_stack in
24026 let p : 'tv_plus_exp_body = Obj.magic p in
24027 let _startpos = _startpos_p_ in
24028 let _endpos = _endpos__2_ in
24029 let _v : (
24030 # 166 "parser_cocci_menhir.mly"
24031 (Ast0_cocci.rule)
24032 # 24033 "parser_cocci_menhir.ml"
24033 ) =
24034 # 203 "parser_cocci_menhir.mly"
24035 ( p )
24036 # 24037 "parser_cocci_menhir.ml"
24037 in
24038 _menhir_env.MenhirLib.EngineTypes.stack <- {
24039 MenhirLib.EngineTypes.state = _menhir_s;
24040 MenhirLib.EngineTypes.semv = Obj.repr _v;
24041 MenhirLib.EngineTypes.startp = _startpos;
24042 MenhirLib.EngineTypes.endp = _endpos;
24043 MenhirLib.EngineTypes.next = _menhir_stack;
24044 });
24045 (fun _menhir_env ->
24046 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24047 let {
24048 MenhirLib.EngineTypes.startp = _startpos__2_;
24049 MenhirLib.EngineTypes.endp = _endpos__2_;
24050 MenhirLib.EngineTypes.next = {
24051 MenhirLib.EngineTypes.state = _menhir_s;
24052 MenhirLib.EngineTypes.semv = _1;
24053 MenhirLib.EngineTypes.startp = _startpos__1_;
24054 MenhirLib.EngineTypes.endp = _endpos__1_;
24055 MenhirLib.EngineTypes.next = _menhir_stack;
24056 };
24057 } = _menhir_stack in
24058 let _1 : 'tv_plus_body = Obj.magic _1 in
24059 let _startpos = _startpos__1_ in
24060 let _endpos = _endpos__2_ in
24061 let _v : (
24062 # 163 "parser_cocci_menhir.mly"
24063 (Ast0_cocci.rule)
24064 # 24065 "parser_cocci_menhir.ml"
24065 ) =
24066 # 198 "parser_cocci_menhir.mly"
24067 ( _1 )
24068 # 24069 "parser_cocci_menhir.ml"
24069 in
24070 _menhir_env.MenhirLib.EngineTypes.stack <- {
24071 MenhirLib.EngineTypes.state = _menhir_s;
24072 MenhirLib.EngineTypes.semv = Obj.repr _v;
24073 MenhirLib.EngineTypes.startp = _startpos;
24074 MenhirLib.EngineTypes.endp = _endpos;
24075 MenhirLib.EngineTypes.next = _menhir_stack;
24076 });
24077 (fun _menhir_env ->
24078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24079 let {
24080 MenhirLib.EngineTypes.startp = _startpos__2_;
24081 MenhirLib.EngineTypes.endp = _endpos__2_;
24082 MenhirLib.EngineTypes.next = {
24083 MenhirLib.EngineTypes.state = _menhir_s;
24084 MenhirLib.EngineTypes.semv = p;
24085 MenhirLib.EngineTypes.startp = _startpos_p_;
24086 MenhirLib.EngineTypes.endp = _endpos_p_;
24087 MenhirLib.EngineTypes.next = _menhir_stack;
24088 };
24089 } = _menhir_stack in
24090 let p : 'tv_plus_body = Obj.magic p in
24091 let _startpos = _startpos_p_ in
24092 let _endpos = _endpos__2_ in
24093 let _v : (
24094 # 163 "parser_cocci_menhir.mly"
24095 (Ast0_cocci.rule)
24096 # 24097 "parser_cocci_menhir.ml"
24097 ) =
24098 # 198 "parser_cocci_menhir.mly"
24099 ( p )
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.startp = _startpos__2_;
24113 MenhirLib.EngineTypes.endp = _endpos__2_;
24114 MenhirLib.EngineTypes.next = {
24115 MenhirLib.EngineTypes.state = _menhir_s;
24116 MenhirLib.EngineTypes.semv = p;
24117 MenhirLib.EngineTypes.startp = _startpos_p_;
24118 MenhirLib.EngineTypes.endp = _endpos_p_;
24119 MenhirLib.EngineTypes.next = _menhir_stack;
24120 };
24121 } = _menhir_stack in
24122 let p : 'tv_plus_body = Obj.magic p in
24123 let _startpos = _startpos_p_ in
24124 let _endpos = _endpos__2_ in
24125 let _v : (
24126 # 163 "parser_cocci_menhir.mly"
24127 (Ast0_cocci.rule)
24128 # 24129 "parser_cocci_menhir.ml"
24129 ) =
24130 # 199 "parser_cocci_menhir.mly"
24131 ( p )
24132 # 24133 "parser_cocci_menhir.ml"
24133 in
24134 _menhir_env.MenhirLib.EngineTypes.stack <- {
24135 MenhirLib.EngineTypes.state = _menhir_s;
24136 MenhirLib.EngineTypes.semv = Obj.repr _v;
24137 MenhirLib.EngineTypes.startp = _startpos;
24138 MenhirLib.EngineTypes.endp = _endpos;
24139 MenhirLib.EngineTypes.next = _menhir_stack;
24140 });
24141 (fun _menhir_env ->
24142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24143 let {
24144 MenhirLib.EngineTypes.state = _menhir_s;
24145 MenhirLib.EngineTypes.semv = _1;
24146 MenhirLib.EngineTypes.startp = _startpos__1_;
24147 MenhirLib.EngineTypes.endp = _endpos__1_;
24148 MenhirLib.EngineTypes.next = _menhir_stack;
24149 } = _menhir_stack in
24150 let _1 : 'tv_ctype = Obj.magic _1 in
24151 let _startpos = _startpos__1_ in
24152 let _endpos = _endpos__1_ in
24153 let _v : 'tv_plus_start =
24154 # 1844 "parser_cocci_menhir.mly"
24155 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
24156 # 24157 "parser_cocci_menhir.ml"
24157 in
24158 _menhir_env.MenhirLib.EngineTypes.stack <- {
24159 MenhirLib.EngineTypes.state = _menhir_s;
24160 MenhirLib.EngineTypes.semv = Obj.repr _v;
24161 MenhirLib.EngineTypes.startp = _startpos;
24162 MenhirLib.EngineTypes.endp = _endpos;
24163 MenhirLib.EngineTypes.next = _menhir_stack;
24164 });
24165 (fun _menhir_env ->
24166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24167 let {
24168 MenhirLib.EngineTypes.state = _menhir_s;
24169 MenhirLib.EngineTypes.semv = _1;
24170 MenhirLib.EngineTypes.startp = _startpos__1_;
24171 MenhirLib.EngineTypes.endp = _endpos__1_;
24172 MenhirLib.EngineTypes.next = _menhir_stack;
24173 } = _menhir_stack in
24174 let _1 : 'tv_top_init = Obj.magic _1 in
24175 let _startpos = _startpos__1_ in
24176 let _endpos = _endpos__1_ in
24177 let _v : 'tv_plus_start =
24178 # 1845 "parser_cocci_menhir.mly"
24179 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
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.semv = _2;
24193 MenhirLib.EngineTypes.startp = _startpos__2_;
24194 MenhirLib.EngineTypes.endp = _endpos__2_;
24195 MenhirLib.EngineTypes.next = {
24196 MenhirLib.EngineTypes.state = _menhir_s;
24197 MenhirLib.EngineTypes.semv = _1;
24198 MenhirLib.EngineTypes.startp = _startpos__1_;
24199 MenhirLib.EngineTypes.endp = _endpos__1_;
24200 MenhirLib.EngineTypes.next = _menhir_stack;
24201 };
24202 } = _menhir_stack in
24203 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
24204 let _1 : 'tv_stm_dots = Obj.magic _1 in
24205 let _startpos = _startpos__1_ in
24206 let _endpos = _endpos__2_ in
24207 let _v : 'tv_plus_start =
24208 # 1847 "parser_cocci_menhir.mly"
24209 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
24210 # 24211 "parser_cocci_menhir.ml"
24211 in
24212 _menhir_env.MenhirLib.EngineTypes.stack <- {
24213 MenhirLib.EngineTypes.state = _menhir_s;
24214 MenhirLib.EngineTypes.semv = Obj.repr _v;
24215 MenhirLib.EngineTypes.startp = _startpos;
24216 MenhirLib.EngineTypes.endp = _endpos;
24217 MenhirLib.EngineTypes.next = _menhir_stack;
24218 });
24219 (fun _menhir_env ->
24220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24221 let {
24222 MenhirLib.EngineTypes.semv = _2;
24223 MenhirLib.EngineTypes.startp = _startpos__2_;
24224 MenhirLib.EngineTypes.endp = _endpos__2_;
24225 MenhirLib.EngineTypes.next = {
24226 MenhirLib.EngineTypes.state = _menhir_s;
24227 MenhirLib.EngineTypes.semv = _1;
24228 MenhirLib.EngineTypes.startp = _startpos__1_;
24229 MenhirLib.EngineTypes.endp = _endpos__1_;
24230 MenhirLib.EngineTypes.next = _menhir_stack;
24231 };
24232 } = _menhir_stack in
24233 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
24234 let _1 : 'tv_expr = Obj.magic _1 in
24235 let _startpos = _startpos__1_ in
24236 let _endpos = _endpos__2_ in
24237 let _v : 'tv_plus_start =
24238 # 1849 "parser_cocci_menhir.mly"
24239 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
24240 # 24241 "parser_cocci_menhir.ml"
24241 in
24242 _menhir_env.MenhirLib.EngineTypes.stack <- {
24243 MenhirLib.EngineTypes.state = _menhir_s;
24244 MenhirLib.EngineTypes.semv = Obj.repr _v;
24245 MenhirLib.EngineTypes.startp = _startpos;
24246 MenhirLib.EngineTypes.endp = _endpos;
24247 MenhirLib.EngineTypes.next = _menhir_stack;
24248 });
24249 (fun _menhir_env ->
24250 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24251 let {
24252 MenhirLib.EngineTypes.semv = _2;
24253 MenhirLib.EngineTypes.startp = _startpos__2_;
24254 MenhirLib.EngineTypes.endp = _endpos__2_;
24255 MenhirLib.EngineTypes.next = {
24256 MenhirLib.EngineTypes.state = _menhir_s;
24257 MenhirLib.EngineTypes.semv = _1;
24258 MenhirLib.EngineTypes.startp = _startpos__1_;
24259 MenhirLib.EngineTypes.endp = _endpos__1_;
24260 MenhirLib.EngineTypes.next = _menhir_stack;
24261 };
24262 } = _menhir_stack in
24263 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24264 let _1 : 'tv_fundecl = Obj.magic _1 in
24265 let _startpos = _startpos__1_ in
24266 let _endpos = _endpos__2_ in
24267 let _v : 'tv_plus_start =
24268 # 1850 "parser_cocci_menhir.mly"
24269 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
24270 # 24271 "parser_cocci_menhir.ml"
24271 in
24272 _menhir_env.MenhirLib.EngineTypes.stack <- {
24273 MenhirLib.EngineTypes.state = _menhir_s;
24274 MenhirLib.EngineTypes.semv = Obj.repr _v;
24275 MenhirLib.EngineTypes.startp = _startpos;
24276 MenhirLib.EngineTypes.endp = _endpos;
24277 MenhirLib.EngineTypes.next = _menhir_stack;
24278 });
24279 (fun _menhir_env ->
24280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24281 let {
24282 MenhirLib.EngineTypes.semv = _2;
24283 MenhirLib.EngineTypes.startp = _startpos__2_;
24284 MenhirLib.EngineTypes.endp = _endpos__2_;
24285 MenhirLib.EngineTypes.next = {
24286 MenhirLib.EngineTypes.state = _menhir_s;
24287 MenhirLib.EngineTypes.semv = _1;
24288 MenhirLib.EngineTypes.startp = _startpos__1_;
24289 MenhirLib.EngineTypes.endp = _endpos__1_;
24290 MenhirLib.EngineTypes.next = _menhir_stack;
24291 };
24292 } = _menhir_stack in
24293 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24294 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
24295 let _startpos = _startpos__1_ in
24296 let _endpos = _endpos__2_ in
24297 let _v : 'tv_plus_start =
24298 # 1852 "parser_cocci_menhir.mly"
24299 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
24300 # 24301 "parser_cocci_menhir.ml"
24301 in
24302 _menhir_env.MenhirLib.EngineTypes.stack <- {
24303 MenhirLib.EngineTypes.state = _menhir_s;
24304 MenhirLib.EngineTypes.semv = Obj.repr _v;
24305 MenhirLib.EngineTypes.startp = _startpos;
24306 MenhirLib.EngineTypes.endp = _endpos;
24307 MenhirLib.EngineTypes.next = _menhir_stack;
24308 });
24309 (fun _menhir_env ->
24310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24311 let {
24312 MenhirLib.EngineTypes.state = _menhir_s;
24313 MenhirLib.EngineTypes.semv = _1;
24314 MenhirLib.EngineTypes.startp = _startpos__1_;
24315 MenhirLib.EngineTypes.endp = _endpos__1_;
24316 MenhirLib.EngineTypes.next = _menhir_stack;
24317 } = _menhir_stack in
24318 let _1 : (
24319 # 69 "parser_cocci_menhir.mly"
24320 (string)
24321 # 24322 "parser_cocci_menhir.ml"
24322 ) = Obj.magic _1 in
24323 let _startpos = _startpos__1_ in
24324 let _endpos = _endpos__1_ in
24325 let _v : 'tv_pnrule =
24326 # 253 "parser_cocci_menhir.mly"
24327 ( Ast.Dep _1 )
24328 # 24329 "parser_cocci_menhir.ml"
24329 in
24330 _menhir_env.MenhirLib.EngineTypes.stack <- {
24331 MenhirLib.EngineTypes.state = _menhir_s;
24332 MenhirLib.EngineTypes.semv = Obj.repr _v;
24333 MenhirLib.EngineTypes.startp = _startpos;
24334 MenhirLib.EngineTypes.endp = _endpos;
24335 MenhirLib.EngineTypes.next = _menhir_stack;
24336 });
24337 (fun _menhir_env ->
24338 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24339 let {
24340 MenhirLib.EngineTypes.semv = _2;
24341 MenhirLib.EngineTypes.startp = _startpos__2_;
24342 MenhirLib.EngineTypes.endp = _endpos__2_;
24343 MenhirLib.EngineTypes.next = {
24344 MenhirLib.EngineTypes.state = _menhir_s;
24345 MenhirLib.EngineTypes.startp = _startpos__1_;
24346 MenhirLib.EngineTypes.endp = _endpos__1_;
24347 MenhirLib.EngineTypes.next = _menhir_stack;
24348 };
24349 } = _menhir_stack in
24350 let _2 : (
24351 # 69 "parser_cocci_menhir.mly"
24352 (string)
24353 # 24354 "parser_cocci_menhir.ml"
24354 ) = Obj.magic _2 in
24355 let _startpos = _startpos__1_ in
24356 let _endpos = _endpos__2_ in
24357 let _v : 'tv_pnrule =
24358 # 254 "parser_cocci_menhir.mly"
24359 ( Ast.AntiDep _2 )
24360 # 24361 "parser_cocci_menhir.ml"
24361 in
24362 _menhir_env.MenhirLib.EngineTypes.stack <- {
24363 MenhirLib.EngineTypes.state = _menhir_s;
24364 MenhirLib.EngineTypes.semv = Obj.repr _v;
24365 MenhirLib.EngineTypes.startp = _startpos;
24366 MenhirLib.EngineTypes.endp = _endpos;
24367 MenhirLib.EngineTypes.next = _menhir_stack;
24368 });
24369 (fun _menhir_env ->
24370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24371 let {
24372 MenhirLib.EngineTypes.semv = _2;
24373 MenhirLib.EngineTypes.startp = _startpos__2_;
24374 MenhirLib.EngineTypes.endp = _endpos__2_;
24375 MenhirLib.EngineTypes.next = {
24376 MenhirLib.EngineTypes.state = _menhir_s;
24377 MenhirLib.EngineTypes.startp = _startpos__1_;
24378 MenhirLib.EngineTypes.endp = _endpos__1_;
24379 MenhirLib.EngineTypes.next = _menhir_stack;
24380 };
24381 } = _menhir_stack in
24382 let _2 : (
24383 # 69 "parser_cocci_menhir.mly"
24384 (string)
24385 # 24386 "parser_cocci_menhir.ml"
24386 ) = Obj.magic _2 in
24387 let _startpos = _startpos__1_ in
24388 let _endpos = _endpos__2_ in
24389 let _v : 'tv_pnrule =
24390 # 255 "parser_cocci_menhir.mly"
24391 ( Ast.EverDep _2 )
24392 # 24393 "parser_cocci_menhir.ml"
24393 in
24394 _menhir_env.MenhirLib.EngineTypes.stack <- {
24395 MenhirLib.EngineTypes.state = _menhir_s;
24396 MenhirLib.EngineTypes.semv = Obj.repr _v;
24397 MenhirLib.EngineTypes.startp = _startpos;
24398 MenhirLib.EngineTypes.endp = _endpos;
24399 MenhirLib.EngineTypes.next = _menhir_stack;
24400 });
24401 (fun _menhir_env ->
24402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24403 let {
24404 MenhirLib.EngineTypes.semv = _2;
24405 MenhirLib.EngineTypes.startp = _startpos__2_;
24406 MenhirLib.EngineTypes.endp = _endpos__2_;
24407 MenhirLib.EngineTypes.next = {
24408 MenhirLib.EngineTypes.state = _menhir_s;
24409 MenhirLib.EngineTypes.startp = _startpos__1_;
24410 MenhirLib.EngineTypes.endp = _endpos__1_;
24411 MenhirLib.EngineTypes.next = _menhir_stack;
24412 };
24413 } = _menhir_stack in
24414 let _2 : (
24415 # 69 "parser_cocci_menhir.mly"
24416 (string)
24417 # 24418 "parser_cocci_menhir.ml"
24418 ) = Obj.magic _2 in
24419 let _startpos = _startpos__1_ in
24420 let _endpos = _endpos__2_ in
24421 let _v : 'tv_pnrule =
24422 # 256 "parser_cocci_menhir.mly"
24423 ( Ast.NeverDep _2 )
24424 # 24425 "parser_cocci_menhir.ml"
24425 in
24426 _menhir_env.MenhirLib.EngineTypes.stack <- {
24427 MenhirLib.EngineTypes.state = _menhir_s;
24428 MenhirLib.EngineTypes.semv = Obj.repr _v;
24429 MenhirLib.EngineTypes.startp = _startpos;
24430 MenhirLib.EngineTypes.endp = _endpos;
24431 MenhirLib.EngineTypes.next = _menhir_stack;
24432 });
24433 (fun _menhir_env ->
24434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24435 let {
24436 MenhirLib.EngineTypes.startp = _startpos__3_;
24437 MenhirLib.EngineTypes.endp = _endpos__3_;
24438 MenhirLib.EngineTypes.next = {
24439 MenhirLib.EngineTypes.semv = _2;
24440 MenhirLib.EngineTypes.startp = _startpos__2_;
24441 MenhirLib.EngineTypes.endp = _endpos__2_;
24442 MenhirLib.EngineTypes.next = {
24443 MenhirLib.EngineTypes.state = _menhir_s;
24444 MenhirLib.EngineTypes.startp = _startpos__1_;
24445 MenhirLib.EngineTypes.endp = _endpos__1_;
24446 MenhirLib.EngineTypes.next = _menhir_stack;
24447 };
24448 };
24449 } = _menhir_stack in
24450 let _2 : 'tv_dep = Obj.magic _2 in
24451 let _startpos = _startpos__1_ in
24452 let _endpos = _endpos__3_ in
24453 let _v : 'tv_pnrule =
24454 # 257 "parser_cocci_menhir.mly"
24455 ( _2 )
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.state = _menhir_s;
24469 MenhirLib.EngineTypes.semv = _1;
24470 MenhirLib.EngineTypes.startp = _startpos__1_;
24471 MenhirLib.EngineTypes.endp = _endpos__1_;
24472 MenhirLib.EngineTypes.next = _menhir_stack;
24473 } = _menhir_stack in
24474 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24475 let _startpos = _startpos__1_ in
24476 let _endpos = _endpos__1_ in
24477 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24478 # 1372 "parser_cocci_menhir.mly"
24479 ( _1 )
24480 # 24481 "parser_cocci_menhir.ml"
24481 in
24482 _menhir_env.MenhirLib.EngineTypes.stack <- {
24483 MenhirLib.EngineTypes.state = _menhir_s;
24484 MenhirLib.EngineTypes.semv = Obj.repr _v;
24485 MenhirLib.EngineTypes.startp = _startpos;
24486 MenhirLib.EngineTypes.endp = _endpos;
24487 MenhirLib.EngineTypes.next = _menhir_stack;
24488 });
24489 (fun _menhir_env ->
24490 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24491 let {
24492 MenhirLib.EngineTypes.semv = _4;
24493 MenhirLib.EngineTypes.startp = _startpos__4_;
24494 MenhirLib.EngineTypes.endp = _endpos__4_;
24495 MenhirLib.EngineTypes.next = {
24496 MenhirLib.EngineTypes.semv = _3;
24497 MenhirLib.EngineTypes.startp = _startpos__3_;
24498 MenhirLib.EngineTypes.endp = _endpos__3_;
24499 MenhirLib.EngineTypes.next = {
24500 MenhirLib.EngineTypes.semv = _2;
24501 MenhirLib.EngineTypes.startp = _startpos__2_;
24502 MenhirLib.EngineTypes.endp = _endpos__2_;
24503 MenhirLib.EngineTypes.next = {
24504 MenhirLib.EngineTypes.state = _menhir_s;
24505 MenhirLib.EngineTypes.semv = _1;
24506 MenhirLib.EngineTypes.startp = _startpos__1_;
24507 MenhirLib.EngineTypes.endp = _endpos__1_;
24508 MenhirLib.EngineTypes.next = _menhir_stack;
24509 };
24510 };
24511 };
24512 } = _menhir_stack in
24513 let _4 : (
24514 # 125 "parser_cocci_menhir.mly"
24515 (Data.clt)
24516 # 24517 "parser_cocci_menhir.ml"
24517 ) = Obj.magic _4 in
24518 let _3 : 'tv_eexpr = Obj.magic _3 in
24519 let _2 : (
24520 # 125 "parser_cocci_menhir.mly"
24521 (Data.clt)
24522 # 24523 "parser_cocci_menhir.ml"
24523 ) = Obj.magic _2 in
24524 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24525 let _startpos = _startpos__1_ in
24526 let _endpos = _endpos__4_ in
24527 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24528 # 1374 "parser_cocci_menhir.mly"
24529 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24530 P.clt2mcode "]" _4)) )
24531 # 24532 "parser_cocci_menhir.ml"
24532 in
24533 _menhir_env.MenhirLib.EngineTypes.stack <- {
24534 MenhirLib.EngineTypes.state = _menhir_s;
24535 MenhirLib.EngineTypes.semv = Obj.repr _v;
24536 MenhirLib.EngineTypes.startp = _startpos;
24537 MenhirLib.EngineTypes.endp = _endpos;
24538 MenhirLib.EngineTypes.next = _menhir_stack;
24539 });
24540 (fun _menhir_env ->
24541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24542 let {
24543 MenhirLib.EngineTypes.semv = _3;
24544 MenhirLib.EngineTypes.startp = _startpos__3_;
24545 MenhirLib.EngineTypes.endp = _endpos__3_;
24546 MenhirLib.EngineTypes.next = {
24547 MenhirLib.EngineTypes.semv = _2;
24548 MenhirLib.EngineTypes.startp = _startpos__2_;
24549 MenhirLib.EngineTypes.endp = _endpos__2_;
24550 MenhirLib.EngineTypes.next = {
24551 MenhirLib.EngineTypes.state = _menhir_s;
24552 MenhirLib.EngineTypes.semv = _1;
24553 MenhirLib.EngineTypes.startp = _startpos__1_;
24554 MenhirLib.EngineTypes.endp = _endpos__1_;
24555 MenhirLib.EngineTypes.next = _menhir_stack;
24556 };
24557 };
24558 } = _menhir_stack in
24559 let _3 : 'tv_ident = Obj.magic _3 in
24560 let _2 : (
24561 # 130 "parser_cocci_menhir.mly"
24562 (Data.clt)
24563 # 24564 "parser_cocci_menhir.ml"
24564 ) = Obj.magic _2 in
24565 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24566 let _startpos = _startpos__1_ in
24567 let _endpos = _endpos__3_ in
24568 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24569 # 1377 "parser_cocci_menhir.mly"
24570 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24571 # 24572 "parser_cocci_menhir.ml"
24572 in
24573 _menhir_env.MenhirLib.EngineTypes.stack <- {
24574 MenhirLib.EngineTypes.state = _menhir_s;
24575 MenhirLib.EngineTypes.semv = Obj.repr _v;
24576 MenhirLib.EngineTypes.startp = _startpos;
24577 MenhirLib.EngineTypes.endp = _endpos;
24578 MenhirLib.EngineTypes.next = _menhir_stack;
24579 });
24580 (fun _menhir_env ->
24581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24582 let {
24583 MenhirLib.EngineTypes.semv = _3;
24584 MenhirLib.EngineTypes.startp = _startpos__3_;
24585 MenhirLib.EngineTypes.endp = _endpos__3_;
24586 MenhirLib.EngineTypes.next = {
24587 MenhirLib.EngineTypes.semv = _2;
24588 MenhirLib.EngineTypes.startp = _startpos__2_;
24589 MenhirLib.EngineTypes.endp = _endpos__2_;
24590 MenhirLib.EngineTypes.next = {
24591 MenhirLib.EngineTypes.state = _menhir_s;
24592 MenhirLib.EngineTypes.semv = _1;
24593 MenhirLib.EngineTypes.startp = _startpos__1_;
24594 MenhirLib.EngineTypes.endp = _endpos__1_;
24595 MenhirLib.EngineTypes.next = _menhir_stack;
24596 };
24597 };
24598 } = _menhir_stack in
24599 let _3 : 'tv_ident = Obj.magic _3 in
24600 let _2 : (
24601 # 127 "parser_cocci_menhir.mly"
24602 (Data.clt)
24603 # 24604 "parser_cocci_menhir.ml"
24604 ) = Obj.magic _2 in
24605 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24606 let _startpos = _startpos__1_ in
24607 let _endpos = _endpos__3_ in
24608 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24609 # 1379 "parser_cocci_menhir.mly"
24610 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24611 _3)) )
24612 # 24613 "parser_cocci_menhir.ml"
24613 in
24614 _menhir_env.MenhirLib.EngineTypes.stack <- {
24615 MenhirLib.EngineTypes.state = _menhir_s;
24616 MenhirLib.EngineTypes.semv = Obj.repr _v;
24617 MenhirLib.EngineTypes.startp = _startpos;
24618 MenhirLib.EngineTypes.endp = _endpos;
24619 MenhirLib.EngineTypes.next = _menhir_stack;
24620 });
24621 (fun _menhir_env ->
24622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24623 let {
24624 MenhirLib.EngineTypes.semv = _2;
24625 MenhirLib.EngineTypes.startp = _startpos__2_;
24626 MenhirLib.EngineTypes.endp = _endpos__2_;
24627 MenhirLib.EngineTypes.next = {
24628 MenhirLib.EngineTypes.state = _menhir_s;
24629 MenhirLib.EngineTypes.semv = _1;
24630 MenhirLib.EngineTypes.startp = _startpos__1_;
24631 MenhirLib.EngineTypes.endp = _endpos__1_;
24632 MenhirLib.EngineTypes.next = _menhir_stack;
24633 };
24634 } = _menhir_stack in
24635 let _2 : (
24636 # 108 "parser_cocci_menhir.mly"
24637 (Data.clt)
24638 # 24639 "parser_cocci_menhir.ml"
24639 ) = Obj.magic _2 in
24640 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24641 let _startpos = _startpos__1_ in
24642 let _endpos = _endpos__2_ in
24643 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24644 # 1382 "parser_cocci_menhir.mly"
24645 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24646 # 24647 "parser_cocci_menhir.ml"
24647 in
24648 _menhir_env.MenhirLib.EngineTypes.stack <- {
24649 MenhirLib.EngineTypes.state = _menhir_s;
24650 MenhirLib.EngineTypes.semv = Obj.repr _v;
24651 MenhirLib.EngineTypes.startp = _startpos;
24652 MenhirLib.EngineTypes.endp = _endpos;
24653 MenhirLib.EngineTypes.next = _menhir_stack;
24654 });
24655 (fun _menhir_env ->
24656 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24657 let {
24658 MenhirLib.EngineTypes.semv = _2;
24659 MenhirLib.EngineTypes.startp = _startpos__2_;
24660 MenhirLib.EngineTypes.endp = _endpos__2_;
24661 MenhirLib.EngineTypes.next = {
24662 MenhirLib.EngineTypes.state = _menhir_s;
24663 MenhirLib.EngineTypes.semv = _1;
24664 MenhirLib.EngineTypes.startp = _startpos__1_;
24665 MenhirLib.EngineTypes.endp = _endpos__1_;
24666 MenhirLib.EngineTypes.next = _menhir_stack;
24667 };
24668 } = _menhir_stack in
24669 let _2 : (
24670 # 108 "parser_cocci_menhir.mly"
24671 (Data.clt)
24672 # 24673 "parser_cocci_menhir.ml"
24673 ) = Obj.magic _2 in
24674 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24675 let _startpos = _startpos__1_ in
24676 let _endpos = _endpos__2_ in
24677 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24678 # 1384 "parser_cocci_menhir.mly"
24679 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24680 # 24681 "parser_cocci_menhir.ml"
24681 in
24682 _menhir_env.MenhirLib.EngineTypes.stack <- {
24683 MenhirLib.EngineTypes.state = _menhir_s;
24684 MenhirLib.EngineTypes.semv = Obj.repr _v;
24685 MenhirLib.EngineTypes.startp = _startpos;
24686 MenhirLib.EngineTypes.endp = _endpos;
24687 MenhirLib.EngineTypes.next = _menhir_stack;
24688 });
24689 (fun _menhir_env ->
24690 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24691 let {
24692 MenhirLib.EngineTypes.semv = _4;
24693 MenhirLib.EngineTypes.startp = _startpos__4_;
24694 MenhirLib.EngineTypes.endp = _endpos__4_;
24695 MenhirLib.EngineTypes.next = {
24696 MenhirLib.EngineTypes.semv = _3;
24697 MenhirLib.EngineTypes.startp = _startpos__3_;
24698 MenhirLib.EngineTypes.endp = _endpos__3_;
24699 MenhirLib.EngineTypes.next = {
24700 MenhirLib.EngineTypes.semv = _2;
24701 MenhirLib.EngineTypes.startp = _startpos__2_;
24702 MenhirLib.EngineTypes.endp = _endpos__2_;
24703 MenhirLib.EngineTypes.next = {
24704 MenhirLib.EngineTypes.state = _menhir_s;
24705 MenhirLib.EngineTypes.semv = _1;
24706 MenhirLib.EngineTypes.startp = _startpos__1_;
24707 MenhirLib.EngineTypes.endp = _endpos__1_;
24708 MenhirLib.EngineTypes.next = _menhir_stack;
24709 };
24710 };
24711 };
24712 } = _menhir_stack in
24713 let _4 : (
24714 # 100 "parser_cocci_menhir.mly"
24715 (Data.clt)
24716 # 24717 "parser_cocci_menhir.ml"
24717 ) = Obj.magic _4 in
24718 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24719 let _2 : (
24720 # 99 "parser_cocci_menhir.mly"
24721 (Data.clt)
24722 # 24723 "parser_cocci_menhir.ml"
24723 ) = Obj.magic _2 in
24724 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24725 let _startpos = _startpos__1_ in
24726 let _endpos = _endpos__4_ in
24727 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24728 # 1386 "parser_cocci_menhir.mly"
24729 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24730 _3,
24731 P.clt2mcode ")" _4)) )
24732 # 24733 "parser_cocci_menhir.ml"
24733 in
24734 _menhir_env.MenhirLib.EngineTypes.stack <- {
24735 MenhirLib.EngineTypes.state = _menhir_s;
24736 MenhirLib.EngineTypes.semv = Obj.repr _v;
24737 MenhirLib.EngineTypes.startp = _startpos;
24738 MenhirLib.EngineTypes.endp = _endpos;
24739 MenhirLib.EngineTypes.next = _menhir_stack;
24740 });
24741 (fun _menhir_env ->
24742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24743 let {
24744 MenhirLib.EngineTypes.state = _menhir_s;
24745 MenhirLib.EngineTypes.semv = _1;
24746 MenhirLib.EngineTypes.startp = _startpos__1_;
24747 MenhirLib.EngineTypes.endp = _endpos__1_;
24748 MenhirLib.EngineTypes.next = _menhir_stack;
24749 } = _menhir_stack in
24750 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
24751 let _startpos = _startpos__1_ in
24752 let _endpos = _endpos__1_ in
24753 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24754 # 1372 "parser_cocci_menhir.mly"
24755 ( _1 )
24756 # 24757 "parser_cocci_menhir.ml"
24757 in
24758 _menhir_env.MenhirLib.EngineTypes.stack <- {
24759 MenhirLib.EngineTypes.state = _menhir_s;
24760 MenhirLib.EngineTypes.semv = Obj.repr _v;
24761 MenhirLib.EngineTypes.startp = _startpos;
24762 MenhirLib.EngineTypes.endp = _endpos;
24763 MenhirLib.EngineTypes.next = _menhir_stack;
24764 });
24765 (fun _menhir_env ->
24766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24767 let {
24768 MenhirLib.EngineTypes.semv = _4;
24769 MenhirLib.EngineTypes.startp = _startpos__4_;
24770 MenhirLib.EngineTypes.endp = _endpos__4_;
24771 MenhirLib.EngineTypes.next = {
24772 MenhirLib.EngineTypes.semv = _3;
24773 MenhirLib.EngineTypes.startp = _startpos__3_;
24774 MenhirLib.EngineTypes.endp = _endpos__3_;
24775 MenhirLib.EngineTypes.next = {
24776 MenhirLib.EngineTypes.semv = _2;
24777 MenhirLib.EngineTypes.startp = _startpos__2_;
24778 MenhirLib.EngineTypes.endp = _endpos__2_;
24779 MenhirLib.EngineTypes.next = {
24780 MenhirLib.EngineTypes.state = _menhir_s;
24781 MenhirLib.EngineTypes.semv = _1;
24782 MenhirLib.EngineTypes.startp = _startpos__1_;
24783 MenhirLib.EngineTypes.endp = _endpos__1_;
24784 MenhirLib.EngineTypes.next = _menhir_stack;
24785 };
24786 };
24787 };
24788 } = _menhir_stack in
24789 let _4 : (
24790 # 125 "parser_cocci_menhir.mly"
24791 (Data.clt)
24792 # 24793 "parser_cocci_menhir.ml"
24793 ) = Obj.magic _4 in
24794 let _3 : 'tv_eexpr = Obj.magic _3 in
24795 let _2 : (
24796 # 125 "parser_cocci_menhir.mly"
24797 (Data.clt)
24798 # 24799 "parser_cocci_menhir.ml"
24799 ) = Obj.magic _2 in
24800 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24801 let _startpos = _startpos__1_ in
24802 let _endpos = _endpos__4_ in
24803 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24804 # 1374 "parser_cocci_menhir.mly"
24805 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24806 P.clt2mcode "]" _4)) )
24807 # 24808 "parser_cocci_menhir.ml"
24808 in
24809 _menhir_env.MenhirLib.EngineTypes.stack <- {
24810 MenhirLib.EngineTypes.state = _menhir_s;
24811 MenhirLib.EngineTypes.semv = Obj.repr _v;
24812 MenhirLib.EngineTypes.startp = _startpos;
24813 MenhirLib.EngineTypes.endp = _endpos;
24814 MenhirLib.EngineTypes.next = _menhir_stack;
24815 });
24816 (fun _menhir_env ->
24817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24818 let {
24819 MenhirLib.EngineTypes.semv = _3;
24820 MenhirLib.EngineTypes.startp = _startpos__3_;
24821 MenhirLib.EngineTypes.endp = _endpos__3_;
24822 MenhirLib.EngineTypes.next = {
24823 MenhirLib.EngineTypes.semv = _2;
24824 MenhirLib.EngineTypes.startp = _startpos__2_;
24825 MenhirLib.EngineTypes.endp = _endpos__2_;
24826 MenhirLib.EngineTypes.next = {
24827 MenhirLib.EngineTypes.state = _menhir_s;
24828 MenhirLib.EngineTypes.semv = _1;
24829 MenhirLib.EngineTypes.startp = _startpos__1_;
24830 MenhirLib.EngineTypes.endp = _endpos__1_;
24831 MenhirLib.EngineTypes.next = _menhir_stack;
24832 };
24833 };
24834 } = _menhir_stack in
24835 let _3 : 'tv_ident = Obj.magic _3 in
24836 let _2 : (
24837 # 130 "parser_cocci_menhir.mly"
24838 (Data.clt)
24839 # 24840 "parser_cocci_menhir.ml"
24840 ) = Obj.magic _2 in
24841 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24842 let _startpos = _startpos__1_ in
24843 let _endpos = _endpos__3_ in
24844 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24845 # 1377 "parser_cocci_menhir.mly"
24846 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24847 # 24848 "parser_cocci_menhir.ml"
24848 in
24849 _menhir_env.MenhirLib.EngineTypes.stack <- {
24850 MenhirLib.EngineTypes.state = _menhir_s;
24851 MenhirLib.EngineTypes.semv = Obj.repr _v;
24852 MenhirLib.EngineTypes.startp = _startpos;
24853 MenhirLib.EngineTypes.endp = _endpos;
24854 MenhirLib.EngineTypes.next = _menhir_stack;
24855 });
24856 (fun _menhir_env ->
24857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24858 let {
24859 MenhirLib.EngineTypes.semv = _3;
24860 MenhirLib.EngineTypes.startp = _startpos__3_;
24861 MenhirLib.EngineTypes.endp = _endpos__3_;
24862 MenhirLib.EngineTypes.next = {
24863 MenhirLib.EngineTypes.semv = _2;
24864 MenhirLib.EngineTypes.startp = _startpos__2_;
24865 MenhirLib.EngineTypes.endp = _endpos__2_;
24866 MenhirLib.EngineTypes.next = {
24867 MenhirLib.EngineTypes.state = _menhir_s;
24868 MenhirLib.EngineTypes.semv = _1;
24869 MenhirLib.EngineTypes.startp = _startpos__1_;
24870 MenhirLib.EngineTypes.endp = _endpos__1_;
24871 MenhirLib.EngineTypes.next = _menhir_stack;
24872 };
24873 };
24874 } = _menhir_stack in
24875 let _3 : 'tv_ident = Obj.magic _3 in
24876 let _2 : (
24877 # 127 "parser_cocci_menhir.mly"
24878 (Data.clt)
24879 # 24880 "parser_cocci_menhir.ml"
24880 ) = Obj.magic _2 in
24881 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24882 let _startpos = _startpos__1_ in
24883 let _endpos = _endpos__3_ in
24884 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24885 # 1379 "parser_cocci_menhir.mly"
24886 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24887 _3)) )
24888 # 24889 "parser_cocci_menhir.ml"
24889 in
24890 _menhir_env.MenhirLib.EngineTypes.stack <- {
24891 MenhirLib.EngineTypes.state = _menhir_s;
24892 MenhirLib.EngineTypes.semv = Obj.repr _v;
24893 MenhirLib.EngineTypes.startp = _startpos;
24894 MenhirLib.EngineTypes.endp = _endpos;
24895 MenhirLib.EngineTypes.next = _menhir_stack;
24896 });
24897 (fun _menhir_env ->
24898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24899 let {
24900 MenhirLib.EngineTypes.semv = _2;
24901 MenhirLib.EngineTypes.startp = _startpos__2_;
24902 MenhirLib.EngineTypes.endp = _endpos__2_;
24903 MenhirLib.EngineTypes.next = {
24904 MenhirLib.EngineTypes.state = _menhir_s;
24905 MenhirLib.EngineTypes.semv = _1;
24906 MenhirLib.EngineTypes.startp = _startpos__1_;
24907 MenhirLib.EngineTypes.endp = _endpos__1_;
24908 MenhirLib.EngineTypes.next = _menhir_stack;
24909 };
24910 } = _menhir_stack in
24911 let _2 : (
24912 # 108 "parser_cocci_menhir.mly"
24913 (Data.clt)
24914 # 24915 "parser_cocci_menhir.ml"
24915 ) = Obj.magic _2 in
24916 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24917 let _startpos = _startpos__1_ in
24918 let _endpos = _endpos__2_ in
24919 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24920 # 1382 "parser_cocci_menhir.mly"
24921 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24922 # 24923 "parser_cocci_menhir.ml"
24923 in
24924 _menhir_env.MenhirLib.EngineTypes.stack <- {
24925 MenhirLib.EngineTypes.state = _menhir_s;
24926 MenhirLib.EngineTypes.semv = Obj.repr _v;
24927 MenhirLib.EngineTypes.startp = _startpos;
24928 MenhirLib.EngineTypes.endp = _endpos;
24929 MenhirLib.EngineTypes.next = _menhir_stack;
24930 });
24931 (fun _menhir_env ->
24932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24933 let {
24934 MenhirLib.EngineTypes.semv = _2;
24935 MenhirLib.EngineTypes.startp = _startpos__2_;
24936 MenhirLib.EngineTypes.endp = _endpos__2_;
24937 MenhirLib.EngineTypes.next = {
24938 MenhirLib.EngineTypes.state = _menhir_s;
24939 MenhirLib.EngineTypes.semv = _1;
24940 MenhirLib.EngineTypes.startp = _startpos__1_;
24941 MenhirLib.EngineTypes.endp = _endpos__1_;
24942 MenhirLib.EngineTypes.next = _menhir_stack;
24943 };
24944 } = _menhir_stack in
24945 let _2 : (
24946 # 108 "parser_cocci_menhir.mly"
24947 (Data.clt)
24948 # 24949 "parser_cocci_menhir.ml"
24949 ) = Obj.magic _2 in
24950 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24951 let _startpos = _startpos__1_ in
24952 let _endpos = _endpos__2_ in
24953 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24954 # 1384 "parser_cocci_menhir.mly"
24955 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24956 # 24957 "parser_cocci_menhir.ml"
24957 in
24958 _menhir_env.MenhirLib.EngineTypes.stack <- {
24959 MenhirLib.EngineTypes.state = _menhir_s;
24960 MenhirLib.EngineTypes.semv = Obj.repr _v;
24961 MenhirLib.EngineTypes.startp = _startpos;
24962 MenhirLib.EngineTypes.endp = _endpos;
24963 MenhirLib.EngineTypes.next = _menhir_stack;
24964 });
24965 (fun _menhir_env ->
24966 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24967 let {
24968 MenhirLib.EngineTypes.semv = _4;
24969 MenhirLib.EngineTypes.startp = _startpos__4_;
24970 MenhirLib.EngineTypes.endp = _endpos__4_;
24971 MenhirLib.EngineTypes.next = {
24972 MenhirLib.EngineTypes.semv = _3;
24973 MenhirLib.EngineTypes.startp = _startpos__3_;
24974 MenhirLib.EngineTypes.endp = _endpos__3_;
24975 MenhirLib.EngineTypes.next = {
24976 MenhirLib.EngineTypes.semv = _2;
24977 MenhirLib.EngineTypes.startp = _startpos__2_;
24978 MenhirLib.EngineTypes.endp = _endpos__2_;
24979 MenhirLib.EngineTypes.next = {
24980 MenhirLib.EngineTypes.state = _menhir_s;
24981 MenhirLib.EngineTypes.semv = _1;
24982 MenhirLib.EngineTypes.startp = _startpos__1_;
24983 MenhirLib.EngineTypes.endp = _endpos__1_;
24984 MenhirLib.EngineTypes.next = _menhir_stack;
24985 };
24986 };
24987 };
24988 } = _menhir_stack in
24989 let _4 : (
24990 # 100 "parser_cocci_menhir.mly"
24991 (Data.clt)
24992 # 24993 "parser_cocci_menhir.ml"
24993 ) = Obj.magic _4 in
24994 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24995 let _2 : (
24996 # 99 "parser_cocci_menhir.mly"
24997 (Data.clt)
24998 # 24999 "parser_cocci_menhir.ml"
24999 ) = Obj.magic _2 in
25000 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
25001 let _startpos = _startpos__1_ in
25002 let _endpos = _endpos__4_ in
25003 let _v : 'tv_postfix_expr_eexpr_invalid_ =
25004 # 1386 "parser_cocci_menhir.mly"
25005 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25006 _3,
25007 P.clt2mcode ")" _4)) )
25008 # 25009 "parser_cocci_menhir.ml"
25009 in
25010 _menhir_env.MenhirLib.EngineTypes.stack <- {
25011 MenhirLib.EngineTypes.state = _menhir_s;
25012 MenhirLib.EngineTypes.semv = Obj.repr _v;
25013 MenhirLib.EngineTypes.startp = _startpos;
25014 MenhirLib.EngineTypes.endp = _endpos;
25015 MenhirLib.EngineTypes.next = _menhir_stack;
25016 });
25017 (fun _menhir_env ->
25018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25019 let {
25020 MenhirLib.EngineTypes.state = _menhir_s;
25021 MenhirLib.EngineTypes.semv = _1;
25022 MenhirLib.EngineTypes.startp = _startpos__1_;
25023 MenhirLib.EngineTypes.endp = _endpos__1_;
25024 MenhirLib.EngineTypes.next = _menhir_stack;
25025 } = _menhir_stack in
25026 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25027 let _startpos = _startpos__1_ in
25028 let _endpos = _endpos__1_ in
25029 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25030 # 1372 "parser_cocci_menhir.mly"
25031 ( _1 )
25032 # 25033 "parser_cocci_menhir.ml"
25033 in
25034 _menhir_env.MenhirLib.EngineTypes.stack <- {
25035 MenhirLib.EngineTypes.state = _menhir_s;
25036 MenhirLib.EngineTypes.semv = Obj.repr _v;
25037 MenhirLib.EngineTypes.startp = _startpos;
25038 MenhirLib.EngineTypes.endp = _endpos;
25039 MenhirLib.EngineTypes.next = _menhir_stack;
25040 });
25041 (fun _menhir_env ->
25042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25043 let {
25044 MenhirLib.EngineTypes.semv = _4;
25045 MenhirLib.EngineTypes.startp = _startpos__4_;
25046 MenhirLib.EngineTypes.endp = _endpos__4_;
25047 MenhirLib.EngineTypes.next = {
25048 MenhirLib.EngineTypes.semv = _3;
25049 MenhirLib.EngineTypes.startp = _startpos__3_;
25050 MenhirLib.EngineTypes.endp = _endpos__3_;
25051 MenhirLib.EngineTypes.next = {
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 };
25063 };
25064 } = _menhir_stack in
25065 let _4 : (
25066 # 125 "parser_cocci_menhir.mly"
25067 (Data.clt)
25068 # 25069 "parser_cocci_menhir.ml"
25069 ) = Obj.magic _4 in
25070 let _3 : 'tv_eexpr = Obj.magic _3 in
25071 let _2 : (
25072 # 125 "parser_cocci_menhir.mly"
25073 (Data.clt)
25074 # 25075 "parser_cocci_menhir.ml"
25075 ) = Obj.magic _2 in
25076 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25077 let _startpos = _startpos__1_ in
25078 let _endpos = _endpos__4_ in
25079 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25080 # 1374 "parser_cocci_menhir.mly"
25081 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25082 P.clt2mcode "]" _4)) )
25083 # 25084 "parser_cocci_menhir.ml"
25084 in
25085 _menhir_env.MenhirLib.EngineTypes.stack <- {
25086 MenhirLib.EngineTypes.state = _menhir_s;
25087 MenhirLib.EngineTypes.semv = Obj.repr _v;
25088 MenhirLib.EngineTypes.startp = _startpos;
25089 MenhirLib.EngineTypes.endp = _endpos;
25090 MenhirLib.EngineTypes.next = _menhir_stack;
25091 });
25092 (fun _menhir_env ->
25093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25094 let {
25095 MenhirLib.EngineTypes.semv = _3;
25096 MenhirLib.EngineTypes.startp = _startpos__3_;
25097 MenhirLib.EngineTypes.endp = _endpos__3_;
25098 MenhirLib.EngineTypes.next = {
25099 MenhirLib.EngineTypes.semv = _2;
25100 MenhirLib.EngineTypes.startp = _startpos__2_;
25101 MenhirLib.EngineTypes.endp = _endpos__2_;
25102 MenhirLib.EngineTypes.next = {
25103 MenhirLib.EngineTypes.state = _menhir_s;
25104 MenhirLib.EngineTypes.semv = _1;
25105 MenhirLib.EngineTypes.startp = _startpos__1_;
25106 MenhirLib.EngineTypes.endp = _endpos__1_;
25107 MenhirLib.EngineTypes.next = _menhir_stack;
25108 };
25109 };
25110 } = _menhir_stack in
25111 let _3 : 'tv_ident = Obj.magic _3 in
25112 let _2 : (
25113 # 130 "parser_cocci_menhir.mly"
25114 (Data.clt)
25115 # 25116 "parser_cocci_menhir.ml"
25116 ) = Obj.magic _2 in
25117 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25118 let _startpos = _startpos__1_ in
25119 let _endpos = _endpos__3_ in
25120 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25121 # 1377 "parser_cocci_menhir.mly"
25122 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25123 # 25124 "parser_cocci_menhir.ml"
25124 in
25125 _menhir_env.MenhirLib.EngineTypes.stack <- {
25126 MenhirLib.EngineTypes.state = _menhir_s;
25127 MenhirLib.EngineTypes.semv = Obj.repr _v;
25128 MenhirLib.EngineTypes.startp = _startpos;
25129 MenhirLib.EngineTypes.endp = _endpos;
25130 MenhirLib.EngineTypes.next = _menhir_stack;
25131 });
25132 (fun _menhir_env ->
25133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25134 let {
25135 MenhirLib.EngineTypes.semv = _3;
25136 MenhirLib.EngineTypes.startp = _startpos__3_;
25137 MenhirLib.EngineTypes.endp = _endpos__3_;
25138 MenhirLib.EngineTypes.next = {
25139 MenhirLib.EngineTypes.semv = _2;
25140 MenhirLib.EngineTypes.startp = _startpos__2_;
25141 MenhirLib.EngineTypes.endp = _endpos__2_;
25142 MenhirLib.EngineTypes.next = {
25143 MenhirLib.EngineTypes.state = _menhir_s;
25144 MenhirLib.EngineTypes.semv = _1;
25145 MenhirLib.EngineTypes.startp = _startpos__1_;
25146 MenhirLib.EngineTypes.endp = _endpos__1_;
25147 MenhirLib.EngineTypes.next = _menhir_stack;
25148 };
25149 };
25150 } = _menhir_stack in
25151 let _3 : 'tv_ident = Obj.magic _3 in
25152 let _2 : (
25153 # 127 "parser_cocci_menhir.mly"
25154 (Data.clt)
25155 # 25156 "parser_cocci_menhir.ml"
25156 ) = Obj.magic _2 in
25157 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25158 let _startpos = _startpos__1_ in
25159 let _endpos = _endpos__3_ in
25160 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25161 # 1379 "parser_cocci_menhir.mly"
25162 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25163 _3)) )
25164 # 25165 "parser_cocci_menhir.ml"
25165 in
25166 _menhir_env.MenhirLib.EngineTypes.stack <- {
25167 MenhirLib.EngineTypes.state = _menhir_s;
25168 MenhirLib.EngineTypes.semv = Obj.repr _v;
25169 MenhirLib.EngineTypes.startp = _startpos;
25170 MenhirLib.EngineTypes.endp = _endpos;
25171 MenhirLib.EngineTypes.next = _menhir_stack;
25172 });
25173 (fun _menhir_env ->
25174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25175 let {
25176 MenhirLib.EngineTypes.semv = _2;
25177 MenhirLib.EngineTypes.startp = _startpos__2_;
25178 MenhirLib.EngineTypes.endp = _endpos__2_;
25179 MenhirLib.EngineTypes.next = {
25180 MenhirLib.EngineTypes.state = _menhir_s;
25181 MenhirLib.EngineTypes.semv = _1;
25182 MenhirLib.EngineTypes.startp = _startpos__1_;
25183 MenhirLib.EngineTypes.endp = _endpos__1_;
25184 MenhirLib.EngineTypes.next = _menhir_stack;
25185 };
25186 } = _menhir_stack in
25187 let _2 : (
25188 # 108 "parser_cocci_menhir.mly"
25189 (Data.clt)
25190 # 25191 "parser_cocci_menhir.ml"
25191 ) = Obj.magic _2 in
25192 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25193 let _startpos = _startpos__1_ in
25194 let _endpos = _endpos__2_ in
25195 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25196 # 1382 "parser_cocci_menhir.mly"
25197 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25198 # 25199 "parser_cocci_menhir.ml"
25199 in
25200 _menhir_env.MenhirLib.EngineTypes.stack <- {
25201 MenhirLib.EngineTypes.state = _menhir_s;
25202 MenhirLib.EngineTypes.semv = Obj.repr _v;
25203 MenhirLib.EngineTypes.startp = _startpos;
25204 MenhirLib.EngineTypes.endp = _endpos;
25205 MenhirLib.EngineTypes.next = _menhir_stack;
25206 });
25207 (fun _menhir_env ->
25208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25209 let {
25210 MenhirLib.EngineTypes.semv = _2;
25211 MenhirLib.EngineTypes.startp = _startpos__2_;
25212 MenhirLib.EngineTypes.endp = _endpos__2_;
25213 MenhirLib.EngineTypes.next = {
25214 MenhirLib.EngineTypes.state = _menhir_s;
25215 MenhirLib.EngineTypes.semv = _1;
25216 MenhirLib.EngineTypes.startp = _startpos__1_;
25217 MenhirLib.EngineTypes.endp = _endpos__1_;
25218 MenhirLib.EngineTypes.next = _menhir_stack;
25219 };
25220 } = _menhir_stack in
25221 let _2 : (
25222 # 108 "parser_cocci_menhir.mly"
25223 (Data.clt)
25224 # 25225 "parser_cocci_menhir.ml"
25225 ) = Obj.magic _2 in
25226 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25227 let _startpos = _startpos__1_ in
25228 let _endpos = _endpos__2_ in
25229 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25230 # 1384 "parser_cocci_menhir.mly"
25231 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25232 # 25233 "parser_cocci_menhir.ml"
25233 in
25234 _menhir_env.MenhirLib.EngineTypes.stack <- {
25235 MenhirLib.EngineTypes.state = _menhir_s;
25236 MenhirLib.EngineTypes.semv = Obj.repr _v;
25237 MenhirLib.EngineTypes.startp = _startpos;
25238 MenhirLib.EngineTypes.endp = _endpos;
25239 MenhirLib.EngineTypes.next = _menhir_stack;
25240 });
25241 (fun _menhir_env ->
25242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25243 let {
25244 MenhirLib.EngineTypes.semv = _4;
25245 MenhirLib.EngineTypes.startp = _startpos__4_;
25246 MenhirLib.EngineTypes.endp = _endpos__4_;
25247 MenhirLib.EngineTypes.next = {
25248 MenhirLib.EngineTypes.semv = _3;
25249 MenhirLib.EngineTypes.startp = _startpos__3_;
25250 MenhirLib.EngineTypes.endp = _endpos__3_;
25251 MenhirLib.EngineTypes.next = {
25252 MenhirLib.EngineTypes.semv = _2;
25253 MenhirLib.EngineTypes.startp = _startpos__2_;
25254 MenhirLib.EngineTypes.endp = _endpos__2_;
25255 MenhirLib.EngineTypes.next = {
25256 MenhirLib.EngineTypes.state = _menhir_s;
25257 MenhirLib.EngineTypes.semv = _1;
25258 MenhirLib.EngineTypes.startp = _startpos__1_;
25259 MenhirLib.EngineTypes.endp = _endpos__1_;
25260 MenhirLib.EngineTypes.next = _menhir_stack;
25261 };
25262 };
25263 };
25264 } = _menhir_stack in
25265 let _4 : (
25266 # 100 "parser_cocci_menhir.mly"
25267 (Data.clt)
25268 # 25269 "parser_cocci_menhir.ml"
25269 ) = Obj.magic _4 in
25270 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25271 let _2 : (
25272 # 99 "parser_cocci_menhir.mly"
25273 (Data.clt)
25274 # 25275 "parser_cocci_menhir.ml"
25275 ) = Obj.magic _2 in
25276 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25277 let _startpos = _startpos__1_ in
25278 let _endpos = _endpos__4_ in
25279 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25280 # 1386 "parser_cocci_menhir.mly"
25281 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25282 _3,
25283 P.clt2mcode ")" _4)) )
25284 # 25285 "parser_cocci_menhir.ml"
25285 in
25286 _menhir_env.MenhirLib.EngineTypes.stack <- {
25287 MenhirLib.EngineTypes.state = _menhir_s;
25288 MenhirLib.EngineTypes.semv = Obj.repr _v;
25289 MenhirLib.EngineTypes.startp = _startpos;
25290 MenhirLib.EngineTypes.endp = _endpos;
25291 MenhirLib.EngineTypes.next = _menhir_stack;
25292 });
25293 (fun _menhir_env ->
25294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25295 let {
25296 MenhirLib.EngineTypes.state = _menhir_s;
25297 MenhirLib.EngineTypes.semv = _1;
25298 MenhirLib.EngineTypes.startp = _startpos__1_;
25299 MenhirLib.EngineTypes.endp = _endpos__1_;
25300 MenhirLib.EngineTypes.next = _menhir_stack;
25301 } = _menhir_stack in
25302 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
25303 let _startpos = _startpos__1_ in
25304 let _endpos = _endpos__1_ in
25305 let _v : 'tv_postfix_expr_expr_invalid_ =
25306 # 1372 "parser_cocci_menhir.mly"
25307 ( _1 )
25308 # 25309 "parser_cocci_menhir.ml"
25309 in
25310 _menhir_env.MenhirLib.EngineTypes.stack <- {
25311 MenhirLib.EngineTypes.state = _menhir_s;
25312 MenhirLib.EngineTypes.semv = Obj.repr _v;
25313 MenhirLib.EngineTypes.startp = _startpos;
25314 MenhirLib.EngineTypes.endp = _endpos;
25315 MenhirLib.EngineTypes.next = _menhir_stack;
25316 });
25317 (fun _menhir_env ->
25318 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25319 let {
25320 MenhirLib.EngineTypes.semv = _4;
25321 MenhirLib.EngineTypes.startp = _startpos__4_;
25322 MenhirLib.EngineTypes.endp = _endpos__4_;
25323 MenhirLib.EngineTypes.next = {
25324 MenhirLib.EngineTypes.semv = _3;
25325 MenhirLib.EngineTypes.startp = _startpos__3_;
25326 MenhirLib.EngineTypes.endp = _endpos__3_;
25327 MenhirLib.EngineTypes.next = {
25328 MenhirLib.EngineTypes.semv = _2;
25329 MenhirLib.EngineTypes.startp = _startpos__2_;
25330 MenhirLib.EngineTypes.endp = _endpos__2_;
25331 MenhirLib.EngineTypes.next = {
25332 MenhirLib.EngineTypes.state = _menhir_s;
25333 MenhirLib.EngineTypes.semv = _1;
25334 MenhirLib.EngineTypes.startp = _startpos__1_;
25335 MenhirLib.EngineTypes.endp = _endpos__1_;
25336 MenhirLib.EngineTypes.next = _menhir_stack;
25337 };
25338 };
25339 };
25340 } = _menhir_stack in
25341 let _4 : (
25342 # 125 "parser_cocci_menhir.mly"
25343 (Data.clt)
25344 # 25345 "parser_cocci_menhir.ml"
25345 ) = Obj.magic _4 in
25346 let _3 : 'tv_eexpr = Obj.magic _3 in
25347 let _2 : (
25348 # 125 "parser_cocci_menhir.mly"
25349 (Data.clt)
25350 # 25351 "parser_cocci_menhir.ml"
25351 ) = Obj.magic _2 in
25352 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25353 let _startpos = _startpos__1_ in
25354 let _endpos = _endpos__4_ in
25355 let _v : 'tv_postfix_expr_expr_invalid_ =
25356 # 1374 "parser_cocci_menhir.mly"
25357 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25358 P.clt2mcode "]" _4)) )
25359 # 25360 "parser_cocci_menhir.ml"
25360 in
25361 _menhir_env.MenhirLib.EngineTypes.stack <- {
25362 MenhirLib.EngineTypes.state = _menhir_s;
25363 MenhirLib.EngineTypes.semv = Obj.repr _v;
25364 MenhirLib.EngineTypes.startp = _startpos;
25365 MenhirLib.EngineTypes.endp = _endpos;
25366 MenhirLib.EngineTypes.next = _menhir_stack;
25367 });
25368 (fun _menhir_env ->
25369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25370 let {
25371 MenhirLib.EngineTypes.semv = _3;
25372 MenhirLib.EngineTypes.startp = _startpos__3_;
25373 MenhirLib.EngineTypes.endp = _endpos__3_;
25374 MenhirLib.EngineTypes.next = {
25375 MenhirLib.EngineTypes.semv = _2;
25376 MenhirLib.EngineTypes.startp = _startpos__2_;
25377 MenhirLib.EngineTypes.endp = _endpos__2_;
25378 MenhirLib.EngineTypes.next = {
25379 MenhirLib.EngineTypes.state = _menhir_s;
25380 MenhirLib.EngineTypes.semv = _1;
25381 MenhirLib.EngineTypes.startp = _startpos__1_;
25382 MenhirLib.EngineTypes.endp = _endpos__1_;
25383 MenhirLib.EngineTypes.next = _menhir_stack;
25384 };
25385 };
25386 } = _menhir_stack in
25387 let _3 : 'tv_ident = Obj.magic _3 in
25388 let _2 : (
25389 # 130 "parser_cocci_menhir.mly"
25390 (Data.clt)
25391 # 25392 "parser_cocci_menhir.ml"
25392 ) = Obj.magic _2 in
25393 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25394 let _startpos = _startpos__1_ in
25395 let _endpos = _endpos__3_ in
25396 let _v : 'tv_postfix_expr_expr_invalid_ =
25397 # 1377 "parser_cocci_menhir.mly"
25398 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25399 # 25400 "parser_cocci_menhir.ml"
25400 in
25401 _menhir_env.MenhirLib.EngineTypes.stack <- {
25402 MenhirLib.EngineTypes.state = _menhir_s;
25403 MenhirLib.EngineTypes.semv = Obj.repr _v;
25404 MenhirLib.EngineTypes.startp = _startpos;
25405 MenhirLib.EngineTypes.endp = _endpos;
25406 MenhirLib.EngineTypes.next = _menhir_stack;
25407 });
25408 (fun _menhir_env ->
25409 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25410 let {
25411 MenhirLib.EngineTypes.semv = _3;
25412 MenhirLib.EngineTypes.startp = _startpos__3_;
25413 MenhirLib.EngineTypes.endp = _endpos__3_;
25414 MenhirLib.EngineTypes.next = {
25415 MenhirLib.EngineTypes.semv = _2;
25416 MenhirLib.EngineTypes.startp = _startpos__2_;
25417 MenhirLib.EngineTypes.endp = _endpos__2_;
25418 MenhirLib.EngineTypes.next = {
25419 MenhirLib.EngineTypes.state = _menhir_s;
25420 MenhirLib.EngineTypes.semv = _1;
25421 MenhirLib.EngineTypes.startp = _startpos__1_;
25422 MenhirLib.EngineTypes.endp = _endpos__1_;
25423 MenhirLib.EngineTypes.next = _menhir_stack;
25424 };
25425 };
25426 } = _menhir_stack in
25427 let _3 : 'tv_ident = Obj.magic _3 in
25428 let _2 : (
25429 # 127 "parser_cocci_menhir.mly"
25430 (Data.clt)
25431 # 25432 "parser_cocci_menhir.ml"
25432 ) = Obj.magic _2 in
25433 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25434 let _startpos = _startpos__1_ in
25435 let _endpos = _endpos__3_ in
25436 let _v : 'tv_postfix_expr_expr_invalid_ =
25437 # 1379 "parser_cocci_menhir.mly"
25438 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25439 _3)) )
25440 # 25441 "parser_cocci_menhir.ml"
25441 in
25442 _menhir_env.MenhirLib.EngineTypes.stack <- {
25443 MenhirLib.EngineTypes.state = _menhir_s;
25444 MenhirLib.EngineTypes.semv = Obj.repr _v;
25445 MenhirLib.EngineTypes.startp = _startpos;
25446 MenhirLib.EngineTypes.endp = _endpos;
25447 MenhirLib.EngineTypes.next = _menhir_stack;
25448 });
25449 (fun _menhir_env ->
25450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25451 let {
25452 MenhirLib.EngineTypes.semv = _2;
25453 MenhirLib.EngineTypes.startp = _startpos__2_;
25454 MenhirLib.EngineTypes.endp = _endpos__2_;
25455 MenhirLib.EngineTypes.next = {
25456 MenhirLib.EngineTypes.state = _menhir_s;
25457 MenhirLib.EngineTypes.semv = _1;
25458 MenhirLib.EngineTypes.startp = _startpos__1_;
25459 MenhirLib.EngineTypes.endp = _endpos__1_;
25460 MenhirLib.EngineTypes.next = _menhir_stack;
25461 };
25462 } = _menhir_stack in
25463 let _2 : (
25464 # 108 "parser_cocci_menhir.mly"
25465 (Data.clt)
25466 # 25467 "parser_cocci_menhir.ml"
25467 ) = Obj.magic _2 in
25468 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25469 let _startpos = _startpos__1_ in
25470 let _endpos = _endpos__2_ in
25471 let _v : 'tv_postfix_expr_expr_invalid_ =
25472 # 1382 "parser_cocci_menhir.mly"
25473 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25474 # 25475 "parser_cocci_menhir.ml"
25475 in
25476 _menhir_env.MenhirLib.EngineTypes.stack <- {
25477 MenhirLib.EngineTypes.state = _menhir_s;
25478 MenhirLib.EngineTypes.semv = Obj.repr _v;
25479 MenhirLib.EngineTypes.startp = _startpos;
25480 MenhirLib.EngineTypes.endp = _endpos;
25481 MenhirLib.EngineTypes.next = _menhir_stack;
25482 });
25483 (fun _menhir_env ->
25484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25485 let {
25486 MenhirLib.EngineTypes.semv = _2;
25487 MenhirLib.EngineTypes.startp = _startpos__2_;
25488 MenhirLib.EngineTypes.endp = _endpos__2_;
25489 MenhirLib.EngineTypes.next = {
25490 MenhirLib.EngineTypes.state = _menhir_s;
25491 MenhirLib.EngineTypes.semv = _1;
25492 MenhirLib.EngineTypes.startp = _startpos__1_;
25493 MenhirLib.EngineTypes.endp = _endpos__1_;
25494 MenhirLib.EngineTypes.next = _menhir_stack;
25495 };
25496 } = _menhir_stack in
25497 let _2 : (
25498 # 108 "parser_cocci_menhir.mly"
25499 (Data.clt)
25500 # 25501 "parser_cocci_menhir.ml"
25501 ) = Obj.magic _2 in
25502 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25503 let _startpos = _startpos__1_ in
25504 let _endpos = _endpos__2_ in
25505 let _v : 'tv_postfix_expr_expr_invalid_ =
25506 # 1384 "parser_cocci_menhir.mly"
25507 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25508 # 25509 "parser_cocci_menhir.ml"
25509 in
25510 _menhir_env.MenhirLib.EngineTypes.stack <- {
25511 MenhirLib.EngineTypes.state = _menhir_s;
25512 MenhirLib.EngineTypes.semv = Obj.repr _v;
25513 MenhirLib.EngineTypes.startp = _startpos;
25514 MenhirLib.EngineTypes.endp = _endpos;
25515 MenhirLib.EngineTypes.next = _menhir_stack;
25516 });
25517 (fun _menhir_env ->
25518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25519 let {
25520 MenhirLib.EngineTypes.semv = _4;
25521 MenhirLib.EngineTypes.startp = _startpos__4_;
25522 MenhirLib.EngineTypes.endp = _endpos__4_;
25523 MenhirLib.EngineTypes.next = {
25524 MenhirLib.EngineTypes.semv = _3;
25525 MenhirLib.EngineTypes.startp = _startpos__3_;
25526 MenhirLib.EngineTypes.endp = _endpos__3_;
25527 MenhirLib.EngineTypes.next = {
25528 MenhirLib.EngineTypes.semv = _2;
25529 MenhirLib.EngineTypes.startp = _startpos__2_;
25530 MenhirLib.EngineTypes.endp = _endpos__2_;
25531 MenhirLib.EngineTypes.next = {
25532 MenhirLib.EngineTypes.state = _menhir_s;
25533 MenhirLib.EngineTypes.semv = _1;
25534 MenhirLib.EngineTypes.startp = _startpos__1_;
25535 MenhirLib.EngineTypes.endp = _endpos__1_;
25536 MenhirLib.EngineTypes.next = _menhir_stack;
25537 };
25538 };
25539 };
25540 } = _menhir_stack in
25541 let _4 : (
25542 # 100 "parser_cocci_menhir.mly"
25543 (Data.clt)
25544 # 25545 "parser_cocci_menhir.ml"
25545 ) = Obj.magic _4 in
25546 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25547 let _2 : (
25548 # 99 "parser_cocci_menhir.mly"
25549 (Data.clt)
25550 # 25551 "parser_cocci_menhir.ml"
25551 ) = Obj.magic _2 in
25552 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25553 let _startpos = _startpos__1_ in
25554 let _endpos = _endpos__4_ in
25555 let _v : 'tv_postfix_expr_expr_invalid_ =
25556 # 1386 "parser_cocci_menhir.mly"
25557 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25558 _3,
25559 P.clt2mcode ")" _4)) )
25560 # 25561 "parser_cocci_menhir.ml"
25561 in
25562 _menhir_env.MenhirLib.EngineTypes.stack <- {
25563 MenhirLib.EngineTypes.state = _menhir_s;
25564 MenhirLib.EngineTypes.semv = Obj.repr _v;
25565 MenhirLib.EngineTypes.startp = _startpos;
25566 MenhirLib.EngineTypes.endp = _endpos;
25567 MenhirLib.EngineTypes.next = _menhir_stack;
25568 });
25569 (fun _menhir_env ->
25570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25571 let {
25572 MenhirLib.EngineTypes.state = _menhir_s;
25573 MenhirLib.EngineTypes.semv = _1;
25574 MenhirLib.EngineTypes.startp = _startpos__1_;
25575 MenhirLib.EngineTypes.endp = _endpos__1_;
25576 MenhirLib.EngineTypes.next = _menhir_stack;
25577 } = _menhir_stack in
25578 let _1 : 'tv_func_ident = Obj.magic _1 in
25579 let _startpos = _startpos__1_ in
25580 let _endpos = _endpos__1_ in
25581 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25582 # 1391 "parser_cocci_menhir.mly"
25583 ( Ast0.wrap(Ast0.Ident(_1)) )
25584 # 25585 "parser_cocci_menhir.ml"
25585 in
25586 _menhir_env.MenhirLib.EngineTypes.stack <- {
25587 MenhirLib.EngineTypes.state = _menhir_s;
25588 MenhirLib.EngineTypes.semv = Obj.repr _v;
25589 MenhirLib.EngineTypes.startp = _startpos;
25590 MenhirLib.EngineTypes.endp = _endpos;
25591 MenhirLib.EngineTypes.next = _menhir_stack;
25592 });
25593 (fun _menhir_env ->
25594 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25595 let {
25596 MenhirLib.EngineTypes.state = _menhir_s;
25597 MenhirLib.EngineTypes.semv = _1;
25598 MenhirLib.EngineTypes.startp = _startpos__1_;
25599 MenhirLib.EngineTypes.endp = _endpos__1_;
25600 MenhirLib.EngineTypes.next = _menhir_stack;
25601 } = _menhir_stack in
25602 let _1 : (
25603 # 110 "parser_cocci_menhir.mly"
25604 (string * Data.clt)
25605 # 25606 "parser_cocci_menhir.ml"
25606 ) = Obj.magic _1 in
25607 let _startpos = _startpos__1_ in
25608 let _endpos = _endpos__1_ in
25609 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25610 # 1393 "parser_cocci_menhir.mly"
25611 ( let (x,clt) = _1 in
25612 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25613 # 25614 "parser_cocci_menhir.ml"
25614 in
25615 _menhir_env.MenhirLib.EngineTypes.stack <- {
25616 MenhirLib.EngineTypes.state = _menhir_s;
25617 MenhirLib.EngineTypes.semv = Obj.repr _v;
25618 MenhirLib.EngineTypes.startp = _startpos;
25619 MenhirLib.EngineTypes.endp = _endpos;
25620 MenhirLib.EngineTypes.next = _menhir_stack;
25621 });
25622 (fun _menhir_env ->
25623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25624 let {
25625 MenhirLib.EngineTypes.state = _menhir_s;
25626 MenhirLib.EngineTypes.semv = _1;
25627 MenhirLib.EngineTypes.startp = _startpos__1_;
25628 MenhirLib.EngineTypes.endp = _endpos__1_;
25629 MenhirLib.EngineTypes.next = _menhir_stack;
25630 } = _menhir_stack in
25631 let _1 : (
25632 # 110 "parser_cocci_menhir.mly"
25633 (string * Data.clt)
25634 # 25635 "parser_cocci_menhir.ml"
25635 ) = Obj.magic _1 in
25636 let _startpos = _startpos__1_ in
25637 let _endpos = _endpos__1_ in
25638 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25639 # 1396 "parser_cocci_menhir.mly"
25640 ( let (x,clt) = _1 in
25641 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25642 # 25643 "parser_cocci_menhir.ml"
25643 in
25644 _menhir_env.MenhirLib.EngineTypes.stack <- {
25645 MenhirLib.EngineTypes.state = _menhir_s;
25646 MenhirLib.EngineTypes.semv = Obj.repr _v;
25647 MenhirLib.EngineTypes.startp = _startpos;
25648 MenhirLib.EngineTypes.endp = _endpos;
25649 MenhirLib.EngineTypes.next = _menhir_stack;
25650 });
25651 (fun _menhir_env ->
25652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25653 let {
25654 MenhirLib.EngineTypes.state = _menhir_s;
25655 MenhirLib.EngineTypes.semv = _1;
25656 MenhirLib.EngineTypes.startp = _startpos__1_;
25657 MenhirLib.EngineTypes.endp = _endpos__1_;
25658 MenhirLib.EngineTypes.next = _menhir_stack;
25659 } = _menhir_stack in
25660 let _1 : (
25661 # 110 "parser_cocci_menhir.mly"
25662 (string * Data.clt)
25663 # 25664 "parser_cocci_menhir.ml"
25664 ) = Obj.magic _1 in
25665 let _startpos = _startpos__1_ in
25666 let _endpos = _endpos__1_ in
25667 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25668 # 1399 "parser_cocci_menhir.mly"
25669 ( let (x,clt) = _1 in
25670 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25671 # 25672 "parser_cocci_menhir.ml"
25672 in
25673 _menhir_env.MenhirLib.EngineTypes.stack <- {
25674 MenhirLib.EngineTypes.state = _menhir_s;
25675 MenhirLib.EngineTypes.semv = Obj.repr _v;
25676 MenhirLib.EngineTypes.startp = _startpos;
25677 MenhirLib.EngineTypes.endp = _endpos;
25678 MenhirLib.EngineTypes.next = _menhir_stack;
25679 });
25680 (fun _menhir_env ->
25681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25682 let {
25683 MenhirLib.EngineTypes.state = _menhir_s;
25684 MenhirLib.EngineTypes.semv = _1;
25685 MenhirLib.EngineTypes.startp = _startpos__1_;
25686 MenhirLib.EngineTypes.endp = _endpos__1_;
25687 MenhirLib.EngineTypes.next = _menhir_stack;
25688 } = _menhir_stack in
25689 let _1 : (
25690 # 110 "parser_cocci_menhir.mly"
25691 (string * Data.clt)
25692 # 25693 "parser_cocci_menhir.ml"
25693 ) = Obj.magic _1 in
25694 let _startpos = _startpos__1_ in
25695 let _endpos = _endpos__1_ in
25696 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25697 # 1402 "parser_cocci_menhir.mly"
25698 ( let (x,clt) = _1 in
25699 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25700 # 25701 "parser_cocci_menhir.ml"
25701 in
25702 _menhir_env.MenhirLib.EngineTypes.stack <- {
25703 MenhirLib.EngineTypes.state = _menhir_s;
25704 MenhirLib.EngineTypes.semv = Obj.repr _v;
25705 MenhirLib.EngineTypes.startp = _startpos;
25706 MenhirLib.EngineTypes.endp = _endpos;
25707 MenhirLib.EngineTypes.next = _menhir_stack;
25708 });
25709 (fun _menhir_env ->
25710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25711 let {
25712 MenhirLib.EngineTypes.state = _menhir_s;
25713 MenhirLib.EngineTypes.semv = _1;
25714 MenhirLib.EngineTypes.startp = _startpos__1_;
25715 MenhirLib.EngineTypes.endp = _endpos__1_;
25716 MenhirLib.EngineTypes.next = _menhir_stack;
25717 } = _menhir_stack in
25718 let _1 : (
25719 # 90 "parser_cocci_menhir.mly"
25720 (Parse_aux.typed_expinfo)
25721 # 25722 "parser_cocci_menhir.ml"
25722 ) = Obj.magic _1 in
25723 let _startpos = _startpos__1_ in
25724 let _endpos = _endpos__1_ in
25725 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25726 # 1405 "parser_cocci_menhir.mly"
25727 ( let (nm,constraints,pure,ty,clt) = _1 in
25728 Ast0.wrap
25729 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25730 # 25731 "parser_cocci_menhir.ml"
25731 in
25732 _menhir_env.MenhirLib.EngineTypes.stack <- {
25733 MenhirLib.EngineTypes.state = _menhir_s;
25734 MenhirLib.EngineTypes.semv = Obj.repr _v;
25735 MenhirLib.EngineTypes.startp = _startpos;
25736 MenhirLib.EngineTypes.endp = _endpos;
25737 MenhirLib.EngineTypes.next = _menhir_stack;
25738 });
25739 (fun _menhir_env ->
25740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25741 let {
25742 MenhirLib.EngineTypes.state = _menhir_s;
25743 MenhirLib.EngineTypes.semv = _1;
25744 MenhirLib.EngineTypes.startp = _startpos__1_;
25745 MenhirLib.EngineTypes.endp = _endpos__1_;
25746 MenhirLib.EngineTypes.next = _menhir_stack;
25747 } = _menhir_stack in
25748 let _1 : (
25749 # 86 "parser_cocci_menhir.mly"
25750 (Parse_aux.expinfo)
25751 # 25752 "parser_cocci_menhir.ml"
25752 ) = Obj.magic _1 in
25753 let _startpos = _startpos__1_ in
25754 let _endpos = _endpos__1_ in
25755 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25756 # 1409 "parser_cocci_menhir.mly"
25757 ( let (nm,constraints,pure,clt) = _1 in
25758 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25759 # 25760 "parser_cocci_menhir.ml"
25760 in
25761 _menhir_env.MenhirLib.EngineTypes.stack <- {
25762 MenhirLib.EngineTypes.state = _menhir_s;
25763 MenhirLib.EngineTypes.semv = Obj.repr _v;
25764 MenhirLib.EngineTypes.startp = _startpos;
25765 MenhirLib.EngineTypes.endp = _endpos;
25766 MenhirLib.EngineTypes.next = _menhir_stack;
25767 });
25768 (fun _menhir_env ->
25769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25770 let {
25771 MenhirLib.EngineTypes.state = _menhir_s;
25772 MenhirLib.EngineTypes.semv = _1;
25773 MenhirLib.EngineTypes.startp = _startpos__1_;
25774 MenhirLib.EngineTypes.endp = _endpos__1_;
25775 MenhirLib.EngineTypes.next = _menhir_stack;
25776 } = _menhir_stack in
25777 let _1 : (
25778 # 90 "parser_cocci_menhir.mly"
25779 (Parse_aux.typed_expinfo)
25780 # 25781 "parser_cocci_menhir.ml"
25781 ) = Obj.magic _1 in
25782 let _startpos = _startpos__1_ in
25783 let _endpos = _endpos__1_ in
25784 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25785 # 1412 "parser_cocci_menhir.mly"
25786 ( let (nm,constraints,pure,ty,clt) = _1 in
25787 Ast0.wrap
25788 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25789 # 25790 "parser_cocci_menhir.ml"
25790 in
25791 _menhir_env.MenhirLib.EngineTypes.stack <- {
25792 MenhirLib.EngineTypes.state = _menhir_s;
25793 MenhirLib.EngineTypes.semv = Obj.repr _v;
25794 MenhirLib.EngineTypes.startp = _startpos;
25795 MenhirLib.EngineTypes.endp = _endpos;
25796 MenhirLib.EngineTypes.next = _menhir_stack;
25797 });
25798 (fun _menhir_env ->
25799 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25800 let {
25801 MenhirLib.EngineTypes.state = _menhir_s;
25802 MenhirLib.EngineTypes.semv = _1;
25803 MenhirLib.EngineTypes.startp = _startpos__1_;
25804 MenhirLib.EngineTypes.endp = _endpos__1_;
25805 MenhirLib.EngineTypes.next = _menhir_stack;
25806 } = _menhir_stack in
25807 let _1 : (
25808 # 90 "parser_cocci_menhir.mly"
25809 (Parse_aux.typed_expinfo)
25810 # 25811 "parser_cocci_menhir.ml"
25811 ) = Obj.magic _1 in
25812 let _startpos = _startpos__1_ in
25813 let _endpos = _endpos__1_ in
25814 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25815 # 1416 "parser_cocci_menhir.mly"
25816 ( let (nm,constraints,pure,ty,clt) = _1 in
25817 Ast0.wrap
25818 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
25819 # 25820 "parser_cocci_menhir.ml"
25820 in
25821 _menhir_env.MenhirLib.EngineTypes.stack <- {
25822 MenhirLib.EngineTypes.state = _menhir_s;
25823 MenhirLib.EngineTypes.semv = Obj.repr _v;
25824 MenhirLib.EngineTypes.startp = _startpos;
25825 MenhirLib.EngineTypes.endp = _endpos;
25826 MenhirLib.EngineTypes.next = _menhir_stack;
25827 });
25828 (fun _menhir_env ->
25829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25830 let {
25831 MenhirLib.EngineTypes.state = _menhir_s;
25832 MenhirLib.EngineTypes.semv = _1;
25833 MenhirLib.EngineTypes.startp = _startpos__1_;
25834 MenhirLib.EngineTypes.endp = _endpos__1_;
25835 MenhirLib.EngineTypes.next = _menhir_stack;
25836 } = _menhir_stack in
25837 let _1 : (
25838 # 90 "parser_cocci_menhir.mly"
25839 (Parse_aux.typed_expinfo)
25840 # 25841 "parser_cocci_menhir.ml"
25841 ) = Obj.magic _1 in
25842 let _startpos = _startpos__1_ in
25843 let _endpos = _endpos__1_ in
25844 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25845 # 1420 "parser_cocci_menhir.mly"
25846 ( let (nm,constraints,pure,ty,clt) = _1 in
25847 Ast0.wrap
25848 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
25849 # 25850 "parser_cocci_menhir.ml"
25850 in
25851 _menhir_env.MenhirLib.EngineTypes.stack <- {
25852 MenhirLib.EngineTypes.state = _menhir_s;
25853 MenhirLib.EngineTypes.semv = Obj.repr _v;
25854 MenhirLib.EngineTypes.startp = _startpos;
25855 MenhirLib.EngineTypes.endp = _endpos;
25856 MenhirLib.EngineTypes.next = _menhir_stack;
25857 });
25858 (fun _menhir_env ->
25859 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25860 let {
25861 MenhirLib.EngineTypes.semv = _3;
25862 MenhirLib.EngineTypes.startp = _startpos__3_;
25863 MenhirLib.EngineTypes.endp = _endpos__3_;
25864 MenhirLib.EngineTypes.next = {
25865 MenhirLib.EngineTypes.semv = _2;
25866 MenhirLib.EngineTypes.startp = _startpos__2_;
25867 MenhirLib.EngineTypes.endp = _endpos__2_;
25868 MenhirLib.EngineTypes.next = {
25869 MenhirLib.EngineTypes.state = _menhir_s;
25870 MenhirLib.EngineTypes.semv = _1;
25871 MenhirLib.EngineTypes.startp = _startpos__1_;
25872 MenhirLib.EngineTypes.endp = _endpos__1_;
25873 MenhirLib.EngineTypes.next = _menhir_stack;
25874 };
25875 };
25876 } = _menhir_stack in
25877 let _3 : (
25878 # 100 "parser_cocci_menhir.mly"
25879 (Data.clt)
25880 # 25881 "parser_cocci_menhir.ml"
25881 ) = Obj.magic _3 in
25882 let _2 : 'tv_eexpr = Obj.magic _2 in
25883 let _1 : (
25884 # 99 "parser_cocci_menhir.mly"
25885 (Data.clt)
25886 # 25887 "parser_cocci_menhir.ml"
25887 ) = Obj.magic _1 in
25888 let _startpos = _startpos__1_ in
25889 let _endpos = _endpos__3_ in
25890 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25891 # 1424 "parser_cocci_menhir.mly"
25892 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
25893 P.clt2mcode ")" _3)) )
25894 # 25895 "parser_cocci_menhir.ml"
25895 in
25896 _menhir_env.MenhirLib.EngineTypes.stack <- {
25897 MenhirLib.EngineTypes.state = _menhir_s;
25898 MenhirLib.EngineTypes.semv = Obj.repr _v;
25899 MenhirLib.EngineTypes.startp = _startpos;
25900 MenhirLib.EngineTypes.endp = _endpos;
25901 MenhirLib.EngineTypes.next = _menhir_stack;
25902 });
25903 (fun _menhir_env ->
25904 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25905 let {
25906 MenhirLib.EngineTypes.semv = _3;
25907 MenhirLib.EngineTypes.startp = _startpos__3_;
25908 MenhirLib.EngineTypes.endp = _endpos__3_;
25909 MenhirLib.EngineTypes.next = {
25910 MenhirLib.EngineTypes.semv = _2;
25911 MenhirLib.EngineTypes.startp = _startpos__2_;
25912 MenhirLib.EngineTypes.endp = _endpos__2_;
25913 MenhirLib.EngineTypes.next = {
25914 MenhirLib.EngineTypes.state = _menhir_s;
25915 MenhirLib.EngineTypes.semv = _1;
25916 MenhirLib.EngineTypes.startp = _startpos__1_;
25917 MenhirLib.EngineTypes.endp = _endpos__1_;
25918 MenhirLib.EngineTypes.next = _menhir_stack;
25919 };
25920 };
25921 } = _menhir_stack in
25922 let _3 : (
25923 # 100 "parser_cocci_menhir.mly"
25924 (Data.clt)
25925 # 25926 "parser_cocci_menhir.ml"
25926 ) = Obj.magic _3 in
25927 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
25928 let _1 : (
25929 # 99 "parser_cocci_menhir.mly"
25930 (Data.clt)
25931 # 25932 "parser_cocci_menhir.ml"
25932 ) = Obj.magic _1 in
25933 let _startpos = _startpos__1_ in
25934 let _endpos = _endpos__3_ in
25935 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25936 # 1427 "parser_cocci_menhir.mly"
25937 ( let (mids,code) = _2 in
25938 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
25939 code, mids,
25940 P.clt2mcode ")" _3)) )
25941 # 25942 "parser_cocci_menhir.ml"
25942 in
25943 _menhir_env.MenhirLib.EngineTypes.stack <- {
25944 MenhirLib.EngineTypes.state = _menhir_s;
25945 MenhirLib.EngineTypes.semv = Obj.repr _v;
25946 MenhirLib.EngineTypes.startp = _startpos;
25947 MenhirLib.EngineTypes.endp = _endpos;
25948 MenhirLib.EngineTypes.next = _menhir_stack;
25949 });
25950 (fun _menhir_env ->
25951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25952 let {
25953 MenhirLib.EngineTypes.state = _menhir_s;
25954 MenhirLib.EngineTypes.semv = _1;
25955 MenhirLib.EngineTypes.startp = _startpos__1_;
25956 MenhirLib.EngineTypes.endp = _endpos__1_;
25957 MenhirLib.EngineTypes.next = _menhir_stack;
25958 } = _menhir_stack in
25959 let _1 : 'tv_dot_expressions = Obj.magic _1 in
25960 let _startpos = _startpos__1_ in
25961 let _endpos = _endpos__1_ in
25962 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25963 # 1431 "parser_cocci_menhir.mly"
25964 ( _1 )
25965 # 25966 "parser_cocci_menhir.ml"
25966 in
25967 _menhir_env.MenhirLib.EngineTypes.stack <- {
25968 MenhirLib.EngineTypes.state = _menhir_s;
25969 MenhirLib.EngineTypes.semv = Obj.repr _v;
25970 MenhirLib.EngineTypes.startp = _startpos;
25971 MenhirLib.EngineTypes.endp = _endpos;
25972 MenhirLib.EngineTypes.next = _menhir_stack;
25973 });
25974 (fun _menhir_env ->
25975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25976 let {
25977 MenhirLib.EngineTypes.state = _menhir_s;
25978 MenhirLib.EngineTypes.semv = _1;
25979 MenhirLib.EngineTypes.startp = _startpos__1_;
25980 MenhirLib.EngineTypes.endp = _endpos__1_;
25981 MenhirLib.EngineTypes.next = _menhir_stack;
25982 } = _menhir_stack in
25983 let _1 : 'tv_func_ident = Obj.magic _1 in
25984 let _startpos = _startpos__1_ in
25985 let _endpos = _endpos__1_ in
25986 let _v : 'tv_primary_expr_eexpr_invalid_ =
25987 # 1391 "parser_cocci_menhir.mly"
25988 ( Ast0.wrap(Ast0.Ident(_1)) )
25989 # 25990 "parser_cocci_menhir.ml"
25990 in
25991 _menhir_env.MenhirLib.EngineTypes.stack <- {
25992 MenhirLib.EngineTypes.state = _menhir_s;
25993 MenhirLib.EngineTypes.semv = Obj.repr _v;
25994 MenhirLib.EngineTypes.startp = _startpos;
25995 MenhirLib.EngineTypes.endp = _endpos;
25996 MenhirLib.EngineTypes.next = _menhir_stack;
25997 });
25998 (fun _menhir_env ->
25999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26000 let {
26001 MenhirLib.EngineTypes.state = _menhir_s;
26002 MenhirLib.EngineTypes.semv = _1;
26003 MenhirLib.EngineTypes.startp = _startpos__1_;
26004 MenhirLib.EngineTypes.endp = _endpos__1_;
26005 MenhirLib.EngineTypes.next = _menhir_stack;
26006 } = _menhir_stack in
26007 let _1 : (
26008 # 110 "parser_cocci_menhir.mly"
26009 (string * Data.clt)
26010 # 26011 "parser_cocci_menhir.ml"
26011 ) = Obj.magic _1 in
26012 let _startpos = _startpos__1_ in
26013 let _endpos = _endpos__1_ in
26014 let _v : 'tv_primary_expr_eexpr_invalid_ =
26015 # 1393 "parser_cocci_menhir.mly"
26016 ( let (x,clt) = _1 in
26017 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26018 # 26019 "parser_cocci_menhir.ml"
26019 in
26020 _menhir_env.MenhirLib.EngineTypes.stack <- {
26021 MenhirLib.EngineTypes.state = _menhir_s;
26022 MenhirLib.EngineTypes.semv = Obj.repr _v;
26023 MenhirLib.EngineTypes.startp = _startpos;
26024 MenhirLib.EngineTypes.endp = _endpos;
26025 MenhirLib.EngineTypes.next = _menhir_stack;
26026 });
26027 (fun _menhir_env ->
26028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26029 let {
26030 MenhirLib.EngineTypes.state = _menhir_s;
26031 MenhirLib.EngineTypes.semv = _1;
26032 MenhirLib.EngineTypes.startp = _startpos__1_;
26033 MenhirLib.EngineTypes.endp = _endpos__1_;
26034 MenhirLib.EngineTypes.next = _menhir_stack;
26035 } = _menhir_stack in
26036 let _1 : (
26037 # 110 "parser_cocci_menhir.mly"
26038 (string * Data.clt)
26039 # 26040 "parser_cocci_menhir.ml"
26040 ) = Obj.magic _1 in
26041 let _startpos = _startpos__1_ in
26042 let _endpos = _endpos__1_ in
26043 let _v : 'tv_primary_expr_eexpr_invalid_ =
26044 # 1396 "parser_cocci_menhir.mly"
26045 ( let (x,clt) = _1 in
26046 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26047 # 26048 "parser_cocci_menhir.ml"
26048 in
26049 _menhir_env.MenhirLib.EngineTypes.stack <- {
26050 MenhirLib.EngineTypes.state = _menhir_s;
26051 MenhirLib.EngineTypes.semv = Obj.repr _v;
26052 MenhirLib.EngineTypes.startp = _startpos;
26053 MenhirLib.EngineTypes.endp = _endpos;
26054 MenhirLib.EngineTypes.next = _menhir_stack;
26055 });
26056 (fun _menhir_env ->
26057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26058 let {
26059 MenhirLib.EngineTypes.state = _menhir_s;
26060 MenhirLib.EngineTypes.semv = _1;
26061 MenhirLib.EngineTypes.startp = _startpos__1_;
26062 MenhirLib.EngineTypes.endp = _endpos__1_;
26063 MenhirLib.EngineTypes.next = _menhir_stack;
26064 } = _menhir_stack in
26065 let _1 : (
26066 # 110 "parser_cocci_menhir.mly"
26067 (string * Data.clt)
26068 # 26069 "parser_cocci_menhir.ml"
26069 ) = Obj.magic _1 in
26070 let _startpos = _startpos__1_ in
26071 let _endpos = _endpos__1_ in
26072 let _v : 'tv_primary_expr_eexpr_invalid_ =
26073 # 1399 "parser_cocci_menhir.mly"
26074 ( let (x,clt) = _1 in
26075 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26076 # 26077 "parser_cocci_menhir.ml"
26077 in
26078 _menhir_env.MenhirLib.EngineTypes.stack <- {
26079 MenhirLib.EngineTypes.state = _menhir_s;
26080 MenhirLib.EngineTypes.semv = Obj.repr _v;
26081 MenhirLib.EngineTypes.startp = _startpos;
26082 MenhirLib.EngineTypes.endp = _endpos;
26083 MenhirLib.EngineTypes.next = _menhir_stack;
26084 });
26085 (fun _menhir_env ->
26086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26087 let {
26088 MenhirLib.EngineTypes.state = _menhir_s;
26089 MenhirLib.EngineTypes.semv = _1;
26090 MenhirLib.EngineTypes.startp = _startpos__1_;
26091 MenhirLib.EngineTypes.endp = _endpos__1_;
26092 MenhirLib.EngineTypes.next = _menhir_stack;
26093 } = _menhir_stack in
26094 let _1 : (
26095 # 110 "parser_cocci_menhir.mly"
26096 (string * Data.clt)
26097 # 26098 "parser_cocci_menhir.ml"
26098 ) = Obj.magic _1 in
26099 let _startpos = _startpos__1_ in
26100 let _endpos = _endpos__1_ in
26101 let _v : 'tv_primary_expr_eexpr_invalid_ =
26102 # 1402 "parser_cocci_menhir.mly"
26103 ( let (x,clt) = _1 in
26104 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26105 # 26106 "parser_cocci_menhir.ml"
26106 in
26107 _menhir_env.MenhirLib.EngineTypes.stack <- {
26108 MenhirLib.EngineTypes.state = _menhir_s;
26109 MenhirLib.EngineTypes.semv = Obj.repr _v;
26110 MenhirLib.EngineTypes.startp = _startpos;
26111 MenhirLib.EngineTypes.endp = _endpos;
26112 MenhirLib.EngineTypes.next = _menhir_stack;
26113 });
26114 (fun _menhir_env ->
26115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26116 let {
26117 MenhirLib.EngineTypes.state = _menhir_s;
26118 MenhirLib.EngineTypes.semv = _1;
26119 MenhirLib.EngineTypes.startp = _startpos__1_;
26120 MenhirLib.EngineTypes.endp = _endpos__1_;
26121 MenhirLib.EngineTypes.next = _menhir_stack;
26122 } = _menhir_stack in
26123 let _1 : (
26124 # 90 "parser_cocci_menhir.mly"
26125 (Parse_aux.typed_expinfo)
26126 # 26127 "parser_cocci_menhir.ml"
26127 ) = Obj.magic _1 in
26128 let _startpos = _startpos__1_ in
26129 let _endpos = _endpos__1_ in
26130 let _v : 'tv_primary_expr_eexpr_invalid_ =
26131 # 1405 "parser_cocci_menhir.mly"
26132 ( let (nm,constraints,pure,ty,clt) = _1 in
26133 Ast0.wrap
26134 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26135 # 26136 "parser_cocci_menhir.ml"
26136 in
26137 _menhir_env.MenhirLib.EngineTypes.stack <- {
26138 MenhirLib.EngineTypes.state = _menhir_s;
26139 MenhirLib.EngineTypes.semv = Obj.repr _v;
26140 MenhirLib.EngineTypes.startp = _startpos;
26141 MenhirLib.EngineTypes.endp = _endpos;
26142 MenhirLib.EngineTypes.next = _menhir_stack;
26143 });
26144 (fun _menhir_env ->
26145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26146 let {
26147 MenhirLib.EngineTypes.state = _menhir_s;
26148 MenhirLib.EngineTypes.semv = _1;
26149 MenhirLib.EngineTypes.startp = _startpos__1_;
26150 MenhirLib.EngineTypes.endp = _endpos__1_;
26151 MenhirLib.EngineTypes.next = _menhir_stack;
26152 } = _menhir_stack in
26153 let _1 : (
26154 # 86 "parser_cocci_menhir.mly"
26155 (Parse_aux.expinfo)
26156 # 26157 "parser_cocci_menhir.ml"
26157 ) = Obj.magic _1 in
26158 let _startpos = _startpos__1_ in
26159 let _endpos = _endpos__1_ in
26160 let _v : 'tv_primary_expr_eexpr_invalid_ =
26161 # 1409 "parser_cocci_menhir.mly"
26162 ( let (nm,constraints,pure,clt) = _1 in
26163 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26164 # 26165 "parser_cocci_menhir.ml"
26165 in
26166 _menhir_env.MenhirLib.EngineTypes.stack <- {
26167 MenhirLib.EngineTypes.state = _menhir_s;
26168 MenhirLib.EngineTypes.semv = Obj.repr _v;
26169 MenhirLib.EngineTypes.startp = _startpos;
26170 MenhirLib.EngineTypes.endp = _endpos;
26171 MenhirLib.EngineTypes.next = _menhir_stack;
26172 });
26173 (fun _menhir_env ->
26174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26175 let {
26176 MenhirLib.EngineTypes.state = _menhir_s;
26177 MenhirLib.EngineTypes.semv = _1;
26178 MenhirLib.EngineTypes.startp = _startpos__1_;
26179 MenhirLib.EngineTypes.endp = _endpos__1_;
26180 MenhirLib.EngineTypes.next = _menhir_stack;
26181 } = _menhir_stack in
26182 let _1 : (
26183 # 90 "parser_cocci_menhir.mly"
26184 (Parse_aux.typed_expinfo)
26185 # 26186 "parser_cocci_menhir.ml"
26186 ) = Obj.magic _1 in
26187 let _startpos = _startpos__1_ in
26188 let _endpos = _endpos__1_ in
26189 let _v : 'tv_primary_expr_eexpr_invalid_ =
26190 # 1412 "parser_cocci_menhir.mly"
26191 ( let (nm,constraints,pure,ty,clt) = _1 in
26192 Ast0.wrap
26193 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26194 # 26195 "parser_cocci_menhir.ml"
26195 in
26196 _menhir_env.MenhirLib.EngineTypes.stack <- {
26197 MenhirLib.EngineTypes.state = _menhir_s;
26198 MenhirLib.EngineTypes.semv = Obj.repr _v;
26199 MenhirLib.EngineTypes.startp = _startpos;
26200 MenhirLib.EngineTypes.endp = _endpos;
26201 MenhirLib.EngineTypes.next = _menhir_stack;
26202 });
26203 (fun _menhir_env ->
26204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26205 let {
26206 MenhirLib.EngineTypes.state = _menhir_s;
26207 MenhirLib.EngineTypes.semv = _1;
26208 MenhirLib.EngineTypes.startp = _startpos__1_;
26209 MenhirLib.EngineTypes.endp = _endpos__1_;
26210 MenhirLib.EngineTypes.next = _menhir_stack;
26211 } = _menhir_stack in
26212 let _1 : (
26213 # 90 "parser_cocci_menhir.mly"
26214 (Parse_aux.typed_expinfo)
26215 # 26216 "parser_cocci_menhir.ml"
26216 ) = Obj.magic _1 in
26217 let _startpos = _startpos__1_ in
26218 let _endpos = _endpos__1_ in
26219 let _v : 'tv_primary_expr_eexpr_invalid_ =
26220 # 1416 "parser_cocci_menhir.mly"
26221 ( let (nm,constraints,pure,ty,clt) = _1 in
26222 Ast0.wrap
26223 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26224 # 26225 "parser_cocci_menhir.ml"
26225 in
26226 _menhir_env.MenhirLib.EngineTypes.stack <- {
26227 MenhirLib.EngineTypes.state = _menhir_s;
26228 MenhirLib.EngineTypes.semv = Obj.repr _v;
26229 MenhirLib.EngineTypes.startp = _startpos;
26230 MenhirLib.EngineTypes.endp = _endpos;
26231 MenhirLib.EngineTypes.next = _menhir_stack;
26232 });
26233 (fun _menhir_env ->
26234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26235 let {
26236 MenhirLib.EngineTypes.state = _menhir_s;
26237 MenhirLib.EngineTypes.semv = _1;
26238 MenhirLib.EngineTypes.startp = _startpos__1_;
26239 MenhirLib.EngineTypes.endp = _endpos__1_;
26240 MenhirLib.EngineTypes.next = _menhir_stack;
26241 } = _menhir_stack in
26242 let _1 : (
26243 # 90 "parser_cocci_menhir.mly"
26244 (Parse_aux.typed_expinfo)
26245 # 26246 "parser_cocci_menhir.ml"
26246 ) = Obj.magic _1 in
26247 let _startpos = _startpos__1_ in
26248 let _endpos = _endpos__1_ in
26249 let _v : 'tv_primary_expr_eexpr_invalid_ =
26250 # 1420 "parser_cocci_menhir.mly"
26251 ( let (nm,constraints,pure,ty,clt) = _1 in
26252 Ast0.wrap
26253 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26254 # 26255 "parser_cocci_menhir.ml"
26255 in
26256 _menhir_env.MenhirLib.EngineTypes.stack <- {
26257 MenhirLib.EngineTypes.state = _menhir_s;
26258 MenhirLib.EngineTypes.semv = Obj.repr _v;
26259 MenhirLib.EngineTypes.startp = _startpos;
26260 MenhirLib.EngineTypes.endp = _endpos;
26261 MenhirLib.EngineTypes.next = _menhir_stack;
26262 });
26263 (fun _menhir_env ->
26264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26265 let {
26266 MenhirLib.EngineTypes.semv = _3;
26267 MenhirLib.EngineTypes.startp = _startpos__3_;
26268 MenhirLib.EngineTypes.endp = _endpos__3_;
26269 MenhirLib.EngineTypes.next = {
26270 MenhirLib.EngineTypes.semv = _2;
26271 MenhirLib.EngineTypes.startp = _startpos__2_;
26272 MenhirLib.EngineTypes.endp = _endpos__2_;
26273 MenhirLib.EngineTypes.next = {
26274 MenhirLib.EngineTypes.state = _menhir_s;
26275 MenhirLib.EngineTypes.semv = _1;
26276 MenhirLib.EngineTypes.startp = _startpos__1_;
26277 MenhirLib.EngineTypes.endp = _endpos__1_;
26278 MenhirLib.EngineTypes.next = _menhir_stack;
26279 };
26280 };
26281 } = _menhir_stack in
26282 let _3 : (
26283 # 100 "parser_cocci_menhir.mly"
26284 (Data.clt)
26285 # 26286 "parser_cocci_menhir.ml"
26286 ) = Obj.magic _3 in
26287 let _2 : 'tv_eexpr = Obj.magic _2 in
26288 let _1 : (
26289 # 99 "parser_cocci_menhir.mly"
26290 (Data.clt)
26291 # 26292 "parser_cocci_menhir.ml"
26292 ) = Obj.magic _1 in
26293 let _startpos = _startpos__1_ in
26294 let _endpos = _endpos__3_ in
26295 let _v : 'tv_primary_expr_eexpr_invalid_ =
26296 # 1424 "parser_cocci_menhir.mly"
26297 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26298 P.clt2mcode ")" _3)) )
26299 # 26300 "parser_cocci_menhir.ml"
26300 in
26301 _menhir_env.MenhirLib.EngineTypes.stack <- {
26302 MenhirLib.EngineTypes.state = _menhir_s;
26303 MenhirLib.EngineTypes.semv = Obj.repr _v;
26304 MenhirLib.EngineTypes.startp = _startpos;
26305 MenhirLib.EngineTypes.endp = _endpos;
26306 MenhirLib.EngineTypes.next = _menhir_stack;
26307 });
26308 (fun _menhir_env ->
26309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26310 let {
26311 MenhirLib.EngineTypes.semv = _3;
26312 MenhirLib.EngineTypes.startp = _startpos__3_;
26313 MenhirLib.EngineTypes.endp = _endpos__3_;
26314 MenhirLib.EngineTypes.next = {
26315 MenhirLib.EngineTypes.semv = _2;
26316 MenhirLib.EngineTypes.startp = _startpos__2_;
26317 MenhirLib.EngineTypes.endp = _endpos__2_;
26318 MenhirLib.EngineTypes.next = {
26319 MenhirLib.EngineTypes.state = _menhir_s;
26320 MenhirLib.EngineTypes.semv = _1;
26321 MenhirLib.EngineTypes.startp = _startpos__1_;
26322 MenhirLib.EngineTypes.endp = _endpos__1_;
26323 MenhirLib.EngineTypes.next = _menhir_stack;
26324 };
26325 };
26326 } = _menhir_stack in
26327 let _3 : (
26328 # 100 "parser_cocci_menhir.mly"
26329 (Data.clt)
26330 # 26331 "parser_cocci_menhir.ml"
26331 ) = Obj.magic _3 in
26332 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26333 let _1 : (
26334 # 99 "parser_cocci_menhir.mly"
26335 (Data.clt)
26336 # 26337 "parser_cocci_menhir.ml"
26337 ) = Obj.magic _1 in
26338 let _startpos = _startpos__1_ in
26339 let _endpos = _endpos__3_ in
26340 let _v : 'tv_primary_expr_eexpr_invalid_ =
26341 # 1427 "parser_cocci_menhir.mly"
26342 ( let (mids,code) = _2 in
26343 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26344 code, mids,
26345 P.clt2mcode ")" _3)) )
26346 # 26347 "parser_cocci_menhir.ml"
26347 in
26348 _menhir_env.MenhirLib.EngineTypes.stack <- {
26349 MenhirLib.EngineTypes.state = _menhir_s;
26350 MenhirLib.EngineTypes.semv = Obj.repr _v;
26351 MenhirLib.EngineTypes.startp = _startpos;
26352 MenhirLib.EngineTypes.endp = _endpos;
26353 MenhirLib.EngineTypes.next = _menhir_stack;
26354 });
26355 (fun _menhir_env ->
26356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26357 let {
26358 MenhirLib.EngineTypes.state = _menhir_s;
26359 MenhirLib.EngineTypes.semv = _1;
26360 MenhirLib.EngineTypes.startp = _startpos__1_;
26361 MenhirLib.EngineTypes.endp = _endpos__1_;
26362 MenhirLib.EngineTypes.next = _menhir_stack;
26363 } = _menhir_stack in
26364 let _1 : 'tv_invalid = Obj.magic _1 in
26365 let _startpos = _startpos__1_ in
26366 let _endpos = _endpos__1_ in
26367 let _v : 'tv_primary_expr_eexpr_invalid_ =
26368 # 1431 "parser_cocci_menhir.mly"
26369 ( _1 )
26370 # 26371 "parser_cocci_menhir.ml"
26371 in
26372 _menhir_env.MenhirLib.EngineTypes.stack <- {
26373 MenhirLib.EngineTypes.state = _menhir_s;
26374 MenhirLib.EngineTypes.semv = Obj.repr _v;
26375 MenhirLib.EngineTypes.startp = _startpos;
26376 MenhirLib.EngineTypes.endp = _endpos;
26377 MenhirLib.EngineTypes.next = _menhir_stack;
26378 });
26379 (fun _menhir_env ->
26380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26381 let {
26382 MenhirLib.EngineTypes.state = _menhir_s;
26383 MenhirLib.EngineTypes.semv = _1;
26384 MenhirLib.EngineTypes.startp = _startpos__1_;
26385 MenhirLib.EngineTypes.endp = _endpos__1_;
26386 MenhirLib.EngineTypes.next = _menhir_stack;
26387 } = _menhir_stack in
26388 let _1 : 'tv_func_ident = Obj.magic _1 in
26389 let _startpos = _startpos__1_ in
26390 let _endpos = _endpos__1_ in
26391 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26392 # 1391 "parser_cocci_menhir.mly"
26393 ( Ast0.wrap(Ast0.Ident(_1)) )
26394 # 26395 "parser_cocci_menhir.ml"
26395 in
26396 _menhir_env.MenhirLib.EngineTypes.stack <- {
26397 MenhirLib.EngineTypes.state = _menhir_s;
26398 MenhirLib.EngineTypes.semv = Obj.repr _v;
26399 MenhirLib.EngineTypes.startp = _startpos;
26400 MenhirLib.EngineTypes.endp = _endpos;
26401 MenhirLib.EngineTypes.next = _menhir_stack;
26402 });
26403 (fun _menhir_env ->
26404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26405 let {
26406 MenhirLib.EngineTypes.state = _menhir_s;
26407 MenhirLib.EngineTypes.semv = _1;
26408 MenhirLib.EngineTypes.startp = _startpos__1_;
26409 MenhirLib.EngineTypes.endp = _endpos__1_;
26410 MenhirLib.EngineTypes.next = _menhir_stack;
26411 } = _menhir_stack in
26412 let _1 : (
26413 # 110 "parser_cocci_menhir.mly"
26414 (string * Data.clt)
26415 # 26416 "parser_cocci_menhir.ml"
26416 ) = Obj.magic _1 in
26417 let _startpos = _startpos__1_ in
26418 let _endpos = _endpos__1_ in
26419 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26420 # 1393 "parser_cocci_menhir.mly"
26421 ( let (x,clt) = _1 in
26422 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26423 # 26424 "parser_cocci_menhir.ml"
26424 in
26425 _menhir_env.MenhirLib.EngineTypes.stack <- {
26426 MenhirLib.EngineTypes.state = _menhir_s;
26427 MenhirLib.EngineTypes.semv = Obj.repr _v;
26428 MenhirLib.EngineTypes.startp = _startpos;
26429 MenhirLib.EngineTypes.endp = _endpos;
26430 MenhirLib.EngineTypes.next = _menhir_stack;
26431 });
26432 (fun _menhir_env ->
26433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26434 let {
26435 MenhirLib.EngineTypes.state = _menhir_s;
26436 MenhirLib.EngineTypes.semv = _1;
26437 MenhirLib.EngineTypes.startp = _startpos__1_;
26438 MenhirLib.EngineTypes.endp = _endpos__1_;
26439 MenhirLib.EngineTypes.next = _menhir_stack;
26440 } = _menhir_stack in
26441 let _1 : (
26442 # 110 "parser_cocci_menhir.mly"
26443 (string * Data.clt)
26444 # 26445 "parser_cocci_menhir.ml"
26445 ) = Obj.magic _1 in
26446 let _startpos = _startpos__1_ in
26447 let _endpos = _endpos__1_ in
26448 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26449 # 1396 "parser_cocci_menhir.mly"
26450 ( let (x,clt) = _1 in
26451 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26452 # 26453 "parser_cocci_menhir.ml"
26453 in
26454 _menhir_env.MenhirLib.EngineTypes.stack <- {
26455 MenhirLib.EngineTypes.state = _menhir_s;
26456 MenhirLib.EngineTypes.semv = Obj.repr _v;
26457 MenhirLib.EngineTypes.startp = _startpos;
26458 MenhirLib.EngineTypes.endp = _endpos;
26459 MenhirLib.EngineTypes.next = _menhir_stack;
26460 });
26461 (fun _menhir_env ->
26462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26463 let {
26464 MenhirLib.EngineTypes.state = _menhir_s;
26465 MenhirLib.EngineTypes.semv = _1;
26466 MenhirLib.EngineTypes.startp = _startpos__1_;
26467 MenhirLib.EngineTypes.endp = _endpos__1_;
26468 MenhirLib.EngineTypes.next = _menhir_stack;
26469 } = _menhir_stack in
26470 let _1 : (
26471 # 110 "parser_cocci_menhir.mly"
26472 (string * Data.clt)
26473 # 26474 "parser_cocci_menhir.ml"
26474 ) = Obj.magic _1 in
26475 let _startpos = _startpos__1_ in
26476 let _endpos = _endpos__1_ in
26477 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26478 # 1399 "parser_cocci_menhir.mly"
26479 ( let (x,clt) = _1 in
26480 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26481 # 26482 "parser_cocci_menhir.ml"
26482 in
26483 _menhir_env.MenhirLib.EngineTypes.stack <- {
26484 MenhirLib.EngineTypes.state = _menhir_s;
26485 MenhirLib.EngineTypes.semv = Obj.repr _v;
26486 MenhirLib.EngineTypes.startp = _startpos;
26487 MenhirLib.EngineTypes.endp = _endpos;
26488 MenhirLib.EngineTypes.next = _menhir_stack;
26489 });
26490 (fun _menhir_env ->
26491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26492 let {
26493 MenhirLib.EngineTypes.state = _menhir_s;
26494 MenhirLib.EngineTypes.semv = _1;
26495 MenhirLib.EngineTypes.startp = _startpos__1_;
26496 MenhirLib.EngineTypes.endp = _endpos__1_;
26497 MenhirLib.EngineTypes.next = _menhir_stack;
26498 } = _menhir_stack in
26499 let _1 : (
26500 # 110 "parser_cocci_menhir.mly"
26501 (string * Data.clt)
26502 # 26503 "parser_cocci_menhir.ml"
26503 ) = Obj.magic _1 in
26504 let _startpos = _startpos__1_ in
26505 let _endpos = _endpos__1_ in
26506 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26507 # 1402 "parser_cocci_menhir.mly"
26508 ( let (x,clt) = _1 in
26509 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26510 # 26511 "parser_cocci_menhir.ml"
26511 in
26512 _menhir_env.MenhirLib.EngineTypes.stack <- {
26513 MenhirLib.EngineTypes.state = _menhir_s;
26514 MenhirLib.EngineTypes.semv = Obj.repr _v;
26515 MenhirLib.EngineTypes.startp = _startpos;
26516 MenhirLib.EngineTypes.endp = _endpos;
26517 MenhirLib.EngineTypes.next = _menhir_stack;
26518 });
26519 (fun _menhir_env ->
26520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26521 let {
26522 MenhirLib.EngineTypes.state = _menhir_s;
26523 MenhirLib.EngineTypes.semv = _1;
26524 MenhirLib.EngineTypes.startp = _startpos__1_;
26525 MenhirLib.EngineTypes.endp = _endpos__1_;
26526 MenhirLib.EngineTypes.next = _menhir_stack;
26527 } = _menhir_stack in
26528 let _1 : (
26529 # 90 "parser_cocci_menhir.mly"
26530 (Parse_aux.typed_expinfo)
26531 # 26532 "parser_cocci_menhir.ml"
26532 ) = Obj.magic _1 in
26533 let _startpos = _startpos__1_ in
26534 let _endpos = _endpos__1_ in
26535 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26536 # 1405 "parser_cocci_menhir.mly"
26537 ( let (nm,constraints,pure,ty,clt) = _1 in
26538 Ast0.wrap
26539 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26540 # 26541 "parser_cocci_menhir.ml"
26541 in
26542 _menhir_env.MenhirLib.EngineTypes.stack <- {
26543 MenhirLib.EngineTypes.state = _menhir_s;
26544 MenhirLib.EngineTypes.semv = Obj.repr _v;
26545 MenhirLib.EngineTypes.startp = _startpos;
26546 MenhirLib.EngineTypes.endp = _endpos;
26547 MenhirLib.EngineTypes.next = _menhir_stack;
26548 });
26549 (fun _menhir_env ->
26550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26551 let {
26552 MenhirLib.EngineTypes.state = _menhir_s;
26553 MenhirLib.EngineTypes.semv = _1;
26554 MenhirLib.EngineTypes.startp = _startpos__1_;
26555 MenhirLib.EngineTypes.endp = _endpos__1_;
26556 MenhirLib.EngineTypes.next = _menhir_stack;
26557 } = _menhir_stack in
26558 let _1 : (
26559 # 86 "parser_cocci_menhir.mly"
26560 (Parse_aux.expinfo)
26561 # 26562 "parser_cocci_menhir.ml"
26562 ) = Obj.magic _1 in
26563 let _startpos = _startpos__1_ in
26564 let _endpos = _endpos__1_ in
26565 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26566 # 1409 "parser_cocci_menhir.mly"
26567 ( let (nm,constraints,pure,clt) = _1 in
26568 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26569 # 26570 "parser_cocci_menhir.ml"
26570 in
26571 _menhir_env.MenhirLib.EngineTypes.stack <- {
26572 MenhirLib.EngineTypes.state = _menhir_s;
26573 MenhirLib.EngineTypes.semv = Obj.repr _v;
26574 MenhirLib.EngineTypes.startp = _startpos;
26575 MenhirLib.EngineTypes.endp = _endpos;
26576 MenhirLib.EngineTypes.next = _menhir_stack;
26577 });
26578 (fun _menhir_env ->
26579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26580 let {
26581 MenhirLib.EngineTypes.state = _menhir_s;
26582 MenhirLib.EngineTypes.semv = _1;
26583 MenhirLib.EngineTypes.startp = _startpos__1_;
26584 MenhirLib.EngineTypes.endp = _endpos__1_;
26585 MenhirLib.EngineTypes.next = _menhir_stack;
26586 } = _menhir_stack in
26587 let _1 : (
26588 # 90 "parser_cocci_menhir.mly"
26589 (Parse_aux.typed_expinfo)
26590 # 26591 "parser_cocci_menhir.ml"
26591 ) = Obj.magic _1 in
26592 let _startpos = _startpos__1_ in
26593 let _endpos = _endpos__1_ in
26594 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26595 # 1412 "parser_cocci_menhir.mly"
26596 ( let (nm,constraints,pure,ty,clt) = _1 in
26597 Ast0.wrap
26598 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
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.state = _menhir_s;
26612 MenhirLib.EngineTypes.semv = _1;
26613 MenhirLib.EngineTypes.startp = _startpos__1_;
26614 MenhirLib.EngineTypes.endp = _endpos__1_;
26615 MenhirLib.EngineTypes.next = _menhir_stack;
26616 } = _menhir_stack in
26617 let _1 : (
26618 # 90 "parser_cocci_menhir.mly"
26619 (Parse_aux.typed_expinfo)
26620 # 26621 "parser_cocci_menhir.ml"
26621 ) = Obj.magic _1 in
26622 let _startpos = _startpos__1_ in
26623 let _endpos = _endpos__1_ in
26624 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26625 # 1416 "parser_cocci_menhir.mly"
26626 ( let (nm,constraints,pure,ty,clt) = _1 in
26627 Ast0.wrap
26628 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26629 # 26630 "parser_cocci_menhir.ml"
26630 in
26631 _menhir_env.MenhirLib.EngineTypes.stack <- {
26632 MenhirLib.EngineTypes.state = _menhir_s;
26633 MenhirLib.EngineTypes.semv = Obj.repr _v;
26634 MenhirLib.EngineTypes.startp = _startpos;
26635 MenhirLib.EngineTypes.endp = _endpos;
26636 MenhirLib.EngineTypes.next = _menhir_stack;
26637 });
26638 (fun _menhir_env ->
26639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26640 let {
26641 MenhirLib.EngineTypes.state = _menhir_s;
26642 MenhirLib.EngineTypes.semv = _1;
26643 MenhirLib.EngineTypes.startp = _startpos__1_;
26644 MenhirLib.EngineTypes.endp = _endpos__1_;
26645 MenhirLib.EngineTypes.next = _menhir_stack;
26646 } = _menhir_stack in
26647 let _1 : (
26648 # 90 "parser_cocci_menhir.mly"
26649 (Parse_aux.typed_expinfo)
26650 # 26651 "parser_cocci_menhir.ml"
26651 ) = Obj.magic _1 in
26652 let _startpos = _startpos__1_ in
26653 let _endpos = _endpos__1_ in
26654 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26655 # 1420 "parser_cocci_menhir.mly"
26656 ( let (nm,constraints,pure,ty,clt) = _1 in
26657 Ast0.wrap
26658 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26659 # 26660 "parser_cocci_menhir.ml"
26660 in
26661 _menhir_env.MenhirLib.EngineTypes.stack <- {
26662 MenhirLib.EngineTypes.state = _menhir_s;
26663 MenhirLib.EngineTypes.semv = Obj.repr _v;
26664 MenhirLib.EngineTypes.startp = _startpos;
26665 MenhirLib.EngineTypes.endp = _endpos;
26666 MenhirLib.EngineTypes.next = _menhir_stack;
26667 });
26668 (fun _menhir_env ->
26669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26670 let {
26671 MenhirLib.EngineTypes.semv = _3;
26672 MenhirLib.EngineTypes.startp = _startpos__3_;
26673 MenhirLib.EngineTypes.endp = _endpos__3_;
26674 MenhirLib.EngineTypes.next = {
26675 MenhirLib.EngineTypes.semv = _2;
26676 MenhirLib.EngineTypes.startp = _startpos__2_;
26677 MenhirLib.EngineTypes.endp = _endpos__2_;
26678 MenhirLib.EngineTypes.next = {
26679 MenhirLib.EngineTypes.state = _menhir_s;
26680 MenhirLib.EngineTypes.semv = _1;
26681 MenhirLib.EngineTypes.startp = _startpos__1_;
26682 MenhirLib.EngineTypes.endp = _endpos__1_;
26683 MenhirLib.EngineTypes.next = _menhir_stack;
26684 };
26685 };
26686 } = _menhir_stack in
26687 let _3 : (
26688 # 100 "parser_cocci_menhir.mly"
26689 (Data.clt)
26690 # 26691 "parser_cocci_menhir.ml"
26691 ) = Obj.magic _3 in
26692 let _2 : 'tv_eexpr = Obj.magic _2 in
26693 let _1 : (
26694 # 99 "parser_cocci_menhir.mly"
26695 (Data.clt)
26696 # 26697 "parser_cocci_menhir.ml"
26697 ) = Obj.magic _1 in
26698 let _startpos = _startpos__1_ in
26699 let _endpos = _endpos__3_ in
26700 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26701 # 1424 "parser_cocci_menhir.mly"
26702 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26703 P.clt2mcode ")" _3)) )
26704 # 26705 "parser_cocci_menhir.ml"
26705 in
26706 _menhir_env.MenhirLib.EngineTypes.stack <- {
26707 MenhirLib.EngineTypes.state = _menhir_s;
26708 MenhirLib.EngineTypes.semv = Obj.repr _v;
26709 MenhirLib.EngineTypes.startp = _startpos;
26710 MenhirLib.EngineTypes.endp = _endpos;
26711 MenhirLib.EngineTypes.next = _menhir_stack;
26712 });
26713 (fun _menhir_env ->
26714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26715 let {
26716 MenhirLib.EngineTypes.semv = _3;
26717 MenhirLib.EngineTypes.startp = _startpos__3_;
26718 MenhirLib.EngineTypes.endp = _endpos__3_;
26719 MenhirLib.EngineTypes.next = {
26720 MenhirLib.EngineTypes.semv = _2;
26721 MenhirLib.EngineTypes.startp = _startpos__2_;
26722 MenhirLib.EngineTypes.endp = _endpos__2_;
26723 MenhirLib.EngineTypes.next = {
26724 MenhirLib.EngineTypes.state = _menhir_s;
26725 MenhirLib.EngineTypes.semv = _1;
26726 MenhirLib.EngineTypes.startp = _startpos__1_;
26727 MenhirLib.EngineTypes.endp = _endpos__1_;
26728 MenhirLib.EngineTypes.next = _menhir_stack;
26729 };
26730 };
26731 } = _menhir_stack in
26732 let _3 : (
26733 # 100 "parser_cocci_menhir.mly"
26734 (Data.clt)
26735 # 26736 "parser_cocci_menhir.ml"
26736 ) = Obj.magic _3 in
26737 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26738 let _1 : (
26739 # 99 "parser_cocci_menhir.mly"
26740 (Data.clt)
26741 # 26742 "parser_cocci_menhir.ml"
26742 ) = Obj.magic _1 in
26743 let _startpos = _startpos__1_ in
26744 let _endpos = _endpos__3_ in
26745 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26746 # 1427 "parser_cocci_menhir.mly"
26747 ( let (mids,code) = _2 in
26748 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26749 code, mids,
26750 P.clt2mcode ")" _3)) )
26751 # 26752 "parser_cocci_menhir.ml"
26752 in
26753 _menhir_env.MenhirLib.EngineTypes.stack <- {
26754 MenhirLib.EngineTypes.state = _menhir_s;
26755 MenhirLib.EngineTypes.semv = Obj.repr _v;
26756 MenhirLib.EngineTypes.startp = _startpos;
26757 MenhirLib.EngineTypes.endp = _endpos;
26758 MenhirLib.EngineTypes.next = _menhir_stack;
26759 });
26760 (fun _menhir_env ->
26761 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26762 let {
26763 MenhirLib.EngineTypes.state = _menhir_s;
26764 MenhirLib.EngineTypes.semv = _1;
26765 MenhirLib.EngineTypes.startp = _startpos__1_;
26766 MenhirLib.EngineTypes.endp = _endpos__1_;
26767 MenhirLib.EngineTypes.next = _menhir_stack;
26768 } = _menhir_stack in
26769 let _1 : 'tv_nest_expressions = Obj.magic _1 in
26770 let _startpos = _startpos__1_ in
26771 let _endpos = _endpos__1_ in
26772 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26773 # 1431 "parser_cocci_menhir.mly"
26774 ( _1 )
26775 # 26776 "parser_cocci_menhir.ml"
26776 in
26777 _menhir_env.MenhirLib.EngineTypes.stack <- {
26778 MenhirLib.EngineTypes.state = _menhir_s;
26779 MenhirLib.EngineTypes.semv = Obj.repr _v;
26780 MenhirLib.EngineTypes.startp = _startpos;
26781 MenhirLib.EngineTypes.endp = _endpos;
26782 MenhirLib.EngineTypes.next = _menhir_stack;
26783 });
26784 (fun _menhir_env ->
26785 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26786 let {
26787 MenhirLib.EngineTypes.state = _menhir_s;
26788 MenhirLib.EngineTypes.semv = _1;
26789 MenhirLib.EngineTypes.startp = _startpos__1_;
26790 MenhirLib.EngineTypes.endp = _endpos__1_;
26791 MenhirLib.EngineTypes.next = _menhir_stack;
26792 } = _menhir_stack in
26793 let _1 : 'tv_func_ident = Obj.magic _1 in
26794 let _startpos = _startpos__1_ in
26795 let _endpos = _endpos__1_ in
26796 let _v : 'tv_primary_expr_expr_invalid_ =
26797 # 1391 "parser_cocci_menhir.mly"
26798 ( Ast0.wrap(Ast0.Ident(_1)) )
26799 # 26800 "parser_cocci_menhir.ml"
26800 in
26801 _menhir_env.MenhirLib.EngineTypes.stack <- {
26802 MenhirLib.EngineTypes.state = _menhir_s;
26803 MenhirLib.EngineTypes.semv = Obj.repr _v;
26804 MenhirLib.EngineTypes.startp = _startpos;
26805 MenhirLib.EngineTypes.endp = _endpos;
26806 MenhirLib.EngineTypes.next = _menhir_stack;
26807 });
26808 (fun _menhir_env ->
26809 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26810 let {
26811 MenhirLib.EngineTypes.state = _menhir_s;
26812 MenhirLib.EngineTypes.semv = _1;
26813 MenhirLib.EngineTypes.startp = _startpos__1_;
26814 MenhirLib.EngineTypes.endp = _endpos__1_;
26815 MenhirLib.EngineTypes.next = _menhir_stack;
26816 } = _menhir_stack in
26817 let _1 : (
26818 # 110 "parser_cocci_menhir.mly"
26819 (string * Data.clt)
26820 # 26821 "parser_cocci_menhir.ml"
26821 ) = Obj.magic _1 in
26822 let _startpos = _startpos__1_ in
26823 let _endpos = _endpos__1_ in
26824 let _v : 'tv_primary_expr_expr_invalid_ =
26825 # 1393 "parser_cocci_menhir.mly"
26826 ( let (x,clt) = _1 in
26827 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26828 # 26829 "parser_cocci_menhir.ml"
26829 in
26830 _menhir_env.MenhirLib.EngineTypes.stack <- {
26831 MenhirLib.EngineTypes.state = _menhir_s;
26832 MenhirLib.EngineTypes.semv = Obj.repr _v;
26833 MenhirLib.EngineTypes.startp = _startpos;
26834 MenhirLib.EngineTypes.endp = _endpos;
26835 MenhirLib.EngineTypes.next = _menhir_stack;
26836 });
26837 (fun _menhir_env ->
26838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26839 let {
26840 MenhirLib.EngineTypes.state = _menhir_s;
26841 MenhirLib.EngineTypes.semv = _1;
26842 MenhirLib.EngineTypes.startp = _startpos__1_;
26843 MenhirLib.EngineTypes.endp = _endpos__1_;
26844 MenhirLib.EngineTypes.next = _menhir_stack;
26845 } = _menhir_stack in
26846 let _1 : (
26847 # 110 "parser_cocci_menhir.mly"
26848 (string * Data.clt)
26849 # 26850 "parser_cocci_menhir.ml"
26850 ) = Obj.magic _1 in
26851 let _startpos = _startpos__1_ in
26852 let _endpos = _endpos__1_ in
26853 let _v : 'tv_primary_expr_expr_invalid_ =
26854 # 1396 "parser_cocci_menhir.mly"
26855 ( let (x,clt) = _1 in
26856 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26857 # 26858 "parser_cocci_menhir.ml"
26858 in
26859 _menhir_env.MenhirLib.EngineTypes.stack <- {
26860 MenhirLib.EngineTypes.state = _menhir_s;
26861 MenhirLib.EngineTypes.semv = Obj.repr _v;
26862 MenhirLib.EngineTypes.startp = _startpos;
26863 MenhirLib.EngineTypes.endp = _endpos;
26864 MenhirLib.EngineTypes.next = _menhir_stack;
26865 });
26866 (fun _menhir_env ->
26867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26868 let {
26869 MenhirLib.EngineTypes.state = _menhir_s;
26870 MenhirLib.EngineTypes.semv = _1;
26871 MenhirLib.EngineTypes.startp = _startpos__1_;
26872 MenhirLib.EngineTypes.endp = _endpos__1_;
26873 MenhirLib.EngineTypes.next = _menhir_stack;
26874 } = _menhir_stack in
26875 let _1 : (
26876 # 110 "parser_cocci_menhir.mly"
26877 (string * Data.clt)
26878 # 26879 "parser_cocci_menhir.ml"
26879 ) = Obj.magic _1 in
26880 let _startpos = _startpos__1_ in
26881 let _endpos = _endpos__1_ in
26882 let _v : 'tv_primary_expr_expr_invalid_ =
26883 # 1399 "parser_cocci_menhir.mly"
26884 ( let (x,clt) = _1 in
26885 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26886 # 26887 "parser_cocci_menhir.ml"
26887 in
26888 _menhir_env.MenhirLib.EngineTypes.stack <- {
26889 MenhirLib.EngineTypes.state = _menhir_s;
26890 MenhirLib.EngineTypes.semv = Obj.repr _v;
26891 MenhirLib.EngineTypes.startp = _startpos;
26892 MenhirLib.EngineTypes.endp = _endpos;
26893 MenhirLib.EngineTypes.next = _menhir_stack;
26894 });
26895 (fun _menhir_env ->
26896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26897 let {
26898 MenhirLib.EngineTypes.state = _menhir_s;
26899 MenhirLib.EngineTypes.semv = _1;
26900 MenhirLib.EngineTypes.startp = _startpos__1_;
26901 MenhirLib.EngineTypes.endp = _endpos__1_;
26902 MenhirLib.EngineTypes.next = _menhir_stack;
26903 } = _menhir_stack in
26904 let _1 : (
26905 # 110 "parser_cocci_menhir.mly"
26906 (string * Data.clt)
26907 # 26908 "parser_cocci_menhir.ml"
26908 ) = Obj.magic _1 in
26909 let _startpos = _startpos__1_ in
26910 let _endpos = _endpos__1_ in
26911 let _v : 'tv_primary_expr_expr_invalid_ =
26912 # 1402 "parser_cocci_menhir.mly"
26913 ( let (x,clt) = _1 in
26914 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26915 # 26916 "parser_cocci_menhir.ml"
26916 in
26917 _menhir_env.MenhirLib.EngineTypes.stack <- {
26918 MenhirLib.EngineTypes.state = _menhir_s;
26919 MenhirLib.EngineTypes.semv = Obj.repr _v;
26920 MenhirLib.EngineTypes.startp = _startpos;
26921 MenhirLib.EngineTypes.endp = _endpos;
26922 MenhirLib.EngineTypes.next = _menhir_stack;
26923 });
26924 (fun _menhir_env ->
26925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26926 let {
26927 MenhirLib.EngineTypes.state = _menhir_s;
26928 MenhirLib.EngineTypes.semv = _1;
26929 MenhirLib.EngineTypes.startp = _startpos__1_;
26930 MenhirLib.EngineTypes.endp = _endpos__1_;
26931 MenhirLib.EngineTypes.next = _menhir_stack;
26932 } = _menhir_stack in
26933 let _1 : (
26934 # 90 "parser_cocci_menhir.mly"
26935 (Parse_aux.typed_expinfo)
26936 # 26937 "parser_cocci_menhir.ml"
26937 ) = Obj.magic _1 in
26938 let _startpos = _startpos__1_ in
26939 let _endpos = _endpos__1_ in
26940 let _v : 'tv_primary_expr_expr_invalid_ =
26941 # 1405 "parser_cocci_menhir.mly"
26942 ( let (nm,constraints,pure,ty,clt) = _1 in
26943 Ast0.wrap
26944 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26945 # 26946 "parser_cocci_menhir.ml"
26946 in
26947 _menhir_env.MenhirLib.EngineTypes.stack <- {
26948 MenhirLib.EngineTypes.state = _menhir_s;
26949 MenhirLib.EngineTypes.semv = Obj.repr _v;
26950 MenhirLib.EngineTypes.startp = _startpos;
26951 MenhirLib.EngineTypes.endp = _endpos;
26952 MenhirLib.EngineTypes.next = _menhir_stack;
26953 });
26954 (fun _menhir_env ->
26955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26956 let {
26957 MenhirLib.EngineTypes.state = _menhir_s;
26958 MenhirLib.EngineTypes.semv = _1;
26959 MenhirLib.EngineTypes.startp = _startpos__1_;
26960 MenhirLib.EngineTypes.endp = _endpos__1_;
26961 MenhirLib.EngineTypes.next = _menhir_stack;
26962 } = _menhir_stack in
26963 let _1 : (
26964 # 86 "parser_cocci_menhir.mly"
26965 (Parse_aux.expinfo)
26966 # 26967 "parser_cocci_menhir.ml"
26967 ) = Obj.magic _1 in
26968 let _startpos = _startpos__1_ in
26969 let _endpos = _endpos__1_ in
26970 let _v : 'tv_primary_expr_expr_invalid_ =
26971 # 1409 "parser_cocci_menhir.mly"
26972 ( let (nm,constraints,pure,clt) = _1 in
26973 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26974 # 26975 "parser_cocci_menhir.ml"
26975 in
26976 _menhir_env.MenhirLib.EngineTypes.stack <- {
26977 MenhirLib.EngineTypes.state = _menhir_s;
26978 MenhirLib.EngineTypes.semv = Obj.repr _v;
26979 MenhirLib.EngineTypes.startp = _startpos;
26980 MenhirLib.EngineTypes.endp = _endpos;
26981 MenhirLib.EngineTypes.next = _menhir_stack;
26982 });
26983 (fun _menhir_env ->
26984 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26985 let {
26986 MenhirLib.EngineTypes.state = _menhir_s;
26987 MenhirLib.EngineTypes.semv = _1;
26988 MenhirLib.EngineTypes.startp = _startpos__1_;
26989 MenhirLib.EngineTypes.endp = _endpos__1_;
26990 MenhirLib.EngineTypes.next = _menhir_stack;
26991 } = _menhir_stack in
26992 let _1 : (
26993 # 90 "parser_cocci_menhir.mly"
26994 (Parse_aux.typed_expinfo)
26995 # 26996 "parser_cocci_menhir.ml"
26996 ) = Obj.magic _1 in
26997 let _startpos = _startpos__1_ in
26998 let _endpos = _endpos__1_ in
26999 let _v : 'tv_primary_expr_expr_invalid_ =
27000 # 1412 "parser_cocci_menhir.mly"
27001 ( let (nm,constraints,pure,ty,clt) = _1 in
27002 Ast0.wrap
27003 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
27004 # 27005 "parser_cocci_menhir.ml"
27005 in
27006 _menhir_env.MenhirLib.EngineTypes.stack <- {
27007 MenhirLib.EngineTypes.state = _menhir_s;
27008 MenhirLib.EngineTypes.semv = Obj.repr _v;
27009 MenhirLib.EngineTypes.startp = _startpos;
27010 MenhirLib.EngineTypes.endp = _endpos;
27011 MenhirLib.EngineTypes.next = _menhir_stack;
27012 });
27013 (fun _menhir_env ->
27014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27015 let {
27016 MenhirLib.EngineTypes.state = _menhir_s;
27017 MenhirLib.EngineTypes.semv = _1;
27018 MenhirLib.EngineTypes.startp = _startpos__1_;
27019 MenhirLib.EngineTypes.endp = _endpos__1_;
27020 MenhirLib.EngineTypes.next = _menhir_stack;
27021 } = _menhir_stack in
27022 let _1 : (
27023 # 90 "parser_cocci_menhir.mly"
27024 (Parse_aux.typed_expinfo)
27025 # 27026 "parser_cocci_menhir.ml"
27026 ) = Obj.magic _1 in
27027 let _startpos = _startpos__1_ in
27028 let _endpos = _endpos__1_ in
27029 let _v : 'tv_primary_expr_expr_invalid_ =
27030 # 1416 "parser_cocci_menhir.mly"
27031 ( let (nm,constraints,pure,ty,clt) = _1 in
27032 Ast0.wrap
27033 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
27034 # 27035 "parser_cocci_menhir.ml"
27035 in
27036 _menhir_env.MenhirLib.EngineTypes.stack <- {
27037 MenhirLib.EngineTypes.state = _menhir_s;
27038 MenhirLib.EngineTypes.semv = Obj.repr _v;
27039 MenhirLib.EngineTypes.startp = _startpos;
27040 MenhirLib.EngineTypes.endp = _endpos;
27041 MenhirLib.EngineTypes.next = _menhir_stack;
27042 });
27043 (fun _menhir_env ->
27044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27045 let {
27046 MenhirLib.EngineTypes.state = _menhir_s;
27047 MenhirLib.EngineTypes.semv = _1;
27048 MenhirLib.EngineTypes.startp = _startpos__1_;
27049 MenhirLib.EngineTypes.endp = _endpos__1_;
27050 MenhirLib.EngineTypes.next = _menhir_stack;
27051 } = _menhir_stack in
27052 let _1 : (
27053 # 90 "parser_cocci_menhir.mly"
27054 (Parse_aux.typed_expinfo)
27055 # 27056 "parser_cocci_menhir.ml"
27056 ) = Obj.magic _1 in
27057 let _startpos = _startpos__1_ in
27058 let _endpos = _endpos__1_ in
27059 let _v : 'tv_primary_expr_expr_invalid_ =
27060 # 1420 "parser_cocci_menhir.mly"
27061 ( let (nm,constraints,pure,ty,clt) = _1 in
27062 Ast0.wrap
27063 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
27064 # 27065 "parser_cocci_menhir.ml"
27065 in
27066 _menhir_env.MenhirLib.EngineTypes.stack <- {
27067 MenhirLib.EngineTypes.state = _menhir_s;
27068 MenhirLib.EngineTypes.semv = Obj.repr _v;
27069 MenhirLib.EngineTypes.startp = _startpos;
27070 MenhirLib.EngineTypes.endp = _endpos;
27071 MenhirLib.EngineTypes.next = _menhir_stack;
27072 });
27073 (fun _menhir_env ->
27074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27075 let {
27076 MenhirLib.EngineTypes.semv = _3;
27077 MenhirLib.EngineTypes.startp = _startpos__3_;
27078 MenhirLib.EngineTypes.endp = _endpos__3_;
27079 MenhirLib.EngineTypes.next = {
27080 MenhirLib.EngineTypes.semv = _2;
27081 MenhirLib.EngineTypes.startp = _startpos__2_;
27082 MenhirLib.EngineTypes.endp = _endpos__2_;
27083 MenhirLib.EngineTypes.next = {
27084 MenhirLib.EngineTypes.state = _menhir_s;
27085 MenhirLib.EngineTypes.semv = _1;
27086 MenhirLib.EngineTypes.startp = _startpos__1_;
27087 MenhirLib.EngineTypes.endp = _endpos__1_;
27088 MenhirLib.EngineTypes.next = _menhir_stack;
27089 };
27090 };
27091 } = _menhir_stack in
27092 let _3 : (
27093 # 100 "parser_cocci_menhir.mly"
27094 (Data.clt)
27095 # 27096 "parser_cocci_menhir.ml"
27096 ) = Obj.magic _3 in
27097 let _2 : 'tv_eexpr = Obj.magic _2 in
27098 let _1 : (
27099 # 99 "parser_cocci_menhir.mly"
27100 (Data.clt)
27101 # 27102 "parser_cocci_menhir.ml"
27102 ) = Obj.magic _1 in
27103 let _startpos = _startpos__1_ in
27104 let _endpos = _endpos__3_ in
27105 let _v : 'tv_primary_expr_expr_invalid_ =
27106 # 1424 "parser_cocci_menhir.mly"
27107 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
27108 P.clt2mcode ")" _3)) )
27109 # 27110 "parser_cocci_menhir.ml"
27110 in
27111 _menhir_env.MenhirLib.EngineTypes.stack <- {
27112 MenhirLib.EngineTypes.state = _menhir_s;
27113 MenhirLib.EngineTypes.semv = Obj.repr _v;
27114 MenhirLib.EngineTypes.startp = _startpos;
27115 MenhirLib.EngineTypes.endp = _endpos;
27116 MenhirLib.EngineTypes.next = _menhir_stack;
27117 });
27118 (fun _menhir_env ->
27119 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27120 let {
27121 MenhirLib.EngineTypes.semv = _3;
27122 MenhirLib.EngineTypes.startp = _startpos__3_;
27123 MenhirLib.EngineTypes.endp = _endpos__3_;
27124 MenhirLib.EngineTypes.next = {
27125 MenhirLib.EngineTypes.semv = _2;
27126 MenhirLib.EngineTypes.startp = _startpos__2_;
27127 MenhirLib.EngineTypes.endp = _endpos__2_;
27128 MenhirLib.EngineTypes.next = {
27129 MenhirLib.EngineTypes.state = _menhir_s;
27130 MenhirLib.EngineTypes.semv = _1;
27131 MenhirLib.EngineTypes.startp = _startpos__1_;
27132 MenhirLib.EngineTypes.endp = _endpos__1_;
27133 MenhirLib.EngineTypes.next = _menhir_stack;
27134 };
27135 };
27136 } = _menhir_stack in
27137 let _3 : (
27138 # 100 "parser_cocci_menhir.mly"
27139 (Data.clt)
27140 # 27141 "parser_cocci_menhir.ml"
27141 ) = Obj.magic _3 in
27142 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
27143 let _1 : (
27144 # 99 "parser_cocci_menhir.mly"
27145 (Data.clt)
27146 # 27147 "parser_cocci_menhir.ml"
27147 ) = Obj.magic _1 in
27148 let _startpos = _startpos__1_ in
27149 let _endpos = _endpos__3_ in
27150 let _v : 'tv_primary_expr_expr_invalid_ =
27151 # 1427 "parser_cocci_menhir.mly"
27152 ( let (mids,code) = _2 in
27153 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
27154 code, mids,
27155 P.clt2mcode ")" _3)) )
27156 # 27157 "parser_cocci_menhir.ml"
27157 in
27158 _menhir_env.MenhirLib.EngineTypes.stack <- {
27159 MenhirLib.EngineTypes.state = _menhir_s;
27160 MenhirLib.EngineTypes.semv = Obj.repr _v;
27161 MenhirLib.EngineTypes.startp = _startpos;
27162 MenhirLib.EngineTypes.endp = _endpos;
27163 MenhirLib.EngineTypes.next = _menhir_stack;
27164 });
27165 (fun _menhir_env ->
27166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27167 let {
27168 MenhirLib.EngineTypes.state = _menhir_s;
27169 MenhirLib.EngineTypes.semv = _1;
27170 MenhirLib.EngineTypes.startp = _startpos__1_;
27171 MenhirLib.EngineTypes.endp = _endpos__1_;
27172 MenhirLib.EngineTypes.next = _menhir_stack;
27173 } = _menhir_stack in
27174 let _1 : 'tv_invalid = Obj.magic _1 in
27175 let _startpos = _startpos__1_ in
27176 let _endpos = _endpos__1_ in
27177 let _v : 'tv_primary_expr_expr_invalid_ =
27178 # 1431 "parser_cocci_menhir.mly"
27179 ( _1 )
27180 # 27181 "parser_cocci_menhir.ml"
27181 in
27182 _menhir_env.MenhirLib.EngineTypes.stack <- {
27183 MenhirLib.EngineTypes.state = _menhir_s;
27184 MenhirLib.EngineTypes.semv = Obj.repr _v;
27185 MenhirLib.EngineTypes.startp = _startpos;
27186 MenhirLib.EngineTypes.endp = _endpos;
27187 MenhirLib.EngineTypes.next = _menhir_stack;
27188 });
27189 (fun _menhir_env ->
27190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27191 let {
27192 MenhirLib.EngineTypes.state = _menhir_s;
27193 MenhirLib.EngineTypes.startp = _startpos__1_;
27194 MenhirLib.EngineTypes.endp = _endpos__1_;
27195 MenhirLib.EngineTypes.next = _menhir_stack;
27196 } = _menhir_stack in
27197 let _startpos = _startpos__1_ in
27198 let _endpos = _endpos__1_ in
27199 let _v : 'tv_pure =
27200 # 213 "parser_cocci_menhir.mly"
27201 ( Ast0.Pure )
27202 # 27203 "parser_cocci_menhir.ml"
27203 in
27204 _menhir_env.MenhirLib.EngineTypes.stack <- {
27205 MenhirLib.EngineTypes.state = _menhir_s;
27206 MenhirLib.EngineTypes.semv = Obj.repr _v;
27207 MenhirLib.EngineTypes.startp = _startpos;
27208 MenhirLib.EngineTypes.endp = _endpos;
27209 MenhirLib.EngineTypes.next = _menhir_stack;
27210 });
27211 (fun _menhir_env ->
27212 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27213 let {
27214 MenhirLib.EngineTypes.state = _menhir_s;
27215 MenhirLib.EngineTypes.startp = _startpos__1_;
27216 MenhirLib.EngineTypes.endp = _endpos__1_;
27217 MenhirLib.EngineTypes.next = _menhir_stack;
27218 } = _menhir_stack in
27219 let _startpos = _startpos__1_ in
27220 let _endpos = _endpos__1_ in
27221 let _v : 'tv_pure =
27222 # 214 "parser_cocci_menhir.mly"
27223 ( Ast0.Context )
27224 # 27225 "parser_cocci_menhir.ml"
27225 in
27226 _menhir_env.MenhirLib.EngineTypes.stack <- {
27227 MenhirLib.EngineTypes.state = _menhir_s;
27228 MenhirLib.EngineTypes.semv = Obj.repr _v;
27229 MenhirLib.EngineTypes.startp = _startpos;
27230 MenhirLib.EngineTypes.endp = _endpos;
27231 MenhirLib.EngineTypes.next = _menhir_stack;
27232 });
27233 (fun _menhir_env ->
27234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27235 let {
27236 MenhirLib.EngineTypes.startp = _startpos__2_;
27237 MenhirLib.EngineTypes.endp = _endpos__2_;
27238 MenhirLib.EngineTypes.next = {
27239 MenhirLib.EngineTypes.state = _menhir_s;
27240 MenhirLib.EngineTypes.startp = _startpos__1_;
27241 MenhirLib.EngineTypes.endp = _endpos__1_;
27242 MenhirLib.EngineTypes.next = _menhir_stack;
27243 };
27244 } = _menhir_stack in
27245 let _startpos = _startpos__1_ in
27246 let _endpos = _endpos__2_ in
27247 let _v : 'tv_pure =
27248 # 215 "parser_cocci_menhir.mly"
27249 ( Ast0.PureContext )
27250 # 27251 "parser_cocci_menhir.ml"
27251 in
27252 _menhir_env.MenhirLib.EngineTypes.stack <- {
27253 MenhirLib.EngineTypes.state = _menhir_s;
27254 MenhirLib.EngineTypes.semv = Obj.repr _v;
27255 MenhirLib.EngineTypes.startp = _startpos;
27256 MenhirLib.EngineTypes.endp = _endpos;
27257 MenhirLib.EngineTypes.next = _menhir_stack;
27258 });
27259 (fun _menhir_env ->
27260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27261 let {
27262 MenhirLib.EngineTypes.startp = _startpos__2_;
27263 MenhirLib.EngineTypes.endp = _endpos__2_;
27264 MenhirLib.EngineTypes.next = {
27265 MenhirLib.EngineTypes.state = _menhir_s;
27266 MenhirLib.EngineTypes.startp = _startpos__1_;
27267 MenhirLib.EngineTypes.endp = _endpos__1_;
27268 MenhirLib.EngineTypes.next = _menhir_stack;
27269 };
27270 } = _menhir_stack in
27271 let _startpos = _startpos__1_ in
27272 let _endpos = _endpos__2_ in
27273 let _v : 'tv_pure =
27274 # 216 "parser_cocci_menhir.mly"
27275 ( Ast0.PureContext )
27276 # 27277 "parser_cocci_menhir.ml"
27277 in
27278 _menhir_env.MenhirLib.EngineTypes.stack <- {
27279 MenhirLib.EngineTypes.state = _menhir_s;
27280 MenhirLib.EngineTypes.semv = Obj.repr _v;
27281 MenhirLib.EngineTypes.startp = _startpos;
27282 MenhirLib.EngineTypes.endp = _endpos;
27283 MenhirLib.EngineTypes.next = _menhir_stack;
27284 });
27285 (fun _menhir_env ->
27286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27287 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27288 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27289 let _endpos = _startpos in
27290 let _v : 'tv_pure =
27291 # 217 "parser_cocci_menhir.mly"
27292 ( Ast0.Impure )
27293 # 27294 "parser_cocci_menhir.ml"
27294 in
27295 _menhir_env.MenhirLib.EngineTypes.stack <- {
27296 MenhirLib.EngineTypes.state = _menhir_s;
27297 MenhirLib.EngineTypes.semv = Obj.repr _v;
27298 MenhirLib.EngineTypes.startp = _startpos;
27299 MenhirLib.EngineTypes.endp = _endpos;
27300 MenhirLib.EngineTypes.next = _menhir_stack;
27301 });
27302 (fun _menhir_env ->
27303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27304 let {
27305 MenhirLib.EngineTypes.state = _menhir_s;
27306 MenhirLib.EngineTypes.semv = _1;
27307 MenhirLib.EngineTypes.startp = _startpos__1_;
27308 MenhirLib.EngineTypes.endp = _endpos__1_;
27309 MenhirLib.EngineTypes.next = _menhir_stack;
27310 } = _menhir_stack in
27311 let _1 : (
27312 # 81 "parser_cocci_menhir.mly"
27313 (string * Data.clt)
27314 # 27315 "parser_cocci_menhir.ml"
27315 ) = Obj.magic _1 in
27316 let _startpos = _startpos__1_ in
27317 let _endpos = _endpos__1_ in
27318 let _v : 'tv_pure_ident =
27319 # 1445 "parser_cocci_menhir.mly"
27320 ( _1 )
27321 # 27322 "parser_cocci_menhir.ml"
27322 in
27323 _menhir_env.MenhirLib.EngineTypes.stack <- {
27324 MenhirLib.EngineTypes.state = _menhir_s;
27325 MenhirLib.EngineTypes.semv = Obj.repr _v;
27326 MenhirLib.EngineTypes.startp = _startpos;
27327 MenhirLib.EngineTypes.endp = _endpos;
27328 MenhirLib.EngineTypes.next = _menhir_stack;
27329 });
27330 (fun _menhir_env ->
27331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27332 let {
27333 MenhirLib.EngineTypes.state = _menhir_s;
27334 MenhirLib.EngineTypes.startp = _startpos__1_;
27335 MenhirLib.EngineTypes.endp = _endpos__1_;
27336 MenhirLib.EngineTypes.next = _menhir_stack;
27337 } = _menhir_stack in
27338 let _startpos = _startpos__1_ in
27339 let _endpos = _endpos__1_ in
27340 let _v : 'tv_pure_ident_kwd =
27341 # 1448 "parser_cocci_menhir.mly"
27342 ( "identifier" )
27343 # 27344 "parser_cocci_menhir.ml"
27344 in
27345 _menhir_env.MenhirLib.EngineTypes.stack <- {
27346 MenhirLib.EngineTypes.state = _menhir_s;
27347 MenhirLib.EngineTypes.semv = Obj.repr _v;
27348 MenhirLib.EngineTypes.startp = _startpos;
27349 MenhirLib.EngineTypes.endp = _endpos;
27350 MenhirLib.EngineTypes.next = _menhir_stack;
27351 });
27352 (fun _menhir_env ->
27353 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27354 let {
27355 MenhirLib.EngineTypes.state = _menhir_s;
27356 MenhirLib.EngineTypes.startp = _startpos__1_;
27357 MenhirLib.EngineTypes.endp = _endpos__1_;
27358 MenhirLib.EngineTypes.next = _menhir_stack;
27359 } = _menhir_stack in
27360 let _startpos = _startpos__1_ in
27361 let _endpos = _endpos__1_ in
27362 let _v : 'tv_pure_ident_kwd =
27363 # 1449 "parser_cocci_menhir.mly"
27364 ( "expression" )
27365 # 27366 "parser_cocci_menhir.ml"
27366 in
27367 _menhir_env.MenhirLib.EngineTypes.stack <- {
27368 MenhirLib.EngineTypes.state = _menhir_s;
27369 MenhirLib.EngineTypes.semv = Obj.repr _v;
27370 MenhirLib.EngineTypes.startp = _startpos;
27371 MenhirLib.EngineTypes.endp = _endpos;
27372 MenhirLib.EngineTypes.next = _menhir_stack;
27373 });
27374 (fun _menhir_env ->
27375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27376 let {
27377 MenhirLib.EngineTypes.state = _menhir_s;
27378 MenhirLib.EngineTypes.startp = _startpos__1_;
27379 MenhirLib.EngineTypes.endp = _endpos__1_;
27380 MenhirLib.EngineTypes.next = _menhir_stack;
27381 } = _menhir_stack in
27382 let _startpos = _startpos__1_ in
27383 let _endpos = _endpos__1_ in
27384 let _v : 'tv_pure_ident_kwd =
27385 # 1450 "parser_cocci_menhir.mly"
27386 ( "statement" )
27387 # 27388 "parser_cocci_menhir.ml"
27388 in
27389 _menhir_env.MenhirLib.EngineTypes.stack <- {
27390 MenhirLib.EngineTypes.state = _menhir_s;
27391 MenhirLib.EngineTypes.semv = Obj.repr _v;
27392 MenhirLib.EngineTypes.startp = _startpos;
27393 MenhirLib.EngineTypes.endp = _endpos;
27394 MenhirLib.EngineTypes.next = _menhir_stack;
27395 });
27396 (fun _menhir_env ->
27397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27398 let {
27399 MenhirLib.EngineTypes.state = _menhir_s;
27400 MenhirLib.EngineTypes.startp = _startpos__1_;
27401 MenhirLib.EngineTypes.endp = _endpos__1_;
27402 MenhirLib.EngineTypes.next = _menhir_stack;
27403 } = _menhir_stack in
27404 let _startpos = _startpos__1_ in
27405 let _endpos = _endpos__1_ in
27406 let _v : 'tv_pure_ident_kwd =
27407 # 1451 "parser_cocci_menhir.mly"
27408 ( "function" )
27409 # 27410 "parser_cocci_menhir.ml"
27410 in
27411 _menhir_env.MenhirLib.EngineTypes.stack <- {
27412 MenhirLib.EngineTypes.state = _menhir_s;
27413 MenhirLib.EngineTypes.semv = Obj.repr _v;
27414 MenhirLib.EngineTypes.startp = _startpos;
27415 MenhirLib.EngineTypes.endp = _endpos;
27416 MenhirLib.EngineTypes.next = _menhir_stack;
27417 });
27418 (fun _menhir_env ->
27419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27420 let {
27421 MenhirLib.EngineTypes.state = _menhir_s;
27422 MenhirLib.EngineTypes.startp = _startpos__1_;
27423 MenhirLib.EngineTypes.endp = _endpos__1_;
27424 MenhirLib.EngineTypes.next = _menhir_stack;
27425 } = _menhir_stack in
27426 let _startpos = _startpos__1_ in
27427 let _endpos = _endpos__1_ in
27428 let _v : 'tv_pure_ident_kwd =
27429 # 1452 "parser_cocci_menhir.mly"
27430 ( "local" )
27431 # 27432 "parser_cocci_menhir.ml"
27432 in
27433 _menhir_env.MenhirLib.EngineTypes.stack <- {
27434 MenhirLib.EngineTypes.state = _menhir_s;
27435 MenhirLib.EngineTypes.semv = Obj.repr _v;
27436 MenhirLib.EngineTypes.startp = _startpos;
27437 MenhirLib.EngineTypes.endp = _endpos;
27438 MenhirLib.EngineTypes.next = _menhir_stack;
27439 });
27440 (fun _menhir_env ->
27441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27442 let {
27443 MenhirLib.EngineTypes.state = _menhir_s;
27444 MenhirLib.EngineTypes.startp = _startpos__1_;
27445 MenhirLib.EngineTypes.endp = _endpos__1_;
27446 MenhirLib.EngineTypes.next = _menhir_stack;
27447 } = _menhir_stack in
27448 let _startpos = _startpos__1_ in
27449 let _endpos = _endpos__1_ in
27450 let _v : 'tv_pure_ident_kwd =
27451 # 1453 "parser_cocci_menhir.mly"
27452 ( "type" )
27453 # 27454 "parser_cocci_menhir.ml"
27454 in
27455 _menhir_env.MenhirLib.EngineTypes.stack <- {
27456 MenhirLib.EngineTypes.state = _menhir_s;
27457 MenhirLib.EngineTypes.semv = Obj.repr _v;
27458 MenhirLib.EngineTypes.startp = _startpos;
27459 MenhirLib.EngineTypes.endp = _endpos;
27460 MenhirLib.EngineTypes.next = _menhir_stack;
27461 });
27462 (fun _menhir_env ->
27463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27464 let {
27465 MenhirLib.EngineTypes.state = _menhir_s;
27466 MenhirLib.EngineTypes.startp = _startpos__1_;
27467 MenhirLib.EngineTypes.endp = _endpos__1_;
27468 MenhirLib.EngineTypes.next = _menhir_stack;
27469 } = _menhir_stack in
27470 let _startpos = _startpos__1_ in
27471 let _endpos = _endpos__1_ in
27472 let _v : 'tv_pure_ident_kwd =
27473 # 1454 "parser_cocci_menhir.mly"
27474 ( "parameter" )
27475 # 27476 "parser_cocci_menhir.ml"
27476 in
27477 _menhir_env.MenhirLib.EngineTypes.stack <- {
27478 MenhirLib.EngineTypes.state = _menhir_s;
27479 MenhirLib.EngineTypes.semv = Obj.repr _v;
27480 MenhirLib.EngineTypes.startp = _startpos;
27481 MenhirLib.EngineTypes.endp = _endpos;
27482 MenhirLib.EngineTypes.next = _menhir_stack;
27483 });
27484 (fun _menhir_env ->
27485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27486 let {
27487 MenhirLib.EngineTypes.state = _menhir_s;
27488 MenhirLib.EngineTypes.startp = _startpos__1_;
27489 MenhirLib.EngineTypes.endp = _endpos__1_;
27490 MenhirLib.EngineTypes.next = _menhir_stack;
27491 } = _menhir_stack in
27492 let _startpos = _startpos__1_ in
27493 let _endpos = _endpos__1_ in
27494 let _v : 'tv_pure_ident_kwd =
27495 # 1455 "parser_cocci_menhir.mly"
27496 ( "idexpression" )
27497 # 27498 "parser_cocci_menhir.ml"
27498 in
27499 _menhir_env.MenhirLib.EngineTypes.stack <- {
27500 MenhirLib.EngineTypes.state = _menhir_s;
27501 MenhirLib.EngineTypes.semv = Obj.repr _v;
27502 MenhirLib.EngineTypes.startp = _startpos;
27503 MenhirLib.EngineTypes.endp = _endpos;
27504 MenhirLib.EngineTypes.next = _menhir_stack;
27505 });
27506 (fun _menhir_env ->
27507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27508 let {
27509 MenhirLib.EngineTypes.state = _menhir_s;
27510 MenhirLib.EngineTypes.startp = _startpos__1_;
27511 MenhirLib.EngineTypes.endp = _endpos__1_;
27512 MenhirLib.EngineTypes.next = _menhir_stack;
27513 } = _menhir_stack in
27514 let _startpos = _startpos__1_ in
27515 let _endpos = _endpos__1_ in
27516 let _v : 'tv_pure_ident_kwd =
27517 # 1456 "parser_cocci_menhir.mly"
27518 ( "initialiser" )
27519 # 27520 "parser_cocci_menhir.ml"
27520 in
27521 _menhir_env.MenhirLib.EngineTypes.stack <- {
27522 MenhirLib.EngineTypes.state = _menhir_s;
27523 MenhirLib.EngineTypes.semv = Obj.repr _v;
27524 MenhirLib.EngineTypes.startp = _startpos;
27525 MenhirLib.EngineTypes.endp = _endpos;
27526 MenhirLib.EngineTypes.next = _menhir_stack;
27527 });
27528 (fun _menhir_env ->
27529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27530 let {
27531 MenhirLib.EngineTypes.state = _menhir_s;
27532 MenhirLib.EngineTypes.startp = _startpos__1_;
27533 MenhirLib.EngineTypes.endp = _endpos__1_;
27534 MenhirLib.EngineTypes.next = _menhir_stack;
27535 } = _menhir_stack in
27536 let _startpos = _startpos__1_ in
27537 let _endpos = _endpos__1_ in
27538 let _v : 'tv_pure_ident_kwd =
27539 # 1457 "parser_cocci_menhir.mly"
27540 ( "list" )
27541 # 27542 "parser_cocci_menhir.ml"
27542 in
27543 _menhir_env.MenhirLib.EngineTypes.stack <- {
27544 MenhirLib.EngineTypes.state = _menhir_s;
27545 MenhirLib.EngineTypes.semv = Obj.repr _v;
27546 MenhirLib.EngineTypes.startp = _startpos;
27547 MenhirLib.EngineTypes.endp = _endpos;
27548 MenhirLib.EngineTypes.next = _menhir_stack;
27549 });
27550 (fun _menhir_env ->
27551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27552 let {
27553 MenhirLib.EngineTypes.state = _menhir_s;
27554 MenhirLib.EngineTypes.startp = _startpos__1_;
27555 MenhirLib.EngineTypes.endp = _endpos__1_;
27556 MenhirLib.EngineTypes.next = _menhir_stack;
27557 } = _menhir_stack in
27558 let _startpos = _startpos__1_ in
27559 let _endpos = _endpos__1_ in
27560 let _v : 'tv_pure_ident_kwd =
27561 # 1458 "parser_cocci_menhir.mly"
27562 ( "fresh" )
27563 # 27564 "parser_cocci_menhir.ml"
27564 in
27565 _menhir_env.MenhirLib.EngineTypes.stack <- {
27566 MenhirLib.EngineTypes.state = _menhir_s;
27567 MenhirLib.EngineTypes.semv = Obj.repr _v;
27568 MenhirLib.EngineTypes.startp = _startpos;
27569 MenhirLib.EngineTypes.endp = _endpos;
27570 MenhirLib.EngineTypes.next = _menhir_stack;
27571 });
27572 (fun _menhir_env ->
27573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27574 let {
27575 MenhirLib.EngineTypes.state = _menhir_s;
27576 MenhirLib.EngineTypes.startp = _startpos__1_;
27577 MenhirLib.EngineTypes.endp = _endpos__1_;
27578 MenhirLib.EngineTypes.next = _menhir_stack;
27579 } = _menhir_stack in
27580 let _startpos = _startpos__1_ in
27581 let _endpos = _endpos__1_ in
27582 let _v : 'tv_pure_ident_kwd =
27583 # 1459 "parser_cocci_menhir.mly"
27584 ( "constant" )
27585 # 27586 "parser_cocci_menhir.ml"
27586 in
27587 _menhir_env.MenhirLib.EngineTypes.stack <- {
27588 MenhirLib.EngineTypes.state = _menhir_s;
27589 MenhirLib.EngineTypes.semv = Obj.repr _v;
27590 MenhirLib.EngineTypes.startp = _startpos;
27591 MenhirLib.EngineTypes.endp = _endpos;
27592 MenhirLib.EngineTypes.next = _menhir_stack;
27593 });
27594 (fun _menhir_env ->
27595 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27596 let {
27597 MenhirLib.EngineTypes.state = _menhir_s;
27598 MenhirLib.EngineTypes.startp = _startpos__1_;
27599 MenhirLib.EngineTypes.endp = _endpos__1_;
27600 MenhirLib.EngineTypes.next = _menhir_stack;
27601 } = _menhir_stack in
27602 let _startpos = _startpos__1_ in
27603 let _endpos = _endpos__1_ in
27604 let _v : 'tv_pure_ident_kwd =
27605 # 1460 "parser_cocci_menhir.mly"
27606 ( "error" )
27607 # 27608 "parser_cocci_menhir.ml"
27608 in
27609 _menhir_env.MenhirLib.EngineTypes.stack <- {
27610 MenhirLib.EngineTypes.state = _menhir_s;
27611 MenhirLib.EngineTypes.semv = Obj.repr _v;
27612 MenhirLib.EngineTypes.startp = _startpos;
27613 MenhirLib.EngineTypes.endp = _endpos;
27614 MenhirLib.EngineTypes.next = _menhir_stack;
27615 });
27616 (fun _menhir_env ->
27617 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27618 let {
27619 MenhirLib.EngineTypes.state = _menhir_s;
27620 MenhirLib.EngineTypes.startp = _startpos__1_;
27621 MenhirLib.EngineTypes.endp = _endpos__1_;
27622 MenhirLib.EngineTypes.next = _menhir_stack;
27623 } = _menhir_stack in
27624 let _startpos = _startpos__1_ in
27625 let _endpos = _endpos__1_ in
27626 let _v : 'tv_pure_ident_kwd =
27627 # 1461 "parser_cocci_menhir.mly"
27628 ( "words" )
27629 # 27630 "parser_cocci_menhir.ml"
27630 in
27631 _menhir_env.MenhirLib.EngineTypes.stack <- {
27632 MenhirLib.EngineTypes.state = _menhir_s;
27633 MenhirLib.EngineTypes.semv = Obj.repr _v;
27634 MenhirLib.EngineTypes.startp = _startpos;
27635 MenhirLib.EngineTypes.endp = _endpos;
27636 MenhirLib.EngineTypes.next = _menhir_stack;
27637 });
27638 (fun _menhir_env ->
27639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27640 let {
27641 MenhirLib.EngineTypes.state = _menhir_s;
27642 MenhirLib.EngineTypes.startp = _startpos__1_;
27643 MenhirLib.EngineTypes.endp = _endpos__1_;
27644 MenhirLib.EngineTypes.next = _menhir_stack;
27645 } = _menhir_stack in
27646 let _startpos = _startpos__1_ in
27647 let _endpos = _endpos__1_ in
27648 let _v : 'tv_pure_ident_kwd =
27649 # 1462 "parser_cocci_menhir.mly"
27650 ( "pure" )
27651 # 27652 "parser_cocci_menhir.ml"
27652 in
27653 _menhir_env.MenhirLib.EngineTypes.stack <- {
27654 MenhirLib.EngineTypes.state = _menhir_s;
27655 MenhirLib.EngineTypes.semv = Obj.repr _v;
27656 MenhirLib.EngineTypes.startp = _startpos;
27657 MenhirLib.EngineTypes.endp = _endpos;
27658 MenhirLib.EngineTypes.next = _menhir_stack;
27659 });
27660 (fun _menhir_env ->
27661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27662 let {
27663 MenhirLib.EngineTypes.state = _menhir_s;
27664 MenhirLib.EngineTypes.startp = _startpos__1_;
27665 MenhirLib.EngineTypes.endp = _endpos__1_;
27666 MenhirLib.EngineTypes.next = _menhir_stack;
27667 } = _menhir_stack in
27668 let _startpos = _startpos__1_ in
27669 let _endpos = _endpos__1_ in
27670 let _v : 'tv_pure_ident_kwd =
27671 # 1463 "parser_cocci_menhir.mly"
27672 ( "context" )
27673 # 27674 "parser_cocci_menhir.ml"
27674 in
27675 _menhir_env.MenhirLib.EngineTypes.stack <- {
27676 MenhirLib.EngineTypes.state = _menhir_s;
27677 MenhirLib.EngineTypes.semv = Obj.repr _v;
27678 MenhirLib.EngineTypes.startp = _startpos;
27679 MenhirLib.EngineTypes.endp = _endpos;
27680 MenhirLib.EngineTypes.next = _menhir_stack;
27681 });
27682 (fun _menhir_env ->
27683 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27684 let {
27685 MenhirLib.EngineTypes.state = _menhir_s;
27686 MenhirLib.EngineTypes.startp = _startpos__1_;
27687 MenhirLib.EngineTypes.endp = _endpos__1_;
27688 MenhirLib.EngineTypes.next = _menhir_stack;
27689 } = _menhir_stack in
27690 let _startpos = _startpos__1_ in
27691 let _endpos = _endpos__1_ in
27692 let _v : 'tv_pure_ident_kwd =
27693 # 1464 "parser_cocci_menhir.mly"
27694 ( "generated" )
27695 # 27696 "parser_cocci_menhir.ml"
27696 in
27697 _menhir_env.MenhirLib.EngineTypes.stack <- {
27698 MenhirLib.EngineTypes.state = _menhir_s;
27699 MenhirLib.EngineTypes.semv = Obj.repr _v;
27700 MenhirLib.EngineTypes.startp = _startpos;
27701 MenhirLib.EngineTypes.endp = _endpos;
27702 MenhirLib.EngineTypes.next = _menhir_stack;
27703 });
27704 (fun _menhir_env ->
27705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27706 let {
27707 MenhirLib.EngineTypes.state = _menhir_s;
27708 MenhirLib.EngineTypes.startp = _startpos__1_;
27709 MenhirLib.EngineTypes.endp = _endpos__1_;
27710 MenhirLib.EngineTypes.next = _menhir_stack;
27711 } = _menhir_stack in
27712 let _startpos = _startpos__1_ in
27713 let _endpos = _endpos__1_ in
27714 let _v : 'tv_pure_ident_kwd =
27715 # 1465 "parser_cocci_menhir.mly"
27716 ( "typedef" )
27717 # 27718 "parser_cocci_menhir.ml"
27718 in
27719 _menhir_env.MenhirLib.EngineTypes.stack <- {
27720 MenhirLib.EngineTypes.state = _menhir_s;
27721 MenhirLib.EngineTypes.semv = Obj.repr _v;
27722 MenhirLib.EngineTypes.startp = _startpos;
27723 MenhirLib.EngineTypes.endp = _endpos;
27724 MenhirLib.EngineTypes.next = _menhir_stack;
27725 });
27726 (fun _menhir_env ->
27727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27728 let {
27729 MenhirLib.EngineTypes.state = _menhir_s;
27730 MenhirLib.EngineTypes.startp = _startpos__1_;
27731 MenhirLib.EngineTypes.endp = _endpos__1_;
27732 MenhirLib.EngineTypes.next = _menhir_stack;
27733 } = _menhir_stack in
27734 let _startpos = _startpos__1_ in
27735 let _endpos = _endpos__1_ in
27736 let _v : 'tv_pure_ident_kwd =
27737 # 1466 "parser_cocci_menhir.mly"
27738 ( "declarer" )
27739 # 27740 "parser_cocci_menhir.ml"
27740 in
27741 _menhir_env.MenhirLib.EngineTypes.stack <- {
27742 MenhirLib.EngineTypes.state = _menhir_s;
27743 MenhirLib.EngineTypes.semv = Obj.repr _v;
27744 MenhirLib.EngineTypes.startp = _startpos;
27745 MenhirLib.EngineTypes.endp = _endpos;
27746 MenhirLib.EngineTypes.next = _menhir_stack;
27747 });
27748 (fun _menhir_env ->
27749 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27750 let {
27751 MenhirLib.EngineTypes.state = _menhir_s;
27752 MenhirLib.EngineTypes.startp = _startpos__1_;
27753 MenhirLib.EngineTypes.endp = _endpos__1_;
27754 MenhirLib.EngineTypes.next = _menhir_stack;
27755 } = _menhir_stack in
27756 let _startpos = _startpos__1_ in
27757 let _endpos = _endpos__1_ in
27758 let _v : 'tv_pure_ident_kwd =
27759 # 1467 "parser_cocci_menhir.mly"
27760 ( "iterator" )
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.startp = _startpos__1_;
27775 MenhirLib.EngineTypes.endp = _endpos__1_;
27776 MenhirLib.EngineTypes.next = _menhir_stack;
27777 } = _menhir_stack in
27778 let _startpos = _startpos__1_ in
27779 let _endpos = _endpos__1_ in
27780 let _v : 'tv_pure_ident_kwd =
27781 # 1468 "parser_cocci_menhir.mly"
27782 ( "name" )
27783 # 27784 "parser_cocci_menhir.ml"
27784 in
27785 _menhir_env.MenhirLib.EngineTypes.stack <- {
27786 MenhirLib.EngineTypes.state = _menhir_s;
27787 MenhirLib.EngineTypes.semv = Obj.repr _v;
27788 MenhirLib.EngineTypes.startp = _startpos;
27789 MenhirLib.EngineTypes.endp = _endpos;
27790 MenhirLib.EngineTypes.next = _menhir_stack;
27791 });
27792 (fun _menhir_env ->
27793 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27794 let {
27795 MenhirLib.EngineTypes.state = _menhir_s;
27796 MenhirLib.EngineTypes.startp = _startpos__1_;
27797 MenhirLib.EngineTypes.endp = _endpos__1_;
27798 MenhirLib.EngineTypes.next = _menhir_stack;
27799 } = _menhir_stack in
27800 let _startpos = _startpos__1_ in
27801 let _endpos = _endpos__1_ in
27802 let _v : 'tv_pure_ident_kwd =
27803 # 1469 "parser_cocci_menhir.mly"
27804 ( "position" )
27805 # 27806 "parser_cocci_menhir.ml"
27806 in
27807 _menhir_env.MenhirLib.EngineTypes.stack <- {
27808 MenhirLib.EngineTypes.state = _menhir_s;
27809 MenhirLib.EngineTypes.semv = Obj.repr _v;
27810 MenhirLib.EngineTypes.startp = _startpos;
27811 MenhirLib.EngineTypes.endp = _endpos;
27812 MenhirLib.EngineTypes.next = _menhir_stack;
27813 });
27814 (fun _menhir_env ->
27815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27816 let {
27817 MenhirLib.EngineTypes.state = _menhir_s;
27818 MenhirLib.EngineTypes.semv = _1;
27819 MenhirLib.EngineTypes.startp = _startpos__1_;
27820 MenhirLib.EngineTypes.endp = _endpos__1_;
27821 MenhirLib.EngineTypes.next = _menhir_stack;
27822 } = _menhir_stack in
27823 let _1 : 'tv_pure_ident = Obj.magic _1 in
27824 let _startpos = _startpos__1_ in
27825 let _endpos = _endpos__1_ in
27826 let _v : 'tv_pure_ident_or_meta_ident =
27827 # 1476 "parser_cocci_menhir.mly"
27828 ( (None,P.id2name _1) )
27829 # 27830 "parser_cocci_menhir.ml"
27830 in
27831 _menhir_env.MenhirLib.EngineTypes.stack <- {
27832 MenhirLib.EngineTypes.state = _menhir_s;
27833 MenhirLib.EngineTypes.semv = Obj.repr _v;
27834 MenhirLib.EngineTypes.startp = _startpos;
27835 MenhirLib.EngineTypes.endp = _endpos;
27836 MenhirLib.EngineTypes.next = _menhir_stack;
27837 });
27838 (fun _menhir_env ->
27839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27840 let {
27841 MenhirLib.EngineTypes.state = _menhir_s;
27842 MenhirLib.EngineTypes.semv = _1;
27843 MenhirLib.EngineTypes.startp = _startpos__1_;
27844 MenhirLib.EngineTypes.endp = _endpos__1_;
27845 MenhirLib.EngineTypes.next = _menhir_stack;
27846 } = _menhir_stack in
27847 let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
27848 let _startpos = _startpos__1_ in
27849 let _endpos = _endpos__1_ in
27850 let _v : 'tv_pure_ident_or_meta_ident =
27851 # 1477 "parser_cocci_menhir.mly"
27852 ( (None,_1) )
27853 # 27854 "parser_cocci_menhir.ml"
27854 in
27855 _menhir_env.MenhirLib.EngineTypes.stack <- {
27856 MenhirLib.EngineTypes.state = _menhir_s;
27857 MenhirLib.EngineTypes.semv = Obj.repr _v;
27858 MenhirLib.EngineTypes.startp = _startpos;
27859 MenhirLib.EngineTypes.endp = _endpos;
27860 MenhirLib.EngineTypes.next = _menhir_stack;
27861 });
27862 (fun _menhir_env ->
27863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27864 let {
27865 MenhirLib.EngineTypes.state = _menhir_s;
27866 MenhirLib.EngineTypes.semv = _1;
27867 MenhirLib.EngineTypes.startp = _startpos__1_;
27868 MenhirLib.EngineTypes.endp = _endpos__1_;
27869 MenhirLib.EngineTypes.next = _menhir_stack;
27870 } = _menhir_stack in
27871 let _1 : 'tv_meta_ident = Obj.magic _1 in
27872 let _startpos = _startpos__1_ in
27873 let _endpos = _endpos__1_ in
27874 let _v : 'tv_pure_ident_or_meta_ident =
27875 # 1478 "parser_cocci_menhir.mly"
27876 ( _1 )
27877 # 27878 "parser_cocci_menhir.ml"
27878 in
27879 _menhir_env.MenhirLib.EngineTypes.stack <- {
27880 MenhirLib.EngineTypes.state = _menhir_s;
27881 MenhirLib.EngineTypes.semv = Obj.repr _v;
27882 MenhirLib.EngineTypes.startp = _startpos;
27883 MenhirLib.EngineTypes.endp = _endpos;
27884 MenhirLib.EngineTypes.next = _menhir_stack;
27885 });
27886 (fun _menhir_env ->
27887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27888 let {
27889 MenhirLib.EngineTypes.semv = optc;
27890 MenhirLib.EngineTypes.startp = _startpos_optc_;
27891 MenhirLib.EngineTypes.endp = _endpos_optc_;
27892 MenhirLib.EngineTypes.next = {
27893 MenhirLib.EngineTypes.state = _menhir_s;
27894 MenhirLib.EngineTypes.semv = i;
27895 MenhirLib.EngineTypes.startp = _startpos_i_;
27896 MenhirLib.EngineTypes.endp = _endpos_i_;
27897 MenhirLib.EngineTypes.next = _menhir_stack;
27898 };
27899 } = _menhir_stack in
27900 let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
27901 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27902 let _startpos = _startpos_i_ in
27903 let _endpos = _endpos_optc_ in
27904 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
27905 # 1504 "parser_cocci_menhir.mly"
27906 (
27907 match optc with
27908 None -> (i, Ast0.NoConstraint)
27909 | Some c -> (i, c)
27910 )
27911 # 27912 "parser_cocci_menhir.ml"
27912 in
27913 _menhir_env.MenhirLib.EngineTypes.stack <- {
27914 MenhirLib.EngineTypes.state = _menhir_s;
27915 MenhirLib.EngineTypes.semv = Obj.repr _v;
27916 MenhirLib.EngineTypes.startp = _startpos;
27917 MenhirLib.EngineTypes.endp = _endpos;
27918 MenhirLib.EngineTypes.next = _menhir_stack;
27919 });
27920 (fun _menhir_env ->
27921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27922 let {
27923 MenhirLib.EngineTypes.semv = optc;
27924 MenhirLib.EngineTypes.startp = _startpos_optc_;
27925 MenhirLib.EngineTypes.endp = _endpos_optc_;
27926 MenhirLib.EngineTypes.next = {
27927 MenhirLib.EngineTypes.state = _menhir_s;
27928 MenhirLib.EngineTypes.semv = i;
27929 MenhirLib.EngineTypes.startp = _startpos_i_;
27930 MenhirLib.EngineTypes.endp = _endpos_i_;
27931 MenhirLib.EngineTypes.next = _menhir_stack;
27932 };
27933 } = _menhir_stack in
27934 let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
27935 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27936 let _startpos = _startpos_i_ in
27937 let _endpos = _endpos_optc_ in
27938 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
27939 # 1504 "parser_cocci_menhir.mly"
27940 (
27941 match optc with
27942 None -> (i, Ast0.NoConstraint)
27943 | Some c -> (i, c)
27944 )
27945 # 27946 "parser_cocci_menhir.ml"
27946 in
27947 _menhir_env.MenhirLib.EngineTypes.stack <- {
27948 MenhirLib.EngineTypes.state = _menhir_s;
27949 MenhirLib.EngineTypes.semv = Obj.repr _v;
27950 MenhirLib.EngineTypes.startp = _startpos;
27951 MenhirLib.EngineTypes.endp = _endpos;
27952 MenhirLib.EngineTypes.next = _menhir_stack;
27953 });
27954 (fun _menhir_env ->
27955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27956 let {
27957 MenhirLib.EngineTypes.semv = c;
27958 MenhirLib.EngineTypes.startp = _startpos_c_;
27959 MenhirLib.EngineTypes.endp = _endpos_c_;
27960 MenhirLib.EngineTypes.next = {
27961 MenhirLib.EngineTypes.state = _menhir_s;
27962 MenhirLib.EngineTypes.semv = i;
27963 MenhirLib.EngineTypes.startp = _startpos_i_;
27964 MenhirLib.EngineTypes.endp = _endpos_i_;
27965 MenhirLib.EngineTypes.next = _menhir_stack;
27966 };
27967 } = _menhir_stack in
27968 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
27969 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27970 let _startpos = _startpos_i_ in
27971 let _endpos = _endpos_c_ in
27972 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
27973 # 1522 "parser_cocci_menhir.mly"
27974 (
27975 match c with
27976 None -> (i, Ast.IdNoConstraint)
27977 | Some constraint_ -> (i,constraint_)
27978 )
27979 # 27980 "parser_cocci_menhir.ml"
27980 in
27981 _menhir_env.MenhirLib.EngineTypes.stack <- {
27982 MenhirLib.EngineTypes.state = _menhir_s;
27983 MenhirLib.EngineTypes.semv = Obj.repr _v;
27984 MenhirLib.EngineTypes.startp = _startpos;
27985 MenhirLib.EngineTypes.endp = _endpos;
27986 MenhirLib.EngineTypes.next = _menhir_stack;
27987 });
27988 (fun _menhir_env ->
27989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27990 let {
27991 MenhirLib.EngineTypes.semv = c;
27992 MenhirLib.EngineTypes.startp = _startpos_c_;
27993 MenhirLib.EngineTypes.endp = _endpos_c_;
27994 MenhirLib.EngineTypes.next = {
27995 MenhirLib.EngineTypes.state = _menhir_s;
27996 MenhirLib.EngineTypes.semv = i;
27997 MenhirLib.EngineTypes.startp = _startpos_i_;
27998 MenhirLib.EngineTypes.endp = _endpos_i_;
27999 MenhirLib.EngineTypes.next = _menhir_stack;
28000 };
28001 } = _menhir_stack in
28002 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
28003 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28004 let _startpos = _startpos_i_ in
28005 let _endpos = _endpos_c_ in
28006 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
28007 # 1512 "parser_cocci_menhir.mly"
28008 (
28009 Common.Left
28010 (match c with
28011 None -> (i, Ast.IdNoConstraint)
28012 | Some constraint_ -> (i,constraint_))
28013 )
28014 # 28015 "parser_cocci_menhir.ml"
28015 in
28016 _menhir_env.MenhirLib.EngineTypes.stack <- {
28017 MenhirLib.EngineTypes.state = _menhir_s;
28018 MenhirLib.EngineTypes.semv = Obj.repr _v;
28019 MenhirLib.EngineTypes.startp = _startpos;
28020 MenhirLib.EngineTypes.endp = _endpos;
28021 MenhirLib.EngineTypes.next = _menhir_stack;
28022 });
28023 (fun _menhir_env ->
28024 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28025 let {
28026 MenhirLib.EngineTypes.semv = _3;
28027 MenhirLib.EngineTypes.startp = _startpos__3_;
28028 MenhirLib.EngineTypes.endp = _endpos__3_;
28029 MenhirLib.EngineTypes.next = {
28030 MenhirLib.EngineTypes.startp = _startpos__2_;
28031 MenhirLib.EngineTypes.endp = _endpos__2_;
28032 MenhirLib.EngineTypes.next = {
28033 MenhirLib.EngineTypes.state = _menhir_s;
28034 MenhirLib.EngineTypes.startp = _startpos__1_;
28035 MenhirLib.EngineTypes.endp = _endpos__1_;
28036 MenhirLib.EngineTypes.next = _menhir_stack;
28037 };
28038 };
28039 } = _menhir_stack in
28040 let _3 : 'tv_pure_ident = Obj.magic _3 in
28041 let _startpos = _startpos__1_ in
28042 let _endpos = _endpos__3_ in
28043 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
28044 # 1518 "parser_cocci_menhir.mly"
28045 ( Common.Right (P.id2name _3) )
28046 # 28047 "parser_cocci_menhir.ml"
28047 in
28048 _menhir_env.MenhirLib.EngineTypes.stack <- {
28049 MenhirLib.EngineTypes.state = _menhir_s;
28050 MenhirLib.EngineTypes.semv = Obj.repr _v;
28051 MenhirLib.EngineTypes.startp = _startpos;
28052 MenhirLib.EngineTypes.endp = _endpos;
28053 MenhirLib.EngineTypes.next = _menhir_stack;
28054 });
28055 (fun _menhir_env ->
28056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28057 let {
28058 MenhirLib.EngineTypes.state = _menhir_s;
28059 MenhirLib.EngineTypes.semv = _1;
28060 MenhirLib.EngineTypes.startp = _startpos__1_;
28061 MenhirLib.EngineTypes.endp = _endpos__1_;
28062 MenhirLib.EngineTypes.next = _menhir_stack;
28063 } = _menhir_stack in
28064 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
28065 let _startpos = _startpos__1_ in
28066 let _endpos = _endpos__1_ in
28067 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
28068 # 1481 "parser_cocci_menhir.mly"
28069 ( (_1,Ast.NoVal) )
28070 # 28071 "parser_cocci_menhir.ml"
28071 in
28072 _menhir_env.MenhirLib.EngineTypes.stack <- {
28073 MenhirLib.EngineTypes.state = _menhir_s;
28074 MenhirLib.EngineTypes.semv = Obj.repr _v;
28075 MenhirLib.EngineTypes.startp = _startpos;
28076 MenhirLib.EngineTypes.endp = _endpos;
28077 MenhirLib.EngineTypes.next = _menhir_stack;
28078 });
28079 (fun _menhir_env ->
28080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28081 let {
28082 MenhirLib.EngineTypes.semv = _3;
28083 MenhirLib.EngineTypes.startp = _startpos__3_;
28084 MenhirLib.EngineTypes.endp = _endpos__3_;
28085 MenhirLib.EngineTypes.next = {
28086 MenhirLib.EngineTypes.startp = _startpos__2_;
28087 MenhirLib.EngineTypes.endp = _endpos__2_;
28088 MenhirLib.EngineTypes.next = {
28089 MenhirLib.EngineTypes.state = _menhir_s;
28090 MenhirLib.EngineTypes.semv = _1;
28091 MenhirLib.EngineTypes.startp = _startpos__1_;
28092 MenhirLib.EngineTypes.endp = _endpos__1_;
28093 MenhirLib.EngineTypes.next = _menhir_stack;
28094 };
28095 };
28096 } = _menhir_stack in
28097 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
28098 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
28099 let _startpos = _startpos__1_ in
28100 let _endpos = _endpos__3_ in
28101 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
28102 # 1484 "parser_cocci_menhir.mly"
28103 ( match _3 with
28104 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
28105 | _ -> (_1,Ast.ListSeed _3) )
28106 # 28107 "parser_cocci_menhir.ml"
28107 in
28108 _menhir_env.MenhirLib.EngineTypes.stack <- {
28109 MenhirLib.EngineTypes.state = _menhir_s;
28110 MenhirLib.EngineTypes.semv = Obj.repr _v;
28111 MenhirLib.EngineTypes.startp = _startpos;
28112 MenhirLib.EngineTypes.endp = _endpos;
28113 MenhirLib.EngineTypes.next = _menhir_stack;
28114 });
28115 (fun _menhir_env ->
28116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28117 let {
28118 MenhirLib.EngineTypes.semv = l;
28119 MenhirLib.EngineTypes.startp = _startpos_l_;
28120 MenhirLib.EngineTypes.endp = _endpos_l_;
28121 MenhirLib.EngineTypes.next = {
28122 MenhirLib.EngineTypes.state = _menhir_s;
28123 MenhirLib.EngineTypes.semv = i;
28124 MenhirLib.EngineTypes.startp = _startpos_i_;
28125 MenhirLib.EngineTypes.endp = _endpos_i_;
28126 MenhirLib.EngineTypes.next = _menhir_stack;
28127 };
28128 } = _menhir_stack in
28129 let l : 'tv_loption_not_pos_ = Obj.magic l in
28130 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28131 let _startpos = _startpos_i_ in
28132 let _endpos = _endpos_l_ in
28133 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
28134 # 1498 "parser_cocci_menhir.mly"
28135 (
28136 (i, l)
28137 )
28138 # 28139 "parser_cocci_menhir.ml"
28139 in
28140 _menhir_env.MenhirLib.EngineTypes.stack <- {
28141 MenhirLib.EngineTypes.state = _menhir_s;
28142 MenhirLib.EngineTypes.semv = Obj.repr _v;
28143 MenhirLib.EngineTypes.startp = _startpos;
28144 MenhirLib.EngineTypes.endp = _endpos;
28145 MenhirLib.EngineTypes.next = _menhir_stack;
28146 });
28147 (fun _menhir_env ->
28148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28149 let {
28150 MenhirLib.EngineTypes.state = _menhir_s;
28151 MenhirLib.EngineTypes.semv = re;
28152 MenhirLib.EngineTypes.startp = _startpos_re_;
28153 MenhirLib.EngineTypes.endp = _endpos_re_;
28154 MenhirLib.EngineTypes.next = _menhir_stack;
28155 } = _menhir_stack in
28156 let re : 'tv_regexp_eqid = Obj.magic re in
28157 let _startpos = _startpos_re_ in
28158 let _endpos = _endpos_re_ in
28159 let _v : 'tv_re_or_not_eqe_or_sub =
28160 # 1583 "parser_cocci_menhir.mly"
28161 (Ast0.NotIdCstrt re)
28162 # 28163 "parser_cocci_menhir.ml"
28163 in
28164 _menhir_env.MenhirLib.EngineTypes.stack <- {
28165 MenhirLib.EngineTypes.state = _menhir_s;
28166 MenhirLib.EngineTypes.semv = Obj.repr _v;
28167 MenhirLib.EngineTypes.startp = _startpos;
28168 MenhirLib.EngineTypes.endp = _endpos;
28169 MenhirLib.EngineTypes.next = _menhir_stack;
28170 });
28171 (fun _menhir_env ->
28172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28173 let {
28174 MenhirLib.EngineTypes.state = _menhir_s;
28175 MenhirLib.EngineTypes.semv = ne;
28176 MenhirLib.EngineTypes.startp = _startpos_ne_;
28177 MenhirLib.EngineTypes.endp = _endpos_ne_;
28178 MenhirLib.EngineTypes.next = _menhir_stack;
28179 } = _menhir_stack in
28180 let ne : 'tv_not_eqe = Obj.magic ne in
28181 let _startpos = _startpos_ne_ in
28182 let _endpos = _endpos_ne_ in
28183 let _v : 'tv_re_or_not_eqe_or_sub =
28184 # 1584 "parser_cocci_menhir.mly"
28185 (Ast0.NotExpCstrt ne)
28186 # 28187 "parser_cocci_menhir.ml"
28187 in
28188 _menhir_env.MenhirLib.EngineTypes.stack <- {
28189 MenhirLib.EngineTypes.state = _menhir_s;
28190 MenhirLib.EngineTypes.semv = Obj.repr _v;
28191 MenhirLib.EngineTypes.startp = _startpos;
28192 MenhirLib.EngineTypes.endp = _endpos;
28193 MenhirLib.EngineTypes.next = _menhir_stack;
28194 });
28195 (fun _menhir_env ->
28196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28197 let {
28198 MenhirLib.EngineTypes.state = _menhir_s;
28199 MenhirLib.EngineTypes.semv = s;
28200 MenhirLib.EngineTypes.startp = _startpos_s_;
28201 MenhirLib.EngineTypes.endp = _endpos_s_;
28202 MenhirLib.EngineTypes.next = _menhir_stack;
28203 } = _menhir_stack in
28204 let s : 'tv_sub = Obj.magic s in
28205 let _startpos = _startpos_s_ in
28206 let _endpos = _endpos_s_ in
28207 let _v : 'tv_re_or_not_eqe_or_sub =
28208 # 1585 "parser_cocci_menhir.mly"
28209 (Ast0.SubExpCstrt s)
28210 # 28211 "parser_cocci_menhir.ml"
28211 in
28212 _menhir_env.MenhirLib.EngineTypes.stack <- {
28213 MenhirLib.EngineTypes.state = _menhir_s;
28214 MenhirLib.EngineTypes.semv = Obj.repr _v;
28215 MenhirLib.EngineTypes.startp = _startpos;
28216 MenhirLib.EngineTypes.endp = _endpos;
28217 MenhirLib.EngineTypes.next = _menhir_stack;
28218 });
28219 (fun _menhir_env ->
28220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28221 let {
28222 MenhirLib.EngineTypes.state = _menhir_s;
28223 MenhirLib.EngineTypes.semv = re;
28224 MenhirLib.EngineTypes.startp = _startpos_re_;
28225 MenhirLib.EngineTypes.endp = _endpos_re_;
28226 MenhirLib.EngineTypes.next = _menhir_stack;
28227 } = _menhir_stack in
28228 let re : 'tv_regexp_eqid = Obj.magic re in
28229 let _startpos = _startpos_re_ in
28230 let _endpos = _endpos_re_ in
28231 let _v : 'tv_re_or_not_eqid =
28232 # 1529 "parser_cocci_menhir.mly"
28233 (Ast.IdRegExpConstraint re)
28234 # 28235 "parser_cocci_menhir.ml"
28235 in
28236 _menhir_env.MenhirLib.EngineTypes.stack <- {
28237 MenhirLib.EngineTypes.state = _menhir_s;
28238 MenhirLib.EngineTypes.semv = Obj.repr _v;
28239 MenhirLib.EngineTypes.startp = _startpos;
28240 MenhirLib.EngineTypes.endp = _endpos;
28241 MenhirLib.EngineTypes.next = _menhir_stack;
28242 });
28243 (fun _menhir_env ->
28244 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28245 let {
28246 MenhirLib.EngineTypes.state = _menhir_s;
28247 MenhirLib.EngineTypes.semv = ne;
28248 MenhirLib.EngineTypes.startp = _startpos_ne_;
28249 MenhirLib.EngineTypes.endp = _endpos_ne_;
28250 MenhirLib.EngineTypes.next = _menhir_stack;
28251 } = _menhir_stack in
28252 let ne : 'tv_not_eqid = Obj.magic ne in
28253 let _startpos = _startpos_ne_ in
28254 let _endpos = _endpos_ne_ in
28255 let _v : 'tv_re_or_not_eqid =
28256 # 1530 "parser_cocci_menhir.mly"
28257 (ne)
28258 # 28259 "parser_cocci_menhir.ml"
28259 in
28260 _menhir_env.MenhirLib.EngineTypes.stack <- {
28261 MenhirLib.EngineTypes.state = _menhir_s;
28262 MenhirLib.EngineTypes.semv = Obj.repr _v;
28263 MenhirLib.EngineTypes.startp = _startpos;
28264 MenhirLib.EngineTypes.endp = _endpos;
28265 MenhirLib.EngineTypes.next = _menhir_stack;
28266 });
28267 (fun _menhir_env ->
28268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28269 let {
28270 MenhirLib.EngineTypes.semv = re;
28271 MenhirLib.EngineTypes.startp = _startpos_re_;
28272 MenhirLib.EngineTypes.endp = _endpos_re_;
28273 MenhirLib.EngineTypes.next = {
28274 MenhirLib.EngineTypes.state = _menhir_s;
28275 MenhirLib.EngineTypes.startp = _startpos__1_;
28276 MenhirLib.EngineTypes.endp = _endpos__1_;
28277 MenhirLib.EngineTypes.next = _menhir_stack;
28278 };
28279 } = _menhir_stack in
28280 let re : (
28281 # 110 "parser_cocci_menhir.mly"
28282 (string * Data.clt)
28283 # 28284 "parser_cocci_menhir.ml"
28284 ) = Obj.magic re in
28285 let _startpos = _startpos__1_ in
28286 let _endpos = _endpos_re_ in
28287 let _v : 'tv_regexp_eqid =
28288 # 1534 "parser_cocci_menhir.mly"
28289 ( (if !Data.in_iso
28290 then failwith "constraints not allowed in iso file");
28291 (if !Data.in_generating
28292 then failwith "constraints not allowed in a generated rule file");
28293 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
28294 )
28295 # 28296 "parser_cocci_menhir.ml"
28296 in
28297 _menhir_env.MenhirLib.EngineTypes.stack <- {
28298 MenhirLib.EngineTypes.state = _menhir_s;
28299 MenhirLib.EngineTypes.semv = Obj.repr _v;
28300 MenhirLib.EngineTypes.startp = _startpos;
28301 MenhirLib.EngineTypes.endp = _endpos;
28302 MenhirLib.EngineTypes.next = _menhir_stack;
28303 });
28304 (fun _menhir_env ->
28305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28306 let {
28307 MenhirLib.EngineTypes.semv = re;
28308 MenhirLib.EngineTypes.startp = _startpos_re_;
28309 MenhirLib.EngineTypes.endp = _endpos_re_;
28310 MenhirLib.EngineTypes.next = {
28311 MenhirLib.EngineTypes.state = _menhir_s;
28312 MenhirLib.EngineTypes.startp = _startpos__1_;
28313 MenhirLib.EngineTypes.endp = _endpos__1_;
28314 MenhirLib.EngineTypes.next = _menhir_stack;
28315 };
28316 } = _menhir_stack in
28317 let re : (
28318 # 110 "parser_cocci_menhir.mly"
28319 (string * Data.clt)
28320 # 28321 "parser_cocci_menhir.ml"
28321 ) = Obj.magic re in
28322 let _startpos = _startpos__1_ in
28323 let _endpos = _endpos_re_ in
28324 let _v : 'tv_regexp_eqid =
28325 # 1541 "parser_cocci_menhir.mly"
28326 ( (if !Data.in_iso
28327 then failwith "constraints not allowed in iso file");
28328 (if !Data.in_generating
28329 then failwith "constraints not allowed in a generated rule file");
28330 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
28331 )
28332 # 28333 "parser_cocci_menhir.ml"
28333 in
28334 _menhir_env.MenhirLib.EngineTypes.stack <- {
28335 MenhirLib.EngineTypes.state = _menhir_s;
28336 MenhirLib.EngineTypes.semv = Obj.repr _v;
28337 MenhirLib.EngineTypes.startp = _startpos;
28338 MenhirLib.EngineTypes.endp = _endpos;
28339 MenhirLib.EngineTypes.next = _menhir_stack;
28340 });
28341 (fun _menhir_env ->
28342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28343 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28344 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28345 let _endpos = _startpos in
28346 let _v : (
28347 # 154 "parser_cocci_menhir.mly"
28348 (unit)
28349 # 28350 "parser_cocci_menhir.ml"
28350 ) =
28351 # 195 "parser_cocci_menhir.mly"
28352 ( )
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.state = _menhir_s;
28366 MenhirLib.EngineTypes.semv = _1;
28367 MenhirLib.EngineTypes.startp = _startpos__1_;
28368 MenhirLib.EngineTypes.endp = _endpos__1_;
28369 MenhirLib.EngineTypes.next = _menhir_stack;
28370 } = _menhir_stack in
28371 let _1 : 'tv_one_decl_var = Obj.magic _1 in
28372 let _startpos = _startpos__1_ in
28373 let _endpos = _endpos__1_ in
28374 let _v : 'tv_rule_elem_statement =
28375 # 957 "parser_cocci_menhir.mly"
28376 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
28377 # 28378 "parser_cocci_menhir.ml"
28378 in
28379 _menhir_env.MenhirLib.EngineTypes.stack <- {
28380 MenhirLib.EngineTypes.state = _menhir_s;
28381 MenhirLib.EngineTypes.semv = Obj.repr _v;
28382 MenhirLib.EngineTypes.startp = _startpos;
28383 MenhirLib.EngineTypes.endp = _endpos;
28384 MenhirLib.EngineTypes.next = _menhir_stack;
28385 });
28386 (fun _menhir_env ->
28387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28388 let {
28389 MenhirLib.EngineTypes.semv = _2;
28390 MenhirLib.EngineTypes.startp = _startpos__2_;
28391 MenhirLib.EngineTypes.endp = _endpos__2_;
28392 MenhirLib.EngineTypes.next = {
28393 MenhirLib.EngineTypes.state = _menhir_s;
28394 MenhirLib.EngineTypes.semv = _1;
28395 MenhirLib.EngineTypes.startp = _startpos__1_;
28396 MenhirLib.EngineTypes.endp = _endpos__1_;
28397 MenhirLib.EngineTypes.next = _menhir_stack;
28398 };
28399 } = _menhir_stack in
28400 let _2 : (
28401 # 130 "parser_cocci_menhir.mly"
28402 (Data.clt)
28403 # 28404 "parser_cocci_menhir.ml"
28404 ) = Obj.magic _2 in
28405 let _1 : 'tv_expr = Obj.magic _1 in
28406 let _startpos = _startpos__1_ in
28407 let _endpos = _endpos__2_ in
28408 let _v : 'tv_rule_elem_statement =
28409 # 958 "parser_cocci_menhir.mly"
28410 ( P.exp_stm _1 _2 )
28411 # 28412 "parser_cocci_menhir.ml"
28412 in
28413 _menhir_env.MenhirLib.EngineTypes.stack <- {
28414 MenhirLib.EngineTypes.state = _menhir_s;
28415 MenhirLib.EngineTypes.semv = Obj.repr _v;
28416 MenhirLib.EngineTypes.startp = _startpos;
28417 MenhirLib.EngineTypes.endp = _endpos;
28418 MenhirLib.EngineTypes.next = _menhir_stack;
28419 });
28420 (fun _menhir_env ->
28421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28422 let {
28423 MenhirLib.EngineTypes.semv = _3;
28424 MenhirLib.EngineTypes.startp = _startpos__3_;
28425 MenhirLib.EngineTypes.endp = _endpos__3_;
28426 MenhirLib.EngineTypes.next = {
28427 MenhirLib.EngineTypes.semv = _2;
28428 MenhirLib.EngineTypes.startp = _startpos__2_;
28429 MenhirLib.EngineTypes.endp = _endpos__2_;
28430 MenhirLib.EngineTypes.next = {
28431 MenhirLib.EngineTypes.state = _menhir_s;
28432 MenhirLib.EngineTypes.semv = _1;
28433 MenhirLib.EngineTypes.startp = _startpos__1_;
28434 MenhirLib.EngineTypes.endp = _endpos__1_;
28435 MenhirLib.EngineTypes.next = _menhir_stack;
28436 };
28437 };
28438 } = _menhir_stack in
28439 let _3 : (
28440 # 130 "parser_cocci_menhir.mly"
28441 (Data.clt)
28442 # 28443 "parser_cocci_menhir.ml"
28443 ) = Obj.magic _3 in
28444 let _2 : 'tv_eexpr = Obj.magic _2 in
28445 let _1 : (
28446 # 79 "parser_cocci_menhir.mly"
28447 (Data.clt)
28448 # 28449 "parser_cocci_menhir.ml"
28449 ) = Obj.magic _1 in
28450 let _startpos = _startpos__1_ in
28451 let _endpos = _endpos__3_ in
28452 let _v : 'tv_rule_elem_statement =
28453 # 959 "parser_cocci_menhir.mly"
28454 ( P.ret_exp _1 _2 _3 )
28455 # 28456 "parser_cocci_menhir.ml"
28456 in
28457 _menhir_env.MenhirLib.EngineTypes.stack <- {
28458 MenhirLib.EngineTypes.state = _menhir_s;
28459 MenhirLib.EngineTypes.semv = Obj.repr _v;
28460 MenhirLib.EngineTypes.startp = _startpos;
28461 MenhirLib.EngineTypes.endp = _endpos;
28462 MenhirLib.EngineTypes.next = _menhir_stack;
28463 });
28464 (fun _menhir_env ->
28465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28466 let {
28467 MenhirLib.EngineTypes.semv = _2;
28468 MenhirLib.EngineTypes.startp = _startpos__2_;
28469 MenhirLib.EngineTypes.endp = _endpos__2_;
28470 MenhirLib.EngineTypes.next = {
28471 MenhirLib.EngineTypes.state = _menhir_s;
28472 MenhirLib.EngineTypes.semv = _1;
28473 MenhirLib.EngineTypes.startp = _startpos__1_;
28474 MenhirLib.EngineTypes.endp = _endpos__1_;
28475 MenhirLib.EngineTypes.next = _menhir_stack;
28476 };
28477 } = _menhir_stack in
28478 let _2 : (
28479 # 130 "parser_cocci_menhir.mly"
28480 (Data.clt)
28481 # 28482 "parser_cocci_menhir.ml"
28482 ) = Obj.magic _2 in
28483 let _1 : (
28484 # 79 "parser_cocci_menhir.mly"
28485 (Data.clt)
28486 # 28487 "parser_cocci_menhir.ml"
28487 ) = Obj.magic _1 in
28488 let _startpos = _startpos__1_ in
28489 let _endpos = _endpos__2_ in
28490 let _v : 'tv_rule_elem_statement =
28491 # 960 "parser_cocci_menhir.mly"
28492 ( P.ret _1 _2 )
28493 # 28494 "parser_cocci_menhir.ml"
28494 in
28495 _menhir_env.MenhirLib.EngineTypes.stack <- {
28496 MenhirLib.EngineTypes.state = _menhir_s;
28497 MenhirLib.EngineTypes.semv = Obj.repr _v;
28498 MenhirLib.EngineTypes.startp = _startpos;
28499 MenhirLib.EngineTypes.endp = _endpos;
28500 MenhirLib.EngineTypes.next = _menhir_stack;
28501 });
28502 (fun _menhir_env ->
28503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28504 let {
28505 MenhirLib.EngineTypes.semv = _2;
28506 MenhirLib.EngineTypes.startp = _startpos__2_;
28507 MenhirLib.EngineTypes.endp = _endpos__2_;
28508 MenhirLib.EngineTypes.next = {
28509 MenhirLib.EngineTypes.state = _menhir_s;
28510 MenhirLib.EngineTypes.semv = _1;
28511 MenhirLib.EngineTypes.startp = _startpos__1_;
28512 MenhirLib.EngineTypes.endp = _endpos__1_;
28513 MenhirLib.EngineTypes.next = _menhir_stack;
28514 };
28515 } = _menhir_stack in
28516 let _2 : (
28517 # 130 "parser_cocci_menhir.mly"
28518 (Data.clt)
28519 # 28520 "parser_cocci_menhir.ml"
28520 ) = Obj.magic _2 in
28521 let _1 : (
28522 # 80 "parser_cocci_menhir.mly"
28523 (Data.clt)
28524 # 28525 "parser_cocci_menhir.ml"
28525 ) = Obj.magic _1 in
28526 let _startpos = _startpos__1_ in
28527 let _endpos = _endpos__2_ in
28528 let _v : 'tv_rule_elem_statement =
28529 # 961 "parser_cocci_menhir.mly"
28530 ( P.break _1 _2 )
28531 # 28532 "parser_cocci_menhir.ml"
28532 in
28533 _menhir_env.MenhirLib.EngineTypes.stack <- {
28534 MenhirLib.EngineTypes.state = _menhir_s;
28535 MenhirLib.EngineTypes.semv = Obj.repr _v;
28536 MenhirLib.EngineTypes.startp = _startpos;
28537 MenhirLib.EngineTypes.endp = _endpos;
28538 MenhirLib.EngineTypes.next = _menhir_stack;
28539 });
28540 (fun _menhir_env ->
28541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28542 let {
28543 MenhirLib.EngineTypes.semv = _2;
28544 MenhirLib.EngineTypes.startp = _startpos__2_;
28545 MenhirLib.EngineTypes.endp = _endpos__2_;
28546 MenhirLib.EngineTypes.next = {
28547 MenhirLib.EngineTypes.state = _menhir_s;
28548 MenhirLib.EngineTypes.semv = _1;
28549 MenhirLib.EngineTypes.startp = _startpos__1_;
28550 MenhirLib.EngineTypes.endp = _endpos__1_;
28551 MenhirLib.EngineTypes.next = _menhir_stack;
28552 };
28553 } = _menhir_stack in
28554 let _2 : (
28555 # 130 "parser_cocci_menhir.mly"
28556 (Data.clt)
28557 # 28558 "parser_cocci_menhir.ml"
28558 ) = Obj.magic _2 in
28559 let _1 : (
28560 # 80 "parser_cocci_menhir.mly"
28561 (Data.clt)
28562 # 28563 "parser_cocci_menhir.ml"
28563 ) = Obj.magic _1 in
28564 let _startpos = _startpos__1_ in
28565 let _endpos = _endpos__2_ in
28566 let _v : 'tv_rule_elem_statement =
28567 # 962 "parser_cocci_menhir.mly"
28568 ( P.cont _1 _2 )
28569 # 28570 "parser_cocci_menhir.ml"
28570 in
28571 _menhir_env.MenhirLib.EngineTypes.stack <- {
28572 MenhirLib.EngineTypes.state = _menhir_s;
28573 MenhirLib.EngineTypes.semv = Obj.repr _v;
28574 MenhirLib.EngineTypes.startp = _startpos;
28575 MenhirLib.EngineTypes.endp = _endpos;
28576 MenhirLib.EngineTypes.next = _menhir_stack;
28577 });
28578 (fun _menhir_env ->
28579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28580 let {
28581 MenhirLib.EngineTypes.semv = _3;
28582 MenhirLib.EngineTypes.startp = _startpos__3_;
28583 MenhirLib.EngineTypes.endp = _endpos__3_;
28584 MenhirLib.EngineTypes.next = {
28585 MenhirLib.EngineTypes.semv = _2;
28586 MenhirLib.EngineTypes.startp = _startpos__2_;
28587 MenhirLib.EngineTypes.endp = _endpos__2_;
28588 MenhirLib.EngineTypes.next = {
28589 MenhirLib.EngineTypes.state = _menhir_s;
28590 MenhirLib.EngineTypes.semv = _1;
28591 MenhirLib.EngineTypes.startp = _startpos__1_;
28592 MenhirLib.EngineTypes.endp = _endpos__1_;
28593 MenhirLib.EngineTypes.next = _menhir_stack;
28594 };
28595 };
28596 } = _menhir_stack in
28597 let _3 : (
28598 # 100 "parser_cocci_menhir.mly"
28599 (Data.clt)
28600 # 28601 "parser_cocci_menhir.ml"
28601 ) = Obj.magic _3 in
28602 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
28603 let _1 : (
28604 # 99 "parser_cocci_menhir.mly"
28605 (Data.clt)
28606 # 28607 "parser_cocci_menhir.ml"
28607 ) = Obj.magic _1 in
28608 let _startpos = _startpos__1_ in
28609 let _endpos = _endpos__3_ in
28610 let _v : 'tv_rule_elem_statement =
28611 # 964 "parser_cocci_menhir.mly"
28612 ( let (mids,code) = _2 in
28613 Ast0.wrap
28614 (Ast0.Disj(P.clt2mcode "(" _1,
28615 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
28616 mids, P.clt2mcode ")" _3)) )
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.startp = _startpos__7_;
28630 MenhirLib.EngineTypes.endp = _endpos__7_;
28631 MenhirLib.EngineTypes.next = {
28632 MenhirLib.EngineTypes.semv = ee;
28633 MenhirLib.EngineTypes.startp = _startpos_ee_;
28634 MenhirLib.EngineTypes.endp = _endpos_ee_;
28635 MenhirLib.EngineTypes.next = {
28636 MenhirLib.EngineTypes.semv = e;
28637 MenhirLib.EngineTypes.startp = _startpos_e_;
28638 MenhirLib.EngineTypes.endp = _endpos_e_;
28639 MenhirLib.EngineTypes.next = {
28640 MenhirLib.EngineTypes.semv = a;
28641 MenhirLib.EngineTypes.startp = _startpos_a_;
28642 MenhirLib.EngineTypes.endp = _endpos_a_;
28643 MenhirLib.EngineTypes.next = {
28644 MenhirLib.EngineTypes.semv = i;
28645 MenhirLib.EngineTypes.startp = _startpos_i_;
28646 MenhirLib.EngineTypes.endp = _endpos_i_;
28647 MenhirLib.EngineTypes.next = {
28648 MenhirLib.EngineTypes.semv = d;
28649 MenhirLib.EngineTypes.startp = _startpos_d_;
28650 MenhirLib.EngineTypes.endp = _endpos_d_;
28651 MenhirLib.EngineTypes.next = {
28652 MenhirLib.EngineTypes.state = _menhir_s;
28653 MenhirLib.EngineTypes.startp = _startpos__1_;
28654 MenhirLib.EngineTypes.endp = _endpos__1_;
28655 MenhirLib.EngineTypes.next = _menhir_stack;
28656 };
28657 };
28658 };
28659 };
28660 };
28661 };
28662 } = _menhir_stack in
28663 let ee : 'tv_is_expression = Obj.magic ee in
28664 let e : 'tv_exists = Obj.magic e in
28665 let a : 'tv_loption_disable_ = Obj.magic a in
28666 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28667 let d : 'tv_depends = Obj.magic d in
28668 let _startpos = _startpos__1_ in
28669 let _endpos = _endpos__7_ in
28670 let _v : (
28671 # 176 "parser_cocci_menhir.mly"
28672 (Ast_cocci.rulename)
28673 # 28674 "parser_cocci_menhir.ml"
28674 ) = let nm =
28675
28676 # 39 "standard.mly"
28677 ( None )
28678 # 28679 "parser_cocci_menhir.ml"
28679
28680 in
28681
28682 # 225 "parser_cocci_menhir.mly"
28683 ( P.make_cocci_rule_name_result nm d i a e ee )
28684 # 28685 "parser_cocci_menhir.ml"
28685 in
28686 _menhir_env.MenhirLib.EngineTypes.stack <- {
28687 MenhirLib.EngineTypes.state = _menhir_s;
28688 MenhirLib.EngineTypes.semv = Obj.repr _v;
28689 MenhirLib.EngineTypes.startp = _startpos;
28690 MenhirLib.EngineTypes.endp = _endpos;
28691 MenhirLib.EngineTypes.next = _menhir_stack;
28692 });
28693 (fun _menhir_env ->
28694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28695 let {
28696 MenhirLib.EngineTypes.startp = _startpos__8_;
28697 MenhirLib.EngineTypes.endp = _endpos__8_;
28698 MenhirLib.EngineTypes.next = {
28699 MenhirLib.EngineTypes.semv = ee;
28700 MenhirLib.EngineTypes.startp = _startpos_ee_;
28701 MenhirLib.EngineTypes.endp = _endpos_ee_;
28702 MenhirLib.EngineTypes.next = {
28703 MenhirLib.EngineTypes.semv = e;
28704 MenhirLib.EngineTypes.startp = _startpos_e_;
28705 MenhirLib.EngineTypes.endp = _endpos_e_;
28706 MenhirLib.EngineTypes.next = {
28707 MenhirLib.EngineTypes.semv = a;
28708 MenhirLib.EngineTypes.startp = _startpos_a_;
28709 MenhirLib.EngineTypes.endp = _endpos_a_;
28710 MenhirLib.EngineTypes.next = {
28711 MenhirLib.EngineTypes.semv = i;
28712 MenhirLib.EngineTypes.startp = _startpos_i_;
28713 MenhirLib.EngineTypes.endp = _endpos_i_;
28714 MenhirLib.EngineTypes.next = {
28715 MenhirLib.EngineTypes.semv = d;
28716 MenhirLib.EngineTypes.startp = _startpos_d_;
28717 MenhirLib.EngineTypes.endp = _endpos_d_;
28718 MenhirLib.EngineTypes.next = {
28719 MenhirLib.EngineTypes.startp = _startpos__2_;
28720 MenhirLib.EngineTypes.endp = _endpos__2_;
28721 MenhirLib.EngineTypes.next = {
28722 MenhirLib.EngineTypes.state = _menhir_s;
28723 MenhirLib.EngineTypes.semv = x0;
28724 MenhirLib.EngineTypes.startp = _startpos_x0_;
28725 MenhirLib.EngineTypes.endp = _endpos_x0_;
28726 MenhirLib.EngineTypes.next = _menhir_stack;
28727 };
28728 };
28729 };
28730 };
28731 };
28732 };
28733 };
28734 } = _menhir_stack in
28735 let ee : 'tv_is_expression = Obj.magic ee in
28736 let e : 'tv_exists = Obj.magic e in
28737 let a : 'tv_loption_disable_ = Obj.magic a in
28738 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28739 let d : 'tv_depends = Obj.magic d in
28740 let x0 : 'tv_pure_ident = Obj.magic x0 in
28741 let _startpos = _startpos_x0_ in
28742 let _endpos = _endpos__8_ in
28743 let _v : (
28744 # 176 "parser_cocci_menhir.mly"
28745 (Ast_cocci.rulename)
28746 # 28747 "parser_cocci_menhir.ml"
28747 ) = let nm =
28748 let x = x0 in
28749
28750 # 41 "standard.mly"
28751 ( Some x )
28752 # 28753 "parser_cocci_menhir.ml"
28753
28754 in
28755
28756 # 225 "parser_cocci_menhir.mly"
28757 ( P.make_cocci_rule_name_result nm d i a e ee )
28758 # 28759 "parser_cocci_menhir.ml"
28759 in
28760 _menhir_env.MenhirLib.EngineTypes.stack <- {
28761 MenhirLib.EngineTypes.state = _menhir_s;
28762 MenhirLib.EngineTypes.semv = Obj.repr _v;
28763 MenhirLib.EngineTypes.startp = _startpos;
28764 MenhirLib.EngineTypes.endp = _endpos;
28765 MenhirLib.EngineTypes.next = _menhir_stack;
28766 });
28767 (fun _menhir_env ->
28768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28769 let {
28770 MenhirLib.EngineTypes.startp = _startpos__8_;
28771 MenhirLib.EngineTypes.endp = _endpos__8_;
28772 MenhirLib.EngineTypes.next = {
28773 MenhirLib.EngineTypes.semv = ee;
28774 MenhirLib.EngineTypes.startp = _startpos_ee_;
28775 MenhirLib.EngineTypes.endp = _endpos_ee_;
28776 MenhirLib.EngineTypes.next = {
28777 MenhirLib.EngineTypes.semv = e;
28778 MenhirLib.EngineTypes.startp = _startpos_e_;
28779 MenhirLib.EngineTypes.endp = _endpos_e_;
28780 MenhirLib.EngineTypes.next = {
28781 MenhirLib.EngineTypes.semv = a;
28782 MenhirLib.EngineTypes.startp = _startpos_a_;
28783 MenhirLib.EngineTypes.endp = _endpos_a_;
28784 MenhirLib.EngineTypes.next = {
28785 MenhirLib.EngineTypes.semv = i;
28786 MenhirLib.EngineTypes.startp = _startpos_i_;
28787 MenhirLib.EngineTypes.endp = _endpos_i_;
28788 MenhirLib.EngineTypes.next = {
28789 MenhirLib.EngineTypes.semv = d;
28790 MenhirLib.EngineTypes.startp = _startpos_d_;
28791 MenhirLib.EngineTypes.endp = _endpos_d_;
28792 MenhirLib.EngineTypes.next = {
28793 MenhirLib.EngineTypes.startp = _startpos__2_;
28794 MenhirLib.EngineTypes.endp = _endpos__2_;
28795 MenhirLib.EngineTypes.next = {
28796 MenhirLib.EngineTypes.state = _menhir_s;
28797 MenhirLib.EngineTypes.startp = _startpos__1_;
28798 MenhirLib.EngineTypes.endp = _endpos__1_;
28799 MenhirLib.EngineTypes.next = _menhir_stack;
28800 };
28801 };
28802 };
28803 };
28804 };
28805 };
28806 };
28807 } = _menhir_stack in
28808 let ee : 'tv_is_expression = Obj.magic ee in
28809 let e : 'tv_exists = Obj.magic e in
28810 let a : 'tv_loption_disable_ = Obj.magic a in
28811 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28812 let d : 'tv_depends = Obj.magic d in
28813 let _startpos = _startpos__1_ in
28814 let _endpos = _endpos__8_ in
28815 let _v : (
28816 # 176 "parser_cocci_menhir.mly"
28817 (Ast_cocci.rulename)
28818 # 28819 "parser_cocci_menhir.ml"
28819 ) =
28820 # 230 "parser_cocci_menhir.mly"
28821 ( P.make_generated_rule_name_result None d i a e ee )
28822 # 28823 "parser_cocci_menhir.ml"
28823 in
28824 _menhir_env.MenhirLib.EngineTypes.stack <- {
28825 MenhirLib.EngineTypes.state = _menhir_s;
28826 MenhirLib.EngineTypes.semv = Obj.repr _v;
28827 MenhirLib.EngineTypes.startp = _startpos;
28828 MenhirLib.EngineTypes.endp = _endpos;
28829 MenhirLib.EngineTypes.next = _menhir_stack;
28830 });
28831 (fun _menhir_env ->
28832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28833 let {
28834 MenhirLib.EngineTypes.startp = _startpos__5_;
28835 MenhirLib.EngineTypes.endp = _endpos__5_;
28836 MenhirLib.EngineTypes.next = {
28837 MenhirLib.EngineTypes.semv = d;
28838 MenhirLib.EngineTypes.startp = _startpos_d_;
28839 MenhirLib.EngineTypes.endp = _endpos_d_;
28840 MenhirLib.EngineTypes.next = {
28841 MenhirLib.EngineTypes.semv = lang;
28842 MenhirLib.EngineTypes.startp = _startpos_lang_;
28843 MenhirLib.EngineTypes.endp = _endpos_lang_;
28844 MenhirLib.EngineTypes.next = {
28845 MenhirLib.EngineTypes.startp = _startpos__2_;
28846 MenhirLib.EngineTypes.endp = _endpos__2_;
28847 MenhirLib.EngineTypes.next = {
28848 MenhirLib.EngineTypes.state = _menhir_s;
28849 MenhirLib.EngineTypes.startp = _startpos__1_;
28850 MenhirLib.EngineTypes.endp = _endpos__1_;
28851 MenhirLib.EngineTypes.next = _menhir_stack;
28852 };
28853 };
28854 };
28855 };
28856 } = _menhir_stack in
28857 let d : 'tv_depends = Obj.magic d in
28858 let lang : 'tv_pure_ident = Obj.magic lang in
28859 let _startpos = _startpos__1_ in
28860 let _endpos = _endpos__5_ in
28861 let _v : (
28862 # 176 "parser_cocci_menhir.mly"
28863 (Ast_cocci.rulename)
28864 # 28865 "parser_cocci_menhir.ml"
28865 ) =
28866 # 232 "parser_cocci_menhir.mly"
28867 ( P.make_script_rule_name_result lang d )
28868 # 28869 "parser_cocci_menhir.ml"
28869 in
28870 _menhir_env.MenhirLib.EngineTypes.stack <- {
28871 MenhirLib.EngineTypes.state = _menhir_s;
28872 MenhirLib.EngineTypes.semv = Obj.repr _v;
28873 MenhirLib.EngineTypes.startp = _startpos;
28874 MenhirLib.EngineTypes.endp = _endpos;
28875 MenhirLib.EngineTypes.next = _menhir_stack;
28876 });
28877 (fun _menhir_env ->
28878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28879 let {
28880 MenhirLib.EngineTypes.startp = _startpos__5_;
28881 MenhirLib.EngineTypes.endp = _endpos__5_;
28882 MenhirLib.EngineTypes.next = {
28883 MenhirLib.EngineTypes.semv = d;
28884 MenhirLib.EngineTypes.startp = _startpos_d_;
28885 MenhirLib.EngineTypes.endp = _endpos_d_;
28886 MenhirLib.EngineTypes.next = {
28887 MenhirLib.EngineTypes.semv = lang;
28888 MenhirLib.EngineTypes.startp = _startpos_lang_;
28889 MenhirLib.EngineTypes.endp = _endpos_lang_;
28890 MenhirLib.EngineTypes.next = {
28891 MenhirLib.EngineTypes.startp = _startpos__2_;
28892 MenhirLib.EngineTypes.endp = _endpos__2_;
28893 MenhirLib.EngineTypes.next = {
28894 MenhirLib.EngineTypes.state = _menhir_s;
28895 MenhirLib.EngineTypes.startp = _startpos__1_;
28896 MenhirLib.EngineTypes.endp = _endpos__1_;
28897 MenhirLib.EngineTypes.next = _menhir_stack;
28898 };
28899 };
28900 };
28901 };
28902 } = _menhir_stack in
28903 let d : 'tv_depends = Obj.magic d in
28904 let lang : 'tv_pure_ident = Obj.magic lang in
28905 let _startpos = _startpos__1_ in
28906 let _endpos = _endpos__5_ in
28907 let _v : (
28908 # 176 "parser_cocci_menhir.mly"
28909 (Ast_cocci.rulename)
28910 # 28911 "parser_cocci_menhir.ml"
28911 ) =
28912 # 234 "parser_cocci_menhir.mly"
28913 ( P.make_initial_script_rule_name_result lang d )
28914 # 28915 "parser_cocci_menhir.ml"
28915 in
28916 _menhir_env.MenhirLib.EngineTypes.stack <- {
28917 MenhirLib.EngineTypes.state = _menhir_s;
28918 MenhirLib.EngineTypes.semv = Obj.repr _v;
28919 MenhirLib.EngineTypes.startp = _startpos;
28920 MenhirLib.EngineTypes.endp = _endpos;
28921 MenhirLib.EngineTypes.next = _menhir_stack;
28922 });
28923 (fun _menhir_env ->
28924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28925 let {
28926 MenhirLib.EngineTypes.startp = _startpos__5_;
28927 MenhirLib.EngineTypes.endp = _endpos__5_;
28928 MenhirLib.EngineTypes.next = {
28929 MenhirLib.EngineTypes.semv = d;
28930 MenhirLib.EngineTypes.startp = _startpos_d_;
28931 MenhirLib.EngineTypes.endp = _endpos_d_;
28932 MenhirLib.EngineTypes.next = {
28933 MenhirLib.EngineTypes.semv = lang;
28934 MenhirLib.EngineTypes.startp = _startpos_lang_;
28935 MenhirLib.EngineTypes.endp = _endpos_lang_;
28936 MenhirLib.EngineTypes.next = {
28937 MenhirLib.EngineTypes.startp = _startpos__2_;
28938 MenhirLib.EngineTypes.endp = _endpos__2_;
28939 MenhirLib.EngineTypes.next = {
28940 MenhirLib.EngineTypes.state = _menhir_s;
28941 MenhirLib.EngineTypes.startp = _startpos__1_;
28942 MenhirLib.EngineTypes.endp = _endpos__1_;
28943 MenhirLib.EngineTypes.next = _menhir_stack;
28944 };
28945 };
28946 };
28947 };
28948 } = _menhir_stack in
28949 let d : 'tv_depends = Obj.magic d in
28950 let lang : 'tv_pure_ident = Obj.magic lang in
28951 let _startpos = _startpos__1_ in
28952 let _endpos = _endpos__5_ in
28953 let _v : (
28954 # 176 "parser_cocci_menhir.mly"
28955 (Ast_cocci.rulename)
28956 # 28957 "parser_cocci_menhir.ml"
28957 ) =
28958 # 236 "parser_cocci_menhir.mly"
28959 ( P.make_final_script_rule_name_result lang d )
28960 # 28961 "parser_cocci_menhir.ml"
28961 in
28962 _menhir_env.MenhirLib.EngineTypes.stack <- {
28963 MenhirLib.EngineTypes.state = _menhir_s;
28964 MenhirLib.EngineTypes.semv = Obj.repr _v;
28965 MenhirLib.EngineTypes.startp = _startpos;
28966 MenhirLib.EngineTypes.endp = _endpos;
28967 MenhirLib.EngineTypes.next = _menhir_stack;
28968 });
28969 (fun _menhir_env ->
28970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28971 let {
28972 MenhirLib.EngineTypes.startp = _startpos__6_;
28973 MenhirLib.EngineTypes.endp = _endpos__6_;
28974 MenhirLib.EngineTypes.next = {
28975 MenhirLib.EngineTypes.semv = cocci;
28976 MenhirLib.EngineTypes.startp = _startpos_cocci_;
28977 MenhirLib.EngineTypes.endp = _endpos_cocci_;
28978 MenhirLib.EngineTypes.next = {
28979 MenhirLib.EngineTypes.startp = _startpos__4_;
28980 MenhirLib.EngineTypes.endp = _endpos__4_;
28981 MenhirLib.EngineTypes.next = {
28982 MenhirLib.EngineTypes.semv = _3;
28983 MenhirLib.EngineTypes.startp = _startpos__3_;
28984 MenhirLib.EngineTypes.endp = _endpos__3_;
28985 MenhirLib.EngineTypes.next = {
28986 MenhirLib.EngineTypes.startp = _startpos__2_;
28987 MenhirLib.EngineTypes.endp = _endpos__2_;
28988 MenhirLib.EngineTypes.next = {
28989 MenhirLib.EngineTypes.state = _menhir_s;
28990 MenhirLib.EngineTypes.semv = py;
28991 MenhirLib.EngineTypes.startp = _startpos_py_;
28992 MenhirLib.EngineTypes.endp = _endpos_py_;
28993 MenhirLib.EngineTypes.next = _menhir_stack;
28994 };
28995 };
28996 };
28997 };
28998 };
28999 } = _menhir_stack in
29000 let cocci : 'tv_pure_ident = Obj.magic cocci in
29001 let _3 : (
29002 # 69 "parser_cocci_menhir.mly"
29003 (string)
29004 # 29005 "parser_cocci_menhir.ml"
29005 ) = Obj.magic _3 in
29006 let py : 'tv_pure_ident = Obj.magic py in
29007 let _startpos = _startpos_py_ in
29008 let _endpos = _endpos__6_ in
29009 let _v : (
29010 # 182 "parser_cocci_menhir.mly"
29011 (string * Ast_cocci.meta_name)
29012 # 29013 "parser_cocci_menhir.ml"
29013 ) =
29014 # 2064 "parser_cocci_menhir.mly"
29015 ( (P.id2name py, (_3, P.id2name cocci)) )
29016 # 29017 "parser_cocci_menhir.ml"
29017 in
29018 _menhir_env.MenhirLib.EngineTypes.stack <- {
29019 MenhirLib.EngineTypes.state = _menhir_s;
29020 MenhirLib.EngineTypes.semv = Obj.repr _v;
29021 MenhirLib.EngineTypes.startp = _startpos;
29022 MenhirLib.EngineTypes.endp = _endpos;
29023 MenhirLib.EngineTypes.next = _menhir_stack;
29024 });
29025 (fun _menhir_env ->
29026 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29027 let {
29028 MenhirLib.EngineTypes.startp = _startpos__6_;
29029 MenhirLib.EngineTypes.endp = _endpos__6_;
29030 MenhirLib.EngineTypes.next = {
29031 MenhirLib.EngineTypes.semv = cocci;
29032 MenhirLib.EngineTypes.startp = _startpos_cocci_;
29033 MenhirLib.EngineTypes.endp = _endpos_cocci_;
29034 MenhirLib.EngineTypes.next = {
29035 MenhirLib.EngineTypes.startp = _startpos__4_;
29036 MenhirLib.EngineTypes.endp = _endpos__4_;
29037 MenhirLib.EngineTypes.next = {
29038 MenhirLib.EngineTypes.startp = _startpos__3_;
29039 MenhirLib.EngineTypes.endp = _endpos__3_;
29040 MenhirLib.EngineTypes.next = {
29041 MenhirLib.EngineTypes.startp = _startpos__2_;
29042 MenhirLib.EngineTypes.endp = _endpos__2_;
29043 MenhirLib.EngineTypes.next = {
29044 MenhirLib.EngineTypes.state = _menhir_s;
29045 MenhirLib.EngineTypes.semv = py;
29046 MenhirLib.EngineTypes.startp = _startpos_py_;
29047 MenhirLib.EngineTypes.endp = _endpos_py_;
29048 MenhirLib.EngineTypes.next = _menhir_stack;
29049 };
29050 };
29051 };
29052 };
29053 };
29054 } = _menhir_stack in
29055 let cocci : 'tv_pure_ident = Obj.magic cocci in
29056 let py : 'tv_pure_ident = Obj.magic py in
29057 let _startpos = _startpos_py_ in
29058 let _endpos = _endpos__6_ in
29059 let _v : (
29060 # 182 "parser_cocci_menhir.mly"
29061 (string * Ast_cocci.meta_name)
29062 # 29063 "parser_cocci_menhir.ml"
29063 ) =
29064 # 2066 "parser_cocci_menhir.mly"
29065 ( (P.id2name py, ("virtual", P.id2name cocci)) )
29066 # 29067 "parser_cocci_menhir.ml"
29067 in
29068 _menhir_env.MenhirLib.EngineTypes.stack <- {
29069 MenhirLib.EngineTypes.state = _menhir_s;
29070 MenhirLib.EngineTypes.semv = Obj.repr _v;
29071 MenhirLib.EngineTypes.startp = _startpos;
29072 MenhirLib.EngineTypes.endp = _endpos;
29073 MenhirLib.EngineTypes.next = _menhir_stack;
29074 });
29075 (fun _menhir_env ->
29076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29077 let {
29078 MenhirLib.EngineTypes.state = _menhir_s;
29079 MenhirLib.EngineTypes.semv = _1;
29080 MenhirLib.EngineTypes.startp = _startpos__1_;
29081 MenhirLib.EngineTypes.endp = _endpos__1_;
29082 MenhirLib.EngineTypes.next = _menhir_stack;
29083 } = _menhir_stack in
29084 let _1 : (
29085 # 110 "parser_cocci_menhir.mly"
29086 (string * Data.clt)
29087 # 29088 "parser_cocci_menhir.ml"
29088 ) = Obj.magic _1 in
29089 let _startpos = _startpos__1_ in
29090 let _endpos = _endpos__1_ in
29091 let _v : 'tv_seed_elem =
29092 # 1489 "parser_cocci_menhir.mly"
29093 ( let (x,_) = _1 in Ast.SeedString x )
29094 # 29095 "parser_cocci_menhir.ml"
29095 in
29096 _menhir_env.MenhirLib.EngineTypes.stack <- {
29097 MenhirLib.EngineTypes.state = _menhir_s;
29098 MenhirLib.EngineTypes.semv = Obj.repr _v;
29099 MenhirLib.EngineTypes.startp = _startpos;
29100 MenhirLib.EngineTypes.endp = _endpos;
29101 MenhirLib.EngineTypes.next = _menhir_stack;
29102 });
29103 (fun _menhir_env ->
29104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29105 let {
29106 MenhirLib.EngineTypes.state = _menhir_s;
29107 MenhirLib.EngineTypes.semv = _1;
29108 MenhirLib.EngineTypes.startp = _startpos__1_;
29109 MenhirLib.EngineTypes.endp = _endpos__1_;
29110 MenhirLib.EngineTypes.next = _menhir_stack;
29111 } = _menhir_stack in
29112 let _1 : (
29113 # 84 "parser_cocci_menhir.mly"
29114 (Parse_aux.idinfo)
29115 # 29116 "parser_cocci_menhir.ml"
29116 ) = Obj.magic _1 in
29117 let _startpos = _startpos__1_ in
29118 let _endpos = _endpos__1_ in
29119 let _v : 'tv_seed_elem =
29120 # 1490 "parser_cocci_menhir.mly"
29121 ( let (x,_,_,_) = _1 in Ast.SeedId x )
29122 # 29123 "parser_cocci_menhir.ml"
29123 in
29124 _menhir_env.MenhirLib.EngineTypes.stack <- {
29125 MenhirLib.EngineTypes.state = _menhir_s;
29126 MenhirLib.EngineTypes.semv = Obj.repr _v;
29127 MenhirLib.EngineTypes.startp = _startpos;
29128 MenhirLib.EngineTypes.endp = _endpos;
29129 MenhirLib.EngineTypes.next = _menhir_stack;
29130 });
29131 (fun _menhir_env ->
29132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29133 let {
29134 MenhirLib.EngineTypes.semv = _3;
29135 MenhirLib.EngineTypes.startp = _startpos__3_;
29136 MenhirLib.EngineTypes.endp = _endpos__3_;
29137 MenhirLib.EngineTypes.next = {
29138 MenhirLib.EngineTypes.startp = _startpos__2_;
29139 MenhirLib.EngineTypes.endp = _endpos__2_;
29140 MenhirLib.EngineTypes.next = {
29141 MenhirLib.EngineTypes.state = _menhir_s;
29142 MenhirLib.EngineTypes.semv = _1;
29143 MenhirLib.EngineTypes.startp = _startpos__1_;
29144 MenhirLib.EngineTypes.endp = _endpos__1_;
29145 MenhirLib.EngineTypes.next = _menhir_stack;
29146 };
29147 };
29148 } = _menhir_stack in
29149 let _3 : 'tv_pure_ident = Obj.magic _3 in
29150 let _1 : (
29151 # 69 "parser_cocci_menhir.mly"
29152 (string)
29153 # 29154 "parser_cocci_menhir.ml"
29154 ) = Obj.magic _1 in
29155 let _startpos = _startpos__1_ in
29156 let _endpos = _endpos__3_ in
29157 let _v : 'tv_seed_elem =
29158 # 1492 "parser_cocci_menhir.mly"
29159 ( let nm = (_1,P.id2name _3) in
29160 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
29161 Ast.SeedId nm )
29162 # 29163 "parser_cocci_menhir.ml"
29163 in
29164 _menhir_env.MenhirLib.EngineTypes.stack <- {
29165 MenhirLib.EngineTypes.state = _menhir_s;
29166 MenhirLib.EngineTypes.semv = Obj.repr _v;
29167 MenhirLib.EngineTypes.startp = _startpos;
29168 MenhirLib.EngineTypes.endp = _endpos;
29169 MenhirLib.EngineTypes.next = _menhir_stack;
29170 });
29171 (fun _menhir_env ->
29172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29173 let {
29174 MenhirLib.EngineTypes.state = _menhir_s;
29175 MenhirLib.EngineTypes.semv = x;
29176 MenhirLib.EngineTypes.startp = _startpos_x_;
29177 MenhirLib.EngineTypes.endp = _endpos_x_;
29178 MenhirLib.EngineTypes.next = _menhir_stack;
29179 } = _menhir_stack in
29180 let x : (
29181 # 110 "parser_cocci_menhir.mly"
29182 (string * Data.clt)
29183 # 29184 "parser_cocci_menhir.ml"
29184 ) = Obj.magic x in
29185 let _startpos = _startpos_x_ in
29186 let _endpos = _endpos_x_ in
29187 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
29188 # 144 "standard.mly"
29189 ( [ x ] )
29190 # 29191 "parser_cocci_menhir.ml"
29191 in
29192 _menhir_env.MenhirLib.EngineTypes.stack <- {
29193 MenhirLib.EngineTypes.state = _menhir_s;
29194 MenhirLib.EngineTypes.semv = Obj.repr _v;
29195 MenhirLib.EngineTypes.startp = _startpos;
29196 MenhirLib.EngineTypes.endp = _endpos;
29197 MenhirLib.EngineTypes.next = _menhir_stack;
29198 });
29199 (fun _menhir_env ->
29200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29201 let {
29202 MenhirLib.EngineTypes.semv = xs;
29203 MenhirLib.EngineTypes.startp = _startpos_xs_;
29204 MenhirLib.EngineTypes.endp = _endpos_xs_;
29205 MenhirLib.EngineTypes.next = {
29206 MenhirLib.EngineTypes.startp = _startpos__2_;
29207 MenhirLib.EngineTypes.endp = _endpos__2_;
29208 MenhirLib.EngineTypes.next = {
29209 MenhirLib.EngineTypes.state = _menhir_s;
29210 MenhirLib.EngineTypes.semv = x;
29211 MenhirLib.EngineTypes.startp = _startpos_x_;
29212 MenhirLib.EngineTypes.endp = _endpos_x_;
29213 MenhirLib.EngineTypes.next = _menhir_stack;
29214 };
29215 };
29216 } = _menhir_stack in
29217 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
29218 let x : (
29219 # 110 "parser_cocci_menhir.mly"
29220 (string * Data.clt)
29221 # 29222 "parser_cocci_menhir.ml"
29222 ) = Obj.magic x in
29223 let _startpos = _startpos_x_ in
29224 let _endpos = _endpos_xs_ in
29225 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
29226 # 146 "standard.mly"
29227 ( x :: xs )
29228 # 29229 "parser_cocci_menhir.ml"
29229 in
29230 _menhir_env.MenhirLib.EngineTypes.stack <- {
29231 MenhirLib.EngineTypes.state = _menhir_s;
29232 MenhirLib.EngineTypes.semv = Obj.repr _v;
29233 MenhirLib.EngineTypes.startp = _startpos;
29234 MenhirLib.EngineTypes.endp = _endpos;
29235 MenhirLib.EngineTypes.next = _menhir_stack;
29236 });
29237 (fun _menhir_env ->
29238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29239 let {
29240 MenhirLib.EngineTypes.state = _menhir_s;
29241 MenhirLib.EngineTypes.semv = x;
29242 MenhirLib.EngineTypes.startp = _startpos_x_;
29243 MenhirLib.EngineTypes.endp = _endpos_x_;
29244 MenhirLib.EngineTypes.next = _menhir_stack;
29245 } = _menhir_stack in
29246 let x : 'tv_any_strict = Obj.magic x in
29247 let _startpos = _startpos_x_ in
29248 let _endpos = _endpos_x_ in
29249 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
29250 # 144 "standard.mly"
29251 ( [ x ] )
29252 # 29253 "parser_cocci_menhir.ml"
29253 in
29254 _menhir_env.MenhirLib.EngineTypes.stack <- {
29255 MenhirLib.EngineTypes.state = _menhir_s;
29256 MenhirLib.EngineTypes.semv = Obj.repr _v;
29257 MenhirLib.EngineTypes.startp = _startpos;
29258 MenhirLib.EngineTypes.endp = _endpos;
29259 MenhirLib.EngineTypes.next = _menhir_stack;
29260 });
29261 (fun _menhir_env ->
29262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29263 let {
29264 MenhirLib.EngineTypes.semv = xs;
29265 MenhirLib.EngineTypes.startp = _startpos_xs_;
29266 MenhirLib.EngineTypes.endp = _endpos_xs_;
29267 MenhirLib.EngineTypes.next = {
29268 MenhirLib.EngineTypes.startp = _startpos__2_;
29269 MenhirLib.EngineTypes.endp = _endpos__2_;
29270 MenhirLib.EngineTypes.next = {
29271 MenhirLib.EngineTypes.state = _menhir_s;
29272 MenhirLib.EngineTypes.semv = x;
29273 MenhirLib.EngineTypes.startp = _startpos_x_;
29274 MenhirLib.EngineTypes.endp = _endpos_x_;
29275 MenhirLib.EngineTypes.next = _menhir_stack;
29276 };
29277 };
29278 } = _menhir_stack in
29279 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
29280 let x : 'tv_any_strict = Obj.magic x in
29281 let _startpos = _startpos_x_ in
29282 let _endpos = _endpos_xs_ in
29283 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
29284 # 146 "standard.mly"
29285 ( x :: xs )
29286 # 29287 "parser_cocci_menhir.ml"
29287 in
29288 _menhir_env.MenhirLib.EngineTypes.stack <- {
29289 MenhirLib.EngineTypes.state = _menhir_s;
29290 MenhirLib.EngineTypes.semv = Obj.repr _v;
29291 MenhirLib.EngineTypes.startp = _startpos;
29292 MenhirLib.EngineTypes.endp = _endpos;
29293 MenhirLib.EngineTypes.next = _menhir_stack;
29294 });
29295 (fun _menhir_env ->
29296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29297 let {
29298 MenhirLib.EngineTypes.state = _menhir_s;
29299 MenhirLib.EngineTypes.semv = x;
29300 MenhirLib.EngineTypes.startp = _startpos_x_;
29301 MenhirLib.EngineTypes.endp = _endpos_x_;
29302 MenhirLib.EngineTypes.next = _menhir_stack;
29303 } = _menhir_stack in
29304 let x : 'tv_ctype = Obj.magic x in
29305 let _startpos = _startpos_x_ in
29306 let _endpos = _endpos_x_ in
29307 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
29308 # 144 "standard.mly"
29309 ( [ x ] )
29310 # 29311 "parser_cocci_menhir.ml"
29311 in
29312 _menhir_env.MenhirLib.EngineTypes.stack <- {
29313 MenhirLib.EngineTypes.state = _menhir_s;
29314 MenhirLib.EngineTypes.semv = Obj.repr _v;
29315 MenhirLib.EngineTypes.startp = _startpos;
29316 MenhirLib.EngineTypes.endp = _endpos;
29317 MenhirLib.EngineTypes.next = _menhir_stack;
29318 });
29319 (fun _menhir_env ->
29320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29321 let {
29322 MenhirLib.EngineTypes.semv = xs;
29323 MenhirLib.EngineTypes.startp = _startpos_xs_;
29324 MenhirLib.EngineTypes.endp = _endpos_xs_;
29325 MenhirLib.EngineTypes.next = {
29326 MenhirLib.EngineTypes.startp = _startpos__2_;
29327 MenhirLib.EngineTypes.endp = _endpos__2_;
29328 MenhirLib.EngineTypes.next = {
29329 MenhirLib.EngineTypes.state = _menhir_s;
29330 MenhirLib.EngineTypes.semv = x;
29331 MenhirLib.EngineTypes.startp = _startpos_x_;
29332 MenhirLib.EngineTypes.endp = _endpos_x_;
29333 MenhirLib.EngineTypes.next = _menhir_stack;
29334 };
29335 };
29336 } = _menhir_stack in
29337 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
29338 let x : 'tv_ctype = Obj.magic x in
29339 let _startpos = _startpos_x_ in
29340 let _endpos = _endpos_xs_ in
29341 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
29342 # 146 "standard.mly"
29343 ( x :: xs )
29344 # 29345 "parser_cocci_menhir.ml"
29345 in
29346 _menhir_env.MenhirLib.EngineTypes.stack <- {
29347 MenhirLib.EngineTypes.state = _menhir_s;
29348 MenhirLib.EngineTypes.semv = Obj.repr _v;
29349 MenhirLib.EngineTypes.startp = _startpos;
29350 MenhirLib.EngineTypes.endp = _endpos;
29351 MenhirLib.EngineTypes.next = _menhir_stack;
29352 });
29353 (fun _menhir_env ->
29354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29355 let {
29356 MenhirLib.EngineTypes.state = _menhir_s;
29357 MenhirLib.EngineTypes.semv = x;
29358 MenhirLib.EngineTypes.startp = _startpos_x_;
29359 MenhirLib.EngineTypes.endp = _endpos_x_;
29360 MenhirLib.EngineTypes.next = _menhir_stack;
29361 } = _menhir_stack in
29362 let x : 'tv_d_ident = Obj.magic x in
29363 let _startpos = _startpos_x_ in
29364 let _endpos = _endpos_x_ in
29365 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
29366 # 144 "standard.mly"
29367 ( [ x ] )
29368 # 29369 "parser_cocci_menhir.ml"
29369 in
29370 _menhir_env.MenhirLib.EngineTypes.stack <- {
29371 MenhirLib.EngineTypes.state = _menhir_s;
29372 MenhirLib.EngineTypes.semv = Obj.repr _v;
29373 MenhirLib.EngineTypes.startp = _startpos;
29374 MenhirLib.EngineTypes.endp = _endpos;
29375 MenhirLib.EngineTypes.next = _menhir_stack;
29376 });
29377 (fun _menhir_env ->
29378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29379 let {
29380 MenhirLib.EngineTypes.semv = xs;
29381 MenhirLib.EngineTypes.startp = _startpos_xs_;
29382 MenhirLib.EngineTypes.endp = _endpos_xs_;
29383 MenhirLib.EngineTypes.next = {
29384 MenhirLib.EngineTypes.startp = _startpos__2_;
29385 MenhirLib.EngineTypes.endp = _endpos__2_;
29386 MenhirLib.EngineTypes.next = {
29387 MenhirLib.EngineTypes.state = _menhir_s;
29388 MenhirLib.EngineTypes.semv = x;
29389 MenhirLib.EngineTypes.startp = _startpos_x_;
29390 MenhirLib.EngineTypes.endp = _endpos_x_;
29391 MenhirLib.EngineTypes.next = _menhir_stack;
29392 };
29393 };
29394 } = _menhir_stack in
29395 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
29396 let x : 'tv_d_ident = Obj.magic x in
29397 let _startpos = _startpos_x_ in
29398 let _endpos = _endpos_xs_ in
29399 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
29400 # 146 "standard.mly"
29401 ( x :: xs )
29402 # 29403 "parser_cocci_menhir.ml"
29403 in
29404 _menhir_env.MenhirLib.EngineTypes.stack <- {
29405 MenhirLib.EngineTypes.state = _menhir_s;
29406 MenhirLib.EngineTypes.semv = Obj.repr _v;
29407 MenhirLib.EngineTypes.startp = _startpos;
29408 MenhirLib.EngineTypes.endp = _endpos;
29409 MenhirLib.EngineTypes.next = _menhir_stack;
29410 });
29411 (fun _menhir_env ->
29412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29413 let {
29414 MenhirLib.EngineTypes.state = _menhir_s;
29415 MenhirLib.EngineTypes.semv = x;
29416 MenhirLib.EngineTypes.startp = _startpos_x_;
29417 MenhirLib.EngineTypes.endp = _endpos_x_;
29418 MenhirLib.EngineTypes.next = _menhir_stack;
29419 } = _menhir_stack in
29420 let x : 'tv_ident_or_const = Obj.magic x in
29421 let _startpos = _startpos_x_ in
29422 let _endpos = _endpos_x_ in
29423 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29424 # 144 "standard.mly"
29425 ( [ x ] )
29426 # 29427 "parser_cocci_menhir.ml"
29427 in
29428 _menhir_env.MenhirLib.EngineTypes.stack <- {
29429 MenhirLib.EngineTypes.state = _menhir_s;
29430 MenhirLib.EngineTypes.semv = Obj.repr _v;
29431 MenhirLib.EngineTypes.startp = _startpos;
29432 MenhirLib.EngineTypes.endp = _endpos;
29433 MenhirLib.EngineTypes.next = _menhir_stack;
29434 });
29435 (fun _menhir_env ->
29436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29437 let {
29438 MenhirLib.EngineTypes.semv = xs;
29439 MenhirLib.EngineTypes.startp = _startpos_xs_;
29440 MenhirLib.EngineTypes.endp = _endpos_xs_;
29441 MenhirLib.EngineTypes.next = {
29442 MenhirLib.EngineTypes.startp = _startpos__2_;
29443 MenhirLib.EngineTypes.endp = _endpos__2_;
29444 MenhirLib.EngineTypes.next = {
29445 MenhirLib.EngineTypes.state = _menhir_s;
29446 MenhirLib.EngineTypes.semv = x;
29447 MenhirLib.EngineTypes.startp = _startpos_x_;
29448 MenhirLib.EngineTypes.endp = _endpos_x_;
29449 MenhirLib.EngineTypes.next = _menhir_stack;
29450 };
29451 };
29452 } = _menhir_stack in
29453 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
29454 let x : 'tv_ident_or_const = Obj.magic x in
29455 let _startpos = _startpos_x_ in
29456 let _endpos = _endpos_xs_ in
29457 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29458 # 146 "standard.mly"
29459 ( x :: xs )
29460 # 29461 "parser_cocci_menhir.ml"
29461 in
29462 _menhir_env.MenhirLib.EngineTypes.stack <- {
29463 MenhirLib.EngineTypes.state = _menhir_s;
29464 MenhirLib.EngineTypes.semv = Obj.repr _v;
29465 MenhirLib.EngineTypes.startp = _startpos;
29466 MenhirLib.EngineTypes.endp = _endpos;
29467 MenhirLib.EngineTypes.next = _menhir_stack;
29468 });
29469 (fun _menhir_env ->
29470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29471 let {
29472 MenhirLib.EngineTypes.state = _menhir_s;
29473 MenhirLib.EngineTypes.semv = x;
29474 MenhirLib.EngineTypes.startp = _startpos_x_;
29475 MenhirLib.EngineTypes.endp = _endpos_x_;
29476 MenhirLib.EngineTypes.next = _menhir_stack;
29477 } = _menhir_stack in
29478 let x : 'tv_meta_ident = Obj.magic x in
29479 let _startpos = _startpos_x_ in
29480 let _endpos = _endpos_x_ in
29481 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29482 # 144 "standard.mly"
29483 ( [ x ] )
29484 # 29485 "parser_cocci_menhir.ml"
29485 in
29486 _menhir_env.MenhirLib.EngineTypes.stack <- {
29487 MenhirLib.EngineTypes.state = _menhir_s;
29488 MenhirLib.EngineTypes.semv = Obj.repr _v;
29489 MenhirLib.EngineTypes.startp = _startpos;
29490 MenhirLib.EngineTypes.endp = _endpos;
29491 MenhirLib.EngineTypes.next = _menhir_stack;
29492 });
29493 (fun _menhir_env ->
29494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29495 let {
29496 MenhirLib.EngineTypes.semv = xs;
29497 MenhirLib.EngineTypes.startp = _startpos_xs_;
29498 MenhirLib.EngineTypes.endp = _endpos_xs_;
29499 MenhirLib.EngineTypes.next = {
29500 MenhirLib.EngineTypes.startp = _startpos__2_;
29501 MenhirLib.EngineTypes.endp = _endpos__2_;
29502 MenhirLib.EngineTypes.next = {
29503 MenhirLib.EngineTypes.state = _menhir_s;
29504 MenhirLib.EngineTypes.semv = x;
29505 MenhirLib.EngineTypes.startp = _startpos_x_;
29506 MenhirLib.EngineTypes.endp = _endpos_x_;
29507 MenhirLib.EngineTypes.next = _menhir_stack;
29508 };
29509 };
29510 } = _menhir_stack in
29511 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
29512 let x : 'tv_meta_ident = Obj.magic x in
29513 let _startpos = _startpos_x_ in
29514 let _endpos = _endpos_xs_ in
29515 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29516 # 146 "standard.mly"
29517 ( x :: xs )
29518 # 29519 "parser_cocci_menhir.ml"
29519 in
29520 _menhir_env.MenhirLib.EngineTypes.stack <- {
29521 MenhirLib.EngineTypes.state = _menhir_s;
29522 MenhirLib.EngineTypes.semv = Obj.repr _v;
29523 MenhirLib.EngineTypes.startp = _startpos;
29524 MenhirLib.EngineTypes.endp = _endpos;
29525 MenhirLib.EngineTypes.next = _menhir_stack;
29526 });
29527 (fun _menhir_env ->
29528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29529 let {
29530 MenhirLib.EngineTypes.state = _menhir_s;
29531 MenhirLib.EngineTypes.semv = x;
29532 MenhirLib.EngineTypes.startp = _startpos_x_;
29533 MenhirLib.EngineTypes.endp = _endpos_x_;
29534 MenhirLib.EngineTypes.next = _menhir_stack;
29535 } = _menhir_stack in
29536 let x : 'tv_pure_ident = Obj.magic x in
29537 let _startpos = _startpos_x_ in
29538 let _endpos = _endpos_x_ in
29539 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29540 # 144 "standard.mly"
29541 ( [ x ] )
29542 # 29543 "parser_cocci_menhir.ml"
29543 in
29544 _menhir_env.MenhirLib.EngineTypes.stack <- {
29545 MenhirLib.EngineTypes.state = _menhir_s;
29546 MenhirLib.EngineTypes.semv = Obj.repr _v;
29547 MenhirLib.EngineTypes.startp = _startpos;
29548 MenhirLib.EngineTypes.endp = _endpos;
29549 MenhirLib.EngineTypes.next = _menhir_stack;
29550 });
29551 (fun _menhir_env ->
29552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29553 let {
29554 MenhirLib.EngineTypes.semv = xs;
29555 MenhirLib.EngineTypes.startp = _startpos_xs_;
29556 MenhirLib.EngineTypes.endp = _endpos_xs_;
29557 MenhirLib.EngineTypes.next = {
29558 MenhirLib.EngineTypes.startp = _startpos__2_;
29559 MenhirLib.EngineTypes.endp = _endpos__2_;
29560 MenhirLib.EngineTypes.next = {
29561 MenhirLib.EngineTypes.state = _menhir_s;
29562 MenhirLib.EngineTypes.semv = x;
29563 MenhirLib.EngineTypes.startp = _startpos_x_;
29564 MenhirLib.EngineTypes.endp = _endpos_x_;
29565 MenhirLib.EngineTypes.next = _menhir_stack;
29566 };
29567 };
29568 } = _menhir_stack in
29569 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
29570 let x : 'tv_pure_ident = Obj.magic x in
29571 let _startpos = _startpos_x_ in
29572 let _endpos = _endpos_xs_ in
29573 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29574 # 146 "standard.mly"
29575 ( x :: xs )
29576 # 29577 "parser_cocci_menhir.ml"
29577 in
29578 _menhir_env.MenhirLib.EngineTypes.stack <- {
29579 MenhirLib.EngineTypes.state = _menhir_s;
29580 MenhirLib.EngineTypes.semv = Obj.repr _v;
29581 MenhirLib.EngineTypes.startp = _startpos;
29582 MenhirLib.EngineTypes.endp = _endpos;
29583 MenhirLib.EngineTypes.next = _menhir_stack;
29584 });
29585 (fun _menhir_env ->
29586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29587 let {
29588 MenhirLib.EngineTypes.state = _menhir_s;
29589 MenhirLib.EngineTypes.semv = x;
29590 MenhirLib.EngineTypes.startp = _startpos_x_;
29591 MenhirLib.EngineTypes.endp = _endpos_x_;
29592 MenhirLib.EngineTypes.next = _menhir_stack;
29593 } = _menhir_stack in
29594 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29595 let _startpos = _startpos_x_ in
29596 let _endpos = _endpos_x_ in
29597 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29598 # 144 "standard.mly"
29599 ( [ x ] )
29600 # 29601 "parser_cocci_menhir.ml"
29601 in
29602 _menhir_env.MenhirLib.EngineTypes.stack <- {
29603 MenhirLib.EngineTypes.state = _menhir_s;
29604 MenhirLib.EngineTypes.semv = Obj.repr _v;
29605 MenhirLib.EngineTypes.startp = _startpos;
29606 MenhirLib.EngineTypes.endp = _endpos;
29607 MenhirLib.EngineTypes.next = _menhir_stack;
29608 });
29609 (fun _menhir_env ->
29610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29611 let {
29612 MenhirLib.EngineTypes.semv = xs;
29613 MenhirLib.EngineTypes.startp = _startpos_xs_;
29614 MenhirLib.EngineTypes.endp = _endpos_xs_;
29615 MenhirLib.EngineTypes.next = {
29616 MenhirLib.EngineTypes.startp = _startpos__2_;
29617 MenhirLib.EngineTypes.endp = _endpos__2_;
29618 MenhirLib.EngineTypes.next = {
29619 MenhirLib.EngineTypes.state = _menhir_s;
29620 MenhirLib.EngineTypes.semv = x;
29621 MenhirLib.EngineTypes.startp = _startpos_x_;
29622 MenhirLib.EngineTypes.endp = _endpos_x_;
29623 MenhirLib.EngineTypes.next = _menhir_stack;
29624 };
29625 };
29626 } = _menhir_stack in
29627 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
29628 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29629 let _startpos = _startpos_x_ in
29630 let _endpos = _endpos_xs_ in
29631 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29632 # 146 "standard.mly"
29633 ( x :: xs )
29634 # 29635 "parser_cocci_menhir.ml"
29635 in
29636 _menhir_env.MenhirLib.EngineTypes.stack <- {
29637 MenhirLib.EngineTypes.state = _menhir_s;
29638 MenhirLib.EngineTypes.semv = Obj.repr _v;
29639 MenhirLib.EngineTypes.startp = _startpos;
29640 MenhirLib.EngineTypes.endp = _endpos;
29641 MenhirLib.EngineTypes.next = _menhir_stack;
29642 });
29643 (fun _menhir_env ->
29644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29645 let {
29646 MenhirLib.EngineTypes.state = _menhir_s;
29647 MenhirLib.EngineTypes.semv = x;
29648 MenhirLib.EngineTypes.startp = _startpos_x_;
29649 MenhirLib.EngineTypes.endp = _endpos_x_;
29650 MenhirLib.EngineTypes.next = _menhir_stack;
29651 } = _menhir_stack in
29652 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
29653 let _startpos = _startpos_x_ in
29654 let _endpos = _endpos_x_ in
29655 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
29656 # 144 "standard.mly"
29657 ( [ x ] )
29658 # 29659 "parser_cocci_menhir.ml"
29659 in
29660 _menhir_env.MenhirLib.EngineTypes.stack <- {
29661 MenhirLib.EngineTypes.state = _menhir_s;
29662 MenhirLib.EngineTypes.semv = Obj.repr _v;
29663 MenhirLib.EngineTypes.startp = _startpos;
29664 MenhirLib.EngineTypes.endp = _endpos;
29665 MenhirLib.EngineTypes.next = _menhir_stack;
29666 });
29667 (fun _menhir_env ->
29668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29669 let {
29670 MenhirLib.EngineTypes.semv = xs;
29671 MenhirLib.EngineTypes.startp = _startpos_xs_;
29672 MenhirLib.EngineTypes.endp = _endpos_xs_;
29673 MenhirLib.EngineTypes.next = {
29674 MenhirLib.EngineTypes.startp = _startpos__2_;
29675 MenhirLib.EngineTypes.endp = _endpos__2_;
29676 MenhirLib.EngineTypes.next = {
29677 MenhirLib.EngineTypes.state = _menhir_s;
29678 MenhirLib.EngineTypes.semv = x;
29679 MenhirLib.EngineTypes.startp = _startpos_x_;
29680 MenhirLib.EngineTypes.endp = _endpos_x_;
29681 MenhirLib.EngineTypes.next = _menhir_stack;
29682 };
29683 };
29684 } = _menhir_stack in
29685 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
29686 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
29687 let _startpos = _startpos_x_ in
29688 let _endpos = _endpos_xs_ in
29689 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
29690 # 146 "standard.mly"
29691 ( x :: xs )
29692 # 29693 "parser_cocci_menhir.ml"
29693 in
29694 _menhir_env.MenhirLib.EngineTypes.stack <- {
29695 MenhirLib.EngineTypes.state = _menhir_s;
29696 MenhirLib.EngineTypes.semv = Obj.repr _v;
29697 MenhirLib.EngineTypes.startp = _startpos;
29698 MenhirLib.EngineTypes.endp = _endpos;
29699 MenhirLib.EngineTypes.next = _menhir_stack;
29700 });
29701 (fun _menhir_env ->
29702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29703 let {
29704 MenhirLib.EngineTypes.state = _menhir_s;
29705 MenhirLib.EngineTypes.semv = x;
29706 MenhirLib.EngineTypes.startp = _startpos_x_;
29707 MenhirLib.EngineTypes.endp = _endpos_x_;
29708 MenhirLib.EngineTypes.next = _menhir_stack;
29709 } = _menhir_stack in
29710 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
29711 let _startpos = _startpos_x_ in
29712 let _endpos = _endpos_x_ in
29713 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
29714 # 144 "standard.mly"
29715 ( [ x ] )
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 = xs;
29729 MenhirLib.EngineTypes.startp = _startpos_xs_;
29730 MenhirLib.EngineTypes.endp = _endpos_xs_;
29731 MenhirLib.EngineTypes.next = {
29732 MenhirLib.EngineTypes.startp = _startpos__2_;
29733 MenhirLib.EngineTypes.endp = _endpos__2_;
29734 MenhirLib.EngineTypes.next = {
29735 MenhirLib.EngineTypes.state = _menhir_s;
29736 MenhirLib.EngineTypes.semv = x;
29737 MenhirLib.EngineTypes.startp = _startpos_x_;
29738 MenhirLib.EngineTypes.endp = _endpos_x_;
29739 MenhirLib.EngineTypes.next = _menhir_stack;
29740 };
29741 };
29742 } = _menhir_stack in
29743 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
29744 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
29745 let _startpos = _startpos_x_ in
29746 let _endpos = _endpos_xs_ in
29747 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
29748 # 146 "standard.mly"
29749 ( x :: xs )
29750 # 29751 "parser_cocci_menhir.ml"
29751 in
29752 _menhir_env.MenhirLib.EngineTypes.stack <- {
29753 MenhirLib.EngineTypes.state = _menhir_s;
29754 MenhirLib.EngineTypes.semv = Obj.repr _v;
29755 MenhirLib.EngineTypes.startp = _startpos;
29756 MenhirLib.EngineTypes.endp = _endpos;
29757 MenhirLib.EngineTypes.next = _menhir_stack;
29758 });
29759 (fun _menhir_env ->
29760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29761 let {
29762 MenhirLib.EngineTypes.state = _menhir_s;
29763 MenhirLib.EngineTypes.semv = x;
29764 MenhirLib.EngineTypes.startp = _startpos_x_;
29765 MenhirLib.EngineTypes.endp = _endpos_x_;
29766 MenhirLib.EngineTypes.next = _menhir_stack;
29767 } = _menhir_stack in
29768 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29769 let _startpos = _startpos_x_ in
29770 let _endpos = _endpos_x_ in
29771 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29772 # 144 "standard.mly"
29773 ( [ x ] )
29774 # 29775 "parser_cocci_menhir.ml"
29775 in
29776 _menhir_env.MenhirLib.EngineTypes.stack <- {
29777 MenhirLib.EngineTypes.state = _menhir_s;
29778 MenhirLib.EngineTypes.semv = Obj.repr _v;
29779 MenhirLib.EngineTypes.startp = _startpos;
29780 MenhirLib.EngineTypes.endp = _endpos;
29781 MenhirLib.EngineTypes.next = _menhir_stack;
29782 });
29783 (fun _menhir_env ->
29784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29785 let {
29786 MenhirLib.EngineTypes.semv = xs;
29787 MenhirLib.EngineTypes.startp = _startpos_xs_;
29788 MenhirLib.EngineTypes.endp = _endpos_xs_;
29789 MenhirLib.EngineTypes.next = {
29790 MenhirLib.EngineTypes.startp = _startpos__2_;
29791 MenhirLib.EngineTypes.endp = _endpos__2_;
29792 MenhirLib.EngineTypes.next = {
29793 MenhirLib.EngineTypes.state = _menhir_s;
29794 MenhirLib.EngineTypes.semv = x;
29795 MenhirLib.EngineTypes.startp = _startpos_x_;
29796 MenhirLib.EngineTypes.endp = _endpos_x_;
29797 MenhirLib.EngineTypes.next = _menhir_stack;
29798 };
29799 };
29800 } = _menhir_stack in
29801 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
29802 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29803 let _startpos = _startpos_x_ in
29804 let _endpos = _endpos_xs_ in
29805 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29806 # 146 "standard.mly"
29807 ( x :: xs )
29808 # 29809 "parser_cocci_menhir.ml"
29809 in
29810 _menhir_env.MenhirLib.EngineTypes.stack <- {
29811 MenhirLib.EngineTypes.state = _menhir_s;
29812 MenhirLib.EngineTypes.semv = Obj.repr _v;
29813 MenhirLib.EngineTypes.startp = _startpos;
29814 MenhirLib.EngineTypes.endp = _endpos;
29815 MenhirLib.EngineTypes.next = _menhir_stack;
29816 });
29817 (fun _menhir_env ->
29818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29819 let {
29820 MenhirLib.EngineTypes.state = _menhir_s;
29821 MenhirLib.EngineTypes.semv = x;
29822 MenhirLib.EngineTypes.startp = _startpos_x_;
29823 MenhirLib.EngineTypes.endp = _endpos_x_;
29824 MenhirLib.EngineTypes.next = _menhir_stack;
29825 } = _menhir_stack in
29826 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
29827 let _startpos = _startpos_x_ in
29828 let _endpos = _endpos_x_ in
29829 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
29830 # 144 "standard.mly"
29831 ( [ x ] )
29832 # 29833 "parser_cocci_menhir.ml"
29833 in
29834 _menhir_env.MenhirLib.EngineTypes.stack <- {
29835 MenhirLib.EngineTypes.state = _menhir_s;
29836 MenhirLib.EngineTypes.semv = Obj.repr _v;
29837 MenhirLib.EngineTypes.startp = _startpos;
29838 MenhirLib.EngineTypes.endp = _endpos;
29839 MenhirLib.EngineTypes.next = _menhir_stack;
29840 });
29841 (fun _menhir_env ->
29842 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29843 let {
29844 MenhirLib.EngineTypes.semv = xs;
29845 MenhirLib.EngineTypes.startp = _startpos_xs_;
29846 MenhirLib.EngineTypes.endp = _endpos_xs_;
29847 MenhirLib.EngineTypes.next = {
29848 MenhirLib.EngineTypes.startp = _startpos__2_;
29849 MenhirLib.EngineTypes.endp = _endpos__2_;
29850 MenhirLib.EngineTypes.next = {
29851 MenhirLib.EngineTypes.state = _menhir_s;
29852 MenhirLib.EngineTypes.semv = x;
29853 MenhirLib.EngineTypes.startp = _startpos_x_;
29854 MenhirLib.EngineTypes.endp = _endpos_x_;
29855 MenhirLib.EngineTypes.next = _menhir_stack;
29856 };
29857 };
29858 } = _menhir_stack in
29859 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
29860 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
29861 let _startpos = _startpos_x_ in
29862 let _endpos = _endpos_xs_ in
29863 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
29864 # 146 "standard.mly"
29865 ( x :: xs )
29866 # 29867 "parser_cocci_menhir.ml"
29867 in
29868 _menhir_env.MenhirLib.EngineTypes.stack <- {
29869 MenhirLib.EngineTypes.state = _menhir_s;
29870 MenhirLib.EngineTypes.semv = Obj.repr _v;
29871 MenhirLib.EngineTypes.startp = _startpos;
29872 MenhirLib.EngineTypes.endp = _endpos;
29873 MenhirLib.EngineTypes.next = _menhir_stack;
29874 });
29875 (fun _menhir_env ->
29876 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29877 let {
29878 MenhirLib.EngineTypes.state = _menhir_s;
29879 MenhirLib.EngineTypes.semv = x;
29880 MenhirLib.EngineTypes.startp = _startpos_x_;
29881 MenhirLib.EngineTypes.endp = _endpos_x_;
29882 MenhirLib.EngineTypes.next = _menhir_stack;
29883 } = _menhir_stack in
29884 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29885 let _startpos = _startpos_x_ in
29886 let _endpos = _endpos_x_ in
29887 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29888 # 144 "standard.mly"
29889 ( [ x ] )
29890 # 29891 "parser_cocci_menhir.ml"
29891 in
29892 _menhir_env.MenhirLib.EngineTypes.stack <- {
29893 MenhirLib.EngineTypes.state = _menhir_s;
29894 MenhirLib.EngineTypes.semv = Obj.repr _v;
29895 MenhirLib.EngineTypes.startp = _startpos;
29896 MenhirLib.EngineTypes.endp = _endpos;
29897 MenhirLib.EngineTypes.next = _menhir_stack;
29898 });
29899 (fun _menhir_env ->
29900 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29901 let {
29902 MenhirLib.EngineTypes.semv = xs;
29903 MenhirLib.EngineTypes.startp = _startpos_xs_;
29904 MenhirLib.EngineTypes.endp = _endpos_xs_;
29905 MenhirLib.EngineTypes.next = {
29906 MenhirLib.EngineTypes.startp = _startpos__2_;
29907 MenhirLib.EngineTypes.endp = _endpos__2_;
29908 MenhirLib.EngineTypes.next = {
29909 MenhirLib.EngineTypes.state = _menhir_s;
29910 MenhirLib.EngineTypes.semv = x;
29911 MenhirLib.EngineTypes.startp = _startpos_x_;
29912 MenhirLib.EngineTypes.endp = _endpos_x_;
29913 MenhirLib.EngineTypes.next = _menhir_stack;
29914 };
29915 };
29916 } = _menhir_stack in
29917 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
29918 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29919 let _startpos = _startpos_x_ in
29920 let _endpos = _endpos_xs_ in
29921 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29922 # 146 "standard.mly"
29923 ( x :: xs )
29924 # 29925 "parser_cocci_menhir.ml"
29925 in
29926 _menhir_env.MenhirLib.EngineTypes.stack <- {
29927 MenhirLib.EngineTypes.state = _menhir_s;
29928 MenhirLib.EngineTypes.semv = Obj.repr _v;
29929 MenhirLib.EngineTypes.startp = _startpos;
29930 MenhirLib.EngineTypes.endp = _endpos;
29931 MenhirLib.EngineTypes.next = _menhir_stack;
29932 });
29933 (fun _menhir_env ->
29934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29935 let {
29936 MenhirLib.EngineTypes.state = _menhir_s;
29937 MenhirLib.EngineTypes.semv = x;
29938 MenhirLib.EngineTypes.startp = _startpos_x_;
29939 MenhirLib.EngineTypes.endp = _endpos_x_;
29940 MenhirLib.EngineTypes.next = _menhir_stack;
29941 } = _menhir_stack in
29942 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29943 let _startpos = _startpos_x_ in
29944 let _endpos = _endpos_x_ in
29945 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29946 # 144 "standard.mly"
29947 ( [ x ] )
29948 # 29949 "parser_cocci_menhir.ml"
29949 in
29950 _menhir_env.MenhirLib.EngineTypes.stack <- {
29951 MenhirLib.EngineTypes.state = _menhir_s;
29952 MenhirLib.EngineTypes.semv = Obj.repr _v;
29953 MenhirLib.EngineTypes.startp = _startpos;
29954 MenhirLib.EngineTypes.endp = _endpos;
29955 MenhirLib.EngineTypes.next = _menhir_stack;
29956 });
29957 (fun _menhir_env ->
29958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29959 let {
29960 MenhirLib.EngineTypes.semv = xs;
29961 MenhirLib.EngineTypes.startp = _startpos_xs_;
29962 MenhirLib.EngineTypes.endp = _endpos_xs_;
29963 MenhirLib.EngineTypes.next = {
29964 MenhirLib.EngineTypes.startp = _startpos__2_;
29965 MenhirLib.EngineTypes.endp = _endpos__2_;
29966 MenhirLib.EngineTypes.next = {
29967 MenhirLib.EngineTypes.state = _menhir_s;
29968 MenhirLib.EngineTypes.semv = x;
29969 MenhirLib.EngineTypes.startp = _startpos_x_;
29970 MenhirLib.EngineTypes.endp = _endpos_x_;
29971 MenhirLib.EngineTypes.next = _menhir_stack;
29972 };
29973 };
29974 } = _menhir_stack in
29975 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
29976 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29977 let _startpos = _startpos_x_ in
29978 let _endpos = _endpos_xs_ in
29979 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29980 # 146 "standard.mly"
29981 ( x :: xs )
29982 # 29983 "parser_cocci_menhir.ml"
29983 in
29984 _menhir_env.MenhirLib.EngineTypes.stack <- {
29985 MenhirLib.EngineTypes.state = _menhir_s;
29986 MenhirLib.EngineTypes.semv = Obj.repr _v;
29987 MenhirLib.EngineTypes.startp = _startpos;
29988 MenhirLib.EngineTypes.endp = _endpos;
29989 MenhirLib.EngineTypes.next = _menhir_stack;
29990 });
29991 (fun _menhir_env ->
29992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29993 let {
29994 MenhirLib.EngineTypes.state = _menhir_s;
29995 MenhirLib.EngineTypes.semv = x;
29996 MenhirLib.EngineTypes.startp = _startpos_x_;
29997 MenhirLib.EngineTypes.endp = _endpos_x_;
29998 MenhirLib.EngineTypes.next = _menhir_stack;
29999 } = _menhir_stack in
30000 let x : 'tv_typedef_ident = Obj.magic x in
30001 let _startpos = _startpos_x_ in
30002 let _endpos = _endpos_x_ in
30003 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
30004 # 144 "standard.mly"
30005 ( [ x ] )
30006 # 30007 "parser_cocci_menhir.ml"
30007 in
30008 _menhir_env.MenhirLib.EngineTypes.stack <- {
30009 MenhirLib.EngineTypes.state = _menhir_s;
30010 MenhirLib.EngineTypes.semv = Obj.repr _v;
30011 MenhirLib.EngineTypes.startp = _startpos;
30012 MenhirLib.EngineTypes.endp = _endpos;
30013 MenhirLib.EngineTypes.next = _menhir_stack;
30014 });
30015 (fun _menhir_env ->
30016 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30017 let {
30018 MenhirLib.EngineTypes.semv = xs;
30019 MenhirLib.EngineTypes.startp = _startpos_xs_;
30020 MenhirLib.EngineTypes.endp = _endpos_xs_;
30021 MenhirLib.EngineTypes.next = {
30022 MenhirLib.EngineTypes.startp = _startpos__2_;
30023 MenhirLib.EngineTypes.endp = _endpos__2_;
30024 MenhirLib.EngineTypes.next = {
30025 MenhirLib.EngineTypes.state = _menhir_s;
30026 MenhirLib.EngineTypes.semv = x;
30027 MenhirLib.EngineTypes.startp = _startpos_x_;
30028 MenhirLib.EngineTypes.endp = _endpos_x_;
30029 MenhirLib.EngineTypes.next = _menhir_stack;
30030 };
30031 };
30032 } = _menhir_stack in
30033 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
30034 let x : 'tv_typedef_ident = Obj.magic x in
30035 let _startpos = _startpos_x_ in
30036 let _endpos = _endpos_xs_ in
30037 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
30038 # 146 "standard.mly"
30039 ( x :: xs )
30040 # 30041 "parser_cocci_menhir.ml"
30041 in
30042 _menhir_env.MenhirLib.EngineTypes.stack <- {
30043 MenhirLib.EngineTypes.state = _menhir_s;
30044 MenhirLib.EngineTypes.semv = Obj.repr _v;
30045 MenhirLib.EngineTypes.startp = _startpos;
30046 MenhirLib.EngineTypes.endp = _endpos;
30047 MenhirLib.EngineTypes.next = _menhir_stack;
30048 });
30049 (fun _menhir_env ->
30050 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30051 let {
30052 MenhirLib.EngineTypes.state = _menhir_s;
30053 MenhirLib.EngineTypes.semv = x;
30054 MenhirLib.EngineTypes.startp = _startpos_x_;
30055 MenhirLib.EngineTypes.endp = _endpos_x_;
30056 MenhirLib.EngineTypes.next = _menhir_stack;
30057 } = _menhir_stack in
30058 let x : 'tv_seed_elem = Obj.magic x in
30059 let _startpos = _startpos_x_ in
30060 let _endpos = _endpos_x_ in
30061 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
30062 # 144 "standard.mly"
30063 ( [ x ] )
30064 # 30065 "parser_cocci_menhir.ml"
30065 in
30066 _menhir_env.MenhirLib.EngineTypes.stack <- {
30067 MenhirLib.EngineTypes.state = _menhir_s;
30068 MenhirLib.EngineTypes.semv = Obj.repr _v;
30069 MenhirLib.EngineTypes.startp = _startpos;
30070 MenhirLib.EngineTypes.endp = _endpos;
30071 MenhirLib.EngineTypes.next = _menhir_stack;
30072 });
30073 (fun _menhir_env ->
30074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30075 let {
30076 MenhirLib.EngineTypes.semv = xs;
30077 MenhirLib.EngineTypes.startp = _startpos_xs_;
30078 MenhirLib.EngineTypes.endp = _endpos_xs_;
30079 MenhirLib.EngineTypes.next = {
30080 MenhirLib.EngineTypes.startp = _startpos__2_;
30081 MenhirLib.EngineTypes.endp = _endpos__2_;
30082 MenhirLib.EngineTypes.next = {
30083 MenhirLib.EngineTypes.state = _menhir_s;
30084 MenhirLib.EngineTypes.semv = x;
30085 MenhirLib.EngineTypes.startp = _startpos_x_;
30086 MenhirLib.EngineTypes.endp = _endpos_x_;
30087 MenhirLib.EngineTypes.next = _menhir_stack;
30088 };
30089 };
30090 } = _menhir_stack in
30091 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
30092 let x : 'tv_seed_elem = Obj.magic x in
30093 let _startpos = _startpos_x_ in
30094 let _endpos = _endpos_xs_ in
30095 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
30096 # 146 "standard.mly"
30097 ( x :: xs )
30098 # 30099 "parser_cocci_menhir.ml"
30099 in
30100 _menhir_env.MenhirLib.EngineTypes.stack <- {
30101 MenhirLib.EngineTypes.state = _menhir_s;
30102 MenhirLib.EngineTypes.semv = Obj.repr _v;
30103 MenhirLib.EngineTypes.startp = _startpos;
30104 MenhirLib.EngineTypes.endp = _endpos;
30105 MenhirLib.EngineTypes.next = _menhir_stack;
30106 });
30107 (fun _menhir_env ->
30108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30109 let {
30110 MenhirLib.EngineTypes.state = _menhir_s;
30111 MenhirLib.EngineTypes.semv = _1;
30112 MenhirLib.EngineTypes.startp = _startpos__1_;
30113 MenhirLib.EngineTypes.endp = _endpos__1_;
30114 MenhirLib.EngineTypes.next = _menhir_stack;
30115 } = _menhir_stack in
30116 let _1 : 'tv_statement = Obj.magic _1 in
30117 let _startpos = _startpos__1_ in
30118 let _endpos = _endpos__1_ in
30119 let _v : 'tv_single_statement =
30120 # 972 "parser_cocci_menhir.mly"
30121 ( _1 )
30122 # 30123 "parser_cocci_menhir.ml"
30123 in
30124 _menhir_env.MenhirLib.EngineTypes.stack <- {
30125 MenhirLib.EngineTypes.state = _menhir_s;
30126 MenhirLib.EngineTypes.semv = Obj.repr _v;
30127 MenhirLib.EngineTypes.startp = _startpos;
30128 MenhirLib.EngineTypes.endp = _endpos;
30129 MenhirLib.EngineTypes.next = _menhir_stack;
30130 });
30131 (fun _menhir_env ->
30132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30133 let {
30134 MenhirLib.EngineTypes.semv = _3;
30135 MenhirLib.EngineTypes.startp = _startpos__3_;
30136 MenhirLib.EngineTypes.endp = _endpos__3_;
30137 MenhirLib.EngineTypes.next = {
30138 MenhirLib.EngineTypes.semv = _2;
30139 MenhirLib.EngineTypes.startp = _startpos__2_;
30140 MenhirLib.EngineTypes.endp = _endpos__2_;
30141 MenhirLib.EngineTypes.next = {
30142 MenhirLib.EngineTypes.state = _menhir_s;
30143 MenhirLib.EngineTypes.semv = _1;
30144 MenhirLib.EngineTypes.startp = _startpos__1_;
30145 MenhirLib.EngineTypes.endp = _endpos__1_;
30146 MenhirLib.EngineTypes.next = _menhir_stack;
30147 };
30148 };
30149 } = _menhir_stack in
30150 let _3 : (
30151 # 100 "parser_cocci_menhir.mly"
30152 (Data.clt)
30153 # 30154 "parser_cocci_menhir.ml"
30154 ) = Obj.magic _3 in
30155 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
30156 let _1 : (
30157 # 99 "parser_cocci_menhir.mly"
30158 (Data.clt)
30159 # 30160 "parser_cocci_menhir.ml"
30160 ) = Obj.magic _1 in
30161 let _startpos = _startpos__1_ in
30162 let _endpos = _endpos__3_ in
30163 let _v : 'tv_single_statement =
30164 # 976 "parser_cocci_menhir.mly"
30165 ( let (mids,code) = _2 in
30166 Ast0.wrap
30167 (Ast0.Disj(P.clt2mcode "(" _1,
30168 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
30169 mids, P.clt2mcode ")" _3)) )
30170 # 30171 "parser_cocci_menhir.ml"
30171 in
30172 _menhir_env.MenhirLib.EngineTypes.stack <- {
30173 MenhirLib.EngineTypes.state = _menhir_s;
30174 MenhirLib.EngineTypes.semv = Obj.repr _v;
30175 MenhirLib.EngineTypes.startp = _startpos;
30176 MenhirLib.EngineTypes.endp = _endpos;
30177 MenhirLib.EngineTypes.next = _menhir_stack;
30178 });
30179 (fun _menhir_env ->
30180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30181 let {
30182 MenhirLib.EngineTypes.state = _menhir_s;
30183 MenhirLib.EngineTypes.semv = _1;
30184 MenhirLib.EngineTypes.startp = _startpos__1_;
30185 MenhirLib.EngineTypes.endp = _endpos__1_;
30186 MenhirLib.EngineTypes.next = _menhir_stack;
30187 } = _menhir_stack in
30188 let _1 : 'tv_includes = Obj.magic _1 in
30189 let _startpos = _startpos__1_ in
30190 let _endpos = _endpos__1_ in
30191 let _v : 'tv_statement =
30192 # 899 "parser_cocci_menhir.mly"
30193 ( _1 )
30194 # 30195 "parser_cocci_menhir.ml"
30195 in
30196 _menhir_env.MenhirLib.EngineTypes.stack <- {
30197 MenhirLib.EngineTypes.state = _menhir_s;
30198 MenhirLib.EngineTypes.semv = Obj.repr _v;
30199 MenhirLib.EngineTypes.startp = _startpos;
30200 MenhirLib.EngineTypes.endp = _endpos;
30201 MenhirLib.EngineTypes.next = _menhir_stack;
30202 });
30203 (fun _menhir_env ->
30204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30205 let {
30206 MenhirLib.EngineTypes.state = _menhir_s;
30207 MenhirLib.EngineTypes.semv = _1;
30208 MenhirLib.EngineTypes.startp = _startpos__1_;
30209 MenhirLib.EngineTypes.endp = _endpos__1_;
30210 MenhirLib.EngineTypes.next = _menhir_stack;
30211 } = _menhir_stack in
30212 let _1 : (
30213 # 87 "parser_cocci_menhir.mly"
30214 (Parse_aux.info)
30215 # 30216 "parser_cocci_menhir.ml"
30216 ) = Obj.magic _1 in
30217 let _startpos = _startpos__1_ in
30218 let _endpos = _endpos__1_ in
30219 let _v : 'tv_statement =
30220 # 901 "parser_cocci_menhir.mly"
30221 ( P.meta_stm _1 )
30222 # 30223 "parser_cocci_menhir.ml"
30223 in
30224 _menhir_env.MenhirLib.EngineTypes.stack <- {
30225 MenhirLib.EngineTypes.state = _menhir_s;
30226 MenhirLib.EngineTypes.semv = Obj.repr _v;
30227 MenhirLib.EngineTypes.startp = _startpos;
30228 MenhirLib.EngineTypes.endp = _endpos;
30229 MenhirLib.EngineTypes.next = _menhir_stack;
30230 });
30231 (fun _menhir_env ->
30232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30233 let {
30234 MenhirLib.EngineTypes.semv = _2;
30235 MenhirLib.EngineTypes.startp = _startpos__2_;
30236 MenhirLib.EngineTypes.endp = _endpos__2_;
30237 MenhirLib.EngineTypes.next = {
30238 MenhirLib.EngineTypes.state = _menhir_s;
30239 MenhirLib.EngineTypes.semv = _1;
30240 MenhirLib.EngineTypes.startp = _startpos__1_;
30241 MenhirLib.EngineTypes.endp = _endpos__1_;
30242 MenhirLib.EngineTypes.next = _menhir_stack;
30243 };
30244 } = _menhir_stack in
30245 let _2 : (
30246 # 130 "parser_cocci_menhir.mly"
30247 (Data.clt)
30248 # 30249 "parser_cocci_menhir.ml"
30249 ) = Obj.magic _2 in
30250 let _1 : 'tv_expr = Obj.magic _1 in
30251 let _startpos = _startpos__1_ in
30252 let _endpos = _endpos__2_ in
30253 let _v : 'tv_statement =
30254 # 903 "parser_cocci_menhir.mly"
30255 ( P.exp_stm _1 _2 )
30256 # 30257 "parser_cocci_menhir.ml"
30257 in
30258 _menhir_env.MenhirLib.EngineTypes.stack <- {
30259 MenhirLib.EngineTypes.state = _menhir_s;
30260 MenhirLib.EngineTypes.semv = Obj.repr _v;
30261 MenhirLib.EngineTypes.startp = _startpos;
30262 MenhirLib.EngineTypes.endp = _endpos;
30263 MenhirLib.EngineTypes.next = _menhir_stack;
30264 });
30265 (fun _menhir_env ->
30266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30267 let {
30268 MenhirLib.EngineTypes.semv = _5;
30269 MenhirLib.EngineTypes.startp = _startpos__5_;
30270 MenhirLib.EngineTypes.endp = _endpos__5_;
30271 MenhirLib.EngineTypes.next = {
30272 MenhirLib.EngineTypes.semv = _4;
30273 MenhirLib.EngineTypes.startp = _startpos__4_;
30274 MenhirLib.EngineTypes.endp = _endpos__4_;
30275 MenhirLib.EngineTypes.next = {
30276 MenhirLib.EngineTypes.semv = _3;
30277 MenhirLib.EngineTypes.startp = _startpos__3_;
30278 MenhirLib.EngineTypes.endp = _endpos__3_;
30279 MenhirLib.EngineTypes.next = {
30280 MenhirLib.EngineTypes.semv = _2;
30281 MenhirLib.EngineTypes.startp = _startpos__2_;
30282 MenhirLib.EngineTypes.endp = _endpos__2_;
30283 MenhirLib.EngineTypes.next = {
30284 MenhirLib.EngineTypes.state = _menhir_s;
30285 MenhirLib.EngineTypes.semv = _1;
30286 MenhirLib.EngineTypes.startp = _startpos__1_;
30287 MenhirLib.EngineTypes.endp = _endpos__1_;
30288 MenhirLib.EngineTypes.next = _menhir_stack;
30289 };
30290 };
30291 };
30292 };
30293 } = _menhir_stack in
30294 let _5 : 'tv_single_statement = Obj.magic _5 in
30295 let _4 : (
30296 # 100 "parser_cocci_menhir.mly"
30297 (Data.clt)
30298 # 30299 "parser_cocci_menhir.ml"
30299 ) = Obj.magic _4 in
30300 let _3 : 'tv_eexpr = Obj.magic _3 in
30301 let _2 : (
30302 # 99 "parser_cocci_menhir.mly"
30303 (Data.clt)
30304 # 30305 "parser_cocci_menhir.ml"
30305 ) = Obj.magic _2 in
30306 let _1 : (
30307 # 79 "parser_cocci_menhir.mly"
30308 (Data.clt)
30309 # 30310 "parser_cocci_menhir.ml"
30310 ) = Obj.magic _1 in
30311 let _startpos = _startpos__1_ in
30312 let _endpos = _endpos__5_ in
30313 let _v : 'tv_statement =
30314 # 905 "parser_cocci_menhir.mly"
30315 ( P.ifthen _1 _2 _3 _4 _5 )
30316 # 30317 "parser_cocci_menhir.ml"
30317 in
30318 _menhir_env.MenhirLib.EngineTypes.stack <- {
30319 MenhirLib.EngineTypes.state = _menhir_s;
30320 MenhirLib.EngineTypes.semv = Obj.repr _v;
30321 MenhirLib.EngineTypes.startp = _startpos;
30322 MenhirLib.EngineTypes.endp = _endpos;
30323 MenhirLib.EngineTypes.next = _menhir_stack;
30324 });
30325 (fun _menhir_env ->
30326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30327 let {
30328 MenhirLib.EngineTypes.semv = _7;
30329 MenhirLib.EngineTypes.startp = _startpos__7_;
30330 MenhirLib.EngineTypes.endp = _endpos__7_;
30331 MenhirLib.EngineTypes.next = {
30332 MenhirLib.EngineTypes.semv = _6;
30333 MenhirLib.EngineTypes.startp = _startpos__6_;
30334 MenhirLib.EngineTypes.endp = _endpos__6_;
30335 MenhirLib.EngineTypes.next = {
30336 MenhirLib.EngineTypes.semv = _5;
30337 MenhirLib.EngineTypes.startp = _startpos__5_;
30338 MenhirLib.EngineTypes.endp = _endpos__5_;
30339 MenhirLib.EngineTypes.next = {
30340 MenhirLib.EngineTypes.semv = _4;
30341 MenhirLib.EngineTypes.startp = _startpos__4_;
30342 MenhirLib.EngineTypes.endp = _endpos__4_;
30343 MenhirLib.EngineTypes.next = {
30344 MenhirLib.EngineTypes.semv = _3;
30345 MenhirLib.EngineTypes.startp = _startpos__3_;
30346 MenhirLib.EngineTypes.endp = _endpos__3_;
30347 MenhirLib.EngineTypes.next = {
30348 MenhirLib.EngineTypes.semv = _2;
30349 MenhirLib.EngineTypes.startp = _startpos__2_;
30350 MenhirLib.EngineTypes.endp = _endpos__2_;
30351 MenhirLib.EngineTypes.next = {
30352 MenhirLib.EngineTypes.state = _menhir_s;
30353 MenhirLib.EngineTypes.semv = _1;
30354 MenhirLib.EngineTypes.startp = _startpos__1_;
30355 MenhirLib.EngineTypes.endp = _endpos__1_;
30356 MenhirLib.EngineTypes.next = _menhir_stack;
30357 };
30358 };
30359 };
30360 };
30361 };
30362 };
30363 } = _menhir_stack in
30364 let _7 : 'tv_single_statement = Obj.magic _7 in
30365 let _6 : (
30366 # 79 "parser_cocci_menhir.mly"
30367 (Data.clt)
30368 # 30369 "parser_cocci_menhir.ml"
30369 ) = Obj.magic _6 in
30370 let _5 : 'tv_single_statement = Obj.magic _5 in
30371 let _4 : (
30372 # 100 "parser_cocci_menhir.mly"
30373 (Data.clt)
30374 # 30375 "parser_cocci_menhir.ml"
30375 ) = Obj.magic _4 in
30376 let _3 : 'tv_eexpr = Obj.magic _3 in
30377 let _2 : (
30378 # 99 "parser_cocci_menhir.mly"
30379 (Data.clt)
30380 # 30381 "parser_cocci_menhir.ml"
30381 ) = Obj.magic _2 in
30382 let _1 : (
30383 # 79 "parser_cocci_menhir.mly"
30384 (Data.clt)
30385 # 30386 "parser_cocci_menhir.ml"
30386 ) = Obj.magic _1 in
30387 let _startpos = _startpos__1_ in
30388 let _endpos = _endpos__7_ in
30389 let _v : 'tv_statement =
30390 # 907 "parser_cocci_menhir.mly"
30391 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
30392 # 30393 "parser_cocci_menhir.ml"
30393 in
30394 _menhir_env.MenhirLib.EngineTypes.stack <- {
30395 MenhirLib.EngineTypes.state = _menhir_s;
30396 MenhirLib.EngineTypes.semv = Obj.repr _v;
30397 MenhirLib.EngineTypes.startp = _startpos;
30398 MenhirLib.EngineTypes.endp = _endpos;
30399 MenhirLib.EngineTypes.next = _menhir_stack;
30400 });
30401 (fun _menhir_env ->
30402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30403 let {
30404 MenhirLib.EngineTypes.semv = _9;
30405 MenhirLib.EngineTypes.startp = _startpos__9_;
30406 MenhirLib.EngineTypes.endp = _endpos__9_;
30407 MenhirLib.EngineTypes.next = {
30408 MenhirLib.EngineTypes.semv = _8;
30409 MenhirLib.EngineTypes.startp = _startpos__8_;
30410 MenhirLib.EngineTypes.endp = _endpos__8_;
30411 MenhirLib.EngineTypes.next = {
30412 MenhirLib.EngineTypes.semv = _7;
30413 MenhirLib.EngineTypes.startp = _startpos__7_;
30414 MenhirLib.EngineTypes.endp = _endpos__7_;
30415 MenhirLib.EngineTypes.next = {
30416 MenhirLib.EngineTypes.semv = _6;
30417 MenhirLib.EngineTypes.startp = _startpos__6_;
30418 MenhirLib.EngineTypes.endp = _endpos__6_;
30419 MenhirLib.EngineTypes.next = {
30420 MenhirLib.EngineTypes.semv = _5;
30421 MenhirLib.EngineTypes.startp = _startpos__5_;
30422 MenhirLib.EngineTypes.endp = _endpos__5_;
30423 MenhirLib.EngineTypes.next = {
30424 MenhirLib.EngineTypes.semv = _4;
30425 MenhirLib.EngineTypes.startp = _startpos__4_;
30426 MenhirLib.EngineTypes.endp = _endpos__4_;
30427 MenhirLib.EngineTypes.next = {
30428 MenhirLib.EngineTypes.semv = _3;
30429 MenhirLib.EngineTypes.startp = _startpos__3_;
30430 MenhirLib.EngineTypes.endp = _endpos__3_;
30431 MenhirLib.EngineTypes.next = {
30432 MenhirLib.EngineTypes.semv = _2;
30433 MenhirLib.EngineTypes.startp = _startpos__2_;
30434 MenhirLib.EngineTypes.endp = _endpos__2_;
30435 MenhirLib.EngineTypes.next = {
30436 MenhirLib.EngineTypes.state = _menhir_s;
30437 MenhirLib.EngineTypes.semv = _1;
30438 MenhirLib.EngineTypes.startp = _startpos__1_;
30439 MenhirLib.EngineTypes.endp = _endpos__1_;
30440 MenhirLib.EngineTypes.next = _menhir_stack;
30441 };
30442 };
30443 };
30444 };
30445 };
30446 };
30447 };
30448 };
30449 } = _menhir_stack in
30450 let _9 : 'tv_single_statement = Obj.magic _9 in
30451 let _8 : (
30452 # 100 "parser_cocci_menhir.mly"
30453 (Data.clt)
30454 # 30455 "parser_cocci_menhir.ml"
30455 ) = Obj.magic _8 in
30456 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
30457 let _6 : (
30458 # 130 "parser_cocci_menhir.mly"
30459 (Data.clt)
30460 # 30461 "parser_cocci_menhir.ml"
30461 ) = Obj.magic _6 in
30462 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
30463 let _4 : (
30464 # 130 "parser_cocci_menhir.mly"
30465 (Data.clt)
30466 # 30467 "parser_cocci_menhir.ml"
30467 ) = Obj.magic _4 in
30468 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
30469 let _2 : (
30470 # 99 "parser_cocci_menhir.mly"
30471 (Data.clt)
30472 # 30473 "parser_cocci_menhir.ml"
30473 ) = Obj.magic _2 in
30474 let _1 : (
30475 # 79 "parser_cocci_menhir.mly"
30476 (Data.clt)
30477 # 30478 "parser_cocci_menhir.ml"
30478 ) = Obj.magic _1 in
30479 let _startpos = _startpos__1_ in
30480 let _endpos = _endpos__9_ in
30481 let _v : 'tv_statement =
30482 # 910 "parser_cocci_menhir.mly"
30483 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
30484 # 30485 "parser_cocci_menhir.ml"
30485 in
30486 _menhir_env.MenhirLib.EngineTypes.stack <- {
30487 MenhirLib.EngineTypes.state = _menhir_s;
30488 MenhirLib.EngineTypes.semv = Obj.repr _v;
30489 MenhirLib.EngineTypes.startp = _startpos;
30490 MenhirLib.EngineTypes.endp = _endpos;
30491 MenhirLib.EngineTypes.next = _menhir_stack;
30492 });
30493 (fun _menhir_env ->
30494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30495 let {
30496 MenhirLib.EngineTypes.semv = _5;
30497 MenhirLib.EngineTypes.startp = _startpos__5_;
30498 MenhirLib.EngineTypes.endp = _endpos__5_;
30499 MenhirLib.EngineTypes.next = {
30500 MenhirLib.EngineTypes.semv = _4;
30501 MenhirLib.EngineTypes.startp = _startpos__4_;
30502 MenhirLib.EngineTypes.endp = _endpos__4_;
30503 MenhirLib.EngineTypes.next = {
30504 MenhirLib.EngineTypes.semv = _3;
30505 MenhirLib.EngineTypes.startp = _startpos__3_;
30506 MenhirLib.EngineTypes.endp = _endpos__3_;
30507 MenhirLib.EngineTypes.next = {
30508 MenhirLib.EngineTypes.semv = _2;
30509 MenhirLib.EngineTypes.startp = _startpos__2_;
30510 MenhirLib.EngineTypes.endp = _endpos__2_;
30511 MenhirLib.EngineTypes.next = {
30512 MenhirLib.EngineTypes.state = _menhir_s;
30513 MenhirLib.EngineTypes.semv = _1;
30514 MenhirLib.EngineTypes.startp = _startpos__1_;
30515 MenhirLib.EngineTypes.endp = _endpos__1_;
30516 MenhirLib.EngineTypes.next = _menhir_stack;
30517 };
30518 };
30519 };
30520 };
30521 } = _menhir_stack in
30522 let _5 : 'tv_single_statement = Obj.magic _5 in
30523 let _4 : (
30524 # 100 "parser_cocci_menhir.mly"
30525 (Data.clt)
30526 # 30527 "parser_cocci_menhir.ml"
30527 ) = Obj.magic _4 in
30528 let _3 : 'tv_eexpr = Obj.magic _3 in
30529 let _2 : (
30530 # 99 "parser_cocci_menhir.mly"
30531 (Data.clt)
30532 # 30533 "parser_cocci_menhir.ml"
30533 ) = Obj.magic _2 in
30534 let _1 : (
30535 # 79 "parser_cocci_menhir.mly"
30536 (Data.clt)
30537 # 30538 "parser_cocci_menhir.ml"
30538 ) = Obj.magic _1 in
30539 let _startpos = _startpos__1_ in
30540 let _endpos = _endpos__5_ in
30541 let _v : 'tv_statement =
30542 # 912 "parser_cocci_menhir.mly"
30543 ( P.whileloop _1 _2 _3 _4 _5 )
30544 # 30545 "parser_cocci_menhir.ml"
30545 in
30546 _menhir_env.MenhirLib.EngineTypes.stack <- {
30547 MenhirLib.EngineTypes.state = _menhir_s;
30548 MenhirLib.EngineTypes.semv = Obj.repr _v;
30549 MenhirLib.EngineTypes.startp = _startpos;
30550 MenhirLib.EngineTypes.endp = _endpos;
30551 MenhirLib.EngineTypes.next = _menhir_stack;
30552 });
30553 (fun _menhir_env ->
30554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30555 let {
30556 MenhirLib.EngineTypes.semv = _7;
30557 MenhirLib.EngineTypes.startp = _startpos__7_;
30558 MenhirLib.EngineTypes.endp = _endpos__7_;
30559 MenhirLib.EngineTypes.next = {
30560 MenhirLib.EngineTypes.semv = _6;
30561 MenhirLib.EngineTypes.startp = _startpos__6_;
30562 MenhirLib.EngineTypes.endp = _endpos__6_;
30563 MenhirLib.EngineTypes.next = {
30564 MenhirLib.EngineTypes.semv = _5;
30565 MenhirLib.EngineTypes.startp = _startpos__5_;
30566 MenhirLib.EngineTypes.endp = _endpos__5_;
30567 MenhirLib.EngineTypes.next = {
30568 MenhirLib.EngineTypes.semv = _4;
30569 MenhirLib.EngineTypes.startp = _startpos__4_;
30570 MenhirLib.EngineTypes.endp = _endpos__4_;
30571 MenhirLib.EngineTypes.next = {
30572 MenhirLib.EngineTypes.semv = _3;
30573 MenhirLib.EngineTypes.startp = _startpos__3_;
30574 MenhirLib.EngineTypes.endp = _endpos__3_;
30575 MenhirLib.EngineTypes.next = {
30576 MenhirLib.EngineTypes.semv = _2;
30577 MenhirLib.EngineTypes.startp = _startpos__2_;
30578 MenhirLib.EngineTypes.endp = _endpos__2_;
30579 MenhirLib.EngineTypes.next = {
30580 MenhirLib.EngineTypes.state = _menhir_s;
30581 MenhirLib.EngineTypes.semv = _1;
30582 MenhirLib.EngineTypes.startp = _startpos__1_;
30583 MenhirLib.EngineTypes.endp = _endpos__1_;
30584 MenhirLib.EngineTypes.next = _menhir_stack;
30585 };
30586 };
30587 };
30588 };
30589 };
30590 };
30591 } = _menhir_stack in
30592 let _7 : (
30593 # 130 "parser_cocci_menhir.mly"
30594 (Data.clt)
30595 # 30596 "parser_cocci_menhir.ml"
30596 ) = Obj.magic _7 in
30597 let _6 : (
30598 # 100 "parser_cocci_menhir.mly"
30599 (Data.clt)
30600 # 30601 "parser_cocci_menhir.ml"
30601 ) = Obj.magic _6 in
30602 let _5 : 'tv_eexpr = Obj.magic _5 in
30603 let _4 : (
30604 # 99 "parser_cocci_menhir.mly"
30605 (Data.clt)
30606 # 30607 "parser_cocci_menhir.ml"
30607 ) = Obj.magic _4 in
30608 let _3 : (
30609 # 79 "parser_cocci_menhir.mly"
30610 (Data.clt)
30611 # 30612 "parser_cocci_menhir.ml"
30612 ) = Obj.magic _3 in
30613 let _2 : 'tv_single_statement = Obj.magic _2 in
30614 let _1 : (
30615 # 79 "parser_cocci_menhir.mly"
30616 (Data.clt)
30617 # 30618 "parser_cocci_menhir.ml"
30618 ) = Obj.magic _1 in
30619 let _startpos = _startpos__1_ in
30620 let _endpos = _endpos__7_ in
30621 let _v : 'tv_statement =
30622 # 914 "parser_cocci_menhir.mly"
30623 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
30624 # 30625 "parser_cocci_menhir.ml"
30625 in
30626 _menhir_env.MenhirLib.EngineTypes.stack <- {
30627 MenhirLib.EngineTypes.state = _menhir_s;
30628 MenhirLib.EngineTypes.semv = Obj.repr _v;
30629 MenhirLib.EngineTypes.startp = _startpos;
30630 MenhirLib.EngineTypes.endp = _endpos;
30631 MenhirLib.EngineTypes.next = _menhir_stack;
30632 });
30633 (fun _menhir_env ->
30634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30635 let {
30636 MenhirLib.EngineTypes.semv = _5;
30637 MenhirLib.EngineTypes.startp = _startpos__5_;
30638 MenhirLib.EngineTypes.endp = _endpos__5_;
30639 MenhirLib.EngineTypes.next = {
30640 MenhirLib.EngineTypes.semv = _4;
30641 MenhirLib.EngineTypes.startp = _startpos__4_;
30642 MenhirLib.EngineTypes.endp = _endpos__4_;
30643 MenhirLib.EngineTypes.next = {
30644 MenhirLib.EngineTypes.semv = _3;
30645 MenhirLib.EngineTypes.startp = _startpos__3_;
30646 MenhirLib.EngineTypes.endp = _endpos__3_;
30647 MenhirLib.EngineTypes.next = {
30648 MenhirLib.EngineTypes.semv = _2;
30649 MenhirLib.EngineTypes.startp = _startpos__2_;
30650 MenhirLib.EngineTypes.endp = _endpos__2_;
30651 MenhirLib.EngineTypes.next = {
30652 MenhirLib.EngineTypes.state = _menhir_s;
30653 MenhirLib.EngineTypes.semv = _1;
30654 MenhirLib.EngineTypes.startp = _startpos__1_;
30655 MenhirLib.EngineTypes.endp = _endpos__1_;
30656 MenhirLib.EngineTypes.next = _menhir_stack;
30657 };
30658 };
30659 };
30660 };
30661 } = _menhir_stack in
30662 let _5 : 'tv_single_statement = Obj.magic _5 in
30663 let _4 : (
30664 # 100 "parser_cocci_menhir.mly"
30665 (Data.clt)
30666 # 30667 "parser_cocci_menhir.ml"
30667 ) = Obj.magic _4 in
30668 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
30669 let _2 : (
30670 # 99 "parser_cocci_menhir.mly"
30671 (Data.clt)
30672 # 30673 "parser_cocci_menhir.ml"
30673 ) = Obj.magic _2 in
30674 let _1 : 'tv_iter_ident = Obj.magic _1 in
30675 let _startpos = _startpos__1_ in
30676 let _endpos = _endpos__5_ in
30677 let _v : 'tv_statement =
30678 # 916 "parser_cocci_menhir.mly"
30679 ( P.iterator _1 _2 _3 _4 _5 )
30680 # 30681 "parser_cocci_menhir.ml"
30681 in
30682 _menhir_env.MenhirLib.EngineTypes.stack <- {
30683 MenhirLib.EngineTypes.state = _menhir_s;
30684 MenhirLib.EngineTypes.semv = Obj.repr _v;
30685 MenhirLib.EngineTypes.startp = _startpos;
30686 MenhirLib.EngineTypes.endp = _endpos;
30687 MenhirLib.EngineTypes.next = _menhir_stack;
30688 });
30689 (fun _menhir_env ->
30690 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30691 let {
30692 MenhirLib.EngineTypes.semv = _8;
30693 MenhirLib.EngineTypes.startp = _startpos__8_;
30694 MenhirLib.EngineTypes.endp = _endpos__8_;
30695 MenhirLib.EngineTypes.next = {
30696 MenhirLib.EngineTypes.semv = _7;
30697 MenhirLib.EngineTypes.startp = _startpos__7_;
30698 MenhirLib.EngineTypes.endp = _endpos__7_;
30699 MenhirLib.EngineTypes.next = {
30700 MenhirLib.EngineTypes.semv = _6;
30701 MenhirLib.EngineTypes.startp = _startpos__6_;
30702 MenhirLib.EngineTypes.endp = _endpos__6_;
30703 MenhirLib.EngineTypes.next = {
30704 MenhirLib.EngineTypes.semv = _5;
30705 MenhirLib.EngineTypes.startp = _startpos__5_;
30706 MenhirLib.EngineTypes.endp = _endpos__5_;
30707 MenhirLib.EngineTypes.next = {
30708 MenhirLib.EngineTypes.semv = _4;
30709 MenhirLib.EngineTypes.startp = _startpos__4_;
30710 MenhirLib.EngineTypes.endp = _endpos__4_;
30711 MenhirLib.EngineTypes.next = {
30712 MenhirLib.EngineTypes.semv = _3;
30713 MenhirLib.EngineTypes.startp = _startpos__3_;
30714 MenhirLib.EngineTypes.endp = _endpos__3_;
30715 MenhirLib.EngineTypes.next = {
30716 MenhirLib.EngineTypes.semv = _2;
30717 MenhirLib.EngineTypes.startp = _startpos__2_;
30718 MenhirLib.EngineTypes.endp = _endpos__2_;
30719 MenhirLib.EngineTypes.next = {
30720 MenhirLib.EngineTypes.state = _menhir_s;
30721 MenhirLib.EngineTypes.semv = _1;
30722 MenhirLib.EngineTypes.startp = _startpos__1_;
30723 MenhirLib.EngineTypes.endp = _endpos__1_;
30724 MenhirLib.EngineTypes.next = _menhir_stack;
30725 };
30726 };
30727 };
30728 };
30729 };
30730 };
30731 };
30732 } = _menhir_stack in
30733 let _8 : (
30734 # 124 "parser_cocci_menhir.mly"
30735 (Data.clt)
30736 # 30737 "parser_cocci_menhir.ml"
30737 ) = Obj.magic _8 in
30738 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
30739 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
30740 let _5 : (
30741 # 124 "parser_cocci_menhir.mly"
30742 (Data.clt)
30743 # 30744 "parser_cocci_menhir.ml"
30744 ) = Obj.magic _5 in
30745 let _4 : (
30746 # 100 "parser_cocci_menhir.mly"
30747 (Data.clt)
30748 # 30749 "parser_cocci_menhir.ml"
30749 ) = Obj.magic _4 in
30750 let _3 : 'tv_eexpr = Obj.magic _3 in
30751 let _2 : (
30752 # 99 "parser_cocci_menhir.mly"
30753 (Data.clt)
30754 # 30755 "parser_cocci_menhir.ml"
30755 ) = Obj.magic _2 in
30756 let _1 : (
30757 # 79 "parser_cocci_menhir.mly"
30758 (Data.clt)
30759 # 30760 "parser_cocci_menhir.ml"
30760 ) = Obj.magic _1 in
30761 let _startpos = _startpos__1_ in
30762 let _endpos = _endpos__8_ in
30763 let _v : 'tv_statement =
30764 # 918 "parser_cocci_menhir.mly"
30765 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
30766 # 30767 "parser_cocci_menhir.ml"
30767 in
30768 _menhir_env.MenhirLib.EngineTypes.stack <- {
30769 MenhirLib.EngineTypes.state = _menhir_s;
30770 MenhirLib.EngineTypes.semv = Obj.repr _v;
30771 MenhirLib.EngineTypes.startp = _startpos;
30772 MenhirLib.EngineTypes.endp = _endpos;
30773 MenhirLib.EngineTypes.next = _menhir_stack;
30774 });
30775 (fun _menhir_env ->
30776 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30777 let {
30778 MenhirLib.EngineTypes.semv = _3;
30779 MenhirLib.EngineTypes.startp = _startpos__3_;
30780 MenhirLib.EngineTypes.endp = _endpos__3_;
30781 MenhirLib.EngineTypes.next = {
30782 MenhirLib.EngineTypes.semv = _2;
30783 MenhirLib.EngineTypes.startp = _startpos__2_;
30784 MenhirLib.EngineTypes.endp = _endpos__2_;
30785 MenhirLib.EngineTypes.next = {
30786 MenhirLib.EngineTypes.state = _menhir_s;
30787 MenhirLib.EngineTypes.semv = _1;
30788 MenhirLib.EngineTypes.startp = _startpos__1_;
30789 MenhirLib.EngineTypes.endp = _endpos__1_;
30790 MenhirLib.EngineTypes.next = _menhir_stack;
30791 };
30792 };
30793 } = _menhir_stack in
30794 let _3 : (
30795 # 130 "parser_cocci_menhir.mly"
30796 (Data.clt)
30797 # 30798 "parser_cocci_menhir.ml"
30798 ) = Obj.magic _3 in
30799 let _2 : 'tv_eexpr = Obj.magic _2 in
30800 let _1 : (
30801 # 79 "parser_cocci_menhir.mly"
30802 (Data.clt)
30803 # 30804 "parser_cocci_menhir.ml"
30804 ) = Obj.magic _1 in
30805 let _startpos = _startpos__1_ in
30806 let _endpos = _endpos__3_ in
30807 let _v : 'tv_statement =
30808 # 919 "parser_cocci_menhir.mly"
30809 ( P.ret_exp _1 _2 _3 )
30810 # 30811 "parser_cocci_menhir.ml"
30811 in
30812 _menhir_env.MenhirLib.EngineTypes.stack <- {
30813 MenhirLib.EngineTypes.state = _menhir_s;
30814 MenhirLib.EngineTypes.semv = Obj.repr _v;
30815 MenhirLib.EngineTypes.startp = _startpos;
30816 MenhirLib.EngineTypes.endp = _endpos;
30817 MenhirLib.EngineTypes.next = _menhir_stack;
30818 });
30819 (fun _menhir_env ->
30820 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30821 let {
30822 MenhirLib.EngineTypes.semv = _2;
30823 MenhirLib.EngineTypes.startp = _startpos__2_;
30824 MenhirLib.EngineTypes.endp = _endpos__2_;
30825 MenhirLib.EngineTypes.next = {
30826 MenhirLib.EngineTypes.state = _menhir_s;
30827 MenhirLib.EngineTypes.semv = _1;
30828 MenhirLib.EngineTypes.startp = _startpos__1_;
30829 MenhirLib.EngineTypes.endp = _endpos__1_;
30830 MenhirLib.EngineTypes.next = _menhir_stack;
30831 };
30832 } = _menhir_stack in
30833 let _2 : (
30834 # 130 "parser_cocci_menhir.mly"
30835 (Data.clt)
30836 # 30837 "parser_cocci_menhir.ml"
30837 ) = Obj.magic _2 in
30838 let _1 : (
30839 # 79 "parser_cocci_menhir.mly"
30840 (Data.clt)
30841 # 30842 "parser_cocci_menhir.ml"
30842 ) = Obj.magic _1 in
30843 let _startpos = _startpos__1_ in
30844 let _endpos = _endpos__2_ in
30845 let _v : 'tv_statement =
30846 # 920 "parser_cocci_menhir.mly"
30847 ( P.ret _1 _2 )
30848 # 30849 "parser_cocci_menhir.ml"
30849 in
30850 _menhir_env.MenhirLib.EngineTypes.stack <- {
30851 MenhirLib.EngineTypes.state = _menhir_s;
30852 MenhirLib.EngineTypes.semv = Obj.repr _v;
30853 MenhirLib.EngineTypes.startp = _startpos;
30854 MenhirLib.EngineTypes.endp = _endpos;
30855 MenhirLib.EngineTypes.next = _menhir_stack;
30856 });
30857 (fun _menhir_env ->
30858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30859 let {
30860 MenhirLib.EngineTypes.semv = _2;
30861 MenhirLib.EngineTypes.startp = _startpos__2_;
30862 MenhirLib.EngineTypes.endp = _endpos__2_;
30863 MenhirLib.EngineTypes.next = {
30864 MenhirLib.EngineTypes.state = _menhir_s;
30865 MenhirLib.EngineTypes.semv = _1;
30866 MenhirLib.EngineTypes.startp = _startpos__1_;
30867 MenhirLib.EngineTypes.endp = _endpos__1_;
30868 MenhirLib.EngineTypes.next = _menhir_stack;
30869 };
30870 } = _menhir_stack in
30871 let _2 : (
30872 # 130 "parser_cocci_menhir.mly"
30873 (Data.clt)
30874 # 30875 "parser_cocci_menhir.ml"
30875 ) = Obj.magic _2 in
30876 let _1 : (
30877 # 80 "parser_cocci_menhir.mly"
30878 (Data.clt)
30879 # 30880 "parser_cocci_menhir.ml"
30880 ) = Obj.magic _1 in
30881 let _startpos = _startpos__1_ in
30882 let _endpos = _endpos__2_ in
30883 let _v : 'tv_statement =
30884 # 921 "parser_cocci_menhir.mly"
30885 ( P.break _1 _2 )
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.semv = _2;
30899 MenhirLib.EngineTypes.startp = _startpos__2_;
30900 MenhirLib.EngineTypes.endp = _endpos__2_;
30901 MenhirLib.EngineTypes.next = {
30902 MenhirLib.EngineTypes.state = _menhir_s;
30903 MenhirLib.EngineTypes.semv = _1;
30904 MenhirLib.EngineTypes.startp = _startpos__1_;
30905 MenhirLib.EngineTypes.endp = _endpos__1_;
30906 MenhirLib.EngineTypes.next = _menhir_stack;
30907 };
30908 } = _menhir_stack in
30909 let _2 : (
30910 # 130 "parser_cocci_menhir.mly"
30911 (Data.clt)
30912 # 30913 "parser_cocci_menhir.ml"
30913 ) = Obj.magic _2 in
30914 let _1 : (
30915 # 80 "parser_cocci_menhir.mly"
30916 (Data.clt)
30917 # 30918 "parser_cocci_menhir.ml"
30918 ) = Obj.magic _1 in
30919 let _startpos = _startpos__1_ in
30920 let _endpos = _endpos__2_ in
30921 let _v : 'tv_statement =
30922 # 922 "parser_cocci_menhir.mly"
30923 ( P.cont _1 _2 )
30924 # 30925 "parser_cocci_menhir.ml"
30925 in
30926 _menhir_env.MenhirLib.EngineTypes.stack <- {
30927 MenhirLib.EngineTypes.state = _menhir_s;
30928 MenhirLib.EngineTypes.semv = Obj.repr _v;
30929 MenhirLib.EngineTypes.startp = _startpos;
30930 MenhirLib.EngineTypes.endp = _endpos;
30931 MenhirLib.EngineTypes.next = _menhir_stack;
30932 });
30933 (fun _menhir_env ->
30934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30935 let {
30936 MenhirLib.EngineTypes.semv = _2;
30937 MenhirLib.EngineTypes.startp = _startpos__2_;
30938 MenhirLib.EngineTypes.endp = _endpos__2_;
30939 MenhirLib.EngineTypes.next = {
30940 MenhirLib.EngineTypes.state = _menhir_s;
30941 MenhirLib.EngineTypes.semv = _1;
30942 MenhirLib.EngineTypes.startp = _startpos__1_;
30943 MenhirLib.EngineTypes.endp = _endpos__1_;
30944 MenhirLib.EngineTypes.next = _menhir_stack;
30945 };
30946 } = _menhir_stack in
30947 let _2 : (
30948 # 99 "parser_cocci_menhir.mly"
30949 (Data.clt)
30950 # 30951 "parser_cocci_menhir.ml"
30951 ) = Obj.magic _2 in
30952 let _1 : 'tv_ident = Obj.magic _1 in
30953 let _startpos = _startpos__1_ in
30954 let _endpos = _endpos__2_ in
30955 let _v : 'tv_statement =
30956 # 923 "parser_cocci_menhir.mly"
30957 ( P.label _1 _2 )
30958 # 30959 "parser_cocci_menhir.ml"
30959 in
30960 _menhir_env.MenhirLib.EngineTypes.stack <- {
30961 MenhirLib.EngineTypes.state = _menhir_s;
30962 MenhirLib.EngineTypes.semv = Obj.repr _v;
30963 MenhirLib.EngineTypes.startp = _startpos;
30964 MenhirLib.EngineTypes.endp = _endpos;
30965 MenhirLib.EngineTypes.next = _menhir_stack;
30966 });
30967 (fun _menhir_env ->
30968 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30969 let {
30970 MenhirLib.EngineTypes.semv = _3;
30971 MenhirLib.EngineTypes.startp = _startpos__3_;
30972 MenhirLib.EngineTypes.endp = _endpos__3_;
30973 MenhirLib.EngineTypes.next = {
30974 MenhirLib.EngineTypes.semv = _2;
30975 MenhirLib.EngineTypes.startp = _startpos__2_;
30976 MenhirLib.EngineTypes.endp = _endpos__2_;
30977 MenhirLib.EngineTypes.next = {
30978 MenhirLib.EngineTypes.state = _menhir_s;
30979 MenhirLib.EngineTypes.semv = _1;
30980 MenhirLib.EngineTypes.startp = _startpos__1_;
30981 MenhirLib.EngineTypes.endp = _endpos__1_;
30982 MenhirLib.EngineTypes.next = _menhir_stack;
30983 };
30984 };
30985 } = _menhir_stack in
30986 let _3 : (
30987 # 130 "parser_cocci_menhir.mly"
30988 (Data.clt)
30989 # 30990 "parser_cocci_menhir.ml"
30990 ) = Obj.magic _3 in
30991 let _2 : 'tv_ident = Obj.magic _2 in
30992 let _1 : (
30993 # 80 "parser_cocci_menhir.mly"
30994 (Data.clt)
30995 # 30996 "parser_cocci_menhir.ml"
30996 ) = Obj.magic _1 in
30997 let _startpos = _startpos__1_ in
30998 let _endpos = _endpos__3_ in
30999 let _v : 'tv_statement =
31000 # 924 "parser_cocci_menhir.mly"
31001 ( P.goto _1 _2 _3 )
31002 # 31003 "parser_cocci_menhir.ml"
31003 in
31004 _menhir_env.MenhirLib.EngineTypes.stack <- {
31005 MenhirLib.EngineTypes.state = _menhir_s;
31006 MenhirLib.EngineTypes.semv = Obj.repr _v;
31007 MenhirLib.EngineTypes.startp = _startpos;
31008 MenhirLib.EngineTypes.endp = _endpos;
31009 MenhirLib.EngineTypes.next = _menhir_stack;
31010 });
31011 (fun _menhir_env ->
31012 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31013 let {
31014 MenhirLib.EngineTypes.semv = _3;
31015 MenhirLib.EngineTypes.startp = _startpos__3_;
31016 MenhirLib.EngineTypes.endp = _endpos__3_;
31017 MenhirLib.EngineTypes.next = {
31018 MenhirLib.EngineTypes.semv = _2;
31019 MenhirLib.EngineTypes.startp = _startpos__2_;
31020 MenhirLib.EngineTypes.endp = _endpos__2_;
31021 MenhirLib.EngineTypes.next = {
31022 MenhirLib.EngineTypes.state = _menhir_s;
31023 MenhirLib.EngineTypes.semv = _1;
31024 MenhirLib.EngineTypes.startp = _startpos__1_;
31025 MenhirLib.EngineTypes.endp = _endpos__1_;
31026 MenhirLib.EngineTypes.next = _menhir_stack;
31027 };
31028 };
31029 } = _menhir_stack in
31030 let _3 : (
31031 # 124 "parser_cocci_menhir.mly"
31032 (Data.clt)
31033 # 31034 "parser_cocci_menhir.ml"
31034 ) = Obj.magic _3 in
31035 let _2 : 'tv_fun_start = Obj.magic _2 in
31036 let _1 : (
31037 # 124 "parser_cocci_menhir.mly"
31038 (Data.clt)
31039 # 31040 "parser_cocci_menhir.ml"
31040 ) = Obj.magic _1 in
31041 let _startpos = _startpos__1_ in
31042 let _endpos = _endpos__3_ in
31043 let _v : 'tv_statement =
31044 # 926 "parser_cocci_menhir.mly"
31045 ( P.seq _1 _2 _3 )
31046 # 31047 "parser_cocci_menhir.ml"
31047 in
31048 _menhir_env.MenhirLib.EngineTypes.stack <- {
31049 MenhirLib.EngineTypes.state = _menhir_s;
31050 MenhirLib.EngineTypes.semv = Obj.repr _v;
31051 MenhirLib.EngineTypes.startp = _startpos;
31052 MenhirLib.EngineTypes.endp = _endpos;
31053 MenhirLib.EngineTypes.next = _menhir_stack;
31054 });
31055 (fun _menhir_env ->
31056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31057 let {
31058 MenhirLib.EngineTypes.semv = w;
31059 MenhirLib.EngineTypes.startp = _startpos_w_;
31060 MenhirLib.EngineTypes.endp = _endpos_w_;
31061 MenhirLib.EngineTypes.next = {
31062 MenhirLib.EngineTypes.state = _menhir_s;
31063 MenhirLib.EngineTypes.semv = _1;
31064 MenhirLib.EngineTypes.startp = _startpos__1_;
31065 MenhirLib.EngineTypes.endp = _endpos__1_;
31066 MenhirLib.EngineTypes.next = _menhir_stack;
31067 };
31068 } = _menhir_stack in
31069 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31070 let _1 : (
31071 # 96 "parser_cocci_menhir.mly"
31072 (Data.clt)
31073 # 31074 "parser_cocci_menhir.ml"
31074 ) = Obj.magic _1 in
31075 let _startpos = _startpos__1_ in
31076 let _endpos = _endpos_w_ in
31077 let _v : 'tv_stm_dots =
31078 # 930 "parser_cocci_menhir.mly"
31079 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
31080 # 31081 "parser_cocci_menhir.ml"
31081 in
31082 _menhir_env.MenhirLib.EngineTypes.stack <- {
31083 MenhirLib.EngineTypes.state = _menhir_s;
31084 MenhirLib.EngineTypes.semv = Obj.repr _v;
31085 MenhirLib.EngineTypes.startp = _startpos;
31086 MenhirLib.EngineTypes.endp = _endpos;
31087 MenhirLib.EngineTypes.next = _menhir_stack;
31088 });
31089 (fun _menhir_env ->
31090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31091 let {
31092 MenhirLib.EngineTypes.semv = c;
31093 MenhirLib.EngineTypes.startp = _startpos_c_;
31094 MenhirLib.EngineTypes.endp = _endpos_c_;
31095 MenhirLib.EngineTypes.next = {
31096 MenhirLib.EngineTypes.semv = b;
31097 MenhirLib.EngineTypes.startp = _startpos_b_;
31098 MenhirLib.EngineTypes.endp = _endpos_b_;
31099 MenhirLib.EngineTypes.next = {
31100 MenhirLib.EngineTypes.semv = w;
31101 MenhirLib.EngineTypes.startp = _startpos_w_;
31102 MenhirLib.EngineTypes.endp = _endpos_w_;
31103 MenhirLib.EngineTypes.next = {
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 };
31110 };
31111 };
31112 } = _menhir_stack in
31113 let c : (
31114 # 96 "parser_cocci_menhir.mly"
31115 (Data.clt)
31116 # 31117 "parser_cocci_menhir.ml"
31117 ) = Obj.magic c in
31118 let b : 'tv_nest_start = Obj.magic b in
31119 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31120 let _1 : (
31121 # 96 "parser_cocci_menhir.mly"
31122 (Data.clt)
31123 # 31124 "parser_cocci_menhir.ml"
31124 ) = Obj.magic _1 in
31125 let _startpos = _startpos__1_ in
31126 let _endpos = _endpos_c_ in
31127 let _v : 'tv_stm_dots =
31128 # 932 "parser_cocci_menhir.mly"
31129 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
31130 P.clt2mcode "...>" c, List.concat w, false)) )
31131 # 31132 "parser_cocci_menhir.ml"
31132 in
31133 _menhir_env.MenhirLib.EngineTypes.stack <- {
31134 MenhirLib.EngineTypes.state = _menhir_s;
31135 MenhirLib.EngineTypes.semv = Obj.repr _v;
31136 MenhirLib.EngineTypes.startp = _startpos;
31137 MenhirLib.EngineTypes.endp = _endpos;
31138 MenhirLib.EngineTypes.next = _menhir_stack;
31139 });
31140 (fun _menhir_env ->
31141 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31142 let {
31143 MenhirLib.EngineTypes.semv = c;
31144 MenhirLib.EngineTypes.startp = _startpos_c_;
31145 MenhirLib.EngineTypes.endp = _endpos_c_;
31146 MenhirLib.EngineTypes.next = {
31147 MenhirLib.EngineTypes.semv = b;
31148 MenhirLib.EngineTypes.startp = _startpos_b_;
31149 MenhirLib.EngineTypes.endp = _endpos_b_;
31150 MenhirLib.EngineTypes.next = {
31151 MenhirLib.EngineTypes.semv = w;
31152 MenhirLib.EngineTypes.startp = _startpos_w_;
31153 MenhirLib.EngineTypes.endp = _endpos_w_;
31154 MenhirLib.EngineTypes.next = {
31155 MenhirLib.EngineTypes.state = _menhir_s;
31156 MenhirLib.EngineTypes.semv = _1;
31157 MenhirLib.EngineTypes.startp = _startpos__1_;
31158 MenhirLib.EngineTypes.endp = _endpos__1_;
31159 MenhirLib.EngineTypes.next = _menhir_stack;
31160 };
31161 };
31162 };
31163 } = _menhir_stack in
31164 let c : (
31165 # 96 "parser_cocci_menhir.mly"
31166 (Data.clt)
31167 # 31168 "parser_cocci_menhir.ml"
31168 ) = Obj.magic c in
31169 let b : 'tv_nest_start = Obj.magic b in
31170 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31171 let _1 : (
31172 # 96 "parser_cocci_menhir.mly"
31173 (Data.clt)
31174 # 31175 "parser_cocci_menhir.ml"
31175 ) = Obj.magic _1 in
31176 let _startpos = _startpos__1_ in
31177 let _endpos = _endpos_c_ in
31178 let _v : 'tv_stm_dots =
31179 # 935 "parser_cocci_menhir.mly"
31180 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
31181 P.clt2mcode "...+>" c, List.concat w, true)) )
31182 # 31183 "parser_cocci_menhir.ml"
31183 in
31184 _menhir_env.MenhirLib.EngineTypes.stack <- {
31185 MenhirLib.EngineTypes.state = _menhir_s;
31186 MenhirLib.EngineTypes.semv = Obj.repr _v;
31187 MenhirLib.EngineTypes.startp = _startpos;
31188 MenhirLib.EngineTypes.endp = _endpos;
31189 MenhirLib.EngineTypes.next = _menhir_stack;
31190 });
31191 (fun _menhir_env ->
31192 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31193 let {
31194 MenhirLib.EngineTypes.state = _menhir_s;
31195 MenhirLib.EngineTypes.semv = s;
31196 MenhirLib.EngineTypes.startp = _startpos_s_;
31197 MenhirLib.EngineTypes.endp = _endpos_s_;
31198 MenhirLib.EngineTypes.next = _menhir_stack;
31199 } = _menhir_stack in
31200 let s : (
31201 # 75 "parser_cocci_menhir.mly"
31202 (Data.clt)
31203 # 31204 "parser_cocci_menhir.ml"
31204 ) = Obj.magic s in
31205 let _startpos = _startpos_s_ in
31206 let _endpos = _endpos_s_ in
31207 let _v : 'tv_storage =
31208 # 861 "parser_cocci_menhir.mly"
31209 ( P.clt2mcode Ast.Static s )
31210 # 31211 "parser_cocci_menhir.ml"
31211 in
31212 _menhir_env.MenhirLib.EngineTypes.stack <- {
31213 MenhirLib.EngineTypes.state = _menhir_s;
31214 MenhirLib.EngineTypes.semv = Obj.repr _v;
31215 MenhirLib.EngineTypes.startp = _startpos;
31216 MenhirLib.EngineTypes.endp = _endpos;
31217 MenhirLib.EngineTypes.next = _menhir_stack;
31218 });
31219 (fun _menhir_env ->
31220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31221 let {
31222 MenhirLib.EngineTypes.state = _menhir_s;
31223 MenhirLib.EngineTypes.semv = s;
31224 MenhirLib.EngineTypes.startp = _startpos_s_;
31225 MenhirLib.EngineTypes.endp = _endpos_s_;
31226 MenhirLib.EngineTypes.next = _menhir_stack;
31227 } = _menhir_stack in
31228 let s : (
31229 # 75 "parser_cocci_menhir.mly"
31230 (Data.clt)
31231 # 31232 "parser_cocci_menhir.ml"
31232 ) = Obj.magic s in
31233 let _startpos = _startpos_s_ in
31234 let _endpos = _endpos_s_ in
31235 let _v : 'tv_storage =
31236 # 862 "parser_cocci_menhir.mly"
31237 ( P.clt2mcode Ast.Auto s )
31238 # 31239 "parser_cocci_menhir.ml"
31239 in
31240 _menhir_env.MenhirLib.EngineTypes.stack <- {
31241 MenhirLib.EngineTypes.state = _menhir_s;
31242 MenhirLib.EngineTypes.semv = Obj.repr _v;
31243 MenhirLib.EngineTypes.startp = _startpos;
31244 MenhirLib.EngineTypes.endp = _endpos;
31245 MenhirLib.EngineTypes.next = _menhir_stack;
31246 });
31247 (fun _menhir_env ->
31248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31249 let {
31250 MenhirLib.EngineTypes.state = _menhir_s;
31251 MenhirLib.EngineTypes.semv = s;
31252 MenhirLib.EngineTypes.startp = _startpos_s_;
31253 MenhirLib.EngineTypes.endp = _endpos_s_;
31254 MenhirLib.EngineTypes.next = _menhir_stack;
31255 } = _menhir_stack in
31256 let s : (
31257 # 75 "parser_cocci_menhir.mly"
31258 (Data.clt)
31259 # 31260 "parser_cocci_menhir.ml"
31260 ) = Obj.magic s in
31261 let _startpos = _startpos_s_ in
31262 let _endpos = _endpos_s_ in
31263 let _v : 'tv_storage =
31264 # 863 "parser_cocci_menhir.mly"
31265 ( P.clt2mcode Ast.Register s )
31266 # 31267 "parser_cocci_menhir.ml"
31267 in
31268 _menhir_env.MenhirLib.EngineTypes.stack <- {
31269 MenhirLib.EngineTypes.state = _menhir_s;
31270 MenhirLib.EngineTypes.semv = Obj.repr _v;
31271 MenhirLib.EngineTypes.startp = _startpos;
31272 MenhirLib.EngineTypes.endp = _endpos;
31273 MenhirLib.EngineTypes.next = _menhir_stack;
31274 });
31275 (fun _menhir_env ->
31276 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31277 let {
31278 MenhirLib.EngineTypes.state = _menhir_s;
31279 MenhirLib.EngineTypes.semv = s;
31280 MenhirLib.EngineTypes.startp = _startpos_s_;
31281 MenhirLib.EngineTypes.endp = _endpos_s_;
31282 MenhirLib.EngineTypes.next = _menhir_stack;
31283 } = _menhir_stack in
31284 let s : (
31285 # 75 "parser_cocci_menhir.mly"
31286 (Data.clt)
31287 # 31288 "parser_cocci_menhir.ml"
31288 ) = Obj.magic s in
31289 let _startpos = _startpos_s_ in
31290 let _endpos = _endpos_s_ in
31291 let _v : 'tv_storage =
31292 # 864 "parser_cocci_menhir.mly"
31293 ( P.clt2mcode Ast.Extern s )
31294 # 31295 "parser_cocci_menhir.ml"
31295 in
31296 _menhir_env.MenhirLib.EngineTypes.stack <- {
31297 MenhirLib.EngineTypes.state = _menhir_s;
31298 MenhirLib.EngineTypes.semv = Obj.repr _v;
31299 MenhirLib.EngineTypes.startp = _startpos;
31300 MenhirLib.EngineTypes.endp = _endpos;
31301 MenhirLib.EngineTypes.next = _menhir_stack;
31302 });
31303 (fun _menhir_env ->
31304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31305 let {
31306 MenhirLib.EngineTypes.state = _menhir_s;
31307 MenhirLib.EngineTypes.startp = _startpos__1_;
31308 MenhirLib.EngineTypes.endp = _endpos__1_;
31309 MenhirLib.EngineTypes.next = _menhir_stack;
31310 } = _menhir_stack in
31311 let _startpos = _startpos__1_ in
31312 let _endpos = _endpos__1_ in
31313 let _v : 'tv_struct_decl =
31314 # 615 "parser_cocci_menhir.mly"
31315 ( [] )
31316 # 31317 "parser_cocci_menhir.ml"
31317 in
31318 _menhir_env.MenhirLib.EngineTypes.stack <- {
31319 MenhirLib.EngineTypes.state = _menhir_s;
31320 MenhirLib.EngineTypes.semv = Obj.repr _v;
31321 MenhirLib.EngineTypes.startp = _startpos;
31322 MenhirLib.EngineTypes.endp = _endpos;
31323 MenhirLib.EngineTypes.next = _menhir_stack;
31324 });
31325 (fun _menhir_env ->
31326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31327 let {
31328 MenhirLib.EngineTypes.semv = pv;
31329 MenhirLib.EngineTypes.startp = _startpos_pv_;
31330 MenhirLib.EngineTypes.endp = _endpos_pv_;
31331 MenhirLib.EngineTypes.next = {
31332 MenhirLib.EngineTypes.semv = d;
31333 MenhirLib.EngineTypes.startp = _startpos_d_;
31334 MenhirLib.EngineTypes.endp = _endpos_d_;
31335 MenhirLib.EngineTypes.next = {
31336 MenhirLib.EngineTypes.state = _menhir_s;
31337 MenhirLib.EngineTypes.semv = t;
31338 MenhirLib.EngineTypes.startp = _startpos_t_;
31339 MenhirLib.EngineTypes.endp = _endpos_t_;
31340 MenhirLib.EngineTypes.next = _menhir_stack;
31341 };
31342 };
31343 } = _menhir_stack in
31344 let pv : (
31345 # 130 "parser_cocci_menhir.mly"
31346 (Data.clt)
31347 # 31348 "parser_cocci_menhir.ml"
31348 ) = Obj.magic pv in
31349 let d : 'tv_d_ident = Obj.magic d in
31350 let t : 'tv_ctype = Obj.magic t in
31351 let _startpos = _startpos_t_ in
31352 let _endpos = _endpos_pv_ in
31353 let _v : 'tv_struct_decl =
31354 # 617 "parser_cocci_menhir.mly"
31355 ( let (id,fn) = d in
31356 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
31357 # 31358 "parser_cocci_menhir.ml"
31358 in
31359 _menhir_env.MenhirLib.EngineTypes.stack <- {
31360 MenhirLib.EngineTypes.state = _menhir_s;
31361 MenhirLib.EngineTypes.semv = Obj.repr _v;
31362 MenhirLib.EngineTypes.startp = _startpos;
31363 MenhirLib.EngineTypes.endp = _endpos;
31364 MenhirLib.EngineTypes.next = _menhir_stack;
31365 });
31366 (fun _menhir_env ->
31367 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31368 let {
31369 MenhirLib.EngineTypes.semv = pv;
31370 MenhirLib.EngineTypes.startp = _startpos_pv_;
31371 MenhirLib.EngineTypes.endp = _endpos_pv_;
31372 MenhirLib.EngineTypes.next = {
31373 MenhirLib.EngineTypes.semv = rp2;
31374 MenhirLib.EngineTypes.startp = _startpos_rp2_;
31375 MenhirLib.EngineTypes.endp = _endpos_rp2_;
31376 MenhirLib.EngineTypes.next = {
31377 MenhirLib.EngineTypes.semv = p;
31378 MenhirLib.EngineTypes.startp = _startpos_p_;
31379 MenhirLib.EngineTypes.endp = _endpos_p_;
31380 MenhirLib.EngineTypes.next = {
31381 MenhirLib.EngineTypes.semv = lp2;
31382 MenhirLib.EngineTypes.startp = _startpos_lp2_;
31383 MenhirLib.EngineTypes.endp = _endpos_lp2_;
31384 MenhirLib.EngineTypes.next = {
31385 MenhirLib.EngineTypes.semv = rp1;
31386 MenhirLib.EngineTypes.startp = _startpos_rp1_;
31387 MenhirLib.EngineTypes.endp = _endpos_rp1_;
31388 MenhirLib.EngineTypes.next = {
31389 MenhirLib.EngineTypes.semv = d;
31390 MenhirLib.EngineTypes.startp = _startpos_d_;
31391 MenhirLib.EngineTypes.endp = _endpos_d_;
31392 MenhirLib.EngineTypes.next = {
31393 MenhirLib.EngineTypes.semv = st;
31394 MenhirLib.EngineTypes.startp = _startpos_st_;
31395 MenhirLib.EngineTypes.endp = _endpos_st_;
31396 MenhirLib.EngineTypes.next = {
31397 MenhirLib.EngineTypes.semv = lp1;
31398 MenhirLib.EngineTypes.startp = _startpos_lp1_;
31399 MenhirLib.EngineTypes.endp = _endpos_lp1_;
31400 MenhirLib.EngineTypes.next = {
31401 MenhirLib.EngineTypes.state = _menhir_s;
31402 MenhirLib.EngineTypes.semv = t;
31403 MenhirLib.EngineTypes.startp = _startpos_t_;
31404 MenhirLib.EngineTypes.endp = _endpos_t_;
31405 MenhirLib.EngineTypes.next = _menhir_stack;
31406 };
31407 };
31408 };
31409 };
31410 };
31411 };
31412 };
31413 };
31414 } = _menhir_stack in
31415 let pv : (
31416 # 130 "parser_cocci_menhir.mly"
31417 (Data.clt)
31418 # 31419 "parser_cocci_menhir.ml"
31419 ) = Obj.magic pv in
31420 let rp2 : (
31421 # 100 "parser_cocci_menhir.mly"
31422 (Data.clt)
31423 # 31424 "parser_cocci_menhir.ml"
31424 ) = Obj.magic rp2 in
31425 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
31426 let lp2 : (
31427 # 99 "parser_cocci_menhir.mly"
31428 (Data.clt)
31429 # 31430 "parser_cocci_menhir.ml"
31430 ) = Obj.magic lp2 in
31431 let rp1 : (
31432 # 100 "parser_cocci_menhir.mly"
31433 (Data.clt)
31434 # 31435 "parser_cocci_menhir.ml"
31435 ) = Obj.magic rp1 in
31436 let d : 'tv_d_ident = Obj.magic d in
31437 let st : (
31438 # 122 "parser_cocci_menhir.mly"
31439 (Data.clt)
31440 # 31441 "parser_cocci_menhir.ml"
31441 ) = Obj.magic st in
31442 let lp1 : (
31443 # 99 "parser_cocci_menhir.mly"
31444 (Data.clt)
31445 # 31446 "parser_cocci_menhir.ml"
31446 ) = Obj.magic lp1 in
31447 let t : 'tv_ctype = Obj.magic t in
31448 let _startpos = _startpos_t_ in
31449 let _endpos = _endpos_pv_ in
31450 let _v : 'tv_struct_decl =
31451 # 621 "parser_cocci_menhir.mly"
31452 ( let (id,fn) = d in
31453 let t =
31454 Ast0.wrap
31455 (Ast0.FunctionPointer
31456 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
31457 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
31458 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
31459 # 31460 "parser_cocci_menhir.ml"
31460 in
31461 _menhir_env.MenhirLib.EngineTypes.stack <- {
31462 MenhirLib.EngineTypes.state = _menhir_s;
31463 MenhirLib.EngineTypes.semv = Obj.repr _v;
31464 MenhirLib.EngineTypes.startp = _startpos;
31465 MenhirLib.EngineTypes.endp = _endpos;
31466 MenhirLib.EngineTypes.next = _menhir_stack;
31467 });
31468 (fun _menhir_env ->
31469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31470 let {
31471 MenhirLib.EngineTypes.semv = pv;
31472 MenhirLib.EngineTypes.startp = _startpos_pv_;
31473 MenhirLib.EngineTypes.endp = _endpos_pv_;
31474 MenhirLib.EngineTypes.next = {
31475 MenhirLib.EngineTypes.semv = d;
31476 MenhirLib.EngineTypes.startp = _startpos_d_;
31477 MenhirLib.EngineTypes.endp = _endpos_d_;
31478 MenhirLib.EngineTypes.next = {
31479 MenhirLib.EngineTypes.state = _menhir_s;
31480 MenhirLib.EngineTypes.semv = i;
31481 MenhirLib.EngineTypes.startp = _startpos_i_;
31482 MenhirLib.EngineTypes.endp = _endpos_i_;
31483 MenhirLib.EngineTypes.next = _menhir_stack;
31484 };
31485 };
31486 } = _menhir_stack in
31487 let pv : (
31488 # 130 "parser_cocci_menhir.mly"
31489 (Data.clt)
31490 # 31491 "parser_cocci_menhir.ml"
31491 ) = Obj.magic pv in
31492 let d : 'tv_d_ident = Obj.magic d in
31493 let i : 'tv_pure_ident = Obj.magic i in
31494 let _startpos = _startpos_i_ in
31495 let _endpos = _endpos_pv_ in
31496 let _v : 'tv_struct_decl = let cv =
31497
31498 # 39 "standard.mly"
31499 ( None )
31500 # 31501 "parser_cocci_menhir.ml"
31501
31502 in
31503
31504 # 629 "parser_cocci_menhir.mly"
31505 ( let (id,fn) = d in
31506 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31507 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31508 # 31509 "parser_cocci_menhir.ml"
31509 in
31510 _menhir_env.MenhirLib.EngineTypes.stack <- {
31511 MenhirLib.EngineTypes.state = _menhir_s;
31512 MenhirLib.EngineTypes.semv = Obj.repr _v;
31513 MenhirLib.EngineTypes.startp = _startpos;
31514 MenhirLib.EngineTypes.endp = _endpos;
31515 MenhirLib.EngineTypes.next = _menhir_stack;
31516 });
31517 (fun _menhir_env ->
31518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31519 let {
31520 MenhirLib.EngineTypes.semv = pv;
31521 MenhirLib.EngineTypes.startp = _startpos_pv_;
31522 MenhirLib.EngineTypes.endp = _endpos_pv_;
31523 MenhirLib.EngineTypes.next = {
31524 MenhirLib.EngineTypes.semv = d;
31525 MenhirLib.EngineTypes.startp = _startpos_d_;
31526 MenhirLib.EngineTypes.endp = _endpos_d_;
31527 MenhirLib.EngineTypes.next = {
31528 MenhirLib.EngineTypes.semv = i;
31529 MenhirLib.EngineTypes.startp = _startpos_i_;
31530 MenhirLib.EngineTypes.endp = _endpos_i_;
31531 MenhirLib.EngineTypes.next = {
31532 MenhirLib.EngineTypes.state = _menhir_s;
31533 MenhirLib.EngineTypes.semv = x0;
31534 MenhirLib.EngineTypes.startp = _startpos_x0_;
31535 MenhirLib.EngineTypes.endp = _endpos_x0_;
31536 MenhirLib.EngineTypes.next = _menhir_stack;
31537 };
31538 };
31539 };
31540 } = _menhir_stack in
31541 let pv : (
31542 # 130 "parser_cocci_menhir.mly"
31543 (Data.clt)
31544 # 31545 "parser_cocci_menhir.ml"
31545 ) = Obj.magic pv in
31546 let d : 'tv_d_ident = Obj.magic d in
31547 let i : 'tv_pure_ident = Obj.magic i in
31548 let x0 : 'tv_const_vol = Obj.magic x0 in
31549 let _startpos = _startpos_x0_ in
31550 let _endpos = _endpos_pv_ in
31551 let _v : 'tv_struct_decl = let cv =
31552 let x = x0 in
31553
31554 # 41 "standard.mly"
31555 ( Some x )
31556 # 31557 "parser_cocci_menhir.ml"
31557
31558 in
31559
31560 # 629 "parser_cocci_menhir.mly"
31561 ( let (id,fn) = d in
31562 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31563 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31564 # 31565 "parser_cocci_menhir.ml"
31565 in
31566 _menhir_env.MenhirLib.EngineTypes.stack <- {
31567 MenhirLib.EngineTypes.state = _menhir_s;
31568 MenhirLib.EngineTypes.semv = Obj.repr _v;
31569 MenhirLib.EngineTypes.startp = _startpos;
31570 MenhirLib.EngineTypes.endp = _endpos;
31571 MenhirLib.EngineTypes.next = _menhir_stack;
31572 });
31573 (fun _menhir_env ->
31574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31575 let {
31576 MenhirLib.EngineTypes.state = _menhir_s;
31577 MenhirLib.EngineTypes.semv = _1;
31578 MenhirLib.EngineTypes.startp = _startpos__1_;
31579 MenhirLib.EngineTypes.endp = _endpos__1_;
31580 MenhirLib.EngineTypes.next = _menhir_stack;
31581 } = _menhir_stack in
31582 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
31583 let _startpos = _startpos__1_ in
31584 let _endpos = _endpos__1_ in
31585 let _v : 'tv_struct_decl_list =
31586 # 634 "parser_cocci_menhir.mly"
31587 ( Ast0.wrap(Ast0.DOTS(_1)) )
31588 # 31589 "parser_cocci_menhir.ml"
31589 in
31590 _menhir_env.MenhirLib.EngineTypes.stack <- {
31591 MenhirLib.EngineTypes.state = _menhir_s;
31592 MenhirLib.EngineTypes.semv = Obj.repr _v;
31593 MenhirLib.EngineTypes.startp = _startpos;
31594 MenhirLib.EngineTypes.endp = _endpos;
31595 MenhirLib.EngineTypes.next = _menhir_stack;
31596 });
31597 (fun _menhir_env ->
31598 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31599 let {
31600 MenhirLib.EngineTypes.state = _menhir_s;
31601 MenhirLib.EngineTypes.semv = _1;
31602 MenhirLib.EngineTypes.startp = _startpos__1_;
31603 MenhirLib.EngineTypes.endp = _endpos__1_;
31604 MenhirLib.EngineTypes.next = _menhir_stack;
31605 } = _menhir_stack in
31606 let _1 : 'tv_struct_decl = Obj.magic _1 in
31607 let _startpos = _startpos__1_ in
31608 let _endpos = _endpos__1_ in
31609 let _v : 'tv_struct_decl_list_start =
31610 # 637 "parser_cocci_menhir.mly"
31611 ( _1 )
31612 # 31613 "parser_cocci_menhir.ml"
31613 in
31614 _menhir_env.MenhirLib.EngineTypes.stack <- {
31615 MenhirLib.EngineTypes.state = _menhir_s;
31616 MenhirLib.EngineTypes.semv = Obj.repr _v;
31617 MenhirLib.EngineTypes.startp = _startpos;
31618 MenhirLib.EngineTypes.endp = _endpos;
31619 MenhirLib.EngineTypes.next = _menhir_stack;
31620 });
31621 (fun _menhir_env ->
31622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31623 let {
31624 MenhirLib.EngineTypes.semv = _2;
31625 MenhirLib.EngineTypes.startp = _startpos__2_;
31626 MenhirLib.EngineTypes.endp = _endpos__2_;
31627 MenhirLib.EngineTypes.next = {
31628 MenhirLib.EngineTypes.state = _menhir_s;
31629 MenhirLib.EngineTypes.semv = _1;
31630 MenhirLib.EngineTypes.startp = _startpos__1_;
31631 MenhirLib.EngineTypes.endp = _endpos__1_;
31632 MenhirLib.EngineTypes.next = _menhir_stack;
31633 };
31634 } = _menhir_stack in
31635 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
31636 let _1 : 'tv_struct_decl = Obj.magic _1 in
31637 let _startpos = _startpos__1_ in
31638 let _endpos = _endpos__2_ in
31639 let _v : 'tv_struct_decl_list_start =
31640 # 638 "parser_cocci_menhir.mly"
31641 ( _1@_2 )
31642 # 31643 "parser_cocci_menhir.ml"
31643 in
31644 _menhir_env.MenhirLib.EngineTypes.stack <- {
31645 MenhirLib.EngineTypes.state = _menhir_s;
31646 MenhirLib.EngineTypes.semv = Obj.repr _v;
31647 MenhirLib.EngineTypes.startp = _startpos;
31648 MenhirLib.EngineTypes.endp = _endpos;
31649 MenhirLib.EngineTypes.next = _menhir_stack;
31650 });
31651 (fun _menhir_env ->
31652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31653 let {
31654 MenhirLib.EngineTypes.semv = r;
31655 MenhirLib.EngineTypes.startp = _startpos_r_;
31656 MenhirLib.EngineTypes.endp = _endpos_r_;
31657 MenhirLib.EngineTypes.next = {
31658 MenhirLib.EngineTypes.state = _menhir_s;
31659 MenhirLib.EngineTypes.semv = d;
31660 MenhirLib.EngineTypes.startp = _startpos_d_;
31661 MenhirLib.EngineTypes.endp = _endpos_d_;
31662 MenhirLib.EngineTypes.next = _menhir_stack;
31663 };
31664 } = _menhir_stack in
31665 let r : 'tv_continue_struct_decl_list = Obj.magic r in
31666 let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
31667 let _startpos = _startpos_d_ in
31668 let _endpos = _endpos_r_ in
31669 let _v : 'tv_struct_decl_list_start =
31670 # 640 "parser_cocci_menhir.mly"
31671 ( (P.mkddots "..." d)::r )
31672 # 31673 "parser_cocci_menhir.ml"
31673 in
31674 _menhir_env.MenhirLib.EngineTypes.stack <- {
31675 MenhirLib.EngineTypes.state = _menhir_s;
31676 MenhirLib.EngineTypes.semv = Obj.repr _v;
31677 MenhirLib.EngineTypes.startp = _startpos;
31678 MenhirLib.EngineTypes.endp = _endpos;
31679 MenhirLib.EngineTypes.next = _menhir_stack;
31680 });
31681 (fun _menhir_env ->
31682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31683 let {
31684 MenhirLib.EngineTypes.state = _menhir_s;
31685 MenhirLib.EngineTypes.semv = s;
31686 MenhirLib.EngineTypes.startp = _startpos_s_;
31687 MenhirLib.EngineTypes.endp = _endpos_s_;
31688 MenhirLib.EngineTypes.next = _menhir_stack;
31689 } = _menhir_stack in
31690 let s : (
31691 # 72 "parser_cocci_menhir.mly"
31692 (Data.clt)
31693 # 31694 "parser_cocci_menhir.ml"
31694 ) = Obj.magic s in
31695 let _startpos = _startpos_s_ in
31696 let _endpos = _endpos_s_ in
31697 let _v : 'tv_struct_or_union =
31698 # 611 "parser_cocci_menhir.mly"
31699 ( P.clt2mcode Ast.Struct s )
31700 # 31701 "parser_cocci_menhir.ml"
31701 in
31702 _menhir_env.MenhirLib.EngineTypes.stack <- {
31703 MenhirLib.EngineTypes.state = _menhir_s;
31704 MenhirLib.EngineTypes.semv = Obj.repr _v;
31705 MenhirLib.EngineTypes.startp = _startpos;
31706 MenhirLib.EngineTypes.endp = _endpos;
31707 MenhirLib.EngineTypes.next = _menhir_stack;
31708 });
31709 (fun _menhir_env ->
31710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31711 let {
31712 MenhirLib.EngineTypes.state = _menhir_s;
31713 MenhirLib.EngineTypes.semv = u;
31714 MenhirLib.EngineTypes.startp = _startpos_u_;
31715 MenhirLib.EngineTypes.endp = _endpos_u_;
31716 MenhirLib.EngineTypes.next = _menhir_stack;
31717 } = _menhir_stack in
31718 let u : (
31719 # 72 "parser_cocci_menhir.mly"
31720 (Data.clt)
31721 # 31722 "parser_cocci_menhir.ml"
31722 ) = Obj.magic u in
31723 let _startpos = _startpos_u_ in
31724 let _endpos = _endpos_u_ in
31725 let _v : 'tv_struct_or_union =
31726 # 612 "parser_cocci_menhir.mly"
31727 ( P.clt2mcode Ast.Union u )
31728 # 31729 "parser_cocci_menhir.ml"
31729 in
31730 _menhir_env.MenhirLib.EngineTypes.stack <- {
31731 MenhirLib.EngineTypes.state = _menhir_s;
31732 MenhirLib.EngineTypes.semv = Obj.repr _v;
31733 MenhirLib.EngineTypes.startp = _startpos;
31734 MenhirLib.EngineTypes.endp = _endpos;
31735 MenhirLib.EngineTypes.next = _menhir_stack;
31736 });
31737 (fun _menhir_env ->
31738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31739 let {
31740 MenhirLib.EngineTypes.semv = i;
31741 MenhirLib.EngineTypes.startp = _startpos_i_;
31742 MenhirLib.EngineTypes.endp = _endpos_i_;
31743 MenhirLib.EngineTypes.next = {
31744 MenhirLib.EngineTypes.state = _menhir_s;
31745 MenhirLib.EngineTypes.startp = _startpos__1_;
31746 MenhirLib.EngineTypes.endp = _endpos__1_;
31747 MenhirLib.EngineTypes.next = _menhir_stack;
31748 };
31749 } = _menhir_stack in
31750 let i : 'tv_meta_ident = Obj.magic i in
31751 let _startpos = _startpos__1_ in
31752 let _endpos = _endpos_i_ in
31753 let _v : 'tv_sub =
31754 # 1629 "parser_cocci_menhir.mly"
31755 ( (if !Data.in_iso
31756 then failwith "constraints not allowed in iso file");
31757 (if !Data.in_generating
31758 then failwith "constraints not allowed in a generated rule file");
31759 let i =
31760 P.check_inherited_constraint i
31761 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
31762 [i] )
31763 # 31764 "parser_cocci_menhir.ml"
31764 in
31765 _menhir_env.MenhirLib.EngineTypes.stack <- {
31766 MenhirLib.EngineTypes.state = _menhir_s;
31767 MenhirLib.EngineTypes.semv = Obj.repr _v;
31768 MenhirLib.EngineTypes.startp = _startpos;
31769 MenhirLib.EngineTypes.endp = _endpos;
31770 MenhirLib.EngineTypes.next = _menhir_stack;
31771 });
31772 (fun _menhir_env ->
31773 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31774 let {
31775 MenhirLib.EngineTypes.startp = _startpos__4_;
31776 MenhirLib.EngineTypes.endp = _endpos__4_;
31777 MenhirLib.EngineTypes.next = {
31778 MenhirLib.EngineTypes.semv = l;
31779 MenhirLib.EngineTypes.startp = _startpos_l_;
31780 MenhirLib.EngineTypes.endp = _endpos_l_;
31781 MenhirLib.EngineTypes.next = {
31782 MenhirLib.EngineTypes.startp = _startpos__2_;
31783 MenhirLib.EngineTypes.endp = _endpos__2_;
31784 MenhirLib.EngineTypes.next = {
31785 MenhirLib.EngineTypes.state = _menhir_s;
31786 MenhirLib.EngineTypes.startp = _startpos__1_;
31787 MenhirLib.EngineTypes.endp = _endpos__1_;
31788 MenhirLib.EngineTypes.next = _menhir_stack;
31789 };
31790 };
31791 };
31792 } = _menhir_stack in
31793 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
31794 let _startpos = _startpos__1_ in
31795 let _endpos = _endpos__4_ in
31796 let _v : 'tv_sub =
31797 # 1638 "parser_cocci_menhir.mly"
31798 ( (if !Data.in_iso
31799 then failwith "constraints not allowed in iso file");
31800 (if !Data.in_generating
31801 then failwith "constraints not allowed in a generated rule file");
31802 List.map
31803 (function i ->
31804 P.check_inherited_constraint i
31805 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
31806 l)
31807 # 31808 "parser_cocci_menhir.ml"
31808 in
31809 _menhir_env.MenhirLib.EngineTypes.stack <- {
31810 MenhirLib.EngineTypes.state = _menhir_s;
31811 MenhirLib.EngineTypes.semv = Obj.repr _v;
31812 MenhirLib.EngineTypes.startp = _startpos;
31813 MenhirLib.EngineTypes.endp = _endpos;
31814 MenhirLib.EngineTypes.next = _menhir_stack;
31815 });
31816 (fun _menhir_env ->
31817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31818 let {
31819 MenhirLib.EngineTypes.state = _menhir_s;
31820 MenhirLib.EngineTypes.semv = _1;
31821 MenhirLib.EngineTypes.startp = _startpos__1_;
31822 MenhirLib.EngineTypes.endp = _endpos__1_;
31823 MenhirLib.EngineTypes.next = _menhir_stack;
31824 } = _menhir_stack in
31825 let _1 : 'tv_eexpr = Obj.magic _1 in
31826 let _startpos = _startpos__1_ in
31827 let _endpos = _endpos__1_ in
31828 let _v : 'tv_top_eexpr =
31829 # 1259 "parser_cocci_menhir.mly"
31830 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
31831 # 31832 "parser_cocci_menhir.ml"
31832 in
31833 _menhir_env.MenhirLib.EngineTypes.stack <- {
31834 MenhirLib.EngineTypes.state = _menhir_s;
31835 MenhirLib.EngineTypes.semv = Obj.repr _v;
31836 MenhirLib.EngineTypes.startp = _startpos;
31837 MenhirLib.EngineTypes.endp = _endpos;
31838 MenhirLib.EngineTypes.next = _menhir_stack;
31839 });
31840 (fun _menhir_env ->
31841 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31842 let {
31843 MenhirLib.EngineTypes.semv = _3;
31844 MenhirLib.EngineTypes.startp = _startpos__3_;
31845 MenhirLib.EngineTypes.endp = _endpos__3_;
31846 MenhirLib.EngineTypes.next = {
31847 MenhirLib.EngineTypes.semv = _2;
31848 MenhirLib.EngineTypes.startp = _startpos__2_;
31849 MenhirLib.EngineTypes.endp = _endpos__2_;
31850 MenhirLib.EngineTypes.next = {
31851 MenhirLib.EngineTypes.state = _menhir_s;
31852 MenhirLib.EngineTypes.semv = _1;
31853 MenhirLib.EngineTypes.startp = _startpos__1_;
31854 MenhirLib.EngineTypes.endp = _endpos__1_;
31855 MenhirLib.EngineTypes.next = _menhir_stack;
31856 };
31857 };
31858 } = _menhir_stack in
31859 let _3 : (
31860 # 124 "parser_cocci_menhir.mly"
31861 (Data.clt)
31862 # 31863 "parser_cocci_menhir.ml"
31863 ) = Obj.magic _3 in
31864 let _2 : 'tv_initialize_list = Obj.magic _2 in
31865 let _1 : (
31866 # 124 "parser_cocci_menhir.mly"
31867 (Data.clt)
31868 # 31869 "parser_cocci_menhir.ml"
31869 ) = Obj.magic _1 in
31870 let _startpos = _startpos__1_ in
31871 let _endpos = _endpos__3_ in
31872 let _v : 'tv_top_init =
31873 # 1837 "parser_cocci_menhir.mly"
31874 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
31875 # 31876 "parser_cocci_menhir.ml"
31876 in
31877 _menhir_env.MenhirLib.EngineTypes.stack <- {
31878 MenhirLib.EngineTypes.state = _menhir_s;
31879 MenhirLib.EngineTypes.semv = Obj.repr _v;
31880 MenhirLib.EngineTypes.startp = _startpos;
31881 MenhirLib.EngineTypes.endp = _endpos;
31882 MenhirLib.EngineTypes.next = _menhir_stack;
31883 });
31884 (fun _menhir_env ->
31885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31886 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31887 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31888 let _endpos = _startpos in
31889 let _v : 'tv_toplevel_after_dots =
31890 # 1825 "parser_cocci_menhir.mly"
31891 ([])
31892 # 31893 "parser_cocci_menhir.ml"
31893 in
31894 _menhir_env.MenhirLib.EngineTypes.stack <- {
31895 MenhirLib.EngineTypes.state = _menhir_s;
31896 MenhirLib.EngineTypes.semv = Obj.repr _v;
31897 MenhirLib.EngineTypes.startp = _startpos;
31898 MenhirLib.EngineTypes.endp = _endpos;
31899 MenhirLib.EngineTypes.next = _menhir_stack;
31900 });
31901 (fun _menhir_env ->
31902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31903 let {
31904 MenhirLib.EngineTypes.semv = _2;
31905 MenhirLib.EngineTypes.startp = _startpos__2_;
31906 MenhirLib.EngineTypes.endp = _endpos__2_;
31907 MenhirLib.EngineTypes.next = {
31908 MenhirLib.EngineTypes.state = _menhir_s;
31909 MenhirLib.EngineTypes.startp = _startpos__1_;
31910 MenhirLib.EngineTypes.endp = _endpos__1_;
31911 MenhirLib.EngineTypes.next = _menhir_stack;
31912 };
31913 } = _menhir_stack in
31914 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31915 let _startpos = _startpos__1_ in
31916 let _endpos = _endpos__2_ in
31917 let _v : 'tv_toplevel_after_dots =
31918 # 1826 "parser_cocci_menhir.mly"
31919 (_2)
31920 # 31921 "parser_cocci_menhir.ml"
31921 in
31922 _menhir_env.MenhirLib.EngineTypes.stack <- {
31923 MenhirLib.EngineTypes.state = _menhir_s;
31924 MenhirLib.EngineTypes.semv = Obj.repr _v;
31925 MenhirLib.EngineTypes.startp = _startpos;
31926 MenhirLib.EngineTypes.endp = _endpos;
31927 MenhirLib.EngineTypes.next = _menhir_stack;
31928 });
31929 (fun _menhir_env ->
31930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31931 let {
31932 MenhirLib.EngineTypes.semv = _2;
31933 MenhirLib.EngineTypes.startp = _startpos__2_;
31934 MenhirLib.EngineTypes.endp = _endpos__2_;
31935 MenhirLib.EngineTypes.next = {
31936 MenhirLib.EngineTypes.state = _menhir_s;
31937 MenhirLib.EngineTypes.semv = _1;
31938 MenhirLib.EngineTypes.startp = _startpos__1_;
31939 MenhirLib.EngineTypes.endp = _endpos__1_;
31940 MenhirLib.EngineTypes.next = _menhir_stack;
31941 };
31942 } = _menhir_stack in
31943 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31944 let _1 : 'tv_expr = Obj.magic _1 in
31945 let _startpos = _startpos__1_ in
31946 let _endpos = _endpos__2_ in
31947 let _v : 'tv_toplevel_after_dots =
31948 # 1827 "parser_cocci_menhir.mly"
31949 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31950 # 31951 "parser_cocci_menhir.ml"
31951 in
31952 _menhir_env.MenhirLib.EngineTypes.stack <- {
31953 MenhirLib.EngineTypes.state = _menhir_s;
31954 MenhirLib.EngineTypes.semv = Obj.repr _v;
31955 MenhirLib.EngineTypes.startp = _startpos;
31956 MenhirLib.EngineTypes.endp = _endpos;
31957 MenhirLib.EngineTypes.next = _menhir_stack;
31958 });
31959 (fun _menhir_env ->
31960 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31961 let {
31962 MenhirLib.EngineTypes.semv = _2;
31963 MenhirLib.EngineTypes.startp = _startpos__2_;
31964 MenhirLib.EngineTypes.endp = _endpos__2_;
31965 MenhirLib.EngineTypes.next = {
31966 MenhirLib.EngineTypes.state = _menhir_s;
31967 MenhirLib.EngineTypes.semv = _1;
31968 MenhirLib.EngineTypes.startp = _startpos__1_;
31969 MenhirLib.EngineTypes.endp = _endpos__1_;
31970 MenhirLib.EngineTypes.next = _menhir_stack;
31971 };
31972 } = _menhir_stack in
31973 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31974 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31975 let _startpos = _startpos__1_ in
31976 let _endpos = _endpos__2_ in
31977 let _v : 'tv_toplevel_after_dots =
31978 # 1828 "parser_cocci_menhir.mly"
31979 (_1@_2)
31980 # 31981 "parser_cocci_menhir.ml"
31981 in
31982 _menhir_env.MenhirLib.EngineTypes.stack <- {
31983 MenhirLib.EngineTypes.state = _menhir_s;
31984 MenhirLib.EngineTypes.semv = Obj.repr _v;
31985 MenhirLib.EngineTypes.startp = _startpos;
31986 MenhirLib.EngineTypes.endp = _endpos;
31987 MenhirLib.EngineTypes.next = _menhir_stack;
31988 });
31989 (fun _menhir_env ->
31990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31991 let {
31992 MenhirLib.EngineTypes.semv = _2;
31993 MenhirLib.EngineTypes.startp = _startpos__2_;
31994 MenhirLib.EngineTypes.endp = _endpos__2_;
31995 MenhirLib.EngineTypes.next = {
31996 MenhirLib.EngineTypes.state = _menhir_s;
31997 MenhirLib.EngineTypes.startp = _startpos__1_;
31998 MenhirLib.EngineTypes.endp = _endpos__1_;
31999 MenhirLib.EngineTypes.next = _menhir_stack;
32000 };
32001 } = _menhir_stack in
32002 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32003 let _startpos = _startpos__1_ in
32004 let _endpos = _endpos__2_ in
32005 let _v : 'tv_toplevel_after_dots_init =
32006 # 1816 "parser_cocci_menhir.mly"
32007 (_2)
32008 # 32009 "parser_cocci_menhir.ml"
32009 in
32010 _menhir_env.MenhirLib.EngineTypes.stack <- {
32011 MenhirLib.EngineTypes.state = _menhir_s;
32012 MenhirLib.EngineTypes.semv = Obj.repr _v;
32013 MenhirLib.EngineTypes.startp = _startpos;
32014 MenhirLib.EngineTypes.endp = _endpos;
32015 MenhirLib.EngineTypes.next = _menhir_stack;
32016 });
32017 (fun _menhir_env ->
32018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32019 let {
32020 MenhirLib.EngineTypes.semv = _2;
32021 MenhirLib.EngineTypes.startp = _startpos__2_;
32022 MenhirLib.EngineTypes.endp = _endpos__2_;
32023 MenhirLib.EngineTypes.next = {
32024 MenhirLib.EngineTypes.state = _menhir_s;
32025 MenhirLib.EngineTypes.semv = _1;
32026 MenhirLib.EngineTypes.startp = _startpos__1_;
32027 MenhirLib.EngineTypes.endp = _endpos__1_;
32028 MenhirLib.EngineTypes.next = _menhir_stack;
32029 };
32030 } = _menhir_stack in
32031 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32032 let _1 : 'tv_expr = Obj.magic _1 in
32033 let _startpos = _startpos__1_ in
32034 let _endpos = _endpos__2_ in
32035 let _v : 'tv_toplevel_after_dots_init =
32036 # 1817 "parser_cocci_menhir.mly"
32037 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
32038 # 32039 "parser_cocci_menhir.ml"
32039 in
32040 _menhir_env.MenhirLib.EngineTypes.stack <- {
32041 MenhirLib.EngineTypes.state = _menhir_s;
32042 MenhirLib.EngineTypes.semv = Obj.repr _v;
32043 MenhirLib.EngineTypes.startp = _startpos;
32044 MenhirLib.EngineTypes.endp = _endpos;
32045 MenhirLib.EngineTypes.next = _menhir_stack;
32046 });
32047 (fun _menhir_env ->
32048 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32049 let {
32050 MenhirLib.EngineTypes.semv = _2;
32051 MenhirLib.EngineTypes.startp = _startpos__2_;
32052 MenhirLib.EngineTypes.endp = _endpos__2_;
32053 MenhirLib.EngineTypes.next = {
32054 MenhirLib.EngineTypes.state = _menhir_s;
32055 MenhirLib.EngineTypes.semv = _1;
32056 MenhirLib.EngineTypes.startp = _startpos__1_;
32057 MenhirLib.EngineTypes.endp = _endpos__1_;
32058 MenhirLib.EngineTypes.next = _menhir_stack;
32059 };
32060 } = _menhir_stack in
32061 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32062 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32063 let _startpos = _startpos__1_ in
32064 let _endpos = _endpos__2_ in
32065 let _v : 'tv_toplevel_after_dots_init =
32066 # 1818 "parser_cocci_menhir.mly"
32067 (_1@_2)
32068 # 32069 "parser_cocci_menhir.ml"
32069 in
32070 _menhir_env.MenhirLib.EngineTypes.stack <- {
32071 MenhirLib.EngineTypes.state = _menhir_s;
32072 MenhirLib.EngineTypes.semv = Obj.repr _v;
32073 MenhirLib.EngineTypes.startp = _startpos;
32074 MenhirLib.EngineTypes.endp = _endpos;
32075 MenhirLib.EngineTypes.next = _menhir_stack;
32076 });
32077 (fun _menhir_env ->
32078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32079 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
32080 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
32081 let _endpos = _startpos in
32082 let _v : 'tv_toplevel_after_exp =
32083 # 1821 "parser_cocci_menhir.mly"
32084 ([])
32085 # 32086 "parser_cocci_menhir.ml"
32086 in
32087 _menhir_env.MenhirLib.EngineTypes.stack <- {
32088 MenhirLib.EngineTypes.state = _menhir_s;
32089 MenhirLib.EngineTypes.semv = Obj.repr _v;
32090 MenhirLib.EngineTypes.startp = _startpos;
32091 MenhirLib.EngineTypes.endp = _endpos;
32092 MenhirLib.EngineTypes.next = _menhir_stack;
32093 });
32094 (fun _menhir_env ->
32095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32096 let {
32097 MenhirLib.EngineTypes.semv = _2;
32098 MenhirLib.EngineTypes.startp = _startpos__2_;
32099 MenhirLib.EngineTypes.endp = _endpos__2_;
32100 MenhirLib.EngineTypes.next = {
32101 MenhirLib.EngineTypes.state = _menhir_s;
32102 MenhirLib.EngineTypes.semv = _1;
32103 MenhirLib.EngineTypes.startp = _startpos__1_;
32104 MenhirLib.EngineTypes.endp = _endpos__1_;
32105 MenhirLib.EngineTypes.next = _menhir_stack;
32106 };
32107 } = _menhir_stack in
32108 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32109 let _1 : 'tv_stm_dots = Obj.magic _1 in
32110 let _startpos = _startpos__1_ in
32111 let _endpos = _endpos__2_ in
32112 let _v : 'tv_toplevel_after_exp =
32113 # 1822 "parser_cocci_menhir.mly"
32114 (_1::_2)
32115 # 32116 "parser_cocci_menhir.ml"
32116 in
32117 _menhir_env.MenhirLib.EngineTypes.stack <- {
32118 MenhirLib.EngineTypes.state = _menhir_s;
32119 MenhirLib.EngineTypes.semv = Obj.repr _v;
32120 MenhirLib.EngineTypes.startp = _startpos;
32121 MenhirLib.EngineTypes.endp = _endpos;
32122 MenhirLib.EngineTypes.next = _menhir_stack;
32123 });
32124 (fun _menhir_env ->
32125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32126 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
32127 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
32128 let _endpos = _startpos in
32129 let _v : 'tv_toplevel_after_stm =
32130 # 1831 "parser_cocci_menhir.mly"
32131 ([])
32132 # 32133 "parser_cocci_menhir.ml"
32133 in
32134 _menhir_env.MenhirLib.EngineTypes.stack <- {
32135 MenhirLib.EngineTypes.state = _menhir_s;
32136 MenhirLib.EngineTypes.semv = Obj.repr _v;
32137 MenhirLib.EngineTypes.startp = _startpos;
32138 MenhirLib.EngineTypes.endp = _endpos;
32139 MenhirLib.EngineTypes.next = _menhir_stack;
32140 });
32141 (fun _menhir_env ->
32142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32143 let {
32144 MenhirLib.EngineTypes.semv = _2;
32145 MenhirLib.EngineTypes.startp = _startpos__2_;
32146 MenhirLib.EngineTypes.endp = _endpos__2_;
32147 MenhirLib.EngineTypes.next = {
32148 MenhirLib.EngineTypes.state = _menhir_s;
32149 MenhirLib.EngineTypes.semv = _1;
32150 MenhirLib.EngineTypes.startp = _startpos__1_;
32151 MenhirLib.EngineTypes.endp = _endpos__1_;
32152 MenhirLib.EngineTypes.next = _menhir_stack;
32153 };
32154 } = _menhir_stack in
32155 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32156 let _1 : 'tv_stm_dots = Obj.magic _1 in
32157 let _startpos = _startpos__1_ in
32158 let _endpos = _endpos__2_ in
32159 let _v : 'tv_toplevel_after_stm =
32160 # 1832 "parser_cocci_menhir.mly"
32161 (_1::_2)
32162 # 32163 "parser_cocci_menhir.ml"
32163 in
32164 _menhir_env.MenhirLib.EngineTypes.stack <- {
32165 MenhirLib.EngineTypes.state = _menhir_s;
32166 MenhirLib.EngineTypes.semv = Obj.repr _v;
32167 MenhirLib.EngineTypes.startp = _startpos;
32168 MenhirLib.EngineTypes.endp = _endpos;
32169 MenhirLib.EngineTypes.next = _menhir_stack;
32170 });
32171 (fun _menhir_env ->
32172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32173 let {
32174 MenhirLib.EngineTypes.semv = _2;
32175 MenhirLib.EngineTypes.startp = _startpos__2_;
32176 MenhirLib.EngineTypes.endp = _endpos__2_;
32177 MenhirLib.EngineTypes.next = {
32178 MenhirLib.EngineTypes.state = _menhir_s;
32179 MenhirLib.EngineTypes.semv = _1;
32180 MenhirLib.EngineTypes.startp = _startpos__1_;
32181 MenhirLib.EngineTypes.endp = _endpos__1_;
32182 MenhirLib.EngineTypes.next = _menhir_stack;
32183 };
32184 } = _menhir_stack in
32185 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32186 let _1 : 'tv_decl_statement = Obj.magic _1 in
32187 let _startpos = _startpos__1_ in
32188 let _endpos = _endpos__2_ in
32189 let _v : 'tv_toplevel_after_stm =
32190 # 1833 "parser_cocci_menhir.mly"
32191 (_1@_2)
32192 # 32193 "parser_cocci_menhir.ml"
32193 in
32194 _menhir_env.MenhirLib.EngineTypes.stack <- {
32195 MenhirLib.EngineTypes.state = _menhir_s;
32196 MenhirLib.EngineTypes.semv = Obj.repr _v;
32197 MenhirLib.EngineTypes.startp = _startpos;
32198 MenhirLib.EngineTypes.endp = _endpos;
32199 MenhirLib.EngineTypes.next = _menhir_stack;
32200 });
32201 (fun _menhir_env ->
32202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32203 let {
32204 MenhirLib.EngineTypes.semv = _2;
32205 MenhirLib.EngineTypes.startp = _startpos__2_;
32206 MenhirLib.EngineTypes.endp = _endpos__2_;
32207 MenhirLib.EngineTypes.next = {
32208 MenhirLib.EngineTypes.state = _menhir_s;
32209 MenhirLib.EngineTypes.semv = _1;
32210 MenhirLib.EngineTypes.startp = _startpos__1_;
32211 MenhirLib.EngineTypes.endp = _endpos__1_;
32212 MenhirLib.EngineTypes.next = _menhir_stack;
32213 };
32214 } = _menhir_stack in
32215 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32216 let _1 : 'tv_stm_dots = Obj.magic _1 in
32217 let _startpos = _startpos__1_ in
32218 let _endpos = _endpos__2_ in
32219 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32220 # 1811 "parser_cocci_menhir.mly"
32221 ( _1::_2 )
32222 # 32223 "parser_cocci_menhir.ml"
32223 in
32224 _menhir_env.MenhirLib.EngineTypes.stack <- {
32225 MenhirLib.EngineTypes.state = _menhir_s;
32226 MenhirLib.EngineTypes.semv = Obj.repr _v;
32227 MenhirLib.EngineTypes.startp = _startpos;
32228 MenhirLib.EngineTypes.endp = _endpos;
32229 MenhirLib.EngineTypes.next = _menhir_stack;
32230 });
32231 (fun _menhir_env ->
32232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32233 let {
32234 MenhirLib.EngineTypes.semv = _2;
32235 MenhirLib.EngineTypes.startp = _startpos__2_;
32236 MenhirLib.EngineTypes.endp = _endpos__2_;
32237 MenhirLib.EngineTypes.next = {
32238 MenhirLib.EngineTypes.state = _menhir_s;
32239 MenhirLib.EngineTypes.semv = _1;
32240 MenhirLib.EngineTypes.startp = _startpos__1_;
32241 MenhirLib.EngineTypes.endp = _endpos__1_;
32242 MenhirLib.EngineTypes.next = _menhir_stack;
32243 };
32244 } = _menhir_stack in
32245 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32246 let _1 : 'tv_expr = Obj.magic _1 in
32247 let _startpos = _startpos__1_ in
32248 let _endpos = _endpos__2_ in
32249 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32250 # 1812 "parser_cocci_menhir.mly"
32251 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32252 # 32253 "parser_cocci_menhir.ml"
32253 in
32254 _menhir_env.MenhirLib.EngineTypes.stack <- {
32255 MenhirLib.EngineTypes.state = _menhir_s;
32256 MenhirLib.EngineTypes.semv = Obj.repr _v;
32257 MenhirLib.EngineTypes.startp = _startpos;
32258 MenhirLib.EngineTypes.endp = _endpos;
32259 MenhirLib.EngineTypes.next = _menhir_stack;
32260 });
32261 (fun _menhir_env ->
32262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32263 let {
32264 MenhirLib.EngineTypes.semv = _2;
32265 MenhirLib.EngineTypes.startp = _startpos__2_;
32266 MenhirLib.EngineTypes.endp = _endpos__2_;
32267 MenhirLib.EngineTypes.next = {
32268 MenhirLib.EngineTypes.state = _menhir_s;
32269 MenhirLib.EngineTypes.semv = _1;
32270 MenhirLib.EngineTypes.startp = _startpos__1_;
32271 MenhirLib.EngineTypes.endp = _endpos__1_;
32272 MenhirLib.EngineTypes.next = _menhir_stack;
32273 };
32274 } = _menhir_stack in
32275 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32276 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32277 let _startpos = _startpos__1_ in
32278 let _endpos = _endpos__2_ in
32279 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32280 # 1813 "parser_cocci_menhir.mly"
32281 ( _1@_2 )
32282 # 32283 "parser_cocci_menhir.ml"
32283 in
32284 _menhir_env.MenhirLib.EngineTypes.stack <- {
32285 MenhirLib.EngineTypes.state = _menhir_s;
32286 MenhirLib.EngineTypes.semv = Obj.repr _v;
32287 MenhirLib.EngineTypes.startp = _startpos;
32288 MenhirLib.EngineTypes.endp = _endpos;
32289 MenhirLib.EngineTypes.next = _menhir_stack;
32290 });
32291 (fun _menhir_env ->
32292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32293 let {
32294 MenhirLib.EngineTypes.semv = b;
32295 MenhirLib.EngineTypes.startp = _startpos_b_;
32296 MenhirLib.EngineTypes.endp = _endpos_b_;
32297 MenhirLib.EngineTypes.next = {
32298 MenhirLib.EngineTypes.semv = w0;
32299 MenhirLib.EngineTypes.startp = _startpos_w0_;
32300 MenhirLib.EngineTypes.endp = _endpos_w0_;
32301 MenhirLib.EngineTypes.next = {
32302 MenhirLib.EngineTypes.state = _menhir_s;
32303 MenhirLib.EngineTypes.semv = a0;
32304 MenhirLib.EngineTypes.startp = _startpos_a0_;
32305 MenhirLib.EngineTypes.endp = _endpos_a0_;
32306 MenhirLib.EngineTypes.next = _menhir_stack;
32307 };
32308 };
32309 } = _menhir_stack in
32310 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32311 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32312 let a0 : (
32313 # 96 "parser_cocci_menhir.mly"
32314 (Data.clt)
32315 # 32316 "parser_cocci_menhir.ml"
32316 ) = Obj.magic a0 in
32317 let _startpos = _startpos_a0_ in
32318 let _endpos = _endpos_b_ in
32319 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32320 let w = w0 in
32321 let a = a0 in
32322
32323 # 940 "parser_cocci_menhir.mly"
32324 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
32325 # 32326 "parser_cocci_menhir.ml"
32326
32327 in
32328
32329 # 1804 "parser_cocci_menhir.mly"
32330 ( a::b )
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 = b;
32344 MenhirLib.EngineTypes.startp = _startpos_b_;
32345 MenhirLib.EngineTypes.endp = _endpos_b_;
32346 MenhirLib.EngineTypes.next = {
32347 MenhirLib.EngineTypes.semv = c0;
32348 MenhirLib.EngineTypes.startp = _startpos_c0_;
32349 MenhirLib.EngineTypes.endp = _endpos_c0_;
32350 MenhirLib.EngineTypes.next = {
32351 MenhirLib.EngineTypes.semv = b0;
32352 MenhirLib.EngineTypes.startp = _startpos_b0_;
32353 MenhirLib.EngineTypes.endp = _endpos_b0_;
32354 MenhirLib.EngineTypes.next = {
32355 MenhirLib.EngineTypes.semv = w0;
32356 MenhirLib.EngineTypes.startp = _startpos_w0_;
32357 MenhirLib.EngineTypes.endp = _endpos_w0_;
32358 MenhirLib.EngineTypes.next = {
32359 MenhirLib.EngineTypes.state = _menhir_s;
32360 MenhirLib.EngineTypes.semv = a0;
32361 MenhirLib.EngineTypes.startp = _startpos_a0_;
32362 MenhirLib.EngineTypes.endp = _endpos_a0_;
32363 MenhirLib.EngineTypes.next = _menhir_stack;
32364 };
32365 };
32366 };
32367 };
32368 } = _menhir_stack in
32369 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32370 let c0 : (
32371 # 96 "parser_cocci_menhir.mly"
32372 (Data.clt)
32373 # 32374 "parser_cocci_menhir.ml"
32374 ) = Obj.magic c0 in
32375 let b0 : 'tv_nest_start = Obj.magic b0 in
32376 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32377 let a0 : (
32378 # 96 "parser_cocci_menhir.mly"
32379 (Data.clt)
32380 # 32381 "parser_cocci_menhir.ml"
32381 ) = Obj.magic a0 in
32382 let _startpos = _startpos_a0_ in
32383 let _endpos = _endpos_b_ in
32384 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32385 let c = c0 in
32386 let b = b0 in
32387 let w = w0 in
32388 let a = a0 in
32389
32390 # 944 "parser_cocci_menhir.mly"
32391 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
32392 P.clt2mcode "...>" c, List.concat w, false)) )
32393 # 32394 "parser_cocci_menhir.ml"
32394
32395 in
32396
32397 # 1805 "parser_cocci_menhir.mly"
32398 ( a::b )
32399 # 32400 "parser_cocci_menhir.ml"
32400 in
32401 _menhir_env.MenhirLib.EngineTypes.stack <- {
32402 MenhirLib.EngineTypes.state = _menhir_s;
32403 MenhirLib.EngineTypes.semv = Obj.repr _v;
32404 MenhirLib.EngineTypes.startp = _startpos;
32405 MenhirLib.EngineTypes.endp = _endpos;
32406 MenhirLib.EngineTypes.next = _menhir_stack;
32407 });
32408 (fun _menhir_env ->
32409 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32410 let {
32411 MenhirLib.EngineTypes.semv = b;
32412 MenhirLib.EngineTypes.startp = _startpos_b_;
32413 MenhirLib.EngineTypes.endp = _endpos_b_;
32414 MenhirLib.EngineTypes.next = {
32415 MenhirLib.EngineTypes.semv = c0;
32416 MenhirLib.EngineTypes.startp = _startpos_c0_;
32417 MenhirLib.EngineTypes.endp = _endpos_c0_;
32418 MenhirLib.EngineTypes.next = {
32419 MenhirLib.EngineTypes.semv = b0;
32420 MenhirLib.EngineTypes.startp = _startpos_b0_;
32421 MenhirLib.EngineTypes.endp = _endpos_b0_;
32422 MenhirLib.EngineTypes.next = {
32423 MenhirLib.EngineTypes.semv = w0;
32424 MenhirLib.EngineTypes.startp = _startpos_w0_;
32425 MenhirLib.EngineTypes.endp = _endpos_w0_;
32426 MenhirLib.EngineTypes.next = {
32427 MenhirLib.EngineTypes.state = _menhir_s;
32428 MenhirLib.EngineTypes.semv = a0;
32429 MenhirLib.EngineTypes.startp = _startpos_a0_;
32430 MenhirLib.EngineTypes.endp = _endpos_a0_;
32431 MenhirLib.EngineTypes.next = _menhir_stack;
32432 };
32433 };
32434 };
32435 };
32436 } = _menhir_stack in
32437 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32438 let c0 : (
32439 # 96 "parser_cocci_menhir.mly"
32440 (Data.clt)
32441 # 32442 "parser_cocci_menhir.ml"
32442 ) = Obj.magic c0 in
32443 let b0 : 'tv_nest_start = Obj.magic b0 in
32444 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32445 let a0 : (
32446 # 96 "parser_cocci_menhir.mly"
32447 (Data.clt)
32448 # 32449 "parser_cocci_menhir.ml"
32449 ) = Obj.magic a0 in
32450 let _startpos = _startpos_a0_ in
32451 let _endpos = _endpos_b_ in
32452 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32453 let c = c0 in
32454 let b = b0 in
32455 let w = w0 in
32456 let a = a0 in
32457
32458 # 947 "parser_cocci_menhir.mly"
32459 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32460 P.clt2mcode "...+>" c, List.concat w, true)) )
32461 # 32462 "parser_cocci_menhir.ml"
32462
32463 in
32464
32465 # 1805 "parser_cocci_menhir.mly"
32466 ( a::b )
32467 # 32468 "parser_cocci_menhir.ml"
32468 in
32469 _menhir_env.MenhirLib.EngineTypes.stack <- {
32470 MenhirLib.EngineTypes.state = _menhir_s;
32471 MenhirLib.EngineTypes.semv = Obj.repr _v;
32472 MenhirLib.EngineTypes.startp = _startpos;
32473 MenhirLib.EngineTypes.endp = _endpos;
32474 MenhirLib.EngineTypes.next = _menhir_stack;
32475 });
32476 (fun _menhir_env ->
32477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32478 let {
32479 MenhirLib.EngineTypes.semv = c0;
32480 MenhirLib.EngineTypes.startp = _startpos_c0_;
32481 MenhirLib.EngineTypes.endp = _endpos_c0_;
32482 MenhirLib.EngineTypes.next = {
32483 MenhirLib.EngineTypes.semv = b0;
32484 MenhirLib.EngineTypes.startp = _startpos_b0_;
32485 MenhirLib.EngineTypes.endp = _endpos_b0_;
32486 MenhirLib.EngineTypes.next = {
32487 MenhirLib.EngineTypes.semv = w0;
32488 MenhirLib.EngineTypes.startp = _startpos_w0_;
32489 MenhirLib.EngineTypes.endp = _endpos_w0_;
32490 MenhirLib.EngineTypes.next = {
32491 MenhirLib.EngineTypes.state = _menhir_s;
32492 MenhirLib.EngineTypes.semv = a0;
32493 MenhirLib.EngineTypes.startp = _startpos_a0_;
32494 MenhirLib.EngineTypes.endp = _endpos_a0_;
32495 MenhirLib.EngineTypes.next = _menhir_stack;
32496 };
32497 };
32498 };
32499 } = _menhir_stack in
32500 let c0 : (
32501 # 96 "parser_cocci_menhir.mly"
32502 (Data.clt)
32503 # 32504 "parser_cocci_menhir.ml"
32504 ) = Obj.magic c0 in
32505 let b0 : 'tv_nest_start = Obj.magic b0 in
32506 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32507 let a0 : (
32508 # 96 "parser_cocci_menhir.mly"
32509 (Data.clt)
32510 # 32511 "parser_cocci_menhir.ml"
32511 ) = Obj.magic a0 in
32512 let _startpos = _startpos_a0_ in
32513 let _endpos = _endpos_c0_ in
32514 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32515 let c = c0 in
32516 let b = b0 in
32517 let w = w0 in
32518 let a = a0 in
32519
32520 # 944 "parser_cocci_menhir.mly"
32521 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
32522 P.clt2mcode "...>" c, List.concat w, false)) )
32523 # 32524 "parser_cocci_menhir.ml"
32524
32525 in
32526
32527 # 1806 "parser_cocci_menhir.mly"
32528 ( [a] )
32529 # 32530 "parser_cocci_menhir.ml"
32530 in
32531 _menhir_env.MenhirLib.EngineTypes.stack <- {
32532 MenhirLib.EngineTypes.state = _menhir_s;
32533 MenhirLib.EngineTypes.semv = Obj.repr _v;
32534 MenhirLib.EngineTypes.startp = _startpos;
32535 MenhirLib.EngineTypes.endp = _endpos;
32536 MenhirLib.EngineTypes.next = _menhir_stack;
32537 });
32538 (fun _menhir_env ->
32539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32540 let {
32541 MenhirLib.EngineTypes.semv = c0;
32542 MenhirLib.EngineTypes.startp = _startpos_c0_;
32543 MenhirLib.EngineTypes.endp = _endpos_c0_;
32544 MenhirLib.EngineTypes.next = {
32545 MenhirLib.EngineTypes.semv = b0;
32546 MenhirLib.EngineTypes.startp = _startpos_b0_;
32547 MenhirLib.EngineTypes.endp = _endpos_b0_;
32548 MenhirLib.EngineTypes.next = {
32549 MenhirLib.EngineTypes.semv = w0;
32550 MenhirLib.EngineTypes.startp = _startpos_w0_;
32551 MenhirLib.EngineTypes.endp = _endpos_w0_;
32552 MenhirLib.EngineTypes.next = {
32553 MenhirLib.EngineTypes.state = _menhir_s;
32554 MenhirLib.EngineTypes.semv = a0;
32555 MenhirLib.EngineTypes.startp = _startpos_a0_;
32556 MenhirLib.EngineTypes.endp = _endpos_a0_;
32557 MenhirLib.EngineTypes.next = _menhir_stack;
32558 };
32559 };
32560 };
32561 } = _menhir_stack in
32562 let c0 : (
32563 # 96 "parser_cocci_menhir.mly"
32564 (Data.clt)
32565 # 32566 "parser_cocci_menhir.ml"
32566 ) = Obj.magic c0 in
32567 let b0 : 'tv_nest_start = Obj.magic b0 in
32568 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32569 let a0 : (
32570 # 96 "parser_cocci_menhir.mly"
32571 (Data.clt)
32572 # 32573 "parser_cocci_menhir.ml"
32573 ) = Obj.magic a0 in
32574 let _startpos = _startpos_a0_ in
32575 let _endpos = _endpos_c0_ in
32576 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32577 let c = c0 in
32578 let b = b0 in
32579 let w = w0 in
32580 let a = a0 in
32581
32582 # 947 "parser_cocci_menhir.mly"
32583 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32584 P.clt2mcode "...+>" c, List.concat w, true)) )
32585 # 32586 "parser_cocci_menhir.ml"
32586
32587 in
32588
32589 # 1806 "parser_cocci_menhir.mly"
32590 ( [a] )
32591 # 32592 "parser_cocci_menhir.ml"
32592 in
32593 _menhir_env.MenhirLib.EngineTypes.stack <- {
32594 MenhirLib.EngineTypes.state = _menhir_s;
32595 MenhirLib.EngineTypes.semv = Obj.repr _v;
32596 MenhirLib.EngineTypes.startp = _startpos;
32597 MenhirLib.EngineTypes.endp = _endpos;
32598 MenhirLib.EngineTypes.next = _menhir_stack;
32599 });
32600 (fun _menhir_env ->
32601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32602 let {
32603 MenhirLib.EngineTypes.semv = _2;
32604 MenhirLib.EngineTypes.startp = _startpos__2_;
32605 MenhirLib.EngineTypes.endp = _endpos__2_;
32606 MenhirLib.EngineTypes.next = {
32607 MenhirLib.EngineTypes.state = _menhir_s;
32608 MenhirLib.EngineTypes.semv = _1;
32609 MenhirLib.EngineTypes.startp = _startpos__1_;
32610 MenhirLib.EngineTypes.endp = _endpos__1_;
32611 MenhirLib.EngineTypes.next = _menhir_stack;
32612 };
32613 } = _menhir_stack in
32614 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32615 let _1 : 'tv_expr = Obj.magic _1 in
32616 let _startpos = _startpos__1_ in
32617 let _endpos = _endpos__2_ in
32618 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32619 # 1807 "parser_cocci_menhir.mly"
32620 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32621 # 32622 "parser_cocci_menhir.ml"
32622 in
32623 _menhir_env.MenhirLib.EngineTypes.stack <- {
32624 MenhirLib.EngineTypes.state = _menhir_s;
32625 MenhirLib.EngineTypes.semv = Obj.repr _v;
32626 MenhirLib.EngineTypes.startp = _startpos;
32627 MenhirLib.EngineTypes.endp = _endpos;
32628 MenhirLib.EngineTypes.next = _menhir_stack;
32629 });
32630 (fun _menhir_env ->
32631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32632 let {
32633 MenhirLib.EngineTypes.semv = _2;
32634 MenhirLib.EngineTypes.startp = _startpos__2_;
32635 MenhirLib.EngineTypes.endp = _endpos__2_;
32636 MenhirLib.EngineTypes.next = {
32637 MenhirLib.EngineTypes.state = _menhir_s;
32638 MenhirLib.EngineTypes.semv = _1;
32639 MenhirLib.EngineTypes.startp = _startpos__1_;
32640 MenhirLib.EngineTypes.endp = _endpos__1_;
32641 MenhirLib.EngineTypes.next = _menhir_stack;
32642 };
32643 } = _menhir_stack in
32644 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32645 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32646 let _startpos = _startpos__1_ in
32647 let _endpos = _endpos__2_ in
32648 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32649 # 1808 "parser_cocci_menhir.mly"
32650 ( _1@_2 )
32651 # 32652 "parser_cocci_menhir.ml"
32652 in
32653 _menhir_env.MenhirLib.EngineTypes.stack <- {
32654 MenhirLib.EngineTypes.state = _menhir_s;
32655 MenhirLib.EngineTypes.semv = Obj.repr _v;
32656 MenhirLib.EngineTypes.startp = _startpos;
32657 MenhirLib.EngineTypes.endp = _endpos;
32658 MenhirLib.EngineTypes.next = _menhir_stack;
32659 });
32660 (fun _menhir_env ->
32661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32662 let {
32663 MenhirLib.EngineTypes.semv = m;
32664 MenhirLib.EngineTypes.startp = _startpos_m_;
32665 MenhirLib.EngineTypes.endp = _endpos_m_;
32666 MenhirLib.EngineTypes.next = {
32667 MenhirLib.EngineTypes.semv = ty00;
32668 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32669 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32670 MenhirLib.EngineTypes.next = {
32671 MenhirLib.EngineTypes.state = _menhir_s;
32672 MenhirLib.EngineTypes.semv = r0;
32673 MenhirLib.EngineTypes.startp = _startpos_r0_;
32674 MenhirLib.EngineTypes.endp = _endpos_r0_;
32675 MenhirLib.EngineTypes.next = _menhir_stack;
32676 };
32677 };
32678 } = _menhir_stack in
32679 let m : 'tv_list_TMul_ = Obj.magic m in
32680 let ty00 : (
32681 # 71 "parser_cocci_menhir.mly"
32682 (Data.clt)
32683 # 32684 "parser_cocci_menhir.ml"
32684 ) = Obj.magic ty00 in
32685 let r0 : (
32686 # 73 "parser_cocci_menhir.mly"
32687 (Data.clt)
32688 # 32689 "parser_cocci_menhir.ml"
32689 ) = Obj.magic r0 in
32690 let _startpos = _startpos_r0_ in
32691 let _endpos = _endpos_m_ in
32692 let _v : 'tv_typedef_ctype = let ty =
32693 let ty0 = ty00 in
32694 let r = r0 in
32695 let ty =
32696 let ty = ty0 in
32697
32698 # 529 "parser_cocci_menhir.mly"
32699 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32700 # 32701 "parser_cocci_menhir.ml"
32701
32702 in
32703
32704 # 581 "parser_cocci_menhir.mly"
32705 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32706 # 32707 "parser_cocci_menhir.ml"
32707
32708 in
32709 let cv =
32710
32711 # 39 "standard.mly"
32712 ( None )
32713 # 32714 "parser_cocci_menhir.ml"
32714
32715 in
32716
32717 # 602 "parser_cocci_menhir.mly"
32718 ( P.pointerify (P.make_cv cv ty) m )
32719 # 32720 "parser_cocci_menhir.ml"
32720 in
32721 _menhir_env.MenhirLib.EngineTypes.stack <- {
32722 MenhirLib.EngineTypes.state = _menhir_s;
32723 MenhirLib.EngineTypes.semv = Obj.repr _v;
32724 MenhirLib.EngineTypes.startp = _startpos;
32725 MenhirLib.EngineTypes.endp = _endpos;
32726 MenhirLib.EngineTypes.next = _menhir_stack;
32727 });
32728 (fun _menhir_env ->
32729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32730 let {
32731 MenhirLib.EngineTypes.semv = m;
32732 MenhirLib.EngineTypes.startp = _startpos_m_;
32733 MenhirLib.EngineTypes.endp = _endpos_m_;
32734 MenhirLib.EngineTypes.next = {
32735 MenhirLib.EngineTypes.semv = ty00;
32736 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32737 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32738 MenhirLib.EngineTypes.next = {
32739 MenhirLib.EngineTypes.state = _menhir_s;
32740 MenhirLib.EngineTypes.semv = r0;
32741 MenhirLib.EngineTypes.startp = _startpos_r0_;
32742 MenhirLib.EngineTypes.endp = _endpos_r0_;
32743 MenhirLib.EngineTypes.next = _menhir_stack;
32744 };
32745 };
32746 } = _menhir_stack in
32747 let m : 'tv_list_TMul_ = Obj.magic m in
32748 let ty00 : (
32749 # 71 "parser_cocci_menhir.mly"
32750 (Data.clt)
32751 # 32752 "parser_cocci_menhir.ml"
32752 ) = Obj.magic ty00 in
32753 let r0 : (
32754 # 73 "parser_cocci_menhir.mly"
32755 (Data.clt)
32756 # 32757 "parser_cocci_menhir.ml"
32757 ) = Obj.magic r0 in
32758 let _startpos = _startpos_r0_ in
32759 let _endpos = _endpos_m_ in
32760 let _v : 'tv_typedef_ctype = let ty =
32761 let ty0 = ty00 in
32762 let r = r0 in
32763 let ty =
32764 let ty = ty0 in
32765
32766 # 531 "parser_cocci_menhir.mly"
32767 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32768 # 32769 "parser_cocci_menhir.ml"
32769
32770 in
32771
32772 # 581 "parser_cocci_menhir.mly"
32773 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32774 # 32775 "parser_cocci_menhir.ml"
32775
32776 in
32777 let cv =
32778
32779 # 39 "standard.mly"
32780 ( None )
32781 # 32782 "parser_cocci_menhir.ml"
32782
32783 in
32784
32785 # 602 "parser_cocci_menhir.mly"
32786 ( P.pointerify (P.make_cv cv ty) m )
32787 # 32788 "parser_cocci_menhir.ml"
32788 in
32789 _menhir_env.MenhirLib.EngineTypes.stack <- {
32790 MenhirLib.EngineTypes.state = _menhir_s;
32791 MenhirLib.EngineTypes.semv = Obj.repr _v;
32792 MenhirLib.EngineTypes.startp = _startpos;
32793 MenhirLib.EngineTypes.endp = _endpos;
32794 MenhirLib.EngineTypes.next = _menhir_stack;
32795 });
32796 (fun _menhir_env ->
32797 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32798 let {
32799 MenhirLib.EngineTypes.semv = m;
32800 MenhirLib.EngineTypes.startp = _startpos_m_;
32801 MenhirLib.EngineTypes.endp = _endpos_m_;
32802 MenhirLib.EngineTypes.next = {
32803 MenhirLib.EngineTypes.semv = ty00;
32804 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32805 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32806 MenhirLib.EngineTypes.next = {
32807 MenhirLib.EngineTypes.state = _menhir_s;
32808 MenhirLib.EngineTypes.semv = r0;
32809 MenhirLib.EngineTypes.startp = _startpos_r0_;
32810 MenhirLib.EngineTypes.endp = _endpos_r0_;
32811 MenhirLib.EngineTypes.next = _menhir_stack;
32812 };
32813 };
32814 } = _menhir_stack in
32815 let m : 'tv_list_TMul_ = Obj.magic m in
32816 let ty00 : (
32817 # 71 "parser_cocci_menhir.mly"
32818 (Data.clt)
32819 # 32820 "parser_cocci_menhir.ml"
32820 ) = Obj.magic ty00 in
32821 let r0 : (
32822 # 73 "parser_cocci_menhir.mly"
32823 (Data.clt)
32824 # 32825 "parser_cocci_menhir.ml"
32825 ) = Obj.magic r0 in
32826 let _startpos = _startpos_r0_ in
32827 let _endpos = _endpos_m_ in
32828 let _v : 'tv_typedef_ctype = let ty =
32829 let ty0 = ty00 in
32830 let r = r0 in
32831 let ty =
32832 let ty = ty0 in
32833
32834 # 533 "parser_cocci_menhir.mly"
32835 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32836 # 32837 "parser_cocci_menhir.ml"
32837
32838 in
32839
32840 # 581 "parser_cocci_menhir.mly"
32841 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32842 # 32843 "parser_cocci_menhir.ml"
32843
32844 in
32845 let cv =
32846
32847 # 39 "standard.mly"
32848 ( None )
32849 # 32850 "parser_cocci_menhir.ml"
32850
32851 in
32852
32853 # 602 "parser_cocci_menhir.mly"
32854 ( P.pointerify (P.make_cv cv ty) m )
32855 # 32856 "parser_cocci_menhir.ml"
32856 in
32857 _menhir_env.MenhirLib.EngineTypes.stack <- {
32858 MenhirLib.EngineTypes.state = _menhir_s;
32859 MenhirLib.EngineTypes.semv = Obj.repr _v;
32860 MenhirLib.EngineTypes.startp = _startpos;
32861 MenhirLib.EngineTypes.endp = _endpos;
32862 MenhirLib.EngineTypes.next = _menhir_stack;
32863 });
32864 (fun _menhir_env ->
32865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32866 let {
32867 MenhirLib.EngineTypes.semv = m;
32868 MenhirLib.EngineTypes.startp = _startpos_m_;
32869 MenhirLib.EngineTypes.endp = _endpos_m_;
32870 MenhirLib.EngineTypes.next = {
32871 MenhirLib.EngineTypes.semv = p00;
32872 MenhirLib.EngineTypes.startp = _startpos_p00_;
32873 MenhirLib.EngineTypes.endp = _endpos_p00_;
32874 MenhirLib.EngineTypes.next = {
32875 MenhirLib.EngineTypes.state = _menhir_s;
32876 MenhirLib.EngineTypes.semv = r0;
32877 MenhirLib.EngineTypes.startp = _startpos_r0_;
32878 MenhirLib.EngineTypes.endp = _endpos_r0_;
32879 MenhirLib.EngineTypes.next = _menhir_stack;
32880 };
32881 };
32882 } = _menhir_stack in
32883 let m : 'tv_list_TMul_ = Obj.magic m in
32884 let p00 : (
32885 # 87 "parser_cocci_menhir.mly"
32886 (Parse_aux.info)
32887 # 32888 "parser_cocci_menhir.ml"
32888 ) = Obj.magic p00 in
32889 let r0 : (
32890 # 73 "parser_cocci_menhir.mly"
32891 (Data.clt)
32892 # 32893 "parser_cocci_menhir.ml"
32893 ) = Obj.magic r0 in
32894 let _startpos = _startpos_r0_ in
32895 let _endpos = _endpos_m_ in
32896 let _v : 'tv_typedef_ctype = let ty =
32897 let p0 = p00 in
32898 let r = r0 in
32899 let ty =
32900 let p = p0 in
32901
32902 # 535 "parser_cocci_menhir.mly"
32903 ( let (nm,pure,clt) = p in
32904 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32905 # 32906 "parser_cocci_menhir.ml"
32906
32907 in
32908
32909 # 581 "parser_cocci_menhir.mly"
32910 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32911 # 32912 "parser_cocci_menhir.ml"
32912
32913 in
32914 let cv =
32915
32916 # 39 "standard.mly"
32917 ( None )
32918 # 32919 "parser_cocci_menhir.ml"
32919
32920 in
32921
32922 # 602 "parser_cocci_menhir.mly"
32923 ( P.pointerify (P.make_cv cv ty) m )
32924 # 32925 "parser_cocci_menhir.ml"
32925 in
32926 _menhir_env.MenhirLib.EngineTypes.stack <- {
32927 MenhirLib.EngineTypes.state = _menhir_s;
32928 MenhirLib.EngineTypes.semv = Obj.repr _v;
32929 MenhirLib.EngineTypes.startp = _startpos;
32930 MenhirLib.EngineTypes.endp = _endpos;
32931 MenhirLib.EngineTypes.next = _menhir_stack;
32932 });
32933 (fun _menhir_env ->
32934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32935 let {
32936 MenhirLib.EngineTypes.semv = m;
32937 MenhirLib.EngineTypes.startp = _startpos_m_;
32938 MenhirLib.EngineTypes.endp = _endpos_m_;
32939 MenhirLib.EngineTypes.next = {
32940 MenhirLib.EngineTypes.semv = p00;
32941 MenhirLib.EngineTypes.startp = _startpos_p00_;
32942 MenhirLib.EngineTypes.endp = _endpos_p00_;
32943 MenhirLib.EngineTypes.next = {
32944 MenhirLib.EngineTypes.startp = _startpos__3_;
32945 MenhirLib.EngineTypes.endp = _endpos__3_;
32946 MenhirLib.EngineTypes.next = {
32947 MenhirLib.EngineTypes.semv = r00;
32948 MenhirLib.EngineTypes.startp = _startpos_r00_;
32949 MenhirLib.EngineTypes.endp = _endpos_r00_;
32950 MenhirLib.EngineTypes.next = {
32951 MenhirLib.EngineTypes.state = _menhir_s;
32952 MenhirLib.EngineTypes.semv = r1;
32953 MenhirLib.EngineTypes.startp = _startpos_r1_;
32954 MenhirLib.EngineTypes.endp = _endpos_r1_;
32955 MenhirLib.EngineTypes.next = _menhir_stack;
32956 };
32957 };
32958 };
32959 };
32960 } = _menhir_stack in
32961 let m : 'tv_list_TMul_ = Obj.magic m in
32962 let p00 : (
32963 # 81 "parser_cocci_menhir.mly"
32964 (string * Data.clt)
32965 # 32966 "parser_cocci_menhir.ml"
32966 ) = Obj.magic p00 in
32967 let r00 : (
32968 # 69 "parser_cocci_menhir.mly"
32969 (string)
32970 # 32971 "parser_cocci_menhir.ml"
32971 ) = Obj.magic r00 in
32972 let r1 : (
32973 # 73 "parser_cocci_menhir.mly"
32974 (Data.clt)
32975 # 32976 "parser_cocci_menhir.ml"
32976 ) = Obj.magic r1 in
32977 let _startpos = _startpos_r1_ in
32978 let _endpos = _endpos_m_ in
32979 let _v : 'tv_typedef_ctype = let ty =
32980 let p0 = p00 in
32981 let r0 = r00 in
32982 let r = r1 in
32983 let ty =
32984 let p = p0 in
32985 let r = r0 in
32986
32987 # 538 "parser_cocci_menhir.mly"
32988 ( let nm = (r,P.id2name p) in
32989 (* this is only possible when we are in a metavar decl. Otherwise,
32990 it will be represented already as a MetaType *)
32991 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
32992 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
32993 Ast0.Impure (*will be ignored*))) )
32994 # 32995 "parser_cocci_menhir.ml"
32995
32996 in
32997
32998 # 581 "parser_cocci_menhir.mly"
32999 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
33000 # 33001 "parser_cocci_menhir.ml"
33001
33002 in
33003 let cv =
33004
33005 # 39 "standard.mly"
33006 ( None )
33007 # 33008 "parser_cocci_menhir.ml"
33008
33009 in
33010
33011 # 602 "parser_cocci_menhir.mly"
33012 ( P.pointerify (P.make_cv cv ty) m )
33013 # 33014 "parser_cocci_menhir.ml"
33014 in
33015 _menhir_env.MenhirLib.EngineTypes.stack <- {
33016 MenhirLib.EngineTypes.state = _menhir_s;
33017 MenhirLib.EngineTypes.semv = Obj.repr _v;
33018 MenhirLib.EngineTypes.startp = _startpos;
33019 MenhirLib.EngineTypes.endp = _endpos;
33020 MenhirLib.EngineTypes.next = _menhir_stack;
33021 });
33022 (fun _menhir_env ->
33023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33024 let {
33025 MenhirLib.EngineTypes.semv = m;
33026 MenhirLib.EngineTypes.startp = _startpos_m_;
33027 MenhirLib.EngineTypes.endp = _endpos_m_;
33028 MenhirLib.EngineTypes.next = {
33029 MenhirLib.EngineTypes.semv = ty00;
33030 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33031 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33032 MenhirLib.EngineTypes.next = {
33033 MenhirLib.EngineTypes.state = _menhir_s;
33034 MenhirLib.EngineTypes.semv = r0;
33035 MenhirLib.EngineTypes.startp = _startpos_r0_;
33036 MenhirLib.EngineTypes.endp = _endpos_r0_;
33037 MenhirLib.EngineTypes.next = _menhir_stack;
33038 };
33039 };
33040 } = _menhir_stack in
33041 let m : 'tv_list_TMul_ = Obj.magic m in
33042 let ty00 : (
33043 # 71 "parser_cocci_menhir.mly"
33044 (Data.clt)
33045 # 33046 "parser_cocci_menhir.ml"
33046 ) = Obj.magic ty00 in
33047 let r0 : (
33048 # 73 "parser_cocci_menhir.mly"
33049 (Data.clt)
33050 # 33051 "parser_cocci_menhir.ml"
33051 ) = Obj.magic r0 in
33052 let _startpos = _startpos_r0_ in
33053 let _endpos = _endpos_m_ in
33054 let _v : 'tv_typedef_ctype = let ty =
33055 let ty0 = ty00 in
33056 let r = r0 in
33057 let ty =
33058 let ty = ty0 in
33059
33060 # 545 "parser_cocci_menhir.mly"
33061 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33062 # 33063 "parser_cocci_menhir.ml"
33063
33064 in
33065
33066 # 581 "parser_cocci_menhir.mly"
33067 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
33068 # 33069 "parser_cocci_menhir.ml"
33069
33070 in
33071 let cv =
33072
33073 # 39 "standard.mly"
33074 ( None )
33075 # 33076 "parser_cocci_menhir.ml"
33076
33077 in
33078
33079 # 602 "parser_cocci_menhir.mly"
33080 ( P.pointerify (P.make_cv cv ty) m )
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.semv = m;
33094 MenhirLib.EngineTypes.startp = _startpos_m_;
33095 MenhirLib.EngineTypes.endp = _endpos_m_;
33096 MenhirLib.EngineTypes.next = {
33097 MenhirLib.EngineTypes.semv = ty200;
33098 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33099 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33100 MenhirLib.EngineTypes.next = {
33101 MenhirLib.EngineTypes.semv = ty100;
33102 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33103 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33104 MenhirLib.EngineTypes.next = {
33105 MenhirLib.EngineTypes.state = _menhir_s;
33106 MenhirLib.EngineTypes.semv = r0;
33107 MenhirLib.EngineTypes.startp = _startpos_r0_;
33108 MenhirLib.EngineTypes.endp = _endpos_r0_;
33109 MenhirLib.EngineTypes.next = _menhir_stack;
33110 };
33111 };
33112 };
33113 } = _menhir_stack in
33114 let m : 'tv_list_TMul_ = Obj.magic m in
33115 let ty200 : (
33116 # 71 "parser_cocci_menhir.mly"
33117 (Data.clt)
33118 # 33119 "parser_cocci_menhir.ml"
33119 ) = Obj.magic ty200 in
33120 let ty100 : (
33121 # 71 "parser_cocci_menhir.mly"
33122 (Data.clt)
33123 # 33124 "parser_cocci_menhir.ml"
33124 ) = Obj.magic ty100 in
33125 let r0 : (
33126 # 73 "parser_cocci_menhir.mly"
33127 (Data.clt)
33128 # 33129 "parser_cocci_menhir.ml"
33129 ) = Obj.magic r0 in
33130 let _startpos = _startpos_r0_ in
33131 let _endpos = _endpos_m_ in
33132 let _v : 'tv_typedef_ctype = let ty =
33133 let ty20 = ty200 in
33134 let ty10 = ty100 in
33135 let r = r0 in
33136 let ty =
33137 let ty2 = ty20 in
33138 let ty1 = ty10 in
33139
33140 # 547 "parser_cocci_menhir.mly"
33141 ( Ast0.wrap
33142 (Ast0.BaseType
33143 (Ast.LongLongType,
33144 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33145 # 33146 "parser_cocci_menhir.ml"
33146
33147 in
33148
33149 # 581 "parser_cocci_menhir.mly"
33150 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
33151 # 33152 "parser_cocci_menhir.ml"
33152
33153 in
33154 let cv =
33155
33156 # 39 "standard.mly"
33157 ( None )
33158 # 33159 "parser_cocci_menhir.ml"
33159
33160 in
33161
33162 # 602 "parser_cocci_menhir.mly"
33163 ( P.pointerify (P.make_cv cv ty) m )
33164 # 33165 "parser_cocci_menhir.ml"
33165 in
33166 _menhir_env.MenhirLib.EngineTypes.stack <- {
33167 MenhirLib.EngineTypes.state = _menhir_s;
33168 MenhirLib.EngineTypes.semv = Obj.repr _v;
33169 MenhirLib.EngineTypes.startp = _startpos;
33170 MenhirLib.EngineTypes.endp = _endpos;
33171 MenhirLib.EngineTypes.next = _menhir_stack;
33172 });
33173 (fun _menhir_env ->
33174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33175 let {
33176 MenhirLib.EngineTypes.semv = m;
33177 MenhirLib.EngineTypes.startp = _startpos_m_;
33178 MenhirLib.EngineTypes.endp = _endpos_m_;
33179 MenhirLib.EngineTypes.next = {
33180 MenhirLib.EngineTypes.semv = ty00;
33181 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33182 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33183 MenhirLib.EngineTypes.next = {
33184 MenhirLib.EngineTypes.state = _menhir_s;
33185 MenhirLib.EngineTypes.semv = r0;
33186 MenhirLib.EngineTypes.startp = _startpos_r0_;
33187 MenhirLib.EngineTypes.endp = _endpos_r0_;
33188 MenhirLib.EngineTypes.next = _menhir_stack;
33189 };
33190 };
33191 } = _menhir_stack in
33192 let m : 'tv_list_TMul_ = Obj.magic m in
33193 let ty00 : (
33194 # 71 "parser_cocci_menhir.mly"
33195 (Data.clt)
33196 # 33197 "parser_cocci_menhir.ml"
33197 ) = Obj.magic ty00 in
33198 let r0 : (
33199 # 73 "parser_cocci_menhir.mly"
33200 (Data.clt)
33201 # 33202 "parser_cocci_menhir.ml"
33202 ) = Obj.magic r0 in
33203 let _startpos = _startpos_r0_ in
33204 let _endpos = _endpos_m_ in
33205 let _v : 'tv_typedef_ctype = let ty =
33206 let ty0 = ty00 in
33207 let r = r0 in
33208 let ty =
33209 let ty = ty0 in
33210
33211 # 529 "parser_cocci_menhir.mly"
33212 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33213 # 33214 "parser_cocci_menhir.ml"
33214
33215 in
33216
33217 # 583 "parser_cocci_menhir.mly"
33218 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33219 # 33220 "parser_cocci_menhir.ml"
33220
33221 in
33222 let cv =
33223
33224 # 39 "standard.mly"
33225 ( None )
33226 # 33227 "parser_cocci_menhir.ml"
33227
33228 in
33229
33230 # 602 "parser_cocci_menhir.mly"
33231 ( P.pointerify (P.make_cv cv ty) m )
33232 # 33233 "parser_cocci_menhir.ml"
33233 in
33234 _menhir_env.MenhirLib.EngineTypes.stack <- {
33235 MenhirLib.EngineTypes.state = _menhir_s;
33236 MenhirLib.EngineTypes.semv = Obj.repr _v;
33237 MenhirLib.EngineTypes.startp = _startpos;
33238 MenhirLib.EngineTypes.endp = _endpos;
33239 MenhirLib.EngineTypes.next = _menhir_stack;
33240 });
33241 (fun _menhir_env ->
33242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33243 let {
33244 MenhirLib.EngineTypes.semv = m;
33245 MenhirLib.EngineTypes.startp = _startpos_m_;
33246 MenhirLib.EngineTypes.endp = _endpos_m_;
33247 MenhirLib.EngineTypes.next = {
33248 MenhirLib.EngineTypes.semv = ty00;
33249 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33250 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33251 MenhirLib.EngineTypes.next = {
33252 MenhirLib.EngineTypes.state = _menhir_s;
33253 MenhirLib.EngineTypes.semv = r0;
33254 MenhirLib.EngineTypes.startp = _startpos_r0_;
33255 MenhirLib.EngineTypes.endp = _endpos_r0_;
33256 MenhirLib.EngineTypes.next = _menhir_stack;
33257 };
33258 };
33259 } = _menhir_stack in
33260 let m : 'tv_list_TMul_ = Obj.magic m in
33261 let ty00 : (
33262 # 71 "parser_cocci_menhir.mly"
33263 (Data.clt)
33264 # 33265 "parser_cocci_menhir.ml"
33265 ) = Obj.magic ty00 in
33266 let r0 : (
33267 # 73 "parser_cocci_menhir.mly"
33268 (Data.clt)
33269 # 33270 "parser_cocci_menhir.ml"
33270 ) = Obj.magic r0 in
33271 let _startpos = _startpos_r0_ in
33272 let _endpos = _endpos_m_ in
33273 let _v : 'tv_typedef_ctype = let ty =
33274 let ty0 = ty00 in
33275 let r = r0 in
33276 let ty =
33277 let ty = ty0 in
33278
33279 # 531 "parser_cocci_menhir.mly"
33280 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33281 # 33282 "parser_cocci_menhir.ml"
33282
33283 in
33284
33285 # 583 "parser_cocci_menhir.mly"
33286 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33287 # 33288 "parser_cocci_menhir.ml"
33288
33289 in
33290 let cv =
33291
33292 # 39 "standard.mly"
33293 ( None )
33294 # 33295 "parser_cocci_menhir.ml"
33295
33296 in
33297
33298 # 602 "parser_cocci_menhir.mly"
33299 ( P.pointerify (P.make_cv cv ty) m )
33300 # 33301 "parser_cocci_menhir.ml"
33301 in
33302 _menhir_env.MenhirLib.EngineTypes.stack <- {
33303 MenhirLib.EngineTypes.state = _menhir_s;
33304 MenhirLib.EngineTypes.semv = Obj.repr _v;
33305 MenhirLib.EngineTypes.startp = _startpos;
33306 MenhirLib.EngineTypes.endp = _endpos;
33307 MenhirLib.EngineTypes.next = _menhir_stack;
33308 });
33309 (fun _menhir_env ->
33310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33311 let {
33312 MenhirLib.EngineTypes.semv = m;
33313 MenhirLib.EngineTypes.startp = _startpos_m_;
33314 MenhirLib.EngineTypes.endp = _endpos_m_;
33315 MenhirLib.EngineTypes.next = {
33316 MenhirLib.EngineTypes.semv = ty00;
33317 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33318 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33319 MenhirLib.EngineTypes.next = {
33320 MenhirLib.EngineTypes.state = _menhir_s;
33321 MenhirLib.EngineTypes.semv = r0;
33322 MenhirLib.EngineTypes.startp = _startpos_r0_;
33323 MenhirLib.EngineTypes.endp = _endpos_r0_;
33324 MenhirLib.EngineTypes.next = _menhir_stack;
33325 };
33326 };
33327 } = _menhir_stack in
33328 let m : 'tv_list_TMul_ = Obj.magic m in
33329 let ty00 : (
33330 # 71 "parser_cocci_menhir.mly"
33331 (Data.clt)
33332 # 33333 "parser_cocci_menhir.ml"
33333 ) = Obj.magic ty00 in
33334 let r0 : (
33335 # 73 "parser_cocci_menhir.mly"
33336 (Data.clt)
33337 # 33338 "parser_cocci_menhir.ml"
33338 ) = Obj.magic r0 in
33339 let _startpos = _startpos_r0_ in
33340 let _endpos = _endpos_m_ in
33341 let _v : 'tv_typedef_ctype = let ty =
33342 let ty0 = ty00 in
33343 let r = r0 in
33344 let ty =
33345 let ty = ty0 in
33346
33347 # 533 "parser_cocci_menhir.mly"
33348 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33349 # 33350 "parser_cocci_menhir.ml"
33350
33351 in
33352
33353 # 583 "parser_cocci_menhir.mly"
33354 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33355 # 33356 "parser_cocci_menhir.ml"
33356
33357 in
33358 let cv =
33359
33360 # 39 "standard.mly"
33361 ( None )
33362 # 33363 "parser_cocci_menhir.ml"
33363
33364 in
33365
33366 # 602 "parser_cocci_menhir.mly"
33367 ( P.pointerify (P.make_cv cv ty) m )
33368 # 33369 "parser_cocci_menhir.ml"
33369 in
33370 _menhir_env.MenhirLib.EngineTypes.stack <- {
33371 MenhirLib.EngineTypes.state = _menhir_s;
33372 MenhirLib.EngineTypes.semv = Obj.repr _v;
33373 MenhirLib.EngineTypes.startp = _startpos;
33374 MenhirLib.EngineTypes.endp = _endpos;
33375 MenhirLib.EngineTypes.next = _menhir_stack;
33376 });
33377 (fun _menhir_env ->
33378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33379 let {
33380 MenhirLib.EngineTypes.semv = m;
33381 MenhirLib.EngineTypes.startp = _startpos_m_;
33382 MenhirLib.EngineTypes.endp = _endpos_m_;
33383 MenhirLib.EngineTypes.next = {
33384 MenhirLib.EngineTypes.semv = p00;
33385 MenhirLib.EngineTypes.startp = _startpos_p00_;
33386 MenhirLib.EngineTypes.endp = _endpos_p00_;
33387 MenhirLib.EngineTypes.next = {
33388 MenhirLib.EngineTypes.state = _menhir_s;
33389 MenhirLib.EngineTypes.semv = r0;
33390 MenhirLib.EngineTypes.startp = _startpos_r0_;
33391 MenhirLib.EngineTypes.endp = _endpos_r0_;
33392 MenhirLib.EngineTypes.next = _menhir_stack;
33393 };
33394 };
33395 } = _menhir_stack in
33396 let m : 'tv_list_TMul_ = Obj.magic m in
33397 let p00 : (
33398 # 87 "parser_cocci_menhir.mly"
33399 (Parse_aux.info)
33400 # 33401 "parser_cocci_menhir.ml"
33401 ) = Obj.magic p00 in
33402 let r0 : (
33403 # 73 "parser_cocci_menhir.mly"
33404 (Data.clt)
33405 # 33406 "parser_cocci_menhir.ml"
33406 ) = Obj.magic r0 in
33407 let _startpos = _startpos_r0_ in
33408 let _endpos = _endpos_m_ in
33409 let _v : 'tv_typedef_ctype = let ty =
33410 let p0 = p00 in
33411 let r = r0 in
33412 let ty =
33413 let p = p0 in
33414
33415 # 535 "parser_cocci_menhir.mly"
33416 ( let (nm,pure,clt) = p in
33417 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33418 # 33419 "parser_cocci_menhir.ml"
33419
33420 in
33421
33422 # 583 "parser_cocci_menhir.mly"
33423 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33424 # 33425 "parser_cocci_menhir.ml"
33425
33426 in
33427 let cv =
33428
33429 # 39 "standard.mly"
33430 ( None )
33431 # 33432 "parser_cocci_menhir.ml"
33432
33433 in
33434
33435 # 602 "parser_cocci_menhir.mly"
33436 ( P.pointerify (P.make_cv cv ty) m )
33437 # 33438 "parser_cocci_menhir.ml"
33438 in
33439 _menhir_env.MenhirLib.EngineTypes.stack <- {
33440 MenhirLib.EngineTypes.state = _menhir_s;
33441 MenhirLib.EngineTypes.semv = Obj.repr _v;
33442 MenhirLib.EngineTypes.startp = _startpos;
33443 MenhirLib.EngineTypes.endp = _endpos;
33444 MenhirLib.EngineTypes.next = _menhir_stack;
33445 });
33446 (fun _menhir_env ->
33447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33448 let {
33449 MenhirLib.EngineTypes.semv = m;
33450 MenhirLib.EngineTypes.startp = _startpos_m_;
33451 MenhirLib.EngineTypes.endp = _endpos_m_;
33452 MenhirLib.EngineTypes.next = {
33453 MenhirLib.EngineTypes.semv = p00;
33454 MenhirLib.EngineTypes.startp = _startpos_p00_;
33455 MenhirLib.EngineTypes.endp = _endpos_p00_;
33456 MenhirLib.EngineTypes.next = {
33457 MenhirLib.EngineTypes.startp = _startpos__3_;
33458 MenhirLib.EngineTypes.endp = _endpos__3_;
33459 MenhirLib.EngineTypes.next = {
33460 MenhirLib.EngineTypes.semv = r00;
33461 MenhirLib.EngineTypes.startp = _startpos_r00_;
33462 MenhirLib.EngineTypes.endp = _endpos_r00_;
33463 MenhirLib.EngineTypes.next = {
33464 MenhirLib.EngineTypes.state = _menhir_s;
33465 MenhirLib.EngineTypes.semv = r1;
33466 MenhirLib.EngineTypes.startp = _startpos_r1_;
33467 MenhirLib.EngineTypes.endp = _endpos_r1_;
33468 MenhirLib.EngineTypes.next = _menhir_stack;
33469 };
33470 };
33471 };
33472 };
33473 } = _menhir_stack in
33474 let m : 'tv_list_TMul_ = Obj.magic m in
33475 let p00 : (
33476 # 81 "parser_cocci_menhir.mly"
33477 (string * Data.clt)
33478 # 33479 "parser_cocci_menhir.ml"
33479 ) = Obj.magic p00 in
33480 let r00 : (
33481 # 69 "parser_cocci_menhir.mly"
33482 (string)
33483 # 33484 "parser_cocci_menhir.ml"
33484 ) = Obj.magic r00 in
33485 let r1 : (
33486 # 73 "parser_cocci_menhir.mly"
33487 (Data.clt)
33488 # 33489 "parser_cocci_menhir.ml"
33489 ) = Obj.magic r1 in
33490 let _startpos = _startpos_r1_ in
33491 let _endpos = _endpos_m_ in
33492 let _v : 'tv_typedef_ctype = let ty =
33493 let p0 = p00 in
33494 let r0 = r00 in
33495 let r = r1 in
33496 let ty =
33497 let p = p0 in
33498 let r = r0 in
33499
33500 # 538 "parser_cocci_menhir.mly"
33501 ( let nm = (r,P.id2name p) in
33502 (* this is only possible when we are in a metavar decl. Otherwise,
33503 it will be represented already as a MetaType *)
33504 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33505 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33506 Ast0.Impure (*will be ignored*))) )
33507 # 33508 "parser_cocci_menhir.ml"
33508
33509 in
33510
33511 # 583 "parser_cocci_menhir.mly"
33512 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33513 # 33514 "parser_cocci_menhir.ml"
33514
33515 in
33516 let cv =
33517
33518 # 39 "standard.mly"
33519 ( None )
33520 # 33521 "parser_cocci_menhir.ml"
33521
33522 in
33523
33524 # 602 "parser_cocci_menhir.mly"
33525 ( P.pointerify (P.make_cv cv ty) m )
33526 # 33527 "parser_cocci_menhir.ml"
33527 in
33528 _menhir_env.MenhirLib.EngineTypes.stack <- {
33529 MenhirLib.EngineTypes.state = _menhir_s;
33530 MenhirLib.EngineTypes.semv = Obj.repr _v;
33531 MenhirLib.EngineTypes.startp = _startpos;
33532 MenhirLib.EngineTypes.endp = _endpos;
33533 MenhirLib.EngineTypes.next = _menhir_stack;
33534 });
33535 (fun _menhir_env ->
33536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33537 let {
33538 MenhirLib.EngineTypes.semv = m;
33539 MenhirLib.EngineTypes.startp = _startpos_m_;
33540 MenhirLib.EngineTypes.endp = _endpos_m_;
33541 MenhirLib.EngineTypes.next = {
33542 MenhirLib.EngineTypes.semv = ty00;
33543 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33544 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33545 MenhirLib.EngineTypes.next = {
33546 MenhirLib.EngineTypes.state = _menhir_s;
33547 MenhirLib.EngineTypes.semv = r0;
33548 MenhirLib.EngineTypes.startp = _startpos_r0_;
33549 MenhirLib.EngineTypes.endp = _endpos_r0_;
33550 MenhirLib.EngineTypes.next = _menhir_stack;
33551 };
33552 };
33553 } = _menhir_stack in
33554 let m : 'tv_list_TMul_ = Obj.magic m in
33555 let ty00 : (
33556 # 71 "parser_cocci_menhir.mly"
33557 (Data.clt)
33558 # 33559 "parser_cocci_menhir.ml"
33559 ) = Obj.magic ty00 in
33560 let r0 : (
33561 # 73 "parser_cocci_menhir.mly"
33562 (Data.clt)
33563 # 33564 "parser_cocci_menhir.ml"
33564 ) = Obj.magic r0 in
33565 let _startpos = _startpos_r0_ in
33566 let _endpos = _endpos_m_ in
33567 let _v : 'tv_typedef_ctype = let ty =
33568 let ty0 = ty00 in
33569 let r = r0 in
33570 let ty =
33571 let ty = ty0 in
33572
33573 # 545 "parser_cocci_menhir.mly"
33574 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33575 # 33576 "parser_cocci_menhir.ml"
33576
33577 in
33578
33579 # 583 "parser_cocci_menhir.mly"
33580 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33581 # 33582 "parser_cocci_menhir.ml"
33582
33583 in
33584 let cv =
33585
33586 # 39 "standard.mly"
33587 ( None )
33588 # 33589 "parser_cocci_menhir.ml"
33589
33590 in
33591
33592 # 602 "parser_cocci_menhir.mly"
33593 ( P.pointerify (P.make_cv cv ty) m )
33594 # 33595 "parser_cocci_menhir.ml"
33595 in
33596 _menhir_env.MenhirLib.EngineTypes.stack <- {
33597 MenhirLib.EngineTypes.state = _menhir_s;
33598 MenhirLib.EngineTypes.semv = Obj.repr _v;
33599 MenhirLib.EngineTypes.startp = _startpos;
33600 MenhirLib.EngineTypes.endp = _endpos;
33601 MenhirLib.EngineTypes.next = _menhir_stack;
33602 });
33603 (fun _menhir_env ->
33604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33605 let {
33606 MenhirLib.EngineTypes.semv = m;
33607 MenhirLib.EngineTypes.startp = _startpos_m_;
33608 MenhirLib.EngineTypes.endp = _endpos_m_;
33609 MenhirLib.EngineTypes.next = {
33610 MenhirLib.EngineTypes.semv = ty200;
33611 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33612 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33613 MenhirLib.EngineTypes.next = {
33614 MenhirLib.EngineTypes.semv = ty100;
33615 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33616 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33617 MenhirLib.EngineTypes.next = {
33618 MenhirLib.EngineTypes.state = _menhir_s;
33619 MenhirLib.EngineTypes.semv = r0;
33620 MenhirLib.EngineTypes.startp = _startpos_r0_;
33621 MenhirLib.EngineTypes.endp = _endpos_r0_;
33622 MenhirLib.EngineTypes.next = _menhir_stack;
33623 };
33624 };
33625 };
33626 } = _menhir_stack in
33627 let m : 'tv_list_TMul_ = Obj.magic m in
33628 let ty200 : (
33629 # 71 "parser_cocci_menhir.mly"
33630 (Data.clt)
33631 # 33632 "parser_cocci_menhir.ml"
33632 ) = Obj.magic ty200 in
33633 let ty100 : (
33634 # 71 "parser_cocci_menhir.mly"
33635 (Data.clt)
33636 # 33637 "parser_cocci_menhir.ml"
33637 ) = Obj.magic ty100 in
33638 let r0 : (
33639 # 73 "parser_cocci_menhir.mly"
33640 (Data.clt)
33641 # 33642 "parser_cocci_menhir.ml"
33642 ) = Obj.magic r0 in
33643 let _startpos = _startpos_r0_ in
33644 let _endpos = _endpos_m_ in
33645 let _v : 'tv_typedef_ctype = let ty =
33646 let ty20 = ty200 in
33647 let ty10 = ty100 in
33648 let r = r0 in
33649 let ty =
33650 let ty2 = ty20 in
33651 let ty1 = ty10 in
33652
33653 # 547 "parser_cocci_menhir.mly"
33654 ( Ast0.wrap
33655 (Ast0.BaseType
33656 (Ast.LongLongType,
33657 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33658 # 33659 "parser_cocci_menhir.ml"
33659
33660 in
33661
33662 # 583 "parser_cocci_menhir.mly"
33663 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33664 # 33665 "parser_cocci_menhir.ml"
33665
33666 in
33667 let cv =
33668
33669 # 39 "standard.mly"
33670 ( None )
33671 # 33672 "parser_cocci_menhir.ml"
33672
33673 in
33674
33675 # 602 "parser_cocci_menhir.mly"
33676 ( P.pointerify (P.make_cv cv ty) m )
33677 # 33678 "parser_cocci_menhir.ml"
33678 in
33679 _menhir_env.MenhirLib.EngineTypes.stack <- {
33680 MenhirLib.EngineTypes.state = _menhir_s;
33681 MenhirLib.EngineTypes.semv = Obj.repr _v;
33682 MenhirLib.EngineTypes.startp = _startpos;
33683 MenhirLib.EngineTypes.endp = _endpos;
33684 MenhirLib.EngineTypes.next = _menhir_stack;
33685 });
33686 (fun _menhir_env ->
33687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33688 let {
33689 MenhirLib.EngineTypes.semv = m;
33690 MenhirLib.EngineTypes.startp = _startpos_m_;
33691 MenhirLib.EngineTypes.endp = _endpos_m_;
33692 MenhirLib.EngineTypes.next = {
33693 MenhirLib.EngineTypes.state = _menhir_s;
33694 MenhirLib.EngineTypes.semv = ty00;
33695 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33696 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33697 MenhirLib.EngineTypes.next = _menhir_stack;
33698 };
33699 } = _menhir_stack in
33700 let m : 'tv_list_TMul_ = Obj.magic m in
33701 let ty00 : (
33702 # 71 "parser_cocci_menhir.mly"
33703 (Data.clt)
33704 # 33705 "parser_cocci_menhir.ml"
33705 ) = Obj.magic ty00 in
33706 let _startpos = _startpos_ty00_ in
33707 let _endpos = _endpos_m_ in
33708 let _v : 'tv_typedef_ctype = let ty =
33709 let ty0 = ty00 in
33710 let ty =
33711 let ty = ty0 in
33712
33713 # 529 "parser_cocci_menhir.mly"
33714 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33715 # 33716 "parser_cocci_menhir.ml"
33716
33717 in
33718
33719 # 584 "parser_cocci_menhir.mly"
33720 ( ty )
33721 # 33722 "parser_cocci_menhir.ml"
33722
33723 in
33724 let cv =
33725
33726 # 39 "standard.mly"
33727 ( None )
33728 # 33729 "parser_cocci_menhir.ml"
33729
33730 in
33731
33732 # 602 "parser_cocci_menhir.mly"
33733 ( P.pointerify (P.make_cv cv ty) m )
33734 # 33735 "parser_cocci_menhir.ml"
33735 in
33736 _menhir_env.MenhirLib.EngineTypes.stack <- {
33737 MenhirLib.EngineTypes.state = _menhir_s;
33738 MenhirLib.EngineTypes.semv = Obj.repr _v;
33739 MenhirLib.EngineTypes.startp = _startpos;
33740 MenhirLib.EngineTypes.endp = _endpos;
33741 MenhirLib.EngineTypes.next = _menhir_stack;
33742 });
33743 (fun _menhir_env ->
33744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33745 let {
33746 MenhirLib.EngineTypes.semv = m;
33747 MenhirLib.EngineTypes.startp = _startpos_m_;
33748 MenhirLib.EngineTypes.endp = _endpos_m_;
33749 MenhirLib.EngineTypes.next = {
33750 MenhirLib.EngineTypes.state = _menhir_s;
33751 MenhirLib.EngineTypes.semv = ty00;
33752 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33753 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33754 MenhirLib.EngineTypes.next = _menhir_stack;
33755 };
33756 } = _menhir_stack in
33757 let m : 'tv_list_TMul_ = Obj.magic m in
33758 let ty00 : (
33759 # 71 "parser_cocci_menhir.mly"
33760 (Data.clt)
33761 # 33762 "parser_cocci_menhir.ml"
33762 ) = Obj.magic ty00 in
33763 let _startpos = _startpos_ty00_ in
33764 let _endpos = _endpos_m_ in
33765 let _v : 'tv_typedef_ctype = let ty =
33766 let ty0 = ty00 in
33767 let ty =
33768 let ty = ty0 in
33769
33770 # 531 "parser_cocci_menhir.mly"
33771 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33772 # 33773 "parser_cocci_menhir.ml"
33773
33774 in
33775
33776 # 584 "parser_cocci_menhir.mly"
33777 ( ty )
33778 # 33779 "parser_cocci_menhir.ml"
33779
33780 in
33781 let cv =
33782
33783 # 39 "standard.mly"
33784 ( None )
33785 # 33786 "parser_cocci_menhir.ml"
33786
33787 in
33788
33789 # 602 "parser_cocci_menhir.mly"
33790 ( P.pointerify (P.make_cv cv ty) m )
33791 # 33792 "parser_cocci_menhir.ml"
33792 in
33793 _menhir_env.MenhirLib.EngineTypes.stack <- {
33794 MenhirLib.EngineTypes.state = _menhir_s;
33795 MenhirLib.EngineTypes.semv = Obj.repr _v;
33796 MenhirLib.EngineTypes.startp = _startpos;
33797 MenhirLib.EngineTypes.endp = _endpos;
33798 MenhirLib.EngineTypes.next = _menhir_stack;
33799 });
33800 (fun _menhir_env ->
33801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33802 let {
33803 MenhirLib.EngineTypes.semv = m;
33804 MenhirLib.EngineTypes.startp = _startpos_m_;
33805 MenhirLib.EngineTypes.endp = _endpos_m_;
33806 MenhirLib.EngineTypes.next = {
33807 MenhirLib.EngineTypes.state = _menhir_s;
33808 MenhirLib.EngineTypes.semv = ty00;
33809 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33810 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33811 MenhirLib.EngineTypes.next = _menhir_stack;
33812 };
33813 } = _menhir_stack in
33814 let m : 'tv_list_TMul_ = Obj.magic m in
33815 let ty00 : (
33816 # 71 "parser_cocci_menhir.mly"
33817 (Data.clt)
33818 # 33819 "parser_cocci_menhir.ml"
33819 ) = Obj.magic ty00 in
33820 let _startpos = _startpos_ty00_ in
33821 let _endpos = _endpos_m_ in
33822 let _v : 'tv_typedef_ctype = let ty =
33823 let ty0 = ty00 in
33824 let ty =
33825 let ty = ty0 in
33826
33827 # 533 "parser_cocci_menhir.mly"
33828 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33829 # 33830 "parser_cocci_menhir.ml"
33830
33831 in
33832
33833 # 584 "parser_cocci_menhir.mly"
33834 ( ty )
33835 # 33836 "parser_cocci_menhir.ml"
33836
33837 in
33838 let cv =
33839
33840 # 39 "standard.mly"
33841 ( None )
33842 # 33843 "parser_cocci_menhir.ml"
33843
33844 in
33845
33846 # 602 "parser_cocci_menhir.mly"
33847 ( P.pointerify (P.make_cv cv ty) m )
33848 # 33849 "parser_cocci_menhir.ml"
33849 in
33850 _menhir_env.MenhirLib.EngineTypes.stack <- {
33851 MenhirLib.EngineTypes.state = _menhir_s;
33852 MenhirLib.EngineTypes.semv = Obj.repr _v;
33853 MenhirLib.EngineTypes.startp = _startpos;
33854 MenhirLib.EngineTypes.endp = _endpos;
33855 MenhirLib.EngineTypes.next = _menhir_stack;
33856 });
33857 (fun _menhir_env ->
33858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33859 let {
33860 MenhirLib.EngineTypes.semv = m;
33861 MenhirLib.EngineTypes.startp = _startpos_m_;
33862 MenhirLib.EngineTypes.endp = _endpos_m_;
33863 MenhirLib.EngineTypes.next = {
33864 MenhirLib.EngineTypes.state = _menhir_s;
33865 MenhirLib.EngineTypes.semv = p00;
33866 MenhirLib.EngineTypes.startp = _startpos_p00_;
33867 MenhirLib.EngineTypes.endp = _endpos_p00_;
33868 MenhirLib.EngineTypes.next = _menhir_stack;
33869 };
33870 } = _menhir_stack in
33871 let m : 'tv_list_TMul_ = Obj.magic m in
33872 let p00 : (
33873 # 87 "parser_cocci_menhir.mly"
33874 (Parse_aux.info)
33875 # 33876 "parser_cocci_menhir.ml"
33876 ) = Obj.magic p00 in
33877 let _startpos = _startpos_p00_ in
33878 let _endpos = _endpos_m_ in
33879 let _v : 'tv_typedef_ctype = let ty =
33880 let p0 = p00 in
33881 let ty =
33882 let p = p0 in
33883
33884 # 535 "parser_cocci_menhir.mly"
33885 ( let (nm,pure,clt) = p in
33886 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33887 # 33888 "parser_cocci_menhir.ml"
33888
33889 in
33890
33891 # 584 "parser_cocci_menhir.mly"
33892 ( ty )
33893 # 33894 "parser_cocci_menhir.ml"
33894
33895 in
33896 let cv =
33897
33898 # 39 "standard.mly"
33899 ( None )
33900 # 33901 "parser_cocci_menhir.ml"
33901
33902 in
33903
33904 # 602 "parser_cocci_menhir.mly"
33905 ( P.pointerify (P.make_cv cv ty) m )
33906 # 33907 "parser_cocci_menhir.ml"
33907 in
33908 _menhir_env.MenhirLib.EngineTypes.stack <- {
33909 MenhirLib.EngineTypes.state = _menhir_s;
33910 MenhirLib.EngineTypes.semv = Obj.repr _v;
33911 MenhirLib.EngineTypes.startp = _startpos;
33912 MenhirLib.EngineTypes.endp = _endpos;
33913 MenhirLib.EngineTypes.next = _menhir_stack;
33914 });
33915 (fun _menhir_env ->
33916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33917 let {
33918 MenhirLib.EngineTypes.semv = m;
33919 MenhirLib.EngineTypes.startp = _startpos_m_;
33920 MenhirLib.EngineTypes.endp = _endpos_m_;
33921 MenhirLib.EngineTypes.next = {
33922 MenhirLib.EngineTypes.semv = p00;
33923 MenhirLib.EngineTypes.startp = _startpos_p00_;
33924 MenhirLib.EngineTypes.endp = _endpos_p00_;
33925 MenhirLib.EngineTypes.next = {
33926 MenhirLib.EngineTypes.startp = _startpos__2_;
33927 MenhirLib.EngineTypes.endp = _endpos__2_;
33928 MenhirLib.EngineTypes.next = {
33929 MenhirLib.EngineTypes.state = _menhir_s;
33930 MenhirLib.EngineTypes.semv = r00;
33931 MenhirLib.EngineTypes.startp = _startpos_r00_;
33932 MenhirLib.EngineTypes.endp = _endpos_r00_;
33933 MenhirLib.EngineTypes.next = _menhir_stack;
33934 };
33935 };
33936 };
33937 } = _menhir_stack in
33938 let m : 'tv_list_TMul_ = Obj.magic m in
33939 let p00 : (
33940 # 81 "parser_cocci_menhir.mly"
33941 (string * Data.clt)
33942 # 33943 "parser_cocci_menhir.ml"
33943 ) = Obj.magic p00 in
33944 let r00 : (
33945 # 69 "parser_cocci_menhir.mly"
33946 (string)
33947 # 33948 "parser_cocci_menhir.ml"
33948 ) = Obj.magic r00 in
33949 let _startpos = _startpos_r00_ in
33950 let _endpos = _endpos_m_ in
33951 let _v : 'tv_typedef_ctype = let ty =
33952 let p0 = p00 in
33953 let r0 = r00 in
33954 let ty =
33955 let p = p0 in
33956 let r = r0 in
33957
33958 # 538 "parser_cocci_menhir.mly"
33959 ( let nm = (r,P.id2name p) in
33960 (* this is only possible when we are in a metavar decl. Otherwise,
33961 it will be represented already as a MetaType *)
33962 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33963 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33964 Ast0.Impure (*will be ignored*))) )
33965 # 33966 "parser_cocci_menhir.ml"
33966
33967 in
33968
33969 # 584 "parser_cocci_menhir.mly"
33970 ( ty )
33971 # 33972 "parser_cocci_menhir.ml"
33972
33973 in
33974 let cv =
33975
33976 # 39 "standard.mly"
33977 ( None )
33978 # 33979 "parser_cocci_menhir.ml"
33979
33980 in
33981
33982 # 602 "parser_cocci_menhir.mly"
33983 ( P.pointerify (P.make_cv cv ty) m )
33984 # 33985 "parser_cocci_menhir.ml"
33985 in
33986 _menhir_env.MenhirLib.EngineTypes.stack <- {
33987 MenhirLib.EngineTypes.state = _menhir_s;
33988 MenhirLib.EngineTypes.semv = Obj.repr _v;
33989 MenhirLib.EngineTypes.startp = _startpos;
33990 MenhirLib.EngineTypes.endp = _endpos;
33991 MenhirLib.EngineTypes.next = _menhir_stack;
33992 });
33993 (fun _menhir_env ->
33994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33995 let {
33996 MenhirLib.EngineTypes.semv = m;
33997 MenhirLib.EngineTypes.startp = _startpos_m_;
33998 MenhirLib.EngineTypes.endp = _endpos_m_;
33999 MenhirLib.EngineTypes.next = {
34000 MenhirLib.EngineTypes.state = _menhir_s;
34001 MenhirLib.EngineTypes.semv = ty00;
34002 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34003 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34004 MenhirLib.EngineTypes.next = _menhir_stack;
34005 };
34006 } = _menhir_stack in
34007 let m : 'tv_list_TMul_ = Obj.magic m in
34008 let ty00 : (
34009 # 71 "parser_cocci_menhir.mly"
34010 (Data.clt)
34011 # 34012 "parser_cocci_menhir.ml"
34012 ) = Obj.magic ty00 in
34013 let _startpos = _startpos_ty00_ in
34014 let _endpos = _endpos_m_ in
34015 let _v : 'tv_typedef_ctype = let ty =
34016 let ty0 = ty00 in
34017 let ty =
34018 let ty = ty0 in
34019
34020 # 545 "parser_cocci_menhir.mly"
34021 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
34022 # 34023 "parser_cocci_menhir.ml"
34023
34024 in
34025
34026 # 584 "parser_cocci_menhir.mly"
34027 ( ty )
34028 # 34029 "parser_cocci_menhir.ml"
34029
34030 in
34031 let cv =
34032
34033 # 39 "standard.mly"
34034 ( None )
34035 # 34036 "parser_cocci_menhir.ml"
34036
34037 in
34038
34039 # 602 "parser_cocci_menhir.mly"
34040 ( P.pointerify (P.make_cv cv ty) m )
34041 # 34042 "parser_cocci_menhir.ml"
34042 in
34043 _menhir_env.MenhirLib.EngineTypes.stack <- {
34044 MenhirLib.EngineTypes.state = _menhir_s;
34045 MenhirLib.EngineTypes.semv = Obj.repr _v;
34046 MenhirLib.EngineTypes.startp = _startpos;
34047 MenhirLib.EngineTypes.endp = _endpos;
34048 MenhirLib.EngineTypes.next = _menhir_stack;
34049 });
34050 (fun _menhir_env ->
34051 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34052 let {
34053 MenhirLib.EngineTypes.semv = m;
34054 MenhirLib.EngineTypes.startp = _startpos_m_;
34055 MenhirLib.EngineTypes.endp = _endpos_m_;
34056 MenhirLib.EngineTypes.next = {
34057 MenhirLib.EngineTypes.semv = ty200;
34058 MenhirLib.EngineTypes.startp = _startpos_ty200_;
34059 MenhirLib.EngineTypes.endp = _endpos_ty200_;
34060 MenhirLib.EngineTypes.next = {
34061 MenhirLib.EngineTypes.state = _menhir_s;
34062 MenhirLib.EngineTypes.semv = ty100;
34063 MenhirLib.EngineTypes.startp = _startpos_ty100_;
34064 MenhirLib.EngineTypes.endp = _endpos_ty100_;
34065 MenhirLib.EngineTypes.next = _menhir_stack;
34066 };
34067 };
34068 } = _menhir_stack in
34069 let m : 'tv_list_TMul_ = Obj.magic m in
34070 let ty200 : (
34071 # 71 "parser_cocci_menhir.mly"
34072 (Data.clt)
34073 # 34074 "parser_cocci_menhir.ml"
34074 ) = Obj.magic ty200 in
34075 let ty100 : (
34076 # 71 "parser_cocci_menhir.mly"
34077 (Data.clt)
34078 # 34079 "parser_cocci_menhir.ml"
34079 ) = Obj.magic ty100 in
34080 let _startpos = _startpos_ty100_ in
34081 let _endpos = _endpos_m_ in
34082 let _v : 'tv_typedef_ctype = let ty =
34083 let ty20 = ty200 in
34084 let ty10 = ty100 in
34085 let ty =
34086 let ty2 = ty20 in
34087 let ty1 = ty10 in
34088
34089 # 547 "parser_cocci_menhir.mly"
34090 ( Ast0.wrap
34091 (Ast0.BaseType
34092 (Ast.LongLongType,
34093 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
34094 # 34095 "parser_cocci_menhir.ml"
34095
34096 in
34097
34098 # 584 "parser_cocci_menhir.mly"
34099 ( ty )
34100 # 34101 "parser_cocci_menhir.ml"
34101
34102 in
34103 let cv =
34104
34105 # 39 "standard.mly"
34106 ( None )
34107 # 34108 "parser_cocci_menhir.ml"
34108
34109 in
34110
34111 # 602 "parser_cocci_menhir.mly"
34112 ( P.pointerify (P.make_cv cv ty) m )
34113 # 34114 "parser_cocci_menhir.ml"
34114 in
34115 _menhir_env.MenhirLib.EngineTypes.stack <- {
34116 MenhirLib.EngineTypes.state = _menhir_s;
34117 MenhirLib.EngineTypes.semv = Obj.repr _v;
34118 MenhirLib.EngineTypes.startp = _startpos;
34119 MenhirLib.EngineTypes.endp = _endpos;
34120 MenhirLib.EngineTypes.next = _menhir_stack;
34121 });
34122 (fun _menhir_env ->
34123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34124 let {
34125 MenhirLib.EngineTypes.semv = m;
34126 MenhirLib.EngineTypes.startp = _startpos_m_;
34127 MenhirLib.EngineTypes.endp = _endpos_m_;
34128 MenhirLib.EngineTypes.next = {
34129 MenhirLib.EngineTypes.state = _menhir_s;
34130 MenhirLib.EngineTypes.semv = ty00;
34131 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34132 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34133 MenhirLib.EngineTypes.next = _menhir_stack;
34134 };
34135 } = _menhir_stack in
34136 let m : 'tv_list_TMul_ = Obj.magic m in
34137 let ty00 : (
34138 # 72 "parser_cocci_menhir.mly"
34139 (Data.clt)
34140 # 34141 "parser_cocci_menhir.ml"
34141 ) = Obj.magic ty00 in
34142 let _startpos = _startpos_ty00_ in
34143 let _endpos = _endpos_m_ in
34144 let _v : 'tv_typedef_ctype = let ty =
34145 let ty0 = ty00 in
34146 let ty =
34147 let ty = ty0 in
34148
34149 # 555 "parser_cocci_menhir.mly"
34150 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
34151 # 34152 "parser_cocci_menhir.ml"
34152
34153 in
34154
34155 # 585 "parser_cocci_menhir.mly"
34156 ( ty )
34157 # 34158 "parser_cocci_menhir.ml"
34158
34159 in
34160 let cv =
34161
34162 # 39 "standard.mly"
34163 ( None )
34164 # 34165 "parser_cocci_menhir.ml"
34165
34166 in
34167
34168 # 602 "parser_cocci_menhir.mly"
34169 ( P.pointerify (P.make_cv cv ty) m )
34170 # 34171 "parser_cocci_menhir.ml"
34171 in
34172 _menhir_env.MenhirLib.EngineTypes.stack <- {
34173 MenhirLib.EngineTypes.state = _menhir_s;
34174 MenhirLib.EngineTypes.semv = Obj.repr _v;
34175 MenhirLib.EngineTypes.startp = _startpos;
34176 MenhirLib.EngineTypes.endp = _endpos;
34177 MenhirLib.EngineTypes.next = _menhir_stack;
34178 });
34179 (fun _menhir_env ->
34180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34181 let {
34182 MenhirLib.EngineTypes.semv = m;
34183 MenhirLib.EngineTypes.startp = _startpos_m_;
34184 MenhirLib.EngineTypes.endp = _endpos_m_;
34185 MenhirLib.EngineTypes.next = {
34186 MenhirLib.EngineTypes.state = _menhir_s;
34187 MenhirLib.EngineTypes.semv = ty00;
34188 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34189 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34190 MenhirLib.EngineTypes.next = _menhir_stack;
34191 };
34192 } = _menhir_stack in
34193 let m : 'tv_list_TMul_ = Obj.magic m in
34194 let ty00 : (
34195 # 71 "parser_cocci_menhir.mly"
34196 (Data.clt)
34197 # 34198 "parser_cocci_menhir.ml"
34198 ) = Obj.magic ty00 in
34199 let _startpos = _startpos_ty00_ in
34200 let _endpos = _endpos_m_ in
34201 let _v : 'tv_typedef_ctype = let ty =
34202 let ty0 = ty00 in
34203 let ty =
34204 let ty = ty0 in
34205
34206 # 557 "parser_cocci_menhir.mly"
34207 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
34208 # 34209 "parser_cocci_menhir.ml"
34209
34210 in
34211
34212 # 585 "parser_cocci_menhir.mly"
34213 ( ty )
34214 # 34215 "parser_cocci_menhir.ml"
34215
34216 in
34217 let cv =
34218
34219 # 39 "standard.mly"
34220 ( None )
34221 # 34222 "parser_cocci_menhir.ml"
34222
34223 in
34224
34225 # 602 "parser_cocci_menhir.mly"
34226 ( P.pointerify (P.make_cv cv ty) m )
34227 # 34228 "parser_cocci_menhir.ml"
34228 in
34229 _menhir_env.MenhirLib.EngineTypes.stack <- {
34230 MenhirLib.EngineTypes.state = _menhir_s;
34231 MenhirLib.EngineTypes.semv = Obj.repr _v;
34232 MenhirLib.EngineTypes.startp = _startpos;
34233 MenhirLib.EngineTypes.endp = _endpos;
34234 MenhirLib.EngineTypes.next = _menhir_stack;
34235 });
34236 (fun _menhir_env ->
34237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34238 let {
34239 MenhirLib.EngineTypes.semv = m;
34240 MenhirLib.EngineTypes.startp = _startpos_m_;
34241 MenhirLib.EngineTypes.endp = _endpos_m_;
34242 MenhirLib.EngineTypes.next = {
34243 MenhirLib.EngineTypes.state = _menhir_s;
34244 MenhirLib.EngineTypes.semv = ty00;
34245 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34246 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34247 MenhirLib.EngineTypes.next = _menhir_stack;
34248 };
34249 } = _menhir_stack in
34250 let m : 'tv_list_TMul_ = Obj.magic m in
34251 let ty00 : (
34252 # 71 "parser_cocci_menhir.mly"
34253 (Data.clt)
34254 # 34255 "parser_cocci_menhir.ml"
34255 ) = Obj.magic ty00 in
34256 let _startpos = _startpos_ty00_ in
34257 let _endpos = _endpos_m_ in
34258 let _v : 'tv_typedef_ctype = let ty =
34259 let ty0 = ty00 in
34260 let ty =
34261 let ty = ty0 in
34262
34263 # 559 "parser_cocci_menhir.mly"
34264 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
34265 # 34266 "parser_cocci_menhir.ml"
34266
34267 in
34268
34269 # 585 "parser_cocci_menhir.mly"
34270 ( ty )
34271 # 34272 "parser_cocci_menhir.ml"
34272
34273 in
34274 let cv =
34275
34276 # 39 "standard.mly"
34277 ( None )
34278 # 34279 "parser_cocci_menhir.ml"
34279
34280 in
34281
34282 # 602 "parser_cocci_menhir.mly"
34283 ( P.pointerify (P.make_cv cv ty) m )
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 = m;
34297 MenhirLib.EngineTypes.startp = _startpos_m_;
34298 MenhirLib.EngineTypes.endp = _endpos_m_;
34299 MenhirLib.EngineTypes.next = {
34300 MenhirLib.EngineTypes.semv = i00;
34301 MenhirLib.EngineTypes.startp = _startpos_i00_;
34302 MenhirLib.EngineTypes.endp = _endpos_i00_;
34303 MenhirLib.EngineTypes.next = {
34304 MenhirLib.EngineTypes.state = _menhir_s;
34305 MenhirLib.EngineTypes.semv = s00;
34306 MenhirLib.EngineTypes.startp = _startpos_s00_;
34307 MenhirLib.EngineTypes.endp = _endpos_s00_;
34308 MenhirLib.EngineTypes.next = _menhir_stack;
34309 };
34310 };
34311 } = _menhir_stack in
34312 let m : 'tv_list_TMul_ = Obj.magic m in
34313 let i00 : 'tv_ident = Obj.magic i00 in
34314 let s00 : (
34315 # 72 "parser_cocci_menhir.mly"
34316 (Data.clt)
34317 # 34318 "parser_cocci_menhir.ml"
34318 ) = Obj.magic s00 in
34319 let _startpos = _startpos_s00_ in
34320 let _endpos = _endpos_m_ in
34321 let _v : 'tv_typedef_ctype = let ty =
34322 let i0 = i00 in
34323 let s0 = s00 in
34324 let ty =
34325 let i = i0 in
34326 let s = s0 in
34327
34328 # 561 "parser_cocci_menhir.mly"
34329 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
34330 # 34331 "parser_cocci_menhir.ml"
34331
34332 in
34333
34334 # 585 "parser_cocci_menhir.mly"
34335 ( ty )
34336 # 34337 "parser_cocci_menhir.ml"
34337
34338 in
34339 let cv =
34340
34341 # 39 "standard.mly"
34342 ( None )
34343 # 34344 "parser_cocci_menhir.ml"
34344
34345 in
34346
34347 # 602 "parser_cocci_menhir.mly"
34348 ( P.pointerify (P.make_cv cv ty) m )
34349 # 34350 "parser_cocci_menhir.ml"
34350 in
34351 _menhir_env.MenhirLib.EngineTypes.stack <- {
34352 MenhirLib.EngineTypes.state = _menhir_s;
34353 MenhirLib.EngineTypes.semv = Obj.repr _v;
34354 MenhirLib.EngineTypes.startp = _startpos;
34355 MenhirLib.EngineTypes.endp = _endpos;
34356 MenhirLib.EngineTypes.next = _menhir_stack;
34357 });
34358 (fun _menhir_env ->
34359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34360 let {
34361 MenhirLib.EngineTypes.semv = m;
34362 MenhirLib.EngineTypes.startp = _startpos_m_;
34363 MenhirLib.EngineTypes.endp = _endpos_m_;
34364 MenhirLib.EngineTypes.next = {
34365 MenhirLib.EngineTypes.semv = i00;
34366 MenhirLib.EngineTypes.startp = _startpos_i00_;
34367 MenhirLib.EngineTypes.endp = _endpos_i00_;
34368 MenhirLib.EngineTypes.next = {
34369 MenhirLib.EngineTypes.state = _menhir_s;
34370 MenhirLib.EngineTypes.semv = s00;
34371 MenhirLib.EngineTypes.startp = _startpos_s00_;
34372 MenhirLib.EngineTypes.endp = _endpos_s00_;
34373 MenhirLib.EngineTypes.next = _menhir_stack;
34374 };
34375 };
34376 } = _menhir_stack in
34377 let m : 'tv_list_TMul_ = Obj.magic m in
34378 let i00 : 'tv_ident = Obj.magic i00 in
34379 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34380 let _startpos = _startpos_s00_ in
34381 let _endpos = _endpos_m_ in
34382 let _v : 'tv_typedef_ctype = let ty =
34383 let i0 = i00 in
34384 let s0 = s00 in
34385 let ty =
34386 let i = i0 in
34387 let s = s0 in
34388
34389 # 563 "parser_cocci_menhir.mly"
34390 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
34391 # 34392 "parser_cocci_menhir.ml"
34392
34393 in
34394
34395 # 585 "parser_cocci_menhir.mly"
34396 ( ty )
34397 # 34398 "parser_cocci_menhir.ml"
34398
34399 in
34400 let cv =
34401
34402 # 39 "standard.mly"
34403 ( None )
34404 # 34405 "parser_cocci_menhir.ml"
34405
34406 in
34407
34408 # 602 "parser_cocci_menhir.mly"
34409 ( P.pointerify (P.make_cv cv ty) m )
34410 # 34411 "parser_cocci_menhir.ml"
34411 in
34412 _menhir_env.MenhirLib.EngineTypes.stack <- {
34413 MenhirLib.EngineTypes.state = _menhir_s;
34414 MenhirLib.EngineTypes.semv = Obj.repr _v;
34415 MenhirLib.EngineTypes.startp = _startpos;
34416 MenhirLib.EngineTypes.endp = _endpos;
34417 MenhirLib.EngineTypes.next = _menhir_stack;
34418 });
34419 (fun _menhir_env ->
34420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34421 let {
34422 MenhirLib.EngineTypes.semv = m;
34423 MenhirLib.EngineTypes.startp = _startpos_m_;
34424 MenhirLib.EngineTypes.endp = _endpos_m_;
34425 MenhirLib.EngineTypes.next = {
34426 MenhirLib.EngineTypes.semv = r00;
34427 MenhirLib.EngineTypes.startp = _startpos_r00_;
34428 MenhirLib.EngineTypes.endp = _endpos_r00_;
34429 MenhirLib.EngineTypes.next = {
34430 MenhirLib.EngineTypes.semv = d00;
34431 MenhirLib.EngineTypes.startp = _startpos_d00_;
34432 MenhirLib.EngineTypes.endp = _endpos_d00_;
34433 MenhirLib.EngineTypes.next = {
34434 MenhirLib.EngineTypes.semv = l00;
34435 MenhirLib.EngineTypes.startp = _startpos_l00_;
34436 MenhirLib.EngineTypes.endp = _endpos_l00_;
34437 MenhirLib.EngineTypes.next = {
34438 MenhirLib.EngineTypes.state = _menhir_s;
34439 MenhirLib.EngineTypes.semv = s00;
34440 MenhirLib.EngineTypes.startp = _startpos_s00_;
34441 MenhirLib.EngineTypes.endp = _endpos_s00_;
34442 MenhirLib.EngineTypes.next = _menhir_stack;
34443 };
34444 };
34445 };
34446 };
34447 } = _menhir_stack in
34448 let m : 'tv_list_TMul_ = Obj.magic m in
34449 let r00 : (
34450 # 124 "parser_cocci_menhir.mly"
34451 (Data.clt)
34452 # 34453 "parser_cocci_menhir.ml"
34453 ) = Obj.magic r00 in
34454 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34455 let l00 : (
34456 # 124 "parser_cocci_menhir.mly"
34457 (Data.clt)
34458 # 34459 "parser_cocci_menhir.ml"
34459 ) = Obj.magic l00 in
34460 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34461 let _startpos = _startpos_s00_ in
34462 let _endpos = _endpos_m_ in
34463 let _v : 'tv_typedef_ctype = let ty =
34464 let r0 = r00 in
34465 let d0 = d00 in
34466 let l0 = l00 in
34467 let s0 = s00 in
34468 let ty =
34469 let r = r0 in
34470 let d = d0 in
34471 let l = l0 in
34472 let s = s0 in
34473 let i =
34474
34475 # 39 "standard.mly"
34476 ( None )
34477 # 34478 "parser_cocci_menhir.ml"
34478
34479 in
34480
34481 # 566 "parser_cocci_menhir.mly"
34482 ( (if i = None && !Data.in_iso
34483 then failwith "structures must be named in the iso file");
34484 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34485 P.clt2mcode "{" l,
34486 d, P.clt2mcode "}" r)) )
34487 # 34488 "parser_cocci_menhir.ml"
34488
34489 in
34490
34491 # 585 "parser_cocci_menhir.mly"
34492 ( ty )
34493 # 34494 "parser_cocci_menhir.ml"
34494
34495 in
34496 let cv =
34497
34498 # 39 "standard.mly"
34499 ( None )
34500 # 34501 "parser_cocci_menhir.ml"
34501
34502 in
34503
34504 # 602 "parser_cocci_menhir.mly"
34505 ( P.pointerify (P.make_cv cv ty) m )
34506 # 34507 "parser_cocci_menhir.ml"
34507 in
34508 _menhir_env.MenhirLib.EngineTypes.stack <- {
34509 MenhirLib.EngineTypes.state = _menhir_s;
34510 MenhirLib.EngineTypes.semv = Obj.repr _v;
34511 MenhirLib.EngineTypes.startp = _startpos;
34512 MenhirLib.EngineTypes.endp = _endpos;
34513 MenhirLib.EngineTypes.next = _menhir_stack;
34514 });
34515 (fun _menhir_env ->
34516 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34517 let {
34518 MenhirLib.EngineTypes.semv = m;
34519 MenhirLib.EngineTypes.startp = _startpos_m_;
34520 MenhirLib.EngineTypes.endp = _endpos_m_;
34521 MenhirLib.EngineTypes.next = {
34522 MenhirLib.EngineTypes.semv = r00;
34523 MenhirLib.EngineTypes.startp = _startpos_r00_;
34524 MenhirLib.EngineTypes.endp = _endpos_r00_;
34525 MenhirLib.EngineTypes.next = {
34526 MenhirLib.EngineTypes.semv = d00;
34527 MenhirLib.EngineTypes.startp = _startpos_d00_;
34528 MenhirLib.EngineTypes.endp = _endpos_d00_;
34529 MenhirLib.EngineTypes.next = {
34530 MenhirLib.EngineTypes.semv = l00;
34531 MenhirLib.EngineTypes.startp = _startpos_l00_;
34532 MenhirLib.EngineTypes.endp = _endpos_l00_;
34533 MenhirLib.EngineTypes.next = {
34534 MenhirLib.EngineTypes.semv = x000;
34535 MenhirLib.EngineTypes.startp = _startpos_x000_;
34536 MenhirLib.EngineTypes.endp = _endpos_x000_;
34537 MenhirLib.EngineTypes.next = {
34538 MenhirLib.EngineTypes.state = _menhir_s;
34539 MenhirLib.EngineTypes.semv = s00;
34540 MenhirLib.EngineTypes.startp = _startpos_s00_;
34541 MenhirLib.EngineTypes.endp = _endpos_s00_;
34542 MenhirLib.EngineTypes.next = _menhir_stack;
34543 };
34544 };
34545 };
34546 };
34547 };
34548 } = _menhir_stack in
34549 let m : 'tv_list_TMul_ = Obj.magic m in
34550 let r00 : (
34551 # 124 "parser_cocci_menhir.mly"
34552 (Data.clt)
34553 # 34554 "parser_cocci_menhir.ml"
34554 ) = Obj.magic r00 in
34555 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34556 let l00 : (
34557 # 124 "parser_cocci_menhir.mly"
34558 (Data.clt)
34559 # 34560 "parser_cocci_menhir.ml"
34560 ) = Obj.magic l00 in
34561 let x000 : 'tv_ident = Obj.magic x000 in
34562 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34563 let _startpos = _startpos_s00_ in
34564 let _endpos = _endpos_m_ in
34565 let _v : 'tv_typedef_ctype = let ty =
34566 let r0 = r00 in
34567 let d0 = d00 in
34568 let l0 = l00 in
34569 let x00 = x000 in
34570 let s0 = s00 in
34571 let ty =
34572 let r = r0 in
34573 let d = d0 in
34574 let l = l0 in
34575 let x0 = x00 in
34576 let s = s0 in
34577 let i =
34578 let x = x0 in
34579
34580 # 41 "standard.mly"
34581 ( Some x )
34582 # 34583 "parser_cocci_menhir.ml"
34583
34584 in
34585
34586 # 566 "parser_cocci_menhir.mly"
34587 ( (if i = None && !Data.in_iso
34588 then failwith "structures must be named in the iso file");
34589 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34590 P.clt2mcode "{" l,
34591 d, P.clt2mcode "}" r)) )
34592 # 34593 "parser_cocci_menhir.ml"
34593
34594 in
34595
34596 # 585 "parser_cocci_menhir.mly"
34597 ( ty )
34598 # 34599 "parser_cocci_menhir.ml"
34599
34600 in
34601 let cv =
34602
34603 # 39 "standard.mly"
34604 ( None )
34605 # 34606 "parser_cocci_menhir.ml"
34606
34607 in
34608
34609 # 602 "parser_cocci_menhir.mly"
34610 ( P.pointerify (P.make_cv cv ty) m )
34611 # 34612 "parser_cocci_menhir.ml"
34612 in
34613 _menhir_env.MenhirLib.EngineTypes.stack <- {
34614 MenhirLib.EngineTypes.state = _menhir_s;
34615 MenhirLib.EngineTypes.semv = Obj.repr _v;
34616 MenhirLib.EngineTypes.startp = _startpos;
34617 MenhirLib.EngineTypes.endp = _endpos;
34618 MenhirLib.EngineTypes.next = _menhir_stack;
34619 });
34620 (fun _menhir_env ->
34621 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34622 let {
34623 MenhirLib.EngineTypes.semv = m;
34624 MenhirLib.EngineTypes.startp = _startpos_m_;
34625 MenhirLib.EngineTypes.endp = _endpos_m_;
34626 MenhirLib.EngineTypes.next = {
34627 MenhirLib.EngineTypes.semv = r00;
34628 MenhirLib.EngineTypes.startp = _startpos_r00_;
34629 MenhirLib.EngineTypes.endp = _endpos_r00_;
34630 MenhirLib.EngineTypes.next = {
34631 MenhirLib.EngineTypes.semv = d00;
34632 MenhirLib.EngineTypes.startp = _startpos_d00_;
34633 MenhirLib.EngineTypes.endp = _endpos_d00_;
34634 MenhirLib.EngineTypes.next = {
34635 MenhirLib.EngineTypes.semv = l00;
34636 MenhirLib.EngineTypes.startp = _startpos_l00_;
34637 MenhirLib.EngineTypes.endp = _endpos_l00_;
34638 MenhirLib.EngineTypes.next = {
34639 MenhirLib.EngineTypes.state = _menhir_s;
34640 MenhirLib.EngineTypes.semv = s00;
34641 MenhirLib.EngineTypes.startp = _startpos_s00_;
34642 MenhirLib.EngineTypes.endp = _endpos_s00_;
34643 MenhirLib.EngineTypes.next = _menhir_stack;
34644 };
34645 };
34646 };
34647 };
34648 } = _menhir_stack in
34649 let m : 'tv_list_TMul_ = Obj.magic m in
34650 let r00 : (
34651 # 124 "parser_cocci_menhir.mly"
34652 (Data.clt)
34653 # 34654 "parser_cocci_menhir.ml"
34654 ) = Obj.magic r00 in
34655 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34656 let l00 : (
34657 # 124 "parser_cocci_menhir.mly"
34658 (Data.clt)
34659 # 34660 "parser_cocci_menhir.ml"
34660 ) = Obj.magic l00 in
34661 let s00 : (
34662 # 87 "parser_cocci_menhir.mly"
34663 (Parse_aux.info)
34664 # 34665 "parser_cocci_menhir.ml"
34665 ) = Obj.magic s00 in
34666 let _startpos = _startpos_s00_ in
34667 let _endpos = _endpos_m_ in
34668 let _v : 'tv_typedef_ctype = let ty =
34669 let r0 = r00 in
34670 let d0 = d00 in
34671 let l0 = l00 in
34672 let s0 = s00 in
34673 let ty =
34674 let r = r0 in
34675 let d = d0 in
34676 let l = l0 in
34677 let s = s0 in
34678
34679 # 572 "parser_cocci_menhir.mly"
34680 ( let (nm,pure,clt) = s in
34681 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
34682 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
34683 # 34684 "parser_cocci_menhir.ml"
34684
34685 in
34686
34687 # 585 "parser_cocci_menhir.mly"
34688 ( ty )
34689 # 34690 "parser_cocci_menhir.ml"
34690
34691 in
34692 let cv =
34693
34694 # 39 "standard.mly"
34695 ( None )
34696 # 34697 "parser_cocci_menhir.ml"
34697
34698 in
34699
34700 # 602 "parser_cocci_menhir.mly"
34701 ( P.pointerify (P.make_cv cv ty) m )
34702 # 34703 "parser_cocci_menhir.ml"
34703 in
34704 _menhir_env.MenhirLib.EngineTypes.stack <- {
34705 MenhirLib.EngineTypes.state = _menhir_s;
34706 MenhirLib.EngineTypes.semv = Obj.repr _v;
34707 MenhirLib.EngineTypes.startp = _startpos;
34708 MenhirLib.EngineTypes.endp = _endpos;
34709 MenhirLib.EngineTypes.next = _menhir_stack;
34710 });
34711 (fun _menhir_env ->
34712 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34713 let {
34714 MenhirLib.EngineTypes.semv = m;
34715 MenhirLib.EngineTypes.startp = _startpos_m_;
34716 MenhirLib.EngineTypes.endp = _endpos_m_;
34717 MenhirLib.EngineTypes.next = {
34718 MenhirLib.EngineTypes.state = _menhir_s;
34719 MenhirLib.EngineTypes.semv = p00;
34720 MenhirLib.EngineTypes.startp = _startpos_p00_;
34721 MenhirLib.EngineTypes.endp = _endpos_p00_;
34722 MenhirLib.EngineTypes.next = _menhir_stack;
34723 };
34724 } = _menhir_stack in
34725 let m : 'tv_list_TMul_ = Obj.magic m in
34726 let p00 : (
34727 # 81 "parser_cocci_menhir.mly"
34728 (string * Data.clt)
34729 # 34730 "parser_cocci_menhir.ml"
34730 ) = Obj.magic p00 in
34731 let _startpos = _startpos_p00_ in
34732 let _endpos = _endpos_m_ in
34733 let _v : 'tv_typedef_ctype = let ty =
34734 let p0 = p00 in
34735 let ty =
34736 let p = p0 in
34737
34738 # 576 "parser_cocci_menhir.mly"
34739 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
34740 # 34741 "parser_cocci_menhir.ml"
34741
34742 in
34743
34744 # 585 "parser_cocci_menhir.mly"
34745 ( ty )
34746 # 34747 "parser_cocci_menhir.ml"
34747
34748 in
34749 let cv =
34750
34751 # 39 "standard.mly"
34752 ( None )
34753 # 34754 "parser_cocci_menhir.ml"
34754
34755 in
34756
34757 # 602 "parser_cocci_menhir.mly"
34758 ( P.pointerify (P.make_cv cv ty) m )
34759 # 34760 "parser_cocci_menhir.ml"
34760 in
34761 _menhir_env.MenhirLib.EngineTypes.stack <- {
34762 MenhirLib.EngineTypes.state = _menhir_s;
34763 MenhirLib.EngineTypes.semv = Obj.repr _v;
34764 MenhirLib.EngineTypes.startp = _startpos;
34765 MenhirLib.EngineTypes.endp = _endpos;
34766 MenhirLib.EngineTypes.next = _menhir_stack;
34767 });
34768 (fun _menhir_env ->
34769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34770 let {
34771 MenhirLib.EngineTypes.semv = m;
34772 MenhirLib.EngineTypes.startp = _startpos_m_;
34773 MenhirLib.EngineTypes.endp = _endpos_m_;
34774 MenhirLib.EngineTypes.next = {
34775 MenhirLib.EngineTypes.semv = ty00;
34776 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34777 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34778 MenhirLib.EngineTypes.next = {
34779 MenhirLib.EngineTypes.semv = r0;
34780 MenhirLib.EngineTypes.startp = _startpos_r0_;
34781 MenhirLib.EngineTypes.endp = _endpos_r0_;
34782 MenhirLib.EngineTypes.next = {
34783 MenhirLib.EngineTypes.state = _menhir_s;
34784 MenhirLib.EngineTypes.semv = x0;
34785 MenhirLib.EngineTypes.startp = _startpos_x0_;
34786 MenhirLib.EngineTypes.endp = _endpos_x0_;
34787 MenhirLib.EngineTypes.next = _menhir_stack;
34788 };
34789 };
34790 };
34791 } = _menhir_stack in
34792 let m : 'tv_list_TMul_ = Obj.magic m in
34793 let ty00 : (
34794 # 71 "parser_cocci_menhir.mly"
34795 (Data.clt)
34796 # 34797 "parser_cocci_menhir.ml"
34797 ) = Obj.magic ty00 in
34798 let r0 : (
34799 # 73 "parser_cocci_menhir.mly"
34800 (Data.clt)
34801 # 34802 "parser_cocci_menhir.ml"
34802 ) = Obj.magic r0 in
34803 let x0 : 'tv_const_vol = Obj.magic x0 in
34804 let _startpos = _startpos_x0_ in
34805 let _endpos = _endpos_m_ in
34806 let _v : 'tv_typedef_ctype = let ty =
34807 let ty0 = ty00 in
34808 let r = r0 in
34809 let ty =
34810 let ty = ty0 in
34811
34812 # 529 "parser_cocci_menhir.mly"
34813 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34814 # 34815 "parser_cocci_menhir.ml"
34815
34816 in
34817
34818 # 581 "parser_cocci_menhir.mly"
34819 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34820 # 34821 "parser_cocci_menhir.ml"
34821
34822 in
34823 let cv =
34824 let x = x0 in
34825
34826 # 41 "standard.mly"
34827 ( Some x )
34828 # 34829 "parser_cocci_menhir.ml"
34829
34830 in
34831
34832 # 602 "parser_cocci_menhir.mly"
34833 ( P.pointerify (P.make_cv cv ty) m )
34834 # 34835 "parser_cocci_menhir.ml"
34835 in
34836 _menhir_env.MenhirLib.EngineTypes.stack <- {
34837 MenhirLib.EngineTypes.state = _menhir_s;
34838 MenhirLib.EngineTypes.semv = Obj.repr _v;
34839 MenhirLib.EngineTypes.startp = _startpos;
34840 MenhirLib.EngineTypes.endp = _endpos;
34841 MenhirLib.EngineTypes.next = _menhir_stack;
34842 });
34843 (fun _menhir_env ->
34844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34845 let {
34846 MenhirLib.EngineTypes.semv = m;
34847 MenhirLib.EngineTypes.startp = _startpos_m_;
34848 MenhirLib.EngineTypes.endp = _endpos_m_;
34849 MenhirLib.EngineTypes.next = {
34850 MenhirLib.EngineTypes.semv = ty00;
34851 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34852 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34853 MenhirLib.EngineTypes.next = {
34854 MenhirLib.EngineTypes.semv = r0;
34855 MenhirLib.EngineTypes.startp = _startpos_r0_;
34856 MenhirLib.EngineTypes.endp = _endpos_r0_;
34857 MenhirLib.EngineTypes.next = {
34858 MenhirLib.EngineTypes.state = _menhir_s;
34859 MenhirLib.EngineTypes.semv = x0;
34860 MenhirLib.EngineTypes.startp = _startpos_x0_;
34861 MenhirLib.EngineTypes.endp = _endpos_x0_;
34862 MenhirLib.EngineTypes.next = _menhir_stack;
34863 };
34864 };
34865 };
34866 } = _menhir_stack in
34867 let m : 'tv_list_TMul_ = Obj.magic m in
34868 let ty00 : (
34869 # 71 "parser_cocci_menhir.mly"
34870 (Data.clt)
34871 # 34872 "parser_cocci_menhir.ml"
34872 ) = Obj.magic ty00 in
34873 let r0 : (
34874 # 73 "parser_cocci_menhir.mly"
34875 (Data.clt)
34876 # 34877 "parser_cocci_menhir.ml"
34877 ) = Obj.magic r0 in
34878 let x0 : 'tv_const_vol = Obj.magic x0 in
34879 let _startpos = _startpos_x0_ in
34880 let _endpos = _endpos_m_ in
34881 let _v : 'tv_typedef_ctype = let ty =
34882 let ty0 = ty00 in
34883 let r = r0 in
34884 let ty =
34885 let ty = ty0 in
34886
34887 # 531 "parser_cocci_menhir.mly"
34888 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34889 # 34890 "parser_cocci_menhir.ml"
34890
34891 in
34892
34893 # 581 "parser_cocci_menhir.mly"
34894 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34895 # 34896 "parser_cocci_menhir.ml"
34896
34897 in
34898 let cv =
34899 let x = x0 in
34900
34901 # 41 "standard.mly"
34902 ( Some x )
34903 # 34904 "parser_cocci_menhir.ml"
34904
34905 in
34906
34907 # 602 "parser_cocci_menhir.mly"
34908 ( P.pointerify (P.make_cv cv ty) m )
34909 # 34910 "parser_cocci_menhir.ml"
34910 in
34911 _menhir_env.MenhirLib.EngineTypes.stack <- {
34912 MenhirLib.EngineTypes.state = _menhir_s;
34913 MenhirLib.EngineTypes.semv = Obj.repr _v;
34914 MenhirLib.EngineTypes.startp = _startpos;
34915 MenhirLib.EngineTypes.endp = _endpos;
34916 MenhirLib.EngineTypes.next = _menhir_stack;
34917 });
34918 (fun _menhir_env ->
34919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34920 let {
34921 MenhirLib.EngineTypes.semv = m;
34922 MenhirLib.EngineTypes.startp = _startpos_m_;
34923 MenhirLib.EngineTypes.endp = _endpos_m_;
34924 MenhirLib.EngineTypes.next = {
34925 MenhirLib.EngineTypes.semv = ty00;
34926 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34927 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34928 MenhirLib.EngineTypes.next = {
34929 MenhirLib.EngineTypes.semv = r0;
34930 MenhirLib.EngineTypes.startp = _startpos_r0_;
34931 MenhirLib.EngineTypes.endp = _endpos_r0_;
34932 MenhirLib.EngineTypes.next = {
34933 MenhirLib.EngineTypes.state = _menhir_s;
34934 MenhirLib.EngineTypes.semv = x0;
34935 MenhirLib.EngineTypes.startp = _startpos_x0_;
34936 MenhirLib.EngineTypes.endp = _endpos_x0_;
34937 MenhirLib.EngineTypes.next = _menhir_stack;
34938 };
34939 };
34940 };
34941 } = _menhir_stack in
34942 let m : 'tv_list_TMul_ = Obj.magic m in
34943 let ty00 : (
34944 # 71 "parser_cocci_menhir.mly"
34945 (Data.clt)
34946 # 34947 "parser_cocci_menhir.ml"
34947 ) = Obj.magic ty00 in
34948 let r0 : (
34949 # 73 "parser_cocci_menhir.mly"
34950 (Data.clt)
34951 # 34952 "parser_cocci_menhir.ml"
34952 ) = Obj.magic r0 in
34953 let x0 : 'tv_const_vol = Obj.magic x0 in
34954 let _startpos = _startpos_x0_ in
34955 let _endpos = _endpos_m_ in
34956 let _v : 'tv_typedef_ctype = let ty =
34957 let ty0 = ty00 in
34958 let r = r0 in
34959 let ty =
34960 let ty = ty0 in
34961
34962 # 533 "parser_cocci_menhir.mly"
34963 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
34964 # 34965 "parser_cocci_menhir.ml"
34965
34966 in
34967
34968 # 581 "parser_cocci_menhir.mly"
34969 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34970 # 34971 "parser_cocci_menhir.ml"
34971
34972 in
34973 let cv =
34974 let x = x0 in
34975
34976 # 41 "standard.mly"
34977 ( Some x )
34978 # 34979 "parser_cocci_menhir.ml"
34979
34980 in
34981
34982 # 602 "parser_cocci_menhir.mly"
34983 ( P.pointerify (P.make_cv cv ty) m )
34984 # 34985 "parser_cocci_menhir.ml"
34985 in
34986 _menhir_env.MenhirLib.EngineTypes.stack <- {
34987 MenhirLib.EngineTypes.state = _menhir_s;
34988 MenhirLib.EngineTypes.semv = Obj.repr _v;
34989 MenhirLib.EngineTypes.startp = _startpos;
34990 MenhirLib.EngineTypes.endp = _endpos;
34991 MenhirLib.EngineTypes.next = _menhir_stack;
34992 });
34993 (fun _menhir_env ->
34994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34995 let {
34996 MenhirLib.EngineTypes.semv = m;
34997 MenhirLib.EngineTypes.startp = _startpos_m_;
34998 MenhirLib.EngineTypes.endp = _endpos_m_;
34999 MenhirLib.EngineTypes.next = {
35000 MenhirLib.EngineTypes.semv = p00;
35001 MenhirLib.EngineTypes.startp = _startpos_p00_;
35002 MenhirLib.EngineTypes.endp = _endpos_p00_;
35003 MenhirLib.EngineTypes.next = {
35004 MenhirLib.EngineTypes.semv = r0;
35005 MenhirLib.EngineTypes.startp = _startpos_r0_;
35006 MenhirLib.EngineTypes.endp = _endpos_r0_;
35007 MenhirLib.EngineTypes.next = {
35008 MenhirLib.EngineTypes.state = _menhir_s;
35009 MenhirLib.EngineTypes.semv = x0;
35010 MenhirLib.EngineTypes.startp = _startpos_x0_;
35011 MenhirLib.EngineTypes.endp = _endpos_x0_;
35012 MenhirLib.EngineTypes.next = _menhir_stack;
35013 };
35014 };
35015 };
35016 } = _menhir_stack in
35017 let m : 'tv_list_TMul_ = Obj.magic m in
35018 let p00 : (
35019 # 87 "parser_cocci_menhir.mly"
35020 (Parse_aux.info)
35021 # 35022 "parser_cocci_menhir.ml"
35022 ) = Obj.magic p00 in
35023 let r0 : (
35024 # 73 "parser_cocci_menhir.mly"
35025 (Data.clt)
35026 # 35027 "parser_cocci_menhir.ml"
35027 ) = Obj.magic r0 in
35028 let x0 : 'tv_const_vol = Obj.magic x0 in
35029 let _startpos = _startpos_x0_ in
35030 let _endpos = _endpos_m_ in
35031 let _v : 'tv_typedef_ctype = let ty =
35032 let p0 = p00 in
35033 let r = r0 in
35034 let ty =
35035 let p = p0 in
35036
35037 # 535 "parser_cocci_menhir.mly"
35038 ( let (nm,pure,clt) = p in
35039 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35040 # 35041 "parser_cocci_menhir.ml"
35041
35042 in
35043
35044 # 581 "parser_cocci_menhir.mly"
35045 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35046 # 35047 "parser_cocci_menhir.ml"
35047
35048 in
35049 let cv =
35050 let x = x0 in
35051
35052 # 41 "standard.mly"
35053 ( Some x )
35054 # 35055 "parser_cocci_menhir.ml"
35055
35056 in
35057
35058 # 602 "parser_cocci_menhir.mly"
35059 ( P.pointerify (P.make_cv cv ty) m )
35060 # 35061 "parser_cocci_menhir.ml"
35061 in
35062 _menhir_env.MenhirLib.EngineTypes.stack <- {
35063 MenhirLib.EngineTypes.state = _menhir_s;
35064 MenhirLib.EngineTypes.semv = Obj.repr _v;
35065 MenhirLib.EngineTypes.startp = _startpos;
35066 MenhirLib.EngineTypes.endp = _endpos;
35067 MenhirLib.EngineTypes.next = _menhir_stack;
35068 });
35069 (fun _menhir_env ->
35070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35071 let {
35072 MenhirLib.EngineTypes.semv = m;
35073 MenhirLib.EngineTypes.startp = _startpos_m_;
35074 MenhirLib.EngineTypes.endp = _endpos_m_;
35075 MenhirLib.EngineTypes.next = {
35076 MenhirLib.EngineTypes.semv = p00;
35077 MenhirLib.EngineTypes.startp = _startpos_p00_;
35078 MenhirLib.EngineTypes.endp = _endpos_p00_;
35079 MenhirLib.EngineTypes.next = {
35080 MenhirLib.EngineTypes.startp = _startpos__4_;
35081 MenhirLib.EngineTypes.endp = _endpos__4_;
35082 MenhirLib.EngineTypes.next = {
35083 MenhirLib.EngineTypes.semv = r00;
35084 MenhirLib.EngineTypes.startp = _startpos_r00_;
35085 MenhirLib.EngineTypes.endp = _endpos_r00_;
35086 MenhirLib.EngineTypes.next = {
35087 MenhirLib.EngineTypes.semv = r1;
35088 MenhirLib.EngineTypes.startp = _startpos_r1_;
35089 MenhirLib.EngineTypes.endp = _endpos_r1_;
35090 MenhirLib.EngineTypes.next = {
35091 MenhirLib.EngineTypes.state = _menhir_s;
35092 MenhirLib.EngineTypes.semv = x0;
35093 MenhirLib.EngineTypes.startp = _startpos_x0_;
35094 MenhirLib.EngineTypes.endp = _endpos_x0_;
35095 MenhirLib.EngineTypes.next = _menhir_stack;
35096 };
35097 };
35098 };
35099 };
35100 };
35101 } = _menhir_stack in
35102 let m : 'tv_list_TMul_ = Obj.magic m in
35103 let p00 : (
35104 # 81 "parser_cocci_menhir.mly"
35105 (string * Data.clt)
35106 # 35107 "parser_cocci_menhir.ml"
35107 ) = Obj.magic p00 in
35108 let r00 : (
35109 # 69 "parser_cocci_menhir.mly"
35110 (string)
35111 # 35112 "parser_cocci_menhir.ml"
35112 ) = Obj.magic r00 in
35113 let r1 : (
35114 # 73 "parser_cocci_menhir.mly"
35115 (Data.clt)
35116 # 35117 "parser_cocci_menhir.ml"
35117 ) = Obj.magic r1 in
35118 let x0 : 'tv_const_vol = Obj.magic x0 in
35119 let _startpos = _startpos_x0_ in
35120 let _endpos = _endpos_m_ in
35121 let _v : 'tv_typedef_ctype = let ty =
35122 let p0 = p00 in
35123 let r0 = r00 in
35124 let r = r1 in
35125 let ty =
35126 let p = p0 in
35127 let r = r0 in
35128
35129 # 538 "parser_cocci_menhir.mly"
35130 ( let nm = (r,P.id2name p) in
35131 (* this is only possible when we are in a metavar decl. Otherwise,
35132 it will be represented already as a MetaType *)
35133 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35134 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35135 Ast0.Impure (*will be ignored*))) )
35136 # 35137 "parser_cocci_menhir.ml"
35137
35138 in
35139
35140 # 581 "parser_cocci_menhir.mly"
35141 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35142 # 35143 "parser_cocci_menhir.ml"
35143
35144 in
35145 let cv =
35146 let x = x0 in
35147
35148 # 41 "standard.mly"
35149 ( Some x )
35150 # 35151 "parser_cocci_menhir.ml"
35151
35152 in
35153
35154 # 602 "parser_cocci_menhir.mly"
35155 ( P.pointerify (P.make_cv cv ty) m )
35156 # 35157 "parser_cocci_menhir.ml"
35157 in
35158 _menhir_env.MenhirLib.EngineTypes.stack <- {
35159 MenhirLib.EngineTypes.state = _menhir_s;
35160 MenhirLib.EngineTypes.semv = Obj.repr _v;
35161 MenhirLib.EngineTypes.startp = _startpos;
35162 MenhirLib.EngineTypes.endp = _endpos;
35163 MenhirLib.EngineTypes.next = _menhir_stack;
35164 });
35165 (fun _menhir_env ->
35166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35167 let {
35168 MenhirLib.EngineTypes.semv = m;
35169 MenhirLib.EngineTypes.startp = _startpos_m_;
35170 MenhirLib.EngineTypes.endp = _endpos_m_;
35171 MenhirLib.EngineTypes.next = {
35172 MenhirLib.EngineTypes.semv = ty00;
35173 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35174 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35175 MenhirLib.EngineTypes.next = {
35176 MenhirLib.EngineTypes.semv = r0;
35177 MenhirLib.EngineTypes.startp = _startpos_r0_;
35178 MenhirLib.EngineTypes.endp = _endpos_r0_;
35179 MenhirLib.EngineTypes.next = {
35180 MenhirLib.EngineTypes.state = _menhir_s;
35181 MenhirLib.EngineTypes.semv = x0;
35182 MenhirLib.EngineTypes.startp = _startpos_x0_;
35183 MenhirLib.EngineTypes.endp = _endpos_x0_;
35184 MenhirLib.EngineTypes.next = _menhir_stack;
35185 };
35186 };
35187 };
35188 } = _menhir_stack in
35189 let m : 'tv_list_TMul_ = Obj.magic m in
35190 let ty00 : (
35191 # 71 "parser_cocci_menhir.mly"
35192 (Data.clt)
35193 # 35194 "parser_cocci_menhir.ml"
35194 ) = Obj.magic ty00 in
35195 let r0 : (
35196 # 73 "parser_cocci_menhir.mly"
35197 (Data.clt)
35198 # 35199 "parser_cocci_menhir.ml"
35199 ) = Obj.magic r0 in
35200 let x0 : 'tv_const_vol = Obj.magic x0 in
35201 let _startpos = _startpos_x0_ in
35202 let _endpos = _endpos_m_ in
35203 let _v : 'tv_typedef_ctype = let ty =
35204 let ty0 = ty00 in
35205 let r = r0 in
35206 let ty =
35207 let ty = ty0 in
35208
35209 # 545 "parser_cocci_menhir.mly"
35210 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35211 # 35212 "parser_cocci_menhir.ml"
35212
35213 in
35214
35215 # 581 "parser_cocci_menhir.mly"
35216 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35217 # 35218 "parser_cocci_menhir.ml"
35218
35219 in
35220 let cv =
35221 let x = x0 in
35222
35223 # 41 "standard.mly"
35224 ( Some x )
35225 # 35226 "parser_cocci_menhir.ml"
35226
35227 in
35228
35229 # 602 "parser_cocci_menhir.mly"
35230 ( P.pointerify (P.make_cv cv ty) m )
35231 # 35232 "parser_cocci_menhir.ml"
35232 in
35233 _menhir_env.MenhirLib.EngineTypes.stack <- {
35234 MenhirLib.EngineTypes.state = _menhir_s;
35235 MenhirLib.EngineTypes.semv = Obj.repr _v;
35236 MenhirLib.EngineTypes.startp = _startpos;
35237 MenhirLib.EngineTypes.endp = _endpos;
35238 MenhirLib.EngineTypes.next = _menhir_stack;
35239 });
35240 (fun _menhir_env ->
35241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35242 let {
35243 MenhirLib.EngineTypes.semv = m;
35244 MenhirLib.EngineTypes.startp = _startpos_m_;
35245 MenhirLib.EngineTypes.endp = _endpos_m_;
35246 MenhirLib.EngineTypes.next = {
35247 MenhirLib.EngineTypes.semv = ty200;
35248 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35249 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35250 MenhirLib.EngineTypes.next = {
35251 MenhirLib.EngineTypes.semv = ty100;
35252 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35253 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35254 MenhirLib.EngineTypes.next = {
35255 MenhirLib.EngineTypes.semv = r0;
35256 MenhirLib.EngineTypes.startp = _startpos_r0_;
35257 MenhirLib.EngineTypes.endp = _endpos_r0_;
35258 MenhirLib.EngineTypes.next = {
35259 MenhirLib.EngineTypes.state = _menhir_s;
35260 MenhirLib.EngineTypes.semv = x0;
35261 MenhirLib.EngineTypes.startp = _startpos_x0_;
35262 MenhirLib.EngineTypes.endp = _endpos_x0_;
35263 MenhirLib.EngineTypes.next = _menhir_stack;
35264 };
35265 };
35266 };
35267 };
35268 } = _menhir_stack in
35269 let m : 'tv_list_TMul_ = Obj.magic m in
35270 let ty200 : (
35271 # 71 "parser_cocci_menhir.mly"
35272 (Data.clt)
35273 # 35274 "parser_cocci_menhir.ml"
35274 ) = Obj.magic ty200 in
35275 let ty100 : (
35276 # 71 "parser_cocci_menhir.mly"
35277 (Data.clt)
35278 # 35279 "parser_cocci_menhir.ml"
35279 ) = Obj.magic ty100 in
35280 let r0 : (
35281 # 73 "parser_cocci_menhir.mly"
35282 (Data.clt)
35283 # 35284 "parser_cocci_menhir.ml"
35284 ) = Obj.magic r0 in
35285 let x0 : 'tv_const_vol = Obj.magic x0 in
35286 let _startpos = _startpos_x0_ in
35287 let _endpos = _endpos_m_ in
35288 let _v : 'tv_typedef_ctype = let ty =
35289 let ty20 = ty200 in
35290 let ty10 = ty100 in
35291 let r = r0 in
35292 let ty =
35293 let ty2 = ty20 in
35294 let ty1 = ty10 in
35295
35296 # 547 "parser_cocci_menhir.mly"
35297 ( Ast0.wrap
35298 (Ast0.BaseType
35299 (Ast.LongLongType,
35300 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35301 # 35302 "parser_cocci_menhir.ml"
35302
35303 in
35304
35305 # 581 "parser_cocci_menhir.mly"
35306 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35307 # 35308 "parser_cocci_menhir.ml"
35308
35309 in
35310 let cv =
35311 let x = x0 in
35312
35313 # 41 "standard.mly"
35314 ( Some x )
35315 # 35316 "parser_cocci_menhir.ml"
35316
35317 in
35318
35319 # 602 "parser_cocci_menhir.mly"
35320 ( P.pointerify (P.make_cv cv ty) m )
35321 # 35322 "parser_cocci_menhir.ml"
35322 in
35323 _menhir_env.MenhirLib.EngineTypes.stack <- {
35324 MenhirLib.EngineTypes.state = _menhir_s;
35325 MenhirLib.EngineTypes.semv = Obj.repr _v;
35326 MenhirLib.EngineTypes.startp = _startpos;
35327 MenhirLib.EngineTypes.endp = _endpos;
35328 MenhirLib.EngineTypes.next = _menhir_stack;
35329 });
35330 (fun _menhir_env ->
35331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35332 let {
35333 MenhirLib.EngineTypes.semv = m;
35334 MenhirLib.EngineTypes.startp = _startpos_m_;
35335 MenhirLib.EngineTypes.endp = _endpos_m_;
35336 MenhirLib.EngineTypes.next = {
35337 MenhirLib.EngineTypes.semv = ty00;
35338 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35339 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35340 MenhirLib.EngineTypes.next = {
35341 MenhirLib.EngineTypes.semv = r0;
35342 MenhirLib.EngineTypes.startp = _startpos_r0_;
35343 MenhirLib.EngineTypes.endp = _endpos_r0_;
35344 MenhirLib.EngineTypes.next = {
35345 MenhirLib.EngineTypes.state = _menhir_s;
35346 MenhirLib.EngineTypes.semv = x0;
35347 MenhirLib.EngineTypes.startp = _startpos_x0_;
35348 MenhirLib.EngineTypes.endp = _endpos_x0_;
35349 MenhirLib.EngineTypes.next = _menhir_stack;
35350 };
35351 };
35352 };
35353 } = _menhir_stack in
35354 let m : 'tv_list_TMul_ = Obj.magic m in
35355 let ty00 : (
35356 # 71 "parser_cocci_menhir.mly"
35357 (Data.clt)
35358 # 35359 "parser_cocci_menhir.ml"
35359 ) = Obj.magic ty00 in
35360 let r0 : (
35361 # 73 "parser_cocci_menhir.mly"
35362 (Data.clt)
35363 # 35364 "parser_cocci_menhir.ml"
35364 ) = Obj.magic r0 in
35365 let x0 : 'tv_const_vol = Obj.magic x0 in
35366 let _startpos = _startpos_x0_ in
35367 let _endpos = _endpos_m_ in
35368 let _v : 'tv_typedef_ctype = let ty =
35369 let ty0 = ty00 in
35370 let r = r0 in
35371 let ty =
35372 let ty = ty0 in
35373
35374 # 529 "parser_cocci_menhir.mly"
35375 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35376 # 35377 "parser_cocci_menhir.ml"
35377
35378 in
35379
35380 # 583 "parser_cocci_menhir.mly"
35381 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35382 # 35383 "parser_cocci_menhir.ml"
35383
35384 in
35385 let cv =
35386 let x = x0 in
35387
35388 # 41 "standard.mly"
35389 ( Some x )
35390 # 35391 "parser_cocci_menhir.ml"
35391
35392 in
35393
35394 # 602 "parser_cocci_menhir.mly"
35395 ( P.pointerify (P.make_cv cv ty) m )
35396 # 35397 "parser_cocci_menhir.ml"
35397 in
35398 _menhir_env.MenhirLib.EngineTypes.stack <- {
35399 MenhirLib.EngineTypes.state = _menhir_s;
35400 MenhirLib.EngineTypes.semv = Obj.repr _v;
35401 MenhirLib.EngineTypes.startp = _startpos;
35402 MenhirLib.EngineTypes.endp = _endpos;
35403 MenhirLib.EngineTypes.next = _menhir_stack;
35404 });
35405 (fun _menhir_env ->
35406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35407 let {
35408 MenhirLib.EngineTypes.semv = m;
35409 MenhirLib.EngineTypes.startp = _startpos_m_;
35410 MenhirLib.EngineTypes.endp = _endpos_m_;
35411 MenhirLib.EngineTypes.next = {
35412 MenhirLib.EngineTypes.semv = ty00;
35413 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35414 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35415 MenhirLib.EngineTypes.next = {
35416 MenhirLib.EngineTypes.semv = r0;
35417 MenhirLib.EngineTypes.startp = _startpos_r0_;
35418 MenhirLib.EngineTypes.endp = _endpos_r0_;
35419 MenhirLib.EngineTypes.next = {
35420 MenhirLib.EngineTypes.state = _menhir_s;
35421 MenhirLib.EngineTypes.semv = x0;
35422 MenhirLib.EngineTypes.startp = _startpos_x0_;
35423 MenhirLib.EngineTypes.endp = _endpos_x0_;
35424 MenhirLib.EngineTypes.next = _menhir_stack;
35425 };
35426 };
35427 };
35428 } = _menhir_stack in
35429 let m : 'tv_list_TMul_ = Obj.magic m in
35430 let ty00 : (
35431 # 71 "parser_cocci_menhir.mly"
35432 (Data.clt)
35433 # 35434 "parser_cocci_menhir.ml"
35434 ) = Obj.magic ty00 in
35435 let r0 : (
35436 # 73 "parser_cocci_menhir.mly"
35437 (Data.clt)
35438 # 35439 "parser_cocci_menhir.ml"
35439 ) = Obj.magic r0 in
35440 let x0 : 'tv_const_vol = Obj.magic x0 in
35441 let _startpos = _startpos_x0_ in
35442 let _endpos = _endpos_m_ in
35443 let _v : 'tv_typedef_ctype = let ty =
35444 let ty0 = ty00 in
35445 let r = r0 in
35446 let ty =
35447 let ty = ty0 in
35448
35449 # 531 "parser_cocci_menhir.mly"
35450 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35451 # 35452 "parser_cocci_menhir.ml"
35452
35453 in
35454
35455 # 583 "parser_cocci_menhir.mly"
35456 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35457 # 35458 "parser_cocci_menhir.ml"
35458
35459 in
35460 let cv =
35461 let x = x0 in
35462
35463 # 41 "standard.mly"
35464 ( Some x )
35465 # 35466 "parser_cocci_menhir.ml"
35466
35467 in
35468
35469 # 602 "parser_cocci_menhir.mly"
35470 ( P.pointerify (P.make_cv cv ty) m )
35471 # 35472 "parser_cocci_menhir.ml"
35472 in
35473 _menhir_env.MenhirLib.EngineTypes.stack <- {
35474 MenhirLib.EngineTypes.state = _menhir_s;
35475 MenhirLib.EngineTypes.semv = Obj.repr _v;
35476 MenhirLib.EngineTypes.startp = _startpos;
35477 MenhirLib.EngineTypes.endp = _endpos;
35478 MenhirLib.EngineTypes.next = _menhir_stack;
35479 });
35480 (fun _menhir_env ->
35481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35482 let {
35483 MenhirLib.EngineTypes.semv = m;
35484 MenhirLib.EngineTypes.startp = _startpos_m_;
35485 MenhirLib.EngineTypes.endp = _endpos_m_;
35486 MenhirLib.EngineTypes.next = {
35487 MenhirLib.EngineTypes.semv = ty00;
35488 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35489 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35490 MenhirLib.EngineTypes.next = {
35491 MenhirLib.EngineTypes.semv = r0;
35492 MenhirLib.EngineTypes.startp = _startpos_r0_;
35493 MenhirLib.EngineTypes.endp = _endpos_r0_;
35494 MenhirLib.EngineTypes.next = {
35495 MenhirLib.EngineTypes.state = _menhir_s;
35496 MenhirLib.EngineTypes.semv = x0;
35497 MenhirLib.EngineTypes.startp = _startpos_x0_;
35498 MenhirLib.EngineTypes.endp = _endpos_x0_;
35499 MenhirLib.EngineTypes.next = _menhir_stack;
35500 };
35501 };
35502 };
35503 } = _menhir_stack in
35504 let m : 'tv_list_TMul_ = Obj.magic m in
35505 let ty00 : (
35506 # 71 "parser_cocci_menhir.mly"
35507 (Data.clt)
35508 # 35509 "parser_cocci_menhir.ml"
35509 ) = Obj.magic ty00 in
35510 let r0 : (
35511 # 73 "parser_cocci_menhir.mly"
35512 (Data.clt)
35513 # 35514 "parser_cocci_menhir.ml"
35514 ) = Obj.magic r0 in
35515 let x0 : 'tv_const_vol = Obj.magic x0 in
35516 let _startpos = _startpos_x0_ in
35517 let _endpos = _endpos_m_ in
35518 let _v : 'tv_typedef_ctype = let ty =
35519 let ty0 = ty00 in
35520 let r = r0 in
35521 let ty =
35522 let ty = ty0 in
35523
35524 # 533 "parser_cocci_menhir.mly"
35525 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35526 # 35527 "parser_cocci_menhir.ml"
35527
35528 in
35529
35530 # 583 "parser_cocci_menhir.mly"
35531 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35532 # 35533 "parser_cocci_menhir.ml"
35533
35534 in
35535 let cv =
35536 let x = x0 in
35537
35538 # 41 "standard.mly"
35539 ( Some x )
35540 # 35541 "parser_cocci_menhir.ml"
35541
35542 in
35543
35544 # 602 "parser_cocci_menhir.mly"
35545 ( P.pointerify (P.make_cv cv ty) m )
35546 # 35547 "parser_cocci_menhir.ml"
35547 in
35548 _menhir_env.MenhirLib.EngineTypes.stack <- {
35549 MenhirLib.EngineTypes.state = _menhir_s;
35550 MenhirLib.EngineTypes.semv = Obj.repr _v;
35551 MenhirLib.EngineTypes.startp = _startpos;
35552 MenhirLib.EngineTypes.endp = _endpos;
35553 MenhirLib.EngineTypes.next = _menhir_stack;
35554 });
35555 (fun _menhir_env ->
35556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35557 let {
35558 MenhirLib.EngineTypes.semv = m;
35559 MenhirLib.EngineTypes.startp = _startpos_m_;
35560 MenhirLib.EngineTypes.endp = _endpos_m_;
35561 MenhirLib.EngineTypes.next = {
35562 MenhirLib.EngineTypes.semv = p00;
35563 MenhirLib.EngineTypes.startp = _startpos_p00_;
35564 MenhirLib.EngineTypes.endp = _endpos_p00_;
35565 MenhirLib.EngineTypes.next = {
35566 MenhirLib.EngineTypes.semv = r0;
35567 MenhirLib.EngineTypes.startp = _startpos_r0_;
35568 MenhirLib.EngineTypes.endp = _endpos_r0_;
35569 MenhirLib.EngineTypes.next = {
35570 MenhirLib.EngineTypes.state = _menhir_s;
35571 MenhirLib.EngineTypes.semv = x0;
35572 MenhirLib.EngineTypes.startp = _startpos_x0_;
35573 MenhirLib.EngineTypes.endp = _endpos_x0_;
35574 MenhirLib.EngineTypes.next = _menhir_stack;
35575 };
35576 };
35577 };
35578 } = _menhir_stack in
35579 let m : 'tv_list_TMul_ = Obj.magic m in
35580 let p00 : (
35581 # 87 "parser_cocci_menhir.mly"
35582 (Parse_aux.info)
35583 # 35584 "parser_cocci_menhir.ml"
35584 ) = Obj.magic p00 in
35585 let r0 : (
35586 # 73 "parser_cocci_menhir.mly"
35587 (Data.clt)
35588 # 35589 "parser_cocci_menhir.ml"
35589 ) = Obj.magic r0 in
35590 let x0 : 'tv_const_vol = Obj.magic x0 in
35591 let _startpos = _startpos_x0_ in
35592 let _endpos = _endpos_m_ in
35593 let _v : 'tv_typedef_ctype = let ty =
35594 let p0 = p00 in
35595 let r = r0 in
35596 let ty =
35597 let p = p0 in
35598
35599 # 535 "parser_cocci_menhir.mly"
35600 ( let (nm,pure,clt) = p in
35601 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35602 # 35603 "parser_cocci_menhir.ml"
35603
35604 in
35605
35606 # 583 "parser_cocci_menhir.mly"
35607 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35608 # 35609 "parser_cocci_menhir.ml"
35609
35610 in
35611 let cv =
35612 let x = x0 in
35613
35614 # 41 "standard.mly"
35615 ( Some x )
35616 # 35617 "parser_cocci_menhir.ml"
35617
35618 in
35619
35620 # 602 "parser_cocci_menhir.mly"
35621 ( P.pointerify (P.make_cv cv ty) m )
35622 # 35623 "parser_cocci_menhir.ml"
35623 in
35624 _menhir_env.MenhirLib.EngineTypes.stack <- {
35625 MenhirLib.EngineTypes.state = _menhir_s;
35626 MenhirLib.EngineTypes.semv = Obj.repr _v;
35627 MenhirLib.EngineTypes.startp = _startpos;
35628 MenhirLib.EngineTypes.endp = _endpos;
35629 MenhirLib.EngineTypes.next = _menhir_stack;
35630 });
35631 (fun _menhir_env ->
35632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35633 let {
35634 MenhirLib.EngineTypes.semv = m;
35635 MenhirLib.EngineTypes.startp = _startpos_m_;
35636 MenhirLib.EngineTypes.endp = _endpos_m_;
35637 MenhirLib.EngineTypes.next = {
35638 MenhirLib.EngineTypes.semv = p00;
35639 MenhirLib.EngineTypes.startp = _startpos_p00_;
35640 MenhirLib.EngineTypes.endp = _endpos_p00_;
35641 MenhirLib.EngineTypes.next = {
35642 MenhirLib.EngineTypes.startp = _startpos__4_;
35643 MenhirLib.EngineTypes.endp = _endpos__4_;
35644 MenhirLib.EngineTypes.next = {
35645 MenhirLib.EngineTypes.semv = r00;
35646 MenhirLib.EngineTypes.startp = _startpos_r00_;
35647 MenhirLib.EngineTypes.endp = _endpos_r00_;
35648 MenhirLib.EngineTypes.next = {
35649 MenhirLib.EngineTypes.semv = r1;
35650 MenhirLib.EngineTypes.startp = _startpos_r1_;
35651 MenhirLib.EngineTypes.endp = _endpos_r1_;
35652 MenhirLib.EngineTypes.next = {
35653 MenhirLib.EngineTypes.state = _menhir_s;
35654 MenhirLib.EngineTypes.semv = x0;
35655 MenhirLib.EngineTypes.startp = _startpos_x0_;
35656 MenhirLib.EngineTypes.endp = _endpos_x0_;
35657 MenhirLib.EngineTypes.next = _menhir_stack;
35658 };
35659 };
35660 };
35661 };
35662 };
35663 } = _menhir_stack in
35664 let m : 'tv_list_TMul_ = Obj.magic m in
35665 let p00 : (
35666 # 81 "parser_cocci_menhir.mly"
35667 (string * Data.clt)
35668 # 35669 "parser_cocci_menhir.ml"
35669 ) = Obj.magic p00 in
35670 let r00 : (
35671 # 69 "parser_cocci_menhir.mly"
35672 (string)
35673 # 35674 "parser_cocci_menhir.ml"
35674 ) = Obj.magic r00 in
35675 let r1 : (
35676 # 73 "parser_cocci_menhir.mly"
35677 (Data.clt)
35678 # 35679 "parser_cocci_menhir.ml"
35679 ) = Obj.magic r1 in
35680 let x0 : 'tv_const_vol = Obj.magic x0 in
35681 let _startpos = _startpos_x0_ in
35682 let _endpos = _endpos_m_ in
35683 let _v : 'tv_typedef_ctype = let ty =
35684 let p0 = p00 in
35685 let r0 = r00 in
35686 let r = r1 in
35687 let ty =
35688 let p = p0 in
35689 let r = r0 in
35690
35691 # 538 "parser_cocci_menhir.mly"
35692 ( let nm = (r,P.id2name p) in
35693 (* this is only possible when we are in a metavar decl. Otherwise,
35694 it will be represented already as a MetaType *)
35695 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35696 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35697 Ast0.Impure (*will be ignored*))) )
35698 # 35699 "parser_cocci_menhir.ml"
35699
35700 in
35701
35702 # 583 "parser_cocci_menhir.mly"
35703 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35704 # 35705 "parser_cocci_menhir.ml"
35705
35706 in
35707 let cv =
35708 let x = x0 in
35709
35710 # 41 "standard.mly"
35711 ( Some x )
35712 # 35713 "parser_cocci_menhir.ml"
35713
35714 in
35715
35716 # 602 "parser_cocci_menhir.mly"
35717 ( P.pointerify (P.make_cv cv ty) m )
35718 # 35719 "parser_cocci_menhir.ml"
35719 in
35720 _menhir_env.MenhirLib.EngineTypes.stack <- {
35721 MenhirLib.EngineTypes.state = _menhir_s;
35722 MenhirLib.EngineTypes.semv = Obj.repr _v;
35723 MenhirLib.EngineTypes.startp = _startpos;
35724 MenhirLib.EngineTypes.endp = _endpos;
35725 MenhirLib.EngineTypes.next = _menhir_stack;
35726 });
35727 (fun _menhir_env ->
35728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35729 let {
35730 MenhirLib.EngineTypes.semv = m;
35731 MenhirLib.EngineTypes.startp = _startpos_m_;
35732 MenhirLib.EngineTypes.endp = _endpos_m_;
35733 MenhirLib.EngineTypes.next = {
35734 MenhirLib.EngineTypes.semv = ty00;
35735 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35736 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35737 MenhirLib.EngineTypes.next = {
35738 MenhirLib.EngineTypes.semv = r0;
35739 MenhirLib.EngineTypes.startp = _startpos_r0_;
35740 MenhirLib.EngineTypes.endp = _endpos_r0_;
35741 MenhirLib.EngineTypes.next = {
35742 MenhirLib.EngineTypes.state = _menhir_s;
35743 MenhirLib.EngineTypes.semv = x0;
35744 MenhirLib.EngineTypes.startp = _startpos_x0_;
35745 MenhirLib.EngineTypes.endp = _endpos_x0_;
35746 MenhirLib.EngineTypes.next = _menhir_stack;
35747 };
35748 };
35749 };
35750 } = _menhir_stack in
35751 let m : 'tv_list_TMul_ = Obj.magic m in
35752 let ty00 : (
35753 # 71 "parser_cocci_menhir.mly"
35754 (Data.clt)
35755 # 35756 "parser_cocci_menhir.ml"
35756 ) = Obj.magic ty00 in
35757 let r0 : (
35758 # 73 "parser_cocci_menhir.mly"
35759 (Data.clt)
35760 # 35761 "parser_cocci_menhir.ml"
35761 ) = Obj.magic r0 in
35762 let x0 : 'tv_const_vol = Obj.magic x0 in
35763 let _startpos = _startpos_x0_ in
35764 let _endpos = _endpos_m_ in
35765 let _v : 'tv_typedef_ctype = let ty =
35766 let ty0 = ty00 in
35767 let r = r0 in
35768 let ty =
35769 let ty = ty0 in
35770
35771 # 545 "parser_cocci_menhir.mly"
35772 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35773 # 35774 "parser_cocci_menhir.ml"
35774
35775 in
35776
35777 # 583 "parser_cocci_menhir.mly"
35778 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35779 # 35780 "parser_cocci_menhir.ml"
35780
35781 in
35782 let cv =
35783 let x = x0 in
35784
35785 # 41 "standard.mly"
35786 ( Some x )
35787 # 35788 "parser_cocci_menhir.ml"
35788
35789 in
35790
35791 # 602 "parser_cocci_menhir.mly"
35792 ( P.pointerify (P.make_cv cv ty) m )
35793 # 35794 "parser_cocci_menhir.ml"
35794 in
35795 _menhir_env.MenhirLib.EngineTypes.stack <- {
35796 MenhirLib.EngineTypes.state = _menhir_s;
35797 MenhirLib.EngineTypes.semv = Obj.repr _v;
35798 MenhirLib.EngineTypes.startp = _startpos;
35799 MenhirLib.EngineTypes.endp = _endpos;
35800 MenhirLib.EngineTypes.next = _menhir_stack;
35801 });
35802 (fun _menhir_env ->
35803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35804 let {
35805 MenhirLib.EngineTypes.semv = m;
35806 MenhirLib.EngineTypes.startp = _startpos_m_;
35807 MenhirLib.EngineTypes.endp = _endpos_m_;
35808 MenhirLib.EngineTypes.next = {
35809 MenhirLib.EngineTypes.semv = ty200;
35810 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35811 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35812 MenhirLib.EngineTypes.next = {
35813 MenhirLib.EngineTypes.semv = ty100;
35814 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35815 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35816 MenhirLib.EngineTypes.next = {
35817 MenhirLib.EngineTypes.semv = r0;
35818 MenhirLib.EngineTypes.startp = _startpos_r0_;
35819 MenhirLib.EngineTypes.endp = _endpos_r0_;
35820 MenhirLib.EngineTypes.next = {
35821 MenhirLib.EngineTypes.state = _menhir_s;
35822 MenhirLib.EngineTypes.semv = x0;
35823 MenhirLib.EngineTypes.startp = _startpos_x0_;
35824 MenhirLib.EngineTypes.endp = _endpos_x0_;
35825 MenhirLib.EngineTypes.next = _menhir_stack;
35826 };
35827 };
35828 };
35829 };
35830 } = _menhir_stack in
35831 let m : 'tv_list_TMul_ = Obj.magic m in
35832 let ty200 : (
35833 # 71 "parser_cocci_menhir.mly"
35834 (Data.clt)
35835 # 35836 "parser_cocci_menhir.ml"
35836 ) = Obj.magic ty200 in
35837 let ty100 : (
35838 # 71 "parser_cocci_menhir.mly"
35839 (Data.clt)
35840 # 35841 "parser_cocci_menhir.ml"
35841 ) = Obj.magic ty100 in
35842 let r0 : (
35843 # 73 "parser_cocci_menhir.mly"
35844 (Data.clt)
35845 # 35846 "parser_cocci_menhir.ml"
35846 ) = Obj.magic r0 in
35847 let x0 : 'tv_const_vol = Obj.magic x0 in
35848 let _startpos = _startpos_x0_ in
35849 let _endpos = _endpos_m_ in
35850 let _v : 'tv_typedef_ctype = let ty =
35851 let ty20 = ty200 in
35852 let ty10 = ty100 in
35853 let r = r0 in
35854 let ty =
35855 let ty2 = ty20 in
35856 let ty1 = ty10 in
35857
35858 # 547 "parser_cocci_menhir.mly"
35859 ( Ast0.wrap
35860 (Ast0.BaseType
35861 (Ast.LongLongType,
35862 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35863 # 35864 "parser_cocci_menhir.ml"
35864
35865 in
35866
35867 # 583 "parser_cocci_menhir.mly"
35868 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35869 # 35870 "parser_cocci_menhir.ml"
35870
35871 in
35872 let cv =
35873 let x = x0 in
35874
35875 # 41 "standard.mly"
35876 ( Some x )
35877 # 35878 "parser_cocci_menhir.ml"
35878
35879 in
35880
35881 # 602 "parser_cocci_menhir.mly"
35882 ( P.pointerify (P.make_cv cv ty) m )
35883 # 35884 "parser_cocci_menhir.ml"
35884 in
35885 _menhir_env.MenhirLib.EngineTypes.stack <- {
35886 MenhirLib.EngineTypes.state = _menhir_s;
35887 MenhirLib.EngineTypes.semv = Obj.repr _v;
35888 MenhirLib.EngineTypes.startp = _startpos;
35889 MenhirLib.EngineTypes.endp = _endpos;
35890 MenhirLib.EngineTypes.next = _menhir_stack;
35891 });
35892 (fun _menhir_env ->
35893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35894 let {
35895 MenhirLib.EngineTypes.semv = m;
35896 MenhirLib.EngineTypes.startp = _startpos_m_;
35897 MenhirLib.EngineTypes.endp = _endpos_m_;
35898 MenhirLib.EngineTypes.next = {
35899 MenhirLib.EngineTypes.semv = ty00;
35900 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35901 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35902 MenhirLib.EngineTypes.next = {
35903 MenhirLib.EngineTypes.state = _menhir_s;
35904 MenhirLib.EngineTypes.semv = x0;
35905 MenhirLib.EngineTypes.startp = _startpos_x0_;
35906 MenhirLib.EngineTypes.endp = _endpos_x0_;
35907 MenhirLib.EngineTypes.next = _menhir_stack;
35908 };
35909 };
35910 } = _menhir_stack in
35911 let m : 'tv_list_TMul_ = Obj.magic m in
35912 let ty00 : (
35913 # 71 "parser_cocci_menhir.mly"
35914 (Data.clt)
35915 # 35916 "parser_cocci_menhir.ml"
35916 ) = Obj.magic ty00 in
35917 let x0 : 'tv_const_vol = Obj.magic x0 in
35918 let _startpos = _startpos_x0_ in
35919 let _endpos = _endpos_m_ in
35920 let _v : 'tv_typedef_ctype = let ty =
35921 let ty0 = ty00 in
35922 let ty =
35923 let ty = ty0 in
35924
35925 # 529 "parser_cocci_menhir.mly"
35926 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35927 # 35928 "parser_cocci_menhir.ml"
35928
35929 in
35930
35931 # 584 "parser_cocci_menhir.mly"
35932 ( ty )
35933 # 35934 "parser_cocci_menhir.ml"
35934
35935 in
35936 let cv =
35937 let x = x0 in
35938
35939 # 41 "standard.mly"
35940 ( Some x )
35941 # 35942 "parser_cocci_menhir.ml"
35942
35943 in
35944
35945 # 602 "parser_cocci_menhir.mly"
35946 ( P.pointerify (P.make_cv cv ty) m )
35947 # 35948 "parser_cocci_menhir.ml"
35948 in
35949 _menhir_env.MenhirLib.EngineTypes.stack <- {
35950 MenhirLib.EngineTypes.state = _menhir_s;
35951 MenhirLib.EngineTypes.semv = Obj.repr _v;
35952 MenhirLib.EngineTypes.startp = _startpos;
35953 MenhirLib.EngineTypes.endp = _endpos;
35954 MenhirLib.EngineTypes.next = _menhir_stack;
35955 });
35956 (fun _menhir_env ->
35957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35958 let {
35959 MenhirLib.EngineTypes.semv = m;
35960 MenhirLib.EngineTypes.startp = _startpos_m_;
35961 MenhirLib.EngineTypes.endp = _endpos_m_;
35962 MenhirLib.EngineTypes.next = {
35963 MenhirLib.EngineTypes.semv = ty00;
35964 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35965 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35966 MenhirLib.EngineTypes.next = {
35967 MenhirLib.EngineTypes.state = _menhir_s;
35968 MenhirLib.EngineTypes.semv = x0;
35969 MenhirLib.EngineTypes.startp = _startpos_x0_;
35970 MenhirLib.EngineTypes.endp = _endpos_x0_;
35971 MenhirLib.EngineTypes.next = _menhir_stack;
35972 };
35973 };
35974 } = _menhir_stack in
35975 let m : 'tv_list_TMul_ = Obj.magic m in
35976 let ty00 : (
35977 # 71 "parser_cocci_menhir.mly"
35978 (Data.clt)
35979 # 35980 "parser_cocci_menhir.ml"
35980 ) = Obj.magic ty00 in
35981 let x0 : 'tv_const_vol = Obj.magic x0 in
35982 let _startpos = _startpos_x0_ in
35983 let _endpos = _endpos_m_ in
35984 let _v : 'tv_typedef_ctype = let ty =
35985 let ty0 = ty00 in
35986 let ty =
35987 let ty = ty0 in
35988
35989 # 531 "parser_cocci_menhir.mly"
35990 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35991 # 35992 "parser_cocci_menhir.ml"
35992
35993 in
35994
35995 # 584 "parser_cocci_menhir.mly"
35996 ( ty )
35997 # 35998 "parser_cocci_menhir.ml"
35998
35999 in
36000 let cv =
36001 let x = x0 in
36002
36003 # 41 "standard.mly"
36004 ( Some x )
36005 # 36006 "parser_cocci_menhir.ml"
36006
36007 in
36008
36009 # 602 "parser_cocci_menhir.mly"
36010 ( P.pointerify (P.make_cv cv ty) m )
36011 # 36012 "parser_cocci_menhir.ml"
36012 in
36013 _menhir_env.MenhirLib.EngineTypes.stack <- {
36014 MenhirLib.EngineTypes.state = _menhir_s;
36015 MenhirLib.EngineTypes.semv = Obj.repr _v;
36016 MenhirLib.EngineTypes.startp = _startpos;
36017 MenhirLib.EngineTypes.endp = _endpos;
36018 MenhirLib.EngineTypes.next = _menhir_stack;
36019 });
36020 (fun _menhir_env ->
36021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36022 let {
36023 MenhirLib.EngineTypes.semv = m;
36024 MenhirLib.EngineTypes.startp = _startpos_m_;
36025 MenhirLib.EngineTypes.endp = _endpos_m_;
36026 MenhirLib.EngineTypes.next = {
36027 MenhirLib.EngineTypes.semv = ty00;
36028 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36029 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36030 MenhirLib.EngineTypes.next = {
36031 MenhirLib.EngineTypes.state = _menhir_s;
36032 MenhirLib.EngineTypes.semv = x0;
36033 MenhirLib.EngineTypes.startp = _startpos_x0_;
36034 MenhirLib.EngineTypes.endp = _endpos_x0_;
36035 MenhirLib.EngineTypes.next = _menhir_stack;
36036 };
36037 };
36038 } = _menhir_stack in
36039 let m : 'tv_list_TMul_ = Obj.magic m in
36040 let ty00 : (
36041 # 71 "parser_cocci_menhir.mly"
36042 (Data.clt)
36043 # 36044 "parser_cocci_menhir.ml"
36044 ) = Obj.magic ty00 in
36045 let x0 : 'tv_const_vol = Obj.magic x0 in
36046 let _startpos = _startpos_x0_ in
36047 let _endpos = _endpos_m_ in
36048 let _v : 'tv_typedef_ctype = let ty =
36049 let ty0 = ty00 in
36050 let ty =
36051 let ty = ty0 in
36052
36053 # 533 "parser_cocci_menhir.mly"
36054 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
36055 # 36056 "parser_cocci_menhir.ml"
36056
36057 in
36058
36059 # 584 "parser_cocci_menhir.mly"
36060 ( ty )
36061 # 36062 "parser_cocci_menhir.ml"
36062
36063 in
36064 let cv =
36065 let x = x0 in
36066
36067 # 41 "standard.mly"
36068 ( Some x )
36069 # 36070 "parser_cocci_menhir.ml"
36070
36071 in
36072
36073 # 602 "parser_cocci_menhir.mly"
36074 ( P.pointerify (P.make_cv cv ty) m )
36075 # 36076 "parser_cocci_menhir.ml"
36076 in
36077 _menhir_env.MenhirLib.EngineTypes.stack <- {
36078 MenhirLib.EngineTypes.state = _menhir_s;
36079 MenhirLib.EngineTypes.semv = Obj.repr _v;
36080 MenhirLib.EngineTypes.startp = _startpos;
36081 MenhirLib.EngineTypes.endp = _endpos;
36082 MenhirLib.EngineTypes.next = _menhir_stack;
36083 });
36084 (fun _menhir_env ->
36085 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36086 let {
36087 MenhirLib.EngineTypes.semv = m;
36088 MenhirLib.EngineTypes.startp = _startpos_m_;
36089 MenhirLib.EngineTypes.endp = _endpos_m_;
36090 MenhirLib.EngineTypes.next = {
36091 MenhirLib.EngineTypes.semv = p00;
36092 MenhirLib.EngineTypes.startp = _startpos_p00_;
36093 MenhirLib.EngineTypes.endp = _endpos_p00_;
36094 MenhirLib.EngineTypes.next = {
36095 MenhirLib.EngineTypes.state = _menhir_s;
36096 MenhirLib.EngineTypes.semv = x0;
36097 MenhirLib.EngineTypes.startp = _startpos_x0_;
36098 MenhirLib.EngineTypes.endp = _endpos_x0_;
36099 MenhirLib.EngineTypes.next = _menhir_stack;
36100 };
36101 };
36102 } = _menhir_stack in
36103 let m : 'tv_list_TMul_ = Obj.magic m in
36104 let p00 : (
36105 # 87 "parser_cocci_menhir.mly"
36106 (Parse_aux.info)
36107 # 36108 "parser_cocci_menhir.ml"
36108 ) = Obj.magic p00 in
36109 let x0 : 'tv_const_vol = Obj.magic x0 in
36110 let _startpos = _startpos_x0_ in
36111 let _endpos = _endpos_m_ in
36112 let _v : 'tv_typedef_ctype = let ty =
36113 let p0 = p00 in
36114 let ty =
36115 let p = p0 in
36116
36117 # 535 "parser_cocci_menhir.mly"
36118 ( let (nm,pure,clt) = p in
36119 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36120 # 36121 "parser_cocci_menhir.ml"
36121
36122 in
36123
36124 # 584 "parser_cocci_menhir.mly"
36125 ( ty )
36126 # 36127 "parser_cocci_menhir.ml"
36127
36128 in
36129 let cv =
36130 let x = x0 in
36131
36132 # 41 "standard.mly"
36133 ( Some x )
36134 # 36135 "parser_cocci_menhir.ml"
36135
36136 in
36137
36138 # 602 "parser_cocci_menhir.mly"
36139 ( P.pointerify (P.make_cv cv ty) m )
36140 # 36141 "parser_cocci_menhir.ml"
36141 in
36142 _menhir_env.MenhirLib.EngineTypes.stack <- {
36143 MenhirLib.EngineTypes.state = _menhir_s;
36144 MenhirLib.EngineTypes.semv = Obj.repr _v;
36145 MenhirLib.EngineTypes.startp = _startpos;
36146 MenhirLib.EngineTypes.endp = _endpos;
36147 MenhirLib.EngineTypes.next = _menhir_stack;
36148 });
36149 (fun _menhir_env ->
36150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36151 let {
36152 MenhirLib.EngineTypes.semv = m;
36153 MenhirLib.EngineTypes.startp = _startpos_m_;
36154 MenhirLib.EngineTypes.endp = _endpos_m_;
36155 MenhirLib.EngineTypes.next = {
36156 MenhirLib.EngineTypes.semv = p00;
36157 MenhirLib.EngineTypes.startp = _startpos_p00_;
36158 MenhirLib.EngineTypes.endp = _endpos_p00_;
36159 MenhirLib.EngineTypes.next = {
36160 MenhirLib.EngineTypes.startp = _startpos__3_;
36161 MenhirLib.EngineTypes.endp = _endpos__3_;
36162 MenhirLib.EngineTypes.next = {
36163 MenhirLib.EngineTypes.semv = r00;
36164 MenhirLib.EngineTypes.startp = _startpos_r00_;
36165 MenhirLib.EngineTypes.endp = _endpos_r00_;
36166 MenhirLib.EngineTypes.next = {
36167 MenhirLib.EngineTypes.state = _menhir_s;
36168 MenhirLib.EngineTypes.semv = x0;
36169 MenhirLib.EngineTypes.startp = _startpos_x0_;
36170 MenhirLib.EngineTypes.endp = _endpos_x0_;
36171 MenhirLib.EngineTypes.next = _menhir_stack;
36172 };
36173 };
36174 };
36175 };
36176 } = _menhir_stack in
36177 let m : 'tv_list_TMul_ = Obj.magic m in
36178 let p00 : (
36179 # 81 "parser_cocci_menhir.mly"
36180 (string * Data.clt)
36181 # 36182 "parser_cocci_menhir.ml"
36182 ) = Obj.magic p00 in
36183 let r00 : (
36184 # 69 "parser_cocci_menhir.mly"
36185 (string)
36186 # 36187 "parser_cocci_menhir.ml"
36187 ) = Obj.magic r00 in
36188 let x0 : 'tv_const_vol = Obj.magic x0 in
36189 let _startpos = _startpos_x0_ in
36190 let _endpos = _endpos_m_ in
36191 let _v : 'tv_typedef_ctype = let ty =
36192 let p0 = p00 in
36193 let r0 = r00 in
36194 let ty =
36195 let p = p0 in
36196 let r = r0 in
36197
36198 # 538 "parser_cocci_menhir.mly"
36199 ( let nm = (r,P.id2name p) in
36200 (* this is only possible when we are in a metavar decl. Otherwise,
36201 it will be represented already as a MetaType *)
36202 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
36203 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
36204 Ast0.Impure (*will be ignored*))) )
36205 # 36206 "parser_cocci_menhir.ml"
36206
36207 in
36208
36209 # 584 "parser_cocci_menhir.mly"
36210 ( ty )
36211 # 36212 "parser_cocci_menhir.ml"
36212
36213 in
36214 let cv =
36215 let x = x0 in
36216
36217 # 41 "standard.mly"
36218 ( Some x )
36219 # 36220 "parser_cocci_menhir.ml"
36220
36221 in
36222
36223 # 602 "parser_cocci_menhir.mly"
36224 ( P.pointerify (P.make_cv cv ty) m )
36225 # 36226 "parser_cocci_menhir.ml"
36226 in
36227 _menhir_env.MenhirLib.EngineTypes.stack <- {
36228 MenhirLib.EngineTypes.state = _menhir_s;
36229 MenhirLib.EngineTypes.semv = Obj.repr _v;
36230 MenhirLib.EngineTypes.startp = _startpos;
36231 MenhirLib.EngineTypes.endp = _endpos;
36232 MenhirLib.EngineTypes.next = _menhir_stack;
36233 });
36234 (fun _menhir_env ->
36235 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36236 let {
36237 MenhirLib.EngineTypes.semv = m;
36238 MenhirLib.EngineTypes.startp = _startpos_m_;
36239 MenhirLib.EngineTypes.endp = _endpos_m_;
36240 MenhirLib.EngineTypes.next = {
36241 MenhirLib.EngineTypes.semv = ty00;
36242 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36243 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36244 MenhirLib.EngineTypes.next = {
36245 MenhirLib.EngineTypes.state = _menhir_s;
36246 MenhirLib.EngineTypes.semv = x0;
36247 MenhirLib.EngineTypes.startp = _startpos_x0_;
36248 MenhirLib.EngineTypes.endp = _endpos_x0_;
36249 MenhirLib.EngineTypes.next = _menhir_stack;
36250 };
36251 };
36252 } = _menhir_stack in
36253 let m : 'tv_list_TMul_ = Obj.magic m in
36254 let ty00 : (
36255 # 71 "parser_cocci_menhir.mly"
36256 (Data.clt)
36257 # 36258 "parser_cocci_menhir.ml"
36258 ) = Obj.magic ty00 in
36259 let x0 : 'tv_const_vol = Obj.magic x0 in
36260 let _startpos = _startpos_x0_ in
36261 let _endpos = _endpos_m_ in
36262 let _v : 'tv_typedef_ctype = let ty =
36263 let ty0 = ty00 in
36264 let ty =
36265 let ty = ty0 in
36266
36267 # 545 "parser_cocci_menhir.mly"
36268 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
36269 # 36270 "parser_cocci_menhir.ml"
36270
36271 in
36272
36273 # 584 "parser_cocci_menhir.mly"
36274 ( ty )
36275 # 36276 "parser_cocci_menhir.ml"
36276
36277 in
36278 let cv =
36279 let x = x0 in
36280
36281 # 41 "standard.mly"
36282 ( Some x )
36283 # 36284 "parser_cocci_menhir.ml"
36284
36285 in
36286
36287 # 602 "parser_cocci_menhir.mly"
36288 ( P.pointerify (P.make_cv cv ty) m )
36289 # 36290 "parser_cocci_menhir.ml"
36290 in
36291 _menhir_env.MenhirLib.EngineTypes.stack <- {
36292 MenhirLib.EngineTypes.state = _menhir_s;
36293 MenhirLib.EngineTypes.semv = Obj.repr _v;
36294 MenhirLib.EngineTypes.startp = _startpos;
36295 MenhirLib.EngineTypes.endp = _endpos;
36296 MenhirLib.EngineTypes.next = _menhir_stack;
36297 });
36298 (fun _menhir_env ->
36299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36300 let {
36301 MenhirLib.EngineTypes.semv = m;
36302 MenhirLib.EngineTypes.startp = _startpos_m_;
36303 MenhirLib.EngineTypes.endp = _endpos_m_;
36304 MenhirLib.EngineTypes.next = {
36305 MenhirLib.EngineTypes.semv = ty200;
36306 MenhirLib.EngineTypes.startp = _startpos_ty200_;
36307 MenhirLib.EngineTypes.endp = _endpos_ty200_;
36308 MenhirLib.EngineTypes.next = {
36309 MenhirLib.EngineTypes.semv = ty100;
36310 MenhirLib.EngineTypes.startp = _startpos_ty100_;
36311 MenhirLib.EngineTypes.endp = _endpos_ty100_;
36312 MenhirLib.EngineTypes.next = {
36313 MenhirLib.EngineTypes.state = _menhir_s;
36314 MenhirLib.EngineTypes.semv = x0;
36315 MenhirLib.EngineTypes.startp = _startpos_x0_;
36316 MenhirLib.EngineTypes.endp = _endpos_x0_;
36317 MenhirLib.EngineTypes.next = _menhir_stack;
36318 };
36319 };
36320 };
36321 } = _menhir_stack in
36322 let m : 'tv_list_TMul_ = Obj.magic m in
36323 let ty200 : (
36324 # 71 "parser_cocci_menhir.mly"
36325 (Data.clt)
36326 # 36327 "parser_cocci_menhir.ml"
36327 ) = Obj.magic ty200 in
36328 let ty100 : (
36329 # 71 "parser_cocci_menhir.mly"
36330 (Data.clt)
36331 # 36332 "parser_cocci_menhir.ml"
36332 ) = Obj.magic ty100 in
36333 let x0 : 'tv_const_vol = Obj.magic x0 in
36334 let _startpos = _startpos_x0_ in
36335 let _endpos = _endpos_m_ in
36336 let _v : 'tv_typedef_ctype = let ty =
36337 let ty20 = ty200 in
36338 let ty10 = ty100 in
36339 let ty =
36340 let ty2 = ty20 in
36341 let ty1 = ty10 in
36342
36343 # 547 "parser_cocci_menhir.mly"
36344 ( Ast0.wrap
36345 (Ast0.BaseType
36346 (Ast.LongLongType,
36347 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36348 # 36349 "parser_cocci_menhir.ml"
36349
36350 in
36351
36352 # 584 "parser_cocci_menhir.mly"
36353 ( ty )
36354 # 36355 "parser_cocci_menhir.ml"
36355
36356 in
36357 let cv =
36358 let x = x0 in
36359
36360 # 41 "standard.mly"
36361 ( Some x )
36362 # 36363 "parser_cocci_menhir.ml"
36363
36364 in
36365
36366 # 602 "parser_cocci_menhir.mly"
36367 ( P.pointerify (P.make_cv cv ty) m )
36368 # 36369 "parser_cocci_menhir.ml"
36369 in
36370 _menhir_env.MenhirLib.EngineTypes.stack <- {
36371 MenhirLib.EngineTypes.state = _menhir_s;
36372 MenhirLib.EngineTypes.semv = Obj.repr _v;
36373 MenhirLib.EngineTypes.startp = _startpos;
36374 MenhirLib.EngineTypes.endp = _endpos;
36375 MenhirLib.EngineTypes.next = _menhir_stack;
36376 });
36377 (fun _menhir_env ->
36378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36379 let {
36380 MenhirLib.EngineTypes.semv = m;
36381 MenhirLib.EngineTypes.startp = _startpos_m_;
36382 MenhirLib.EngineTypes.endp = _endpos_m_;
36383 MenhirLib.EngineTypes.next = {
36384 MenhirLib.EngineTypes.semv = ty00;
36385 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36386 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36387 MenhirLib.EngineTypes.next = {
36388 MenhirLib.EngineTypes.state = _menhir_s;
36389 MenhirLib.EngineTypes.semv = x0;
36390 MenhirLib.EngineTypes.startp = _startpos_x0_;
36391 MenhirLib.EngineTypes.endp = _endpos_x0_;
36392 MenhirLib.EngineTypes.next = _menhir_stack;
36393 };
36394 };
36395 } = _menhir_stack in
36396 let m : 'tv_list_TMul_ = Obj.magic m in
36397 let ty00 : (
36398 # 72 "parser_cocci_menhir.mly"
36399 (Data.clt)
36400 # 36401 "parser_cocci_menhir.ml"
36401 ) = Obj.magic ty00 in
36402 let x0 : 'tv_const_vol = Obj.magic x0 in
36403 let _startpos = _startpos_x0_ in
36404 let _endpos = _endpos_m_ in
36405 let _v : 'tv_typedef_ctype = let ty =
36406 let ty0 = ty00 in
36407 let ty =
36408 let ty = ty0 in
36409
36410 # 555 "parser_cocci_menhir.mly"
36411 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
36412 # 36413 "parser_cocci_menhir.ml"
36413
36414 in
36415
36416 # 585 "parser_cocci_menhir.mly"
36417 ( ty )
36418 # 36419 "parser_cocci_menhir.ml"
36419
36420 in
36421 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 # 602 "parser_cocci_menhir.mly"
36431 ( P.pointerify (P.make_cv cv ty) m )
36432 # 36433 "parser_cocci_menhir.ml"
36433 in
36434 _menhir_env.MenhirLib.EngineTypes.stack <- {
36435 MenhirLib.EngineTypes.state = _menhir_s;
36436 MenhirLib.EngineTypes.semv = Obj.repr _v;
36437 MenhirLib.EngineTypes.startp = _startpos;
36438 MenhirLib.EngineTypes.endp = _endpos;
36439 MenhirLib.EngineTypes.next = _menhir_stack;
36440 });
36441 (fun _menhir_env ->
36442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36443 let {
36444 MenhirLib.EngineTypes.semv = m;
36445 MenhirLib.EngineTypes.startp = _startpos_m_;
36446 MenhirLib.EngineTypes.endp = _endpos_m_;
36447 MenhirLib.EngineTypes.next = {
36448 MenhirLib.EngineTypes.semv = ty00;
36449 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36450 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36451 MenhirLib.EngineTypes.next = {
36452 MenhirLib.EngineTypes.state = _menhir_s;
36453 MenhirLib.EngineTypes.semv = x0;
36454 MenhirLib.EngineTypes.startp = _startpos_x0_;
36455 MenhirLib.EngineTypes.endp = _endpos_x0_;
36456 MenhirLib.EngineTypes.next = _menhir_stack;
36457 };
36458 };
36459 } = _menhir_stack in
36460 let m : 'tv_list_TMul_ = Obj.magic m in
36461 let ty00 : (
36462 # 71 "parser_cocci_menhir.mly"
36463 (Data.clt)
36464 # 36465 "parser_cocci_menhir.ml"
36465 ) = Obj.magic ty00 in
36466 let x0 : 'tv_const_vol = Obj.magic x0 in
36467 let _startpos = _startpos_x0_ in
36468 let _endpos = _endpos_m_ in
36469 let _v : 'tv_typedef_ctype = let ty =
36470 let ty0 = ty00 in
36471 let ty =
36472 let ty = ty0 in
36473
36474 # 557 "parser_cocci_menhir.mly"
36475 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
36476 # 36477 "parser_cocci_menhir.ml"
36477
36478 in
36479
36480 # 585 "parser_cocci_menhir.mly"
36481 ( ty )
36482 # 36483 "parser_cocci_menhir.ml"
36483
36484 in
36485 let cv =
36486 let x = x0 in
36487
36488 # 41 "standard.mly"
36489 ( Some x )
36490 # 36491 "parser_cocci_menhir.ml"
36491
36492 in
36493
36494 # 602 "parser_cocci_menhir.mly"
36495 ( P.pointerify (P.make_cv cv ty) m )
36496 # 36497 "parser_cocci_menhir.ml"
36497 in
36498 _menhir_env.MenhirLib.EngineTypes.stack <- {
36499 MenhirLib.EngineTypes.state = _menhir_s;
36500 MenhirLib.EngineTypes.semv = Obj.repr _v;
36501 MenhirLib.EngineTypes.startp = _startpos;
36502 MenhirLib.EngineTypes.endp = _endpos;
36503 MenhirLib.EngineTypes.next = _menhir_stack;
36504 });
36505 (fun _menhir_env ->
36506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36507 let {
36508 MenhirLib.EngineTypes.semv = m;
36509 MenhirLib.EngineTypes.startp = _startpos_m_;
36510 MenhirLib.EngineTypes.endp = _endpos_m_;
36511 MenhirLib.EngineTypes.next = {
36512 MenhirLib.EngineTypes.semv = ty00;
36513 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36514 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36515 MenhirLib.EngineTypes.next = {
36516 MenhirLib.EngineTypes.state = _menhir_s;
36517 MenhirLib.EngineTypes.semv = x0;
36518 MenhirLib.EngineTypes.startp = _startpos_x0_;
36519 MenhirLib.EngineTypes.endp = _endpos_x0_;
36520 MenhirLib.EngineTypes.next = _menhir_stack;
36521 };
36522 };
36523 } = _menhir_stack in
36524 let m : 'tv_list_TMul_ = Obj.magic m in
36525 let ty00 : (
36526 # 71 "parser_cocci_menhir.mly"
36527 (Data.clt)
36528 # 36529 "parser_cocci_menhir.ml"
36529 ) = Obj.magic ty00 in
36530 let x0 : 'tv_const_vol = Obj.magic x0 in
36531 let _startpos = _startpos_x0_ in
36532 let _endpos = _endpos_m_ in
36533 let _v : 'tv_typedef_ctype = let ty =
36534 let ty0 = ty00 in
36535 let ty =
36536 let ty = ty0 in
36537
36538 # 559 "parser_cocci_menhir.mly"
36539 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
36540 # 36541 "parser_cocci_menhir.ml"
36541
36542 in
36543
36544 # 585 "parser_cocci_menhir.mly"
36545 ( ty )
36546 # 36547 "parser_cocci_menhir.ml"
36547
36548 in
36549 let cv =
36550 let x = x0 in
36551
36552 # 41 "standard.mly"
36553 ( Some x )
36554 # 36555 "parser_cocci_menhir.ml"
36555
36556 in
36557
36558 # 602 "parser_cocci_menhir.mly"
36559 ( P.pointerify (P.make_cv cv ty) m )
36560 # 36561 "parser_cocci_menhir.ml"
36561 in
36562 _menhir_env.MenhirLib.EngineTypes.stack <- {
36563 MenhirLib.EngineTypes.state = _menhir_s;
36564 MenhirLib.EngineTypes.semv = Obj.repr _v;
36565 MenhirLib.EngineTypes.startp = _startpos;
36566 MenhirLib.EngineTypes.endp = _endpos;
36567 MenhirLib.EngineTypes.next = _menhir_stack;
36568 });
36569 (fun _menhir_env ->
36570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36571 let {
36572 MenhirLib.EngineTypes.semv = m;
36573 MenhirLib.EngineTypes.startp = _startpos_m_;
36574 MenhirLib.EngineTypes.endp = _endpos_m_;
36575 MenhirLib.EngineTypes.next = {
36576 MenhirLib.EngineTypes.semv = i00;
36577 MenhirLib.EngineTypes.startp = _startpos_i00_;
36578 MenhirLib.EngineTypes.endp = _endpos_i00_;
36579 MenhirLib.EngineTypes.next = {
36580 MenhirLib.EngineTypes.semv = s00;
36581 MenhirLib.EngineTypes.startp = _startpos_s00_;
36582 MenhirLib.EngineTypes.endp = _endpos_s00_;
36583 MenhirLib.EngineTypes.next = {
36584 MenhirLib.EngineTypes.state = _menhir_s;
36585 MenhirLib.EngineTypes.semv = x0;
36586 MenhirLib.EngineTypes.startp = _startpos_x0_;
36587 MenhirLib.EngineTypes.endp = _endpos_x0_;
36588 MenhirLib.EngineTypes.next = _menhir_stack;
36589 };
36590 };
36591 };
36592 } = _menhir_stack in
36593 let m : 'tv_list_TMul_ = Obj.magic m in
36594 let i00 : 'tv_ident = Obj.magic i00 in
36595 let s00 : (
36596 # 72 "parser_cocci_menhir.mly"
36597 (Data.clt)
36598 # 36599 "parser_cocci_menhir.ml"
36599 ) = Obj.magic s00 in
36600 let x0 : 'tv_const_vol = Obj.magic x0 in
36601 let _startpos = _startpos_x0_ in
36602 let _endpos = _endpos_m_ in
36603 let _v : 'tv_typedef_ctype = let ty =
36604 let i0 = i00 in
36605 let s0 = s00 in
36606 let ty =
36607 let i = i0 in
36608 let s = s0 in
36609
36610 # 561 "parser_cocci_menhir.mly"
36611 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
36612 # 36613 "parser_cocci_menhir.ml"
36613
36614 in
36615
36616 # 585 "parser_cocci_menhir.mly"
36617 ( ty )
36618 # 36619 "parser_cocci_menhir.ml"
36619
36620 in
36621 let cv =
36622 let x = x0 in
36623
36624 # 41 "standard.mly"
36625 ( Some x )
36626 # 36627 "parser_cocci_menhir.ml"
36627
36628 in
36629
36630 # 602 "parser_cocci_menhir.mly"
36631 ( P.pointerify (P.make_cv cv ty) m )
36632 # 36633 "parser_cocci_menhir.ml"
36633 in
36634 _menhir_env.MenhirLib.EngineTypes.stack <- {
36635 MenhirLib.EngineTypes.state = _menhir_s;
36636 MenhirLib.EngineTypes.semv = Obj.repr _v;
36637 MenhirLib.EngineTypes.startp = _startpos;
36638 MenhirLib.EngineTypes.endp = _endpos;
36639 MenhirLib.EngineTypes.next = _menhir_stack;
36640 });
36641 (fun _menhir_env ->
36642 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36643 let {
36644 MenhirLib.EngineTypes.semv = m;
36645 MenhirLib.EngineTypes.startp = _startpos_m_;
36646 MenhirLib.EngineTypes.endp = _endpos_m_;
36647 MenhirLib.EngineTypes.next = {
36648 MenhirLib.EngineTypes.semv = i00;
36649 MenhirLib.EngineTypes.startp = _startpos_i00_;
36650 MenhirLib.EngineTypes.endp = _endpos_i00_;
36651 MenhirLib.EngineTypes.next = {
36652 MenhirLib.EngineTypes.semv = s00;
36653 MenhirLib.EngineTypes.startp = _startpos_s00_;
36654 MenhirLib.EngineTypes.endp = _endpos_s00_;
36655 MenhirLib.EngineTypes.next = {
36656 MenhirLib.EngineTypes.state = _menhir_s;
36657 MenhirLib.EngineTypes.semv = x0;
36658 MenhirLib.EngineTypes.startp = _startpos_x0_;
36659 MenhirLib.EngineTypes.endp = _endpos_x0_;
36660 MenhirLib.EngineTypes.next = _menhir_stack;
36661 };
36662 };
36663 };
36664 } = _menhir_stack in
36665 let m : 'tv_list_TMul_ = Obj.magic m in
36666 let i00 : 'tv_ident = Obj.magic i00 in
36667 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36668 let x0 : 'tv_const_vol = Obj.magic x0 in
36669 let _startpos = _startpos_x0_ in
36670 let _endpos = _endpos_m_ in
36671 let _v : 'tv_typedef_ctype = let ty =
36672 let i0 = i00 in
36673 let s0 = s00 in
36674 let ty =
36675 let i = i0 in
36676 let s = s0 in
36677
36678 # 563 "parser_cocci_menhir.mly"
36679 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
36680 # 36681 "parser_cocci_menhir.ml"
36681
36682 in
36683
36684 # 585 "parser_cocci_menhir.mly"
36685 ( ty )
36686 # 36687 "parser_cocci_menhir.ml"
36687
36688 in
36689 let cv =
36690 let x = x0 in
36691
36692 # 41 "standard.mly"
36693 ( Some x )
36694 # 36695 "parser_cocci_menhir.ml"
36695
36696 in
36697
36698 # 602 "parser_cocci_menhir.mly"
36699 ( P.pointerify (P.make_cv cv ty) m )
36700 # 36701 "parser_cocci_menhir.ml"
36701 in
36702 _menhir_env.MenhirLib.EngineTypes.stack <- {
36703 MenhirLib.EngineTypes.state = _menhir_s;
36704 MenhirLib.EngineTypes.semv = Obj.repr _v;
36705 MenhirLib.EngineTypes.startp = _startpos;
36706 MenhirLib.EngineTypes.endp = _endpos;
36707 MenhirLib.EngineTypes.next = _menhir_stack;
36708 });
36709 (fun _menhir_env ->
36710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36711 let {
36712 MenhirLib.EngineTypes.semv = m;
36713 MenhirLib.EngineTypes.startp = _startpos_m_;
36714 MenhirLib.EngineTypes.endp = _endpos_m_;
36715 MenhirLib.EngineTypes.next = {
36716 MenhirLib.EngineTypes.semv = r00;
36717 MenhirLib.EngineTypes.startp = _startpos_r00_;
36718 MenhirLib.EngineTypes.endp = _endpos_r00_;
36719 MenhirLib.EngineTypes.next = {
36720 MenhirLib.EngineTypes.semv = d00;
36721 MenhirLib.EngineTypes.startp = _startpos_d00_;
36722 MenhirLib.EngineTypes.endp = _endpos_d00_;
36723 MenhirLib.EngineTypes.next = {
36724 MenhirLib.EngineTypes.semv = l00;
36725 MenhirLib.EngineTypes.startp = _startpos_l00_;
36726 MenhirLib.EngineTypes.endp = _endpos_l00_;
36727 MenhirLib.EngineTypes.next = {
36728 MenhirLib.EngineTypes.semv = s00;
36729 MenhirLib.EngineTypes.startp = _startpos_s00_;
36730 MenhirLib.EngineTypes.endp = _endpos_s00_;
36731 MenhirLib.EngineTypes.next = {
36732 MenhirLib.EngineTypes.state = _menhir_s;
36733 MenhirLib.EngineTypes.semv = x0;
36734 MenhirLib.EngineTypes.startp = _startpos_x0_;
36735 MenhirLib.EngineTypes.endp = _endpos_x0_;
36736 MenhirLib.EngineTypes.next = _menhir_stack;
36737 };
36738 };
36739 };
36740 };
36741 };
36742 } = _menhir_stack in
36743 let m : 'tv_list_TMul_ = Obj.magic m in
36744 let r00 : (
36745 # 124 "parser_cocci_menhir.mly"
36746 (Data.clt)
36747 # 36748 "parser_cocci_menhir.ml"
36748 ) = Obj.magic r00 in
36749 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36750 let l00 : (
36751 # 124 "parser_cocci_menhir.mly"
36752 (Data.clt)
36753 # 36754 "parser_cocci_menhir.ml"
36754 ) = Obj.magic l00 in
36755 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36756 let x0 : 'tv_const_vol = Obj.magic x0 in
36757 let _startpos = _startpos_x0_ in
36758 let _endpos = _endpos_m_ in
36759 let _v : 'tv_typedef_ctype = let ty =
36760 let r0 = r00 in
36761 let d0 = d00 in
36762 let l0 = l00 in
36763 let s0 = s00 in
36764 let ty =
36765 let r = r0 in
36766 let d = d0 in
36767 let l = l0 in
36768 let s = s0 in
36769 let i =
36770
36771 # 39 "standard.mly"
36772 ( None )
36773 # 36774 "parser_cocci_menhir.ml"
36774
36775 in
36776
36777 # 566 "parser_cocci_menhir.mly"
36778 ( (if i = None && !Data.in_iso
36779 then failwith "structures must be named in the iso file");
36780 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36781 P.clt2mcode "{" l,
36782 d, P.clt2mcode "}" r)) )
36783 # 36784 "parser_cocci_menhir.ml"
36784
36785 in
36786
36787 # 585 "parser_cocci_menhir.mly"
36788 ( ty )
36789 # 36790 "parser_cocci_menhir.ml"
36790
36791 in
36792 let cv =
36793 let x = x0 in
36794
36795 # 41 "standard.mly"
36796 ( Some x )
36797 # 36798 "parser_cocci_menhir.ml"
36798
36799 in
36800
36801 # 602 "parser_cocci_menhir.mly"
36802 ( P.pointerify (P.make_cv cv ty) m )
36803 # 36804 "parser_cocci_menhir.ml"
36804 in
36805 _menhir_env.MenhirLib.EngineTypes.stack <- {
36806 MenhirLib.EngineTypes.state = _menhir_s;
36807 MenhirLib.EngineTypes.semv = Obj.repr _v;
36808 MenhirLib.EngineTypes.startp = _startpos;
36809 MenhirLib.EngineTypes.endp = _endpos;
36810 MenhirLib.EngineTypes.next = _menhir_stack;
36811 });
36812 (fun _menhir_env ->
36813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36814 let {
36815 MenhirLib.EngineTypes.semv = m;
36816 MenhirLib.EngineTypes.startp = _startpos_m_;
36817 MenhirLib.EngineTypes.endp = _endpos_m_;
36818 MenhirLib.EngineTypes.next = {
36819 MenhirLib.EngineTypes.semv = r00;
36820 MenhirLib.EngineTypes.startp = _startpos_r00_;
36821 MenhirLib.EngineTypes.endp = _endpos_r00_;
36822 MenhirLib.EngineTypes.next = {
36823 MenhirLib.EngineTypes.semv = d00;
36824 MenhirLib.EngineTypes.startp = _startpos_d00_;
36825 MenhirLib.EngineTypes.endp = _endpos_d00_;
36826 MenhirLib.EngineTypes.next = {
36827 MenhirLib.EngineTypes.semv = l00;
36828 MenhirLib.EngineTypes.startp = _startpos_l00_;
36829 MenhirLib.EngineTypes.endp = _endpos_l00_;
36830 MenhirLib.EngineTypes.next = {
36831 MenhirLib.EngineTypes.semv = x000;
36832 MenhirLib.EngineTypes.startp = _startpos_x000_;
36833 MenhirLib.EngineTypes.endp = _endpos_x000_;
36834 MenhirLib.EngineTypes.next = {
36835 MenhirLib.EngineTypes.semv = s00;
36836 MenhirLib.EngineTypes.startp = _startpos_s00_;
36837 MenhirLib.EngineTypes.endp = _endpos_s00_;
36838 MenhirLib.EngineTypes.next = {
36839 MenhirLib.EngineTypes.state = _menhir_s;
36840 MenhirLib.EngineTypes.semv = x0;
36841 MenhirLib.EngineTypes.startp = _startpos_x0_;
36842 MenhirLib.EngineTypes.endp = _endpos_x0_;
36843 MenhirLib.EngineTypes.next = _menhir_stack;
36844 };
36845 };
36846 };
36847 };
36848 };
36849 };
36850 } = _menhir_stack in
36851 let m : 'tv_list_TMul_ = Obj.magic m in
36852 let r00 : (
36853 # 124 "parser_cocci_menhir.mly"
36854 (Data.clt)
36855 # 36856 "parser_cocci_menhir.ml"
36856 ) = Obj.magic r00 in
36857 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36858 let l00 : (
36859 # 124 "parser_cocci_menhir.mly"
36860 (Data.clt)
36861 # 36862 "parser_cocci_menhir.ml"
36862 ) = Obj.magic l00 in
36863 let x000 : 'tv_ident = Obj.magic x000 in
36864 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36865 let x0 : 'tv_const_vol = Obj.magic x0 in
36866 let _startpos = _startpos_x0_ in
36867 let _endpos = _endpos_m_ in
36868 let _v : 'tv_typedef_ctype = let ty =
36869 let r0 = r00 in
36870 let d0 = d00 in
36871 let l0 = l00 in
36872 let x00 = x000 in
36873 let s0 = s00 in
36874 let ty =
36875 let r = r0 in
36876 let d = d0 in
36877 let l = l0 in
36878 let x0 = x00 in
36879 let s = s0 in
36880 let i =
36881 let x = x0 in
36882
36883 # 41 "standard.mly"
36884 ( Some x )
36885 # 36886 "parser_cocci_menhir.ml"
36886
36887 in
36888
36889 # 566 "parser_cocci_menhir.mly"
36890 ( (if i = None && !Data.in_iso
36891 then failwith "structures must be named in the iso file");
36892 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36893 P.clt2mcode "{" l,
36894 d, P.clt2mcode "}" r)) )
36895 # 36896 "parser_cocci_menhir.ml"
36896
36897 in
36898
36899 # 585 "parser_cocci_menhir.mly"
36900 ( ty )
36901 # 36902 "parser_cocci_menhir.ml"
36902
36903 in
36904 let cv =
36905 let x = x0 in
36906
36907 # 41 "standard.mly"
36908 ( Some x )
36909 # 36910 "parser_cocci_menhir.ml"
36910
36911 in
36912
36913 # 602 "parser_cocci_menhir.mly"
36914 ( P.pointerify (P.make_cv cv ty) m )
36915 # 36916 "parser_cocci_menhir.ml"
36916 in
36917 _menhir_env.MenhirLib.EngineTypes.stack <- {
36918 MenhirLib.EngineTypes.state = _menhir_s;
36919 MenhirLib.EngineTypes.semv = Obj.repr _v;
36920 MenhirLib.EngineTypes.startp = _startpos;
36921 MenhirLib.EngineTypes.endp = _endpos;
36922 MenhirLib.EngineTypes.next = _menhir_stack;
36923 });
36924 (fun _menhir_env ->
36925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36926 let {
36927 MenhirLib.EngineTypes.semv = m;
36928 MenhirLib.EngineTypes.startp = _startpos_m_;
36929 MenhirLib.EngineTypes.endp = _endpos_m_;
36930 MenhirLib.EngineTypes.next = {
36931 MenhirLib.EngineTypes.semv = r00;
36932 MenhirLib.EngineTypes.startp = _startpos_r00_;
36933 MenhirLib.EngineTypes.endp = _endpos_r00_;
36934 MenhirLib.EngineTypes.next = {
36935 MenhirLib.EngineTypes.semv = d00;
36936 MenhirLib.EngineTypes.startp = _startpos_d00_;
36937 MenhirLib.EngineTypes.endp = _endpos_d00_;
36938 MenhirLib.EngineTypes.next = {
36939 MenhirLib.EngineTypes.semv = l00;
36940 MenhirLib.EngineTypes.startp = _startpos_l00_;
36941 MenhirLib.EngineTypes.endp = _endpos_l00_;
36942 MenhirLib.EngineTypes.next = {
36943 MenhirLib.EngineTypes.semv = s00;
36944 MenhirLib.EngineTypes.startp = _startpos_s00_;
36945 MenhirLib.EngineTypes.endp = _endpos_s00_;
36946 MenhirLib.EngineTypes.next = {
36947 MenhirLib.EngineTypes.state = _menhir_s;
36948 MenhirLib.EngineTypes.semv = x0;
36949 MenhirLib.EngineTypes.startp = _startpos_x0_;
36950 MenhirLib.EngineTypes.endp = _endpos_x0_;
36951 MenhirLib.EngineTypes.next = _menhir_stack;
36952 };
36953 };
36954 };
36955 };
36956 };
36957 } = _menhir_stack in
36958 let m : 'tv_list_TMul_ = Obj.magic m in
36959 let r00 : (
36960 # 124 "parser_cocci_menhir.mly"
36961 (Data.clt)
36962 # 36963 "parser_cocci_menhir.ml"
36963 ) = Obj.magic r00 in
36964 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36965 let l00 : (
36966 # 124 "parser_cocci_menhir.mly"
36967 (Data.clt)
36968 # 36969 "parser_cocci_menhir.ml"
36969 ) = Obj.magic l00 in
36970 let s00 : (
36971 # 87 "parser_cocci_menhir.mly"
36972 (Parse_aux.info)
36973 # 36974 "parser_cocci_menhir.ml"
36974 ) = Obj.magic s00 in
36975 let x0 : 'tv_const_vol = Obj.magic x0 in
36976 let _startpos = _startpos_x0_ in
36977 let _endpos = _endpos_m_ in
36978 let _v : 'tv_typedef_ctype = let ty =
36979 let r0 = r00 in
36980 let d0 = d00 in
36981 let l0 = l00 in
36982 let s0 = s00 in
36983 let ty =
36984 let r = r0 in
36985 let d = d0 in
36986 let l = l0 in
36987 let s = s0 in
36988
36989 # 572 "parser_cocci_menhir.mly"
36990 ( let (nm,pure,clt) = s in
36991 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
36992 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
36993 # 36994 "parser_cocci_menhir.ml"
36994
36995 in
36996
36997 # 585 "parser_cocci_menhir.mly"
36998 ( ty )
36999 # 37000 "parser_cocci_menhir.ml"
37000
37001 in
37002 let cv =
37003 let x = x0 in
37004
37005 # 41 "standard.mly"
37006 ( Some x )
37007 # 37008 "parser_cocci_menhir.ml"
37008
37009 in
37010
37011 # 602 "parser_cocci_menhir.mly"
37012 ( P.pointerify (P.make_cv cv ty) m )
37013 # 37014 "parser_cocci_menhir.ml"
37014 in
37015 _menhir_env.MenhirLib.EngineTypes.stack <- {
37016 MenhirLib.EngineTypes.state = _menhir_s;
37017 MenhirLib.EngineTypes.semv = Obj.repr _v;
37018 MenhirLib.EngineTypes.startp = _startpos;
37019 MenhirLib.EngineTypes.endp = _endpos;
37020 MenhirLib.EngineTypes.next = _menhir_stack;
37021 });
37022 (fun _menhir_env ->
37023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37024 let {
37025 MenhirLib.EngineTypes.semv = m;
37026 MenhirLib.EngineTypes.startp = _startpos_m_;
37027 MenhirLib.EngineTypes.endp = _endpos_m_;
37028 MenhirLib.EngineTypes.next = {
37029 MenhirLib.EngineTypes.semv = p00;
37030 MenhirLib.EngineTypes.startp = _startpos_p00_;
37031 MenhirLib.EngineTypes.endp = _endpos_p00_;
37032 MenhirLib.EngineTypes.next = {
37033 MenhirLib.EngineTypes.state = _menhir_s;
37034 MenhirLib.EngineTypes.semv = x0;
37035 MenhirLib.EngineTypes.startp = _startpos_x0_;
37036 MenhirLib.EngineTypes.endp = _endpos_x0_;
37037 MenhirLib.EngineTypes.next = _menhir_stack;
37038 };
37039 };
37040 } = _menhir_stack in
37041 let m : 'tv_list_TMul_ = Obj.magic m in
37042 let p00 : (
37043 # 81 "parser_cocci_menhir.mly"
37044 (string * Data.clt)
37045 # 37046 "parser_cocci_menhir.ml"
37046 ) = Obj.magic p00 in
37047 let x0 : 'tv_const_vol = Obj.magic x0 in
37048 let _startpos = _startpos_x0_ in
37049 let _endpos = _endpos_m_ in
37050 let _v : 'tv_typedef_ctype = let ty =
37051 let p0 = p00 in
37052 let ty =
37053 let p = p0 in
37054
37055 # 576 "parser_cocci_menhir.mly"
37056 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
37057 # 37058 "parser_cocci_menhir.ml"
37058
37059 in
37060
37061 # 585 "parser_cocci_menhir.mly"
37062 ( ty )
37063 # 37064 "parser_cocci_menhir.ml"
37064
37065 in
37066 let cv =
37067 let x = x0 in
37068
37069 # 41 "standard.mly"
37070 ( Some x )
37071 # 37072 "parser_cocci_menhir.ml"
37072
37073 in
37074
37075 # 602 "parser_cocci_menhir.mly"
37076 ( P.pointerify (P.make_cv cv ty) m )
37077 # 37078 "parser_cocci_menhir.ml"
37078 in
37079 _menhir_env.MenhirLib.EngineTypes.stack <- {
37080 MenhirLib.EngineTypes.state = _menhir_s;
37081 MenhirLib.EngineTypes.semv = Obj.repr _v;
37082 MenhirLib.EngineTypes.startp = _startpos;
37083 MenhirLib.EngineTypes.endp = _endpos;
37084 MenhirLib.EngineTypes.next = _menhir_stack;
37085 });
37086 (fun _menhir_env ->
37087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37088 let {
37089 MenhirLib.EngineTypes.semv = rp;
37090 MenhirLib.EngineTypes.startp = _startpos_rp_;
37091 MenhirLib.EngineTypes.endp = _endpos_rp_;
37092 MenhirLib.EngineTypes.next = {
37093 MenhirLib.EngineTypes.semv = t;
37094 MenhirLib.EngineTypes.startp = _startpos_t_;
37095 MenhirLib.EngineTypes.endp = _endpos_t_;
37096 MenhirLib.EngineTypes.next = {
37097 MenhirLib.EngineTypes.state = _menhir_s;
37098 MenhirLib.EngineTypes.semv = lp;
37099 MenhirLib.EngineTypes.startp = _startpos_lp_;
37100 MenhirLib.EngineTypes.endp = _endpos_lp_;
37101 MenhirLib.EngineTypes.next = _menhir_stack;
37102 };
37103 };
37104 } = _menhir_stack in
37105 let rp : (
37106 # 100 "parser_cocci_menhir.mly"
37107 (Data.clt)
37108 # 37109 "parser_cocci_menhir.ml"
37109 ) = Obj.magic rp in
37110 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
37111 let lp : (
37112 # 99 "parser_cocci_menhir.mly"
37113 (Data.clt)
37114 # 37115 "parser_cocci_menhir.ml"
37115 ) = Obj.magic lp in
37116 let _startpos = _startpos_lp_ in
37117 let _endpos = _endpos_rp_ in
37118 let _v : 'tv_typedef_ctype =
37119 # 604 "parser_cocci_menhir.mly"
37120 ( let (mids,code) = t in
37121 Ast0.wrap
37122 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
37123 # 37124 "parser_cocci_menhir.ml"
37124 in
37125 _menhir_env.MenhirLib.EngineTypes.stack <- {
37126 MenhirLib.EngineTypes.state = _menhir_s;
37127 MenhirLib.EngineTypes.semv = Obj.repr _v;
37128 MenhirLib.EngineTypes.startp = _startpos;
37129 MenhirLib.EngineTypes.endp = _endpos;
37130 MenhirLib.EngineTypes.next = _menhir_stack;
37131 });
37132 (fun _menhir_env ->
37133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37134 let {
37135 MenhirLib.EngineTypes.state = _menhir_s;
37136 MenhirLib.EngineTypes.semv = _1;
37137 MenhirLib.EngineTypes.startp = _startpos__1_;
37138 MenhirLib.EngineTypes.endp = _endpos__1_;
37139 MenhirLib.EngineTypes.next = _menhir_stack;
37140 } = _menhir_stack in
37141 let _1 : 'tv_pure_ident = Obj.magic _1 in
37142 let _startpos = _startpos__1_ in
37143 let _endpos = _endpos__1_ in
37144 let _v : 'tv_typedef_ident =
37145 # 1710 "parser_cocci_menhir.mly"
37146 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
37147 # 37148 "parser_cocci_menhir.ml"
37148 in
37149 _menhir_env.MenhirLib.EngineTypes.stack <- {
37150 MenhirLib.EngineTypes.state = _menhir_s;
37151 MenhirLib.EngineTypes.semv = Obj.repr _v;
37152 MenhirLib.EngineTypes.startp = _startpos;
37153 MenhirLib.EngineTypes.endp = _endpos;
37154 MenhirLib.EngineTypes.next = _menhir_stack;
37155 });
37156 (fun _menhir_env ->
37157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37158 let {
37159 MenhirLib.EngineTypes.state = _menhir_s;
37160 MenhirLib.EngineTypes.semv = _1;
37161 MenhirLib.EngineTypes.startp = _startpos__1_;
37162 MenhirLib.EngineTypes.endp = _endpos__1_;
37163 MenhirLib.EngineTypes.next = _menhir_stack;
37164 } = _menhir_stack in
37165 let _1 : (
37166 # 87 "parser_cocci_menhir.mly"
37167 (Parse_aux.info)
37168 # 37169 "parser_cocci_menhir.ml"
37169 ) = Obj.magic _1 in
37170 let _startpos = _startpos__1_ in
37171 let _endpos = _endpos__1_ in
37172 let _v : 'tv_typedef_ident =
37173 # 1712 "parser_cocci_menhir.mly"
37174 ( let (nm,pure,clt) = _1 in
37175 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
37176 # 37177 "parser_cocci_menhir.ml"
37177 in
37178 _menhir_env.MenhirLib.EngineTypes.stack <- {
37179 MenhirLib.EngineTypes.state = _menhir_s;
37180 MenhirLib.EngineTypes.semv = Obj.repr _v;
37181 MenhirLib.EngineTypes.startp = _startpos;
37182 MenhirLib.EngineTypes.endp = _endpos;
37183 MenhirLib.EngineTypes.next = _menhir_stack;
37184 });
37185 (fun _menhir_env ->
37186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37187 let {
37188 MenhirLib.EngineTypes.state = _menhir_s;
37189 MenhirLib.EngineTypes.semv = _1;
37190 MenhirLib.EngineTypes.startp = _startpos__1_;
37191 MenhirLib.EngineTypes.endp = _endpos__1_;
37192 MenhirLib.EngineTypes.next = _menhir_stack;
37193 } = _menhir_stack in
37194 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
37195 let _startpos = _startpos__1_ in
37196 let _endpos = _endpos__1_ in
37197 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37198 # 1348 "parser_cocci_menhir.mly"
37199 ( _1 )
37200 # 37201 "parser_cocci_menhir.ml"
37201 in
37202 _menhir_env.MenhirLib.EngineTypes.stack <- {
37203 MenhirLib.EngineTypes.state = _menhir_s;
37204 MenhirLib.EngineTypes.semv = Obj.repr _v;
37205 MenhirLib.EngineTypes.startp = _startpos;
37206 MenhirLib.EngineTypes.endp = _endpos;
37207 MenhirLib.EngineTypes.next = _menhir_stack;
37208 });
37209 (fun _menhir_env ->
37210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37211 let {
37212 MenhirLib.EngineTypes.semv = _2;
37213 MenhirLib.EngineTypes.startp = _startpos__2_;
37214 MenhirLib.EngineTypes.endp = _endpos__2_;
37215 MenhirLib.EngineTypes.next = {
37216 MenhirLib.EngineTypes.state = _menhir_s;
37217 MenhirLib.EngineTypes.semv = _1;
37218 MenhirLib.EngineTypes.startp = _startpos__1_;
37219 MenhirLib.EngineTypes.endp = _endpos__1_;
37220 MenhirLib.EngineTypes.next = _menhir_stack;
37221 };
37222 } = _menhir_stack in
37223 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37224 let _1 : (
37225 # 108 "parser_cocci_menhir.mly"
37226 (Data.clt)
37227 # 37228 "parser_cocci_menhir.ml"
37228 ) = Obj.magic _1 in
37229 let _startpos = _startpos__1_ in
37230 let _endpos = _endpos__2_ in
37231 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37232 # 1350 "parser_cocci_menhir.mly"
37233 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
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 = _2;
37247 MenhirLib.EngineTypes.startp = _startpos__2_;
37248 MenhirLib.EngineTypes.endp = _endpos__2_;
37249 MenhirLib.EngineTypes.next = {
37250 MenhirLib.EngineTypes.state = _menhir_s;
37251 MenhirLib.EngineTypes.semv = _1;
37252 MenhirLib.EngineTypes.startp = _startpos__1_;
37253 MenhirLib.EngineTypes.endp = _endpos__1_;
37254 MenhirLib.EngineTypes.next = _menhir_stack;
37255 };
37256 } = _menhir_stack in
37257 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37258 let _1 : (
37259 # 108 "parser_cocci_menhir.mly"
37260 (Data.clt)
37261 # 37262 "parser_cocci_menhir.ml"
37262 ) = Obj.magic _1 in
37263 let _startpos = _startpos__1_ in
37264 let _endpos = _endpos__2_ in
37265 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37266 # 1352 "parser_cocci_menhir.mly"
37267 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37268 # 37269 "parser_cocci_menhir.ml"
37269 in
37270 _menhir_env.MenhirLib.EngineTypes.stack <- {
37271 MenhirLib.EngineTypes.state = _menhir_s;
37272 MenhirLib.EngineTypes.semv = Obj.repr _v;
37273 MenhirLib.EngineTypes.startp = _startpos;
37274 MenhirLib.EngineTypes.endp = _endpos;
37275 MenhirLib.EngineTypes.next = _menhir_stack;
37276 });
37277 (fun _menhir_env ->
37278 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37279 let {
37280 MenhirLib.EngineTypes.semv = _2;
37281 MenhirLib.EngineTypes.startp = _startpos__2_;
37282 MenhirLib.EngineTypes.endp = _endpos__2_;
37283 MenhirLib.EngineTypes.next = {
37284 MenhirLib.EngineTypes.state = _menhir_s;
37285 MenhirLib.EngineTypes.semv = _1;
37286 MenhirLib.EngineTypes.startp = _startpos__1_;
37287 MenhirLib.EngineTypes.endp = _endpos__1_;
37288 MenhirLib.EngineTypes.next = _menhir_stack;
37289 };
37290 } = _menhir_stack in
37291 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37292 let _1 : 'tv_unary_op = Obj.magic _1 in
37293 let _startpos = _startpos__1_ in
37294 let _endpos = _endpos__2_ in
37295 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37296 # 1354 "parser_cocci_menhir.mly"
37297 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37298 # 37299 "parser_cocci_menhir.ml"
37299 in
37300 _menhir_env.MenhirLib.EngineTypes.stack <- {
37301 MenhirLib.EngineTypes.state = _menhir_s;
37302 MenhirLib.EngineTypes.semv = Obj.repr _v;
37303 MenhirLib.EngineTypes.startp = _startpos;
37304 MenhirLib.EngineTypes.endp = _endpos;
37305 MenhirLib.EngineTypes.next = _menhir_stack;
37306 });
37307 (fun _menhir_env ->
37308 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37309 let {
37310 MenhirLib.EngineTypes.semv = _2;
37311 MenhirLib.EngineTypes.startp = _startpos__2_;
37312 MenhirLib.EngineTypes.endp = _endpos__2_;
37313 MenhirLib.EngineTypes.next = {
37314 MenhirLib.EngineTypes.state = _menhir_s;
37315 MenhirLib.EngineTypes.semv = _1;
37316 MenhirLib.EngineTypes.startp = _startpos__1_;
37317 MenhirLib.EngineTypes.endp = _endpos__1_;
37318 MenhirLib.EngineTypes.next = _menhir_stack;
37319 };
37320 } = _menhir_stack in
37321 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37322 let _1 : (
37323 # 99 "parser_cocci_menhir.mly"
37324 (Data.clt)
37325 # 37326 "parser_cocci_menhir.ml"
37326 ) = Obj.magic _1 in
37327 let _startpos = _startpos__1_ in
37328 let _endpos = _endpos__2_ in
37329 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37330 # 1356 "parser_cocci_menhir.mly"
37331 ( let mcode = P.clt2mcode Ast.Not _1 in
37332 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37333 # 37334 "parser_cocci_menhir.ml"
37334 in
37335 _menhir_env.MenhirLib.EngineTypes.stack <- {
37336 MenhirLib.EngineTypes.state = _menhir_s;
37337 MenhirLib.EngineTypes.semv = Obj.repr _v;
37338 MenhirLib.EngineTypes.startp = _startpos;
37339 MenhirLib.EngineTypes.endp = _endpos;
37340 MenhirLib.EngineTypes.next = _menhir_stack;
37341 });
37342 (fun _menhir_env ->
37343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37344 let {
37345 MenhirLib.EngineTypes.semv = _2;
37346 MenhirLib.EngineTypes.startp = _startpos__2_;
37347 MenhirLib.EngineTypes.endp = _endpos__2_;
37348 MenhirLib.EngineTypes.next = {
37349 MenhirLib.EngineTypes.state = _menhir_s;
37350 MenhirLib.EngineTypes.semv = _1;
37351 MenhirLib.EngineTypes.startp = _startpos__1_;
37352 MenhirLib.EngineTypes.endp = _endpos__1_;
37353 MenhirLib.EngineTypes.next = _menhir_stack;
37354 };
37355 } = _menhir_stack in
37356 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37357 let _1 : (
37358 # 80 "parser_cocci_menhir.mly"
37359 (Data.clt)
37360 # 37361 "parser_cocci_menhir.ml"
37361 ) = Obj.magic _1 in
37362 let _startpos = _startpos__1_ in
37363 let _endpos = _endpos__2_ in
37364 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37365 # 1359 "parser_cocci_menhir.mly"
37366 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37367 # 37368 "parser_cocci_menhir.ml"
37368 in
37369 _menhir_env.MenhirLib.EngineTypes.stack <- {
37370 MenhirLib.EngineTypes.state = _menhir_s;
37371 MenhirLib.EngineTypes.semv = Obj.repr _v;
37372 MenhirLib.EngineTypes.startp = _startpos;
37373 MenhirLib.EngineTypes.endp = _endpos;
37374 MenhirLib.EngineTypes.next = _menhir_stack;
37375 });
37376 (fun _menhir_env ->
37377 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37378 let {
37379 MenhirLib.EngineTypes.semv = rp;
37380 MenhirLib.EngineTypes.startp = _startpos_rp_;
37381 MenhirLib.EngineTypes.endp = _endpos_rp_;
37382 MenhirLib.EngineTypes.next = {
37383 MenhirLib.EngineTypes.semv = t;
37384 MenhirLib.EngineTypes.startp = _startpos_t_;
37385 MenhirLib.EngineTypes.endp = _endpos_t_;
37386 MenhirLib.EngineTypes.next = {
37387 MenhirLib.EngineTypes.semv = lp;
37388 MenhirLib.EngineTypes.startp = _startpos_lp_;
37389 MenhirLib.EngineTypes.endp = _endpos_lp_;
37390 MenhirLib.EngineTypes.next = {
37391 MenhirLib.EngineTypes.state = _menhir_s;
37392 MenhirLib.EngineTypes.semv = s;
37393 MenhirLib.EngineTypes.startp = _startpos_s_;
37394 MenhirLib.EngineTypes.endp = _endpos_s_;
37395 MenhirLib.EngineTypes.next = _menhir_stack;
37396 };
37397 };
37398 };
37399 } = _menhir_stack in
37400 let rp : (
37401 # 100 "parser_cocci_menhir.mly"
37402 (Data.clt)
37403 # 37404 "parser_cocci_menhir.ml"
37404 ) = Obj.magic rp in
37405 let t : 'tv_ctype = Obj.magic t in
37406 let lp : (
37407 # 99 "parser_cocci_menhir.mly"
37408 (Data.clt)
37409 # 37410 "parser_cocci_menhir.ml"
37410 ) = Obj.magic lp in
37411 let s : (
37412 # 80 "parser_cocci_menhir.mly"
37413 (Data.clt)
37414 # 37415 "parser_cocci_menhir.ml"
37415 ) = Obj.magic s in
37416 let _startpos = _startpos_s_ in
37417 let _endpos = _endpos_rp_ in
37418 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37419 # 1361 "parser_cocci_menhir.mly"
37420 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37421 P.clt2mcode "(" lp,t,
37422 P.clt2mcode ")" rp)) )
37423 # 37424 "parser_cocci_menhir.ml"
37424 in
37425 _menhir_env.MenhirLib.EngineTypes.stack <- {
37426 MenhirLib.EngineTypes.state = _menhir_s;
37427 MenhirLib.EngineTypes.semv = Obj.repr _v;
37428 MenhirLib.EngineTypes.startp = _startpos;
37429 MenhirLib.EngineTypes.endp = _endpos;
37430 MenhirLib.EngineTypes.next = _menhir_stack;
37431 });
37432 (fun _menhir_env ->
37433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37434 let {
37435 MenhirLib.EngineTypes.state = _menhir_s;
37436 MenhirLib.EngineTypes.semv = _1;
37437 MenhirLib.EngineTypes.startp = _startpos__1_;
37438 MenhirLib.EngineTypes.endp = _endpos__1_;
37439 MenhirLib.EngineTypes.next = _menhir_stack;
37440 } = _menhir_stack in
37441 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
37442 let _startpos = _startpos__1_ in
37443 let _endpos = _endpos__1_ in
37444 let _v : 'tv_unary_expr_eexpr_invalid_ =
37445 # 1348 "parser_cocci_menhir.mly"
37446 ( _1 )
37447 # 37448 "parser_cocci_menhir.ml"
37448 in
37449 _menhir_env.MenhirLib.EngineTypes.stack <- {
37450 MenhirLib.EngineTypes.state = _menhir_s;
37451 MenhirLib.EngineTypes.semv = Obj.repr _v;
37452 MenhirLib.EngineTypes.startp = _startpos;
37453 MenhirLib.EngineTypes.endp = _endpos;
37454 MenhirLib.EngineTypes.next = _menhir_stack;
37455 });
37456 (fun _menhir_env ->
37457 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37458 let {
37459 MenhirLib.EngineTypes.semv = _2;
37460 MenhirLib.EngineTypes.startp = _startpos__2_;
37461 MenhirLib.EngineTypes.endp = _endpos__2_;
37462 MenhirLib.EngineTypes.next = {
37463 MenhirLib.EngineTypes.state = _menhir_s;
37464 MenhirLib.EngineTypes.semv = _1;
37465 MenhirLib.EngineTypes.startp = _startpos__1_;
37466 MenhirLib.EngineTypes.endp = _endpos__1_;
37467 MenhirLib.EngineTypes.next = _menhir_stack;
37468 };
37469 } = _menhir_stack in
37470 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37471 let _1 : (
37472 # 108 "parser_cocci_menhir.mly"
37473 (Data.clt)
37474 # 37475 "parser_cocci_menhir.ml"
37475 ) = Obj.magic _1 in
37476 let _startpos = _startpos__1_ in
37477 let _endpos = _endpos__2_ in
37478 let _v : 'tv_unary_expr_eexpr_invalid_ =
37479 # 1350 "parser_cocci_menhir.mly"
37480 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37481 # 37482 "parser_cocci_menhir.ml"
37482 in
37483 _menhir_env.MenhirLib.EngineTypes.stack <- {
37484 MenhirLib.EngineTypes.state = _menhir_s;
37485 MenhirLib.EngineTypes.semv = Obj.repr _v;
37486 MenhirLib.EngineTypes.startp = _startpos;
37487 MenhirLib.EngineTypes.endp = _endpos;
37488 MenhirLib.EngineTypes.next = _menhir_stack;
37489 });
37490 (fun _menhir_env ->
37491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37492 let {
37493 MenhirLib.EngineTypes.semv = _2;
37494 MenhirLib.EngineTypes.startp = _startpos__2_;
37495 MenhirLib.EngineTypes.endp = _endpos__2_;
37496 MenhirLib.EngineTypes.next = {
37497 MenhirLib.EngineTypes.state = _menhir_s;
37498 MenhirLib.EngineTypes.semv = _1;
37499 MenhirLib.EngineTypes.startp = _startpos__1_;
37500 MenhirLib.EngineTypes.endp = _endpos__1_;
37501 MenhirLib.EngineTypes.next = _menhir_stack;
37502 };
37503 } = _menhir_stack in
37504 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37505 let _1 : (
37506 # 108 "parser_cocci_menhir.mly"
37507 (Data.clt)
37508 # 37509 "parser_cocci_menhir.ml"
37509 ) = Obj.magic _1 in
37510 let _startpos = _startpos__1_ in
37511 let _endpos = _endpos__2_ in
37512 let _v : 'tv_unary_expr_eexpr_invalid_ =
37513 # 1352 "parser_cocci_menhir.mly"
37514 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37515 # 37516 "parser_cocci_menhir.ml"
37516 in
37517 _menhir_env.MenhirLib.EngineTypes.stack <- {
37518 MenhirLib.EngineTypes.state = _menhir_s;
37519 MenhirLib.EngineTypes.semv = Obj.repr _v;
37520 MenhirLib.EngineTypes.startp = _startpos;
37521 MenhirLib.EngineTypes.endp = _endpos;
37522 MenhirLib.EngineTypes.next = _menhir_stack;
37523 });
37524 (fun _menhir_env ->
37525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37526 let {
37527 MenhirLib.EngineTypes.semv = _2;
37528 MenhirLib.EngineTypes.startp = _startpos__2_;
37529 MenhirLib.EngineTypes.endp = _endpos__2_;
37530 MenhirLib.EngineTypes.next = {
37531 MenhirLib.EngineTypes.state = _menhir_s;
37532 MenhirLib.EngineTypes.semv = _1;
37533 MenhirLib.EngineTypes.startp = _startpos__1_;
37534 MenhirLib.EngineTypes.endp = _endpos__1_;
37535 MenhirLib.EngineTypes.next = _menhir_stack;
37536 };
37537 } = _menhir_stack in
37538 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
37539 let _1 : 'tv_unary_op = Obj.magic _1 in
37540 let _startpos = _startpos__1_ in
37541 let _endpos = _endpos__2_ in
37542 let _v : 'tv_unary_expr_eexpr_invalid_ =
37543 # 1354 "parser_cocci_menhir.mly"
37544 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37545 # 37546 "parser_cocci_menhir.ml"
37546 in
37547 _menhir_env.MenhirLib.EngineTypes.stack <- {
37548 MenhirLib.EngineTypes.state = _menhir_s;
37549 MenhirLib.EngineTypes.semv = Obj.repr _v;
37550 MenhirLib.EngineTypes.startp = _startpos;
37551 MenhirLib.EngineTypes.endp = _endpos;
37552 MenhirLib.EngineTypes.next = _menhir_stack;
37553 });
37554 (fun _menhir_env ->
37555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37556 let {
37557 MenhirLib.EngineTypes.semv = _2;
37558 MenhirLib.EngineTypes.startp = _startpos__2_;
37559 MenhirLib.EngineTypes.endp = _endpos__2_;
37560 MenhirLib.EngineTypes.next = {
37561 MenhirLib.EngineTypes.state = _menhir_s;
37562 MenhirLib.EngineTypes.semv = _1;
37563 MenhirLib.EngineTypes.startp = _startpos__1_;
37564 MenhirLib.EngineTypes.endp = _endpos__1_;
37565 MenhirLib.EngineTypes.next = _menhir_stack;
37566 };
37567 } = _menhir_stack in
37568 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37569 let _1 : (
37570 # 99 "parser_cocci_menhir.mly"
37571 (Data.clt)
37572 # 37573 "parser_cocci_menhir.ml"
37573 ) = Obj.magic _1 in
37574 let _startpos = _startpos__1_ in
37575 let _endpos = _endpos__2_ in
37576 let _v : 'tv_unary_expr_eexpr_invalid_ =
37577 # 1356 "parser_cocci_menhir.mly"
37578 ( let mcode = P.clt2mcode Ast.Not _1 in
37579 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37580 # 37581 "parser_cocci_menhir.ml"
37581 in
37582 _menhir_env.MenhirLib.EngineTypes.stack <- {
37583 MenhirLib.EngineTypes.state = _menhir_s;
37584 MenhirLib.EngineTypes.semv = Obj.repr _v;
37585 MenhirLib.EngineTypes.startp = _startpos;
37586 MenhirLib.EngineTypes.endp = _endpos;
37587 MenhirLib.EngineTypes.next = _menhir_stack;
37588 });
37589 (fun _menhir_env ->
37590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37591 let {
37592 MenhirLib.EngineTypes.semv = _2;
37593 MenhirLib.EngineTypes.startp = _startpos__2_;
37594 MenhirLib.EngineTypes.endp = _endpos__2_;
37595 MenhirLib.EngineTypes.next = {
37596 MenhirLib.EngineTypes.state = _menhir_s;
37597 MenhirLib.EngineTypes.semv = _1;
37598 MenhirLib.EngineTypes.startp = _startpos__1_;
37599 MenhirLib.EngineTypes.endp = _endpos__1_;
37600 MenhirLib.EngineTypes.next = _menhir_stack;
37601 };
37602 } = _menhir_stack in
37603 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37604 let _1 : (
37605 # 80 "parser_cocci_menhir.mly"
37606 (Data.clt)
37607 # 37608 "parser_cocci_menhir.ml"
37608 ) = Obj.magic _1 in
37609 let _startpos = _startpos__1_ in
37610 let _endpos = _endpos__2_ in
37611 let _v : 'tv_unary_expr_eexpr_invalid_ =
37612 # 1359 "parser_cocci_menhir.mly"
37613 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37614 # 37615 "parser_cocci_menhir.ml"
37615 in
37616 _menhir_env.MenhirLib.EngineTypes.stack <- {
37617 MenhirLib.EngineTypes.state = _menhir_s;
37618 MenhirLib.EngineTypes.semv = Obj.repr _v;
37619 MenhirLib.EngineTypes.startp = _startpos;
37620 MenhirLib.EngineTypes.endp = _endpos;
37621 MenhirLib.EngineTypes.next = _menhir_stack;
37622 });
37623 (fun _menhir_env ->
37624 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37625 let {
37626 MenhirLib.EngineTypes.semv = rp;
37627 MenhirLib.EngineTypes.startp = _startpos_rp_;
37628 MenhirLib.EngineTypes.endp = _endpos_rp_;
37629 MenhirLib.EngineTypes.next = {
37630 MenhirLib.EngineTypes.semv = t;
37631 MenhirLib.EngineTypes.startp = _startpos_t_;
37632 MenhirLib.EngineTypes.endp = _endpos_t_;
37633 MenhirLib.EngineTypes.next = {
37634 MenhirLib.EngineTypes.semv = lp;
37635 MenhirLib.EngineTypes.startp = _startpos_lp_;
37636 MenhirLib.EngineTypes.endp = _endpos_lp_;
37637 MenhirLib.EngineTypes.next = {
37638 MenhirLib.EngineTypes.state = _menhir_s;
37639 MenhirLib.EngineTypes.semv = s;
37640 MenhirLib.EngineTypes.startp = _startpos_s_;
37641 MenhirLib.EngineTypes.endp = _endpos_s_;
37642 MenhirLib.EngineTypes.next = _menhir_stack;
37643 };
37644 };
37645 };
37646 } = _menhir_stack in
37647 let rp : (
37648 # 100 "parser_cocci_menhir.mly"
37649 (Data.clt)
37650 # 37651 "parser_cocci_menhir.ml"
37651 ) = Obj.magic rp in
37652 let t : 'tv_ctype = Obj.magic t in
37653 let lp : (
37654 # 99 "parser_cocci_menhir.mly"
37655 (Data.clt)
37656 # 37657 "parser_cocci_menhir.ml"
37657 ) = Obj.magic lp in
37658 let s : (
37659 # 80 "parser_cocci_menhir.mly"
37660 (Data.clt)
37661 # 37662 "parser_cocci_menhir.ml"
37662 ) = Obj.magic s in
37663 let _startpos = _startpos_s_ in
37664 let _endpos = _endpos_rp_ in
37665 let _v : 'tv_unary_expr_eexpr_invalid_ =
37666 # 1361 "parser_cocci_menhir.mly"
37667 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37668 P.clt2mcode "(" lp,t,
37669 P.clt2mcode ")" rp)) )
37670 # 37671 "parser_cocci_menhir.ml"
37671 in
37672 _menhir_env.MenhirLib.EngineTypes.stack <- {
37673 MenhirLib.EngineTypes.state = _menhir_s;
37674 MenhirLib.EngineTypes.semv = Obj.repr _v;
37675 MenhirLib.EngineTypes.startp = _startpos;
37676 MenhirLib.EngineTypes.endp = _endpos;
37677 MenhirLib.EngineTypes.next = _menhir_stack;
37678 });
37679 (fun _menhir_env ->
37680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37681 let {
37682 MenhirLib.EngineTypes.state = _menhir_s;
37683 MenhirLib.EngineTypes.semv = _1;
37684 MenhirLib.EngineTypes.startp = _startpos__1_;
37685 MenhirLib.EngineTypes.endp = _endpos__1_;
37686 MenhirLib.EngineTypes.next = _menhir_stack;
37687 } = _menhir_stack in
37688 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
37689 let _startpos = _startpos__1_ in
37690 let _endpos = _endpos__1_ in
37691 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37692 # 1348 "parser_cocci_menhir.mly"
37693 ( _1 )
37694 # 37695 "parser_cocci_menhir.ml"
37695 in
37696 _menhir_env.MenhirLib.EngineTypes.stack <- {
37697 MenhirLib.EngineTypes.state = _menhir_s;
37698 MenhirLib.EngineTypes.semv = Obj.repr _v;
37699 MenhirLib.EngineTypes.startp = _startpos;
37700 MenhirLib.EngineTypes.endp = _endpos;
37701 MenhirLib.EngineTypes.next = _menhir_stack;
37702 });
37703 (fun _menhir_env ->
37704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37705 let {
37706 MenhirLib.EngineTypes.semv = _2;
37707 MenhirLib.EngineTypes.startp = _startpos__2_;
37708 MenhirLib.EngineTypes.endp = _endpos__2_;
37709 MenhirLib.EngineTypes.next = {
37710 MenhirLib.EngineTypes.state = _menhir_s;
37711 MenhirLib.EngineTypes.semv = _1;
37712 MenhirLib.EngineTypes.startp = _startpos__1_;
37713 MenhirLib.EngineTypes.endp = _endpos__1_;
37714 MenhirLib.EngineTypes.next = _menhir_stack;
37715 };
37716 } = _menhir_stack in
37717 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37718 let _1 : (
37719 # 108 "parser_cocci_menhir.mly"
37720 (Data.clt)
37721 # 37722 "parser_cocci_menhir.ml"
37722 ) = Obj.magic _1 in
37723 let _startpos = _startpos__1_ in
37724 let _endpos = _endpos__2_ in
37725 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37726 # 1350 "parser_cocci_menhir.mly"
37727 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37728 # 37729 "parser_cocci_menhir.ml"
37729 in
37730 _menhir_env.MenhirLib.EngineTypes.stack <- {
37731 MenhirLib.EngineTypes.state = _menhir_s;
37732 MenhirLib.EngineTypes.semv = Obj.repr _v;
37733 MenhirLib.EngineTypes.startp = _startpos;
37734 MenhirLib.EngineTypes.endp = _endpos;
37735 MenhirLib.EngineTypes.next = _menhir_stack;
37736 });
37737 (fun _menhir_env ->
37738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37739 let {
37740 MenhirLib.EngineTypes.semv = _2;
37741 MenhirLib.EngineTypes.startp = _startpos__2_;
37742 MenhirLib.EngineTypes.endp = _endpos__2_;
37743 MenhirLib.EngineTypes.next = {
37744 MenhirLib.EngineTypes.state = _menhir_s;
37745 MenhirLib.EngineTypes.semv = _1;
37746 MenhirLib.EngineTypes.startp = _startpos__1_;
37747 MenhirLib.EngineTypes.endp = _endpos__1_;
37748 MenhirLib.EngineTypes.next = _menhir_stack;
37749 };
37750 } = _menhir_stack in
37751 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37752 let _1 : (
37753 # 108 "parser_cocci_menhir.mly"
37754 (Data.clt)
37755 # 37756 "parser_cocci_menhir.ml"
37756 ) = Obj.magic _1 in
37757 let _startpos = _startpos__1_ in
37758 let _endpos = _endpos__2_ in
37759 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37760 # 1352 "parser_cocci_menhir.mly"
37761 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37762 # 37763 "parser_cocci_menhir.ml"
37763 in
37764 _menhir_env.MenhirLib.EngineTypes.stack <- {
37765 MenhirLib.EngineTypes.state = _menhir_s;
37766 MenhirLib.EngineTypes.semv = Obj.repr _v;
37767 MenhirLib.EngineTypes.startp = _startpos;
37768 MenhirLib.EngineTypes.endp = _endpos;
37769 MenhirLib.EngineTypes.next = _menhir_stack;
37770 });
37771 (fun _menhir_env ->
37772 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37773 let {
37774 MenhirLib.EngineTypes.semv = _2;
37775 MenhirLib.EngineTypes.startp = _startpos__2_;
37776 MenhirLib.EngineTypes.endp = _endpos__2_;
37777 MenhirLib.EngineTypes.next = {
37778 MenhirLib.EngineTypes.state = _menhir_s;
37779 MenhirLib.EngineTypes.semv = _1;
37780 MenhirLib.EngineTypes.startp = _startpos__1_;
37781 MenhirLib.EngineTypes.endp = _endpos__1_;
37782 MenhirLib.EngineTypes.next = _menhir_stack;
37783 };
37784 } = _menhir_stack in
37785 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37786 let _1 : 'tv_unary_op = Obj.magic _1 in
37787 let _startpos = _startpos__1_ in
37788 let _endpos = _endpos__2_ in
37789 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37790 # 1354 "parser_cocci_menhir.mly"
37791 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37792 # 37793 "parser_cocci_menhir.ml"
37793 in
37794 _menhir_env.MenhirLib.EngineTypes.stack <- {
37795 MenhirLib.EngineTypes.state = _menhir_s;
37796 MenhirLib.EngineTypes.semv = Obj.repr _v;
37797 MenhirLib.EngineTypes.startp = _startpos;
37798 MenhirLib.EngineTypes.endp = _endpos;
37799 MenhirLib.EngineTypes.next = _menhir_stack;
37800 });
37801 (fun _menhir_env ->
37802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37803 let {
37804 MenhirLib.EngineTypes.semv = _2;
37805 MenhirLib.EngineTypes.startp = _startpos__2_;
37806 MenhirLib.EngineTypes.endp = _endpos__2_;
37807 MenhirLib.EngineTypes.next = {
37808 MenhirLib.EngineTypes.state = _menhir_s;
37809 MenhirLib.EngineTypes.semv = _1;
37810 MenhirLib.EngineTypes.startp = _startpos__1_;
37811 MenhirLib.EngineTypes.endp = _endpos__1_;
37812 MenhirLib.EngineTypes.next = _menhir_stack;
37813 };
37814 } = _menhir_stack in
37815 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37816 let _1 : (
37817 # 99 "parser_cocci_menhir.mly"
37818 (Data.clt)
37819 # 37820 "parser_cocci_menhir.ml"
37820 ) = Obj.magic _1 in
37821 let _startpos = _startpos__1_ in
37822 let _endpos = _endpos__2_ in
37823 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37824 # 1356 "parser_cocci_menhir.mly"
37825 ( let mcode = P.clt2mcode Ast.Not _1 in
37826 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37827 # 37828 "parser_cocci_menhir.ml"
37828 in
37829 _menhir_env.MenhirLib.EngineTypes.stack <- {
37830 MenhirLib.EngineTypes.state = _menhir_s;
37831 MenhirLib.EngineTypes.semv = Obj.repr _v;
37832 MenhirLib.EngineTypes.startp = _startpos;
37833 MenhirLib.EngineTypes.endp = _endpos;
37834 MenhirLib.EngineTypes.next = _menhir_stack;
37835 });
37836 (fun _menhir_env ->
37837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37838 let {
37839 MenhirLib.EngineTypes.semv = _2;
37840 MenhirLib.EngineTypes.startp = _startpos__2_;
37841 MenhirLib.EngineTypes.endp = _endpos__2_;
37842 MenhirLib.EngineTypes.next = {
37843 MenhirLib.EngineTypes.state = _menhir_s;
37844 MenhirLib.EngineTypes.semv = _1;
37845 MenhirLib.EngineTypes.startp = _startpos__1_;
37846 MenhirLib.EngineTypes.endp = _endpos__1_;
37847 MenhirLib.EngineTypes.next = _menhir_stack;
37848 };
37849 } = _menhir_stack in
37850 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37851 let _1 : (
37852 # 80 "parser_cocci_menhir.mly"
37853 (Data.clt)
37854 # 37855 "parser_cocci_menhir.ml"
37855 ) = Obj.magic _1 in
37856 let _startpos = _startpos__1_ in
37857 let _endpos = _endpos__2_ in
37858 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37859 # 1359 "parser_cocci_menhir.mly"
37860 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37861 # 37862 "parser_cocci_menhir.ml"
37862 in
37863 _menhir_env.MenhirLib.EngineTypes.stack <- {
37864 MenhirLib.EngineTypes.state = _menhir_s;
37865 MenhirLib.EngineTypes.semv = Obj.repr _v;
37866 MenhirLib.EngineTypes.startp = _startpos;
37867 MenhirLib.EngineTypes.endp = _endpos;
37868 MenhirLib.EngineTypes.next = _menhir_stack;
37869 });
37870 (fun _menhir_env ->
37871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37872 let {
37873 MenhirLib.EngineTypes.semv = rp;
37874 MenhirLib.EngineTypes.startp = _startpos_rp_;
37875 MenhirLib.EngineTypes.endp = _endpos_rp_;
37876 MenhirLib.EngineTypes.next = {
37877 MenhirLib.EngineTypes.semv = t;
37878 MenhirLib.EngineTypes.startp = _startpos_t_;
37879 MenhirLib.EngineTypes.endp = _endpos_t_;
37880 MenhirLib.EngineTypes.next = {
37881 MenhirLib.EngineTypes.semv = lp;
37882 MenhirLib.EngineTypes.startp = _startpos_lp_;
37883 MenhirLib.EngineTypes.endp = _endpos_lp_;
37884 MenhirLib.EngineTypes.next = {
37885 MenhirLib.EngineTypes.state = _menhir_s;
37886 MenhirLib.EngineTypes.semv = s;
37887 MenhirLib.EngineTypes.startp = _startpos_s_;
37888 MenhirLib.EngineTypes.endp = _endpos_s_;
37889 MenhirLib.EngineTypes.next = _menhir_stack;
37890 };
37891 };
37892 };
37893 } = _menhir_stack in
37894 let rp : (
37895 # 100 "parser_cocci_menhir.mly"
37896 (Data.clt)
37897 # 37898 "parser_cocci_menhir.ml"
37898 ) = Obj.magic rp in
37899 let t : 'tv_ctype = Obj.magic t in
37900 let lp : (
37901 # 99 "parser_cocci_menhir.mly"
37902 (Data.clt)
37903 # 37904 "parser_cocci_menhir.ml"
37904 ) = Obj.magic lp in
37905 let s : (
37906 # 80 "parser_cocci_menhir.mly"
37907 (Data.clt)
37908 # 37909 "parser_cocci_menhir.ml"
37909 ) = Obj.magic s in
37910 let _startpos = _startpos_s_ in
37911 let _endpos = _endpos_rp_ in
37912 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37913 # 1361 "parser_cocci_menhir.mly"
37914 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37915 P.clt2mcode "(" lp,t,
37916 P.clt2mcode ")" rp)) )
37917 # 37918 "parser_cocci_menhir.ml"
37918 in
37919 _menhir_env.MenhirLib.EngineTypes.stack <- {
37920 MenhirLib.EngineTypes.state = _menhir_s;
37921 MenhirLib.EngineTypes.semv = Obj.repr _v;
37922 MenhirLib.EngineTypes.startp = _startpos;
37923 MenhirLib.EngineTypes.endp = _endpos;
37924 MenhirLib.EngineTypes.next = _menhir_stack;
37925 });
37926 (fun _menhir_env ->
37927 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37928 let {
37929 MenhirLib.EngineTypes.state = _menhir_s;
37930 MenhirLib.EngineTypes.semv = _1;
37931 MenhirLib.EngineTypes.startp = _startpos__1_;
37932 MenhirLib.EngineTypes.endp = _endpos__1_;
37933 MenhirLib.EngineTypes.next = _menhir_stack;
37934 } = _menhir_stack in
37935 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
37936 let _startpos = _startpos__1_ in
37937 let _endpos = _endpos__1_ in
37938 let _v : 'tv_unary_expr_expr_invalid_ =
37939 # 1348 "parser_cocci_menhir.mly"
37940 ( _1 )
37941 # 37942 "parser_cocci_menhir.ml"
37942 in
37943 _menhir_env.MenhirLib.EngineTypes.stack <- {
37944 MenhirLib.EngineTypes.state = _menhir_s;
37945 MenhirLib.EngineTypes.semv = Obj.repr _v;
37946 MenhirLib.EngineTypes.startp = _startpos;
37947 MenhirLib.EngineTypes.endp = _endpos;
37948 MenhirLib.EngineTypes.next = _menhir_stack;
37949 });
37950 (fun _menhir_env ->
37951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37952 let {
37953 MenhirLib.EngineTypes.semv = _2;
37954 MenhirLib.EngineTypes.startp = _startpos__2_;
37955 MenhirLib.EngineTypes.endp = _endpos__2_;
37956 MenhirLib.EngineTypes.next = {
37957 MenhirLib.EngineTypes.state = _menhir_s;
37958 MenhirLib.EngineTypes.semv = _1;
37959 MenhirLib.EngineTypes.startp = _startpos__1_;
37960 MenhirLib.EngineTypes.endp = _endpos__1_;
37961 MenhirLib.EngineTypes.next = _menhir_stack;
37962 };
37963 } = _menhir_stack in
37964 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37965 let _1 : (
37966 # 108 "parser_cocci_menhir.mly"
37967 (Data.clt)
37968 # 37969 "parser_cocci_menhir.ml"
37969 ) = Obj.magic _1 in
37970 let _startpos = _startpos__1_ in
37971 let _endpos = _endpos__2_ in
37972 let _v : 'tv_unary_expr_expr_invalid_ =
37973 # 1350 "parser_cocci_menhir.mly"
37974 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37975 # 37976 "parser_cocci_menhir.ml"
37976 in
37977 _menhir_env.MenhirLib.EngineTypes.stack <- {
37978 MenhirLib.EngineTypes.state = _menhir_s;
37979 MenhirLib.EngineTypes.semv = Obj.repr _v;
37980 MenhirLib.EngineTypes.startp = _startpos;
37981 MenhirLib.EngineTypes.endp = _endpos;
37982 MenhirLib.EngineTypes.next = _menhir_stack;
37983 });
37984 (fun _menhir_env ->
37985 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37986 let {
37987 MenhirLib.EngineTypes.semv = _2;
37988 MenhirLib.EngineTypes.startp = _startpos__2_;
37989 MenhirLib.EngineTypes.endp = _endpos__2_;
37990 MenhirLib.EngineTypes.next = {
37991 MenhirLib.EngineTypes.state = _menhir_s;
37992 MenhirLib.EngineTypes.semv = _1;
37993 MenhirLib.EngineTypes.startp = _startpos__1_;
37994 MenhirLib.EngineTypes.endp = _endpos__1_;
37995 MenhirLib.EngineTypes.next = _menhir_stack;
37996 };
37997 } = _menhir_stack in
37998 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37999 let _1 : (
38000 # 108 "parser_cocci_menhir.mly"
38001 (Data.clt)
38002 # 38003 "parser_cocci_menhir.ml"
38003 ) = Obj.magic _1 in
38004 let _startpos = _startpos__1_ in
38005 let _endpos = _endpos__2_ in
38006 let _v : 'tv_unary_expr_expr_invalid_ =
38007 # 1352 "parser_cocci_menhir.mly"
38008 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
38009 # 38010 "parser_cocci_menhir.ml"
38010 in
38011 _menhir_env.MenhirLib.EngineTypes.stack <- {
38012 MenhirLib.EngineTypes.state = _menhir_s;
38013 MenhirLib.EngineTypes.semv = Obj.repr _v;
38014 MenhirLib.EngineTypes.startp = _startpos;
38015 MenhirLib.EngineTypes.endp = _endpos;
38016 MenhirLib.EngineTypes.next = _menhir_stack;
38017 });
38018 (fun _menhir_env ->
38019 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38020 let {
38021 MenhirLib.EngineTypes.semv = _2;
38022 MenhirLib.EngineTypes.startp = _startpos__2_;
38023 MenhirLib.EngineTypes.endp = _endpos__2_;
38024 MenhirLib.EngineTypes.next = {
38025 MenhirLib.EngineTypes.state = _menhir_s;
38026 MenhirLib.EngineTypes.semv = _1;
38027 MenhirLib.EngineTypes.startp = _startpos__1_;
38028 MenhirLib.EngineTypes.endp = _endpos__1_;
38029 MenhirLib.EngineTypes.next = _menhir_stack;
38030 };
38031 } = _menhir_stack in
38032 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
38033 let _1 : 'tv_unary_op = Obj.magic _1 in
38034 let _startpos = _startpos__1_ in
38035 let _endpos = _endpos__2_ in
38036 let _v : 'tv_unary_expr_expr_invalid_ =
38037 # 1354 "parser_cocci_menhir.mly"
38038 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
38039 # 38040 "parser_cocci_menhir.ml"
38040 in
38041 _menhir_env.MenhirLib.EngineTypes.stack <- {
38042 MenhirLib.EngineTypes.state = _menhir_s;
38043 MenhirLib.EngineTypes.semv = Obj.repr _v;
38044 MenhirLib.EngineTypes.startp = _startpos;
38045 MenhirLib.EngineTypes.endp = _endpos;
38046 MenhirLib.EngineTypes.next = _menhir_stack;
38047 });
38048 (fun _menhir_env ->
38049 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38050 let {
38051 MenhirLib.EngineTypes.semv = _2;
38052 MenhirLib.EngineTypes.startp = _startpos__2_;
38053 MenhirLib.EngineTypes.endp = _endpos__2_;
38054 MenhirLib.EngineTypes.next = {
38055 MenhirLib.EngineTypes.state = _menhir_s;
38056 MenhirLib.EngineTypes.semv = _1;
38057 MenhirLib.EngineTypes.startp = _startpos__1_;
38058 MenhirLib.EngineTypes.endp = _endpos__1_;
38059 MenhirLib.EngineTypes.next = _menhir_stack;
38060 };
38061 } = _menhir_stack in
38062 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
38063 let _1 : (
38064 # 99 "parser_cocci_menhir.mly"
38065 (Data.clt)
38066 # 38067 "parser_cocci_menhir.ml"
38067 ) = Obj.magic _1 in
38068 let _startpos = _startpos__1_ in
38069 let _endpos = _endpos__2_ in
38070 let _v : 'tv_unary_expr_expr_invalid_ =
38071 # 1356 "parser_cocci_menhir.mly"
38072 ( let mcode = P.clt2mcode Ast.Not _1 in
38073 Ast0.wrap(Ast0.Unary(_2, mcode)) )
38074 # 38075 "parser_cocci_menhir.ml"
38075 in
38076 _menhir_env.MenhirLib.EngineTypes.stack <- {
38077 MenhirLib.EngineTypes.state = _menhir_s;
38078 MenhirLib.EngineTypes.semv = Obj.repr _v;
38079 MenhirLib.EngineTypes.startp = _startpos;
38080 MenhirLib.EngineTypes.endp = _endpos;
38081 MenhirLib.EngineTypes.next = _menhir_stack;
38082 });
38083 (fun _menhir_env ->
38084 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38085 let {
38086 MenhirLib.EngineTypes.semv = _2;
38087 MenhirLib.EngineTypes.startp = _startpos__2_;
38088 MenhirLib.EngineTypes.endp = _endpos__2_;
38089 MenhirLib.EngineTypes.next = {
38090 MenhirLib.EngineTypes.state = _menhir_s;
38091 MenhirLib.EngineTypes.semv = _1;
38092 MenhirLib.EngineTypes.startp = _startpos__1_;
38093 MenhirLib.EngineTypes.endp = _endpos__1_;
38094 MenhirLib.EngineTypes.next = _menhir_stack;
38095 };
38096 } = _menhir_stack in
38097 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
38098 let _1 : (
38099 # 80 "parser_cocci_menhir.mly"
38100 (Data.clt)
38101 # 38102 "parser_cocci_menhir.ml"
38102 ) = Obj.magic _1 in
38103 let _startpos = _startpos__1_ in
38104 let _endpos = _endpos__2_ in
38105 let _v : 'tv_unary_expr_expr_invalid_ =
38106 # 1359 "parser_cocci_menhir.mly"
38107 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
38108 # 38109 "parser_cocci_menhir.ml"
38109 in
38110 _menhir_env.MenhirLib.EngineTypes.stack <- {
38111 MenhirLib.EngineTypes.state = _menhir_s;
38112 MenhirLib.EngineTypes.semv = Obj.repr _v;
38113 MenhirLib.EngineTypes.startp = _startpos;
38114 MenhirLib.EngineTypes.endp = _endpos;
38115 MenhirLib.EngineTypes.next = _menhir_stack;
38116 });
38117 (fun _menhir_env ->
38118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38119 let {
38120 MenhirLib.EngineTypes.semv = rp;
38121 MenhirLib.EngineTypes.startp = _startpos_rp_;
38122 MenhirLib.EngineTypes.endp = _endpos_rp_;
38123 MenhirLib.EngineTypes.next = {
38124 MenhirLib.EngineTypes.semv = t;
38125 MenhirLib.EngineTypes.startp = _startpos_t_;
38126 MenhirLib.EngineTypes.endp = _endpos_t_;
38127 MenhirLib.EngineTypes.next = {
38128 MenhirLib.EngineTypes.semv = lp;
38129 MenhirLib.EngineTypes.startp = _startpos_lp_;
38130 MenhirLib.EngineTypes.endp = _endpos_lp_;
38131 MenhirLib.EngineTypes.next = {
38132 MenhirLib.EngineTypes.state = _menhir_s;
38133 MenhirLib.EngineTypes.semv = s;
38134 MenhirLib.EngineTypes.startp = _startpos_s_;
38135 MenhirLib.EngineTypes.endp = _endpos_s_;
38136 MenhirLib.EngineTypes.next = _menhir_stack;
38137 };
38138 };
38139 };
38140 } = _menhir_stack in
38141 let rp : (
38142 # 100 "parser_cocci_menhir.mly"
38143 (Data.clt)
38144 # 38145 "parser_cocci_menhir.ml"
38145 ) = Obj.magic rp in
38146 let t : 'tv_ctype = Obj.magic t in
38147 let lp : (
38148 # 99 "parser_cocci_menhir.mly"
38149 (Data.clt)
38150 # 38151 "parser_cocci_menhir.ml"
38151 ) = Obj.magic lp in
38152 let s : (
38153 # 80 "parser_cocci_menhir.mly"
38154 (Data.clt)
38155 # 38156 "parser_cocci_menhir.ml"
38156 ) = Obj.magic s in
38157 let _startpos = _startpos_s_ in
38158 let _endpos = _endpos_rp_ in
38159 let _v : 'tv_unary_expr_expr_invalid_ =
38160 # 1361 "parser_cocci_menhir.mly"
38161 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
38162 P.clt2mcode "(" lp,t,
38163 P.clt2mcode ")" rp)) )
38164 # 38165 "parser_cocci_menhir.ml"
38165 in
38166 _menhir_env.MenhirLib.EngineTypes.stack <- {
38167 MenhirLib.EngineTypes.state = _menhir_s;
38168 MenhirLib.EngineTypes.semv = Obj.repr _v;
38169 MenhirLib.EngineTypes.startp = _startpos;
38170 MenhirLib.EngineTypes.endp = _endpos;
38171 MenhirLib.EngineTypes.next = _menhir_stack;
38172 });
38173 (fun _menhir_env ->
38174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38175 let {
38176 MenhirLib.EngineTypes.state = _menhir_s;
38177 MenhirLib.EngineTypes.semv = _1;
38178 MenhirLib.EngineTypes.startp = _startpos__1_;
38179 MenhirLib.EngineTypes.endp = _endpos__1_;
38180 MenhirLib.EngineTypes.next = _menhir_stack;
38181 } = _menhir_stack in
38182 let _1 : (
38183 # 116 "parser_cocci_menhir.mly"
38184 (Data.clt)
38185 # 38186 "parser_cocci_menhir.ml"
38186 ) = Obj.magic _1 in
38187 let _startpos = _startpos__1_ in
38188 let _endpos = _endpos__1_ in
38189 let _v : 'tv_unary_op =
38190 # 1365 "parser_cocci_menhir.mly"
38191 ( P.clt2mcode Ast.GetRef _1 )
38192 # 38193 "parser_cocci_menhir.ml"
38193 in
38194 _menhir_env.MenhirLib.EngineTypes.stack <- {
38195 MenhirLib.EngineTypes.state = _menhir_s;
38196 MenhirLib.EngineTypes.semv = Obj.repr _v;
38197 MenhirLib.EngineTypes.startp = _startpos;
38198 MenhirLib.EngineTypes.endp = _endpos;
38199 MenhirLib.EngineTypes.next = _menhir_stack;
38200 });
38201 (fun _menhir_env ->
38202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38203 let {
38204 MenhirLib.EngineTypes.state = _menhir_s;
38205 MenhirLib.EngineTypes.semv = _1;
38206 MenhirLib.EngineTypes.startp = _startpos__1_;
38207 MenhirLib.EngineTypes.endp = _endpos__1_;
38208 MenhirLib.EngineTypes.next = _menhir_stack;
38209 } = _menhir_stack in
38210 let _1 : (
38211 # 122 "parser_cocci_menhir.mly"
38212 (Data.clt)
38213 # 38214 "parser_cocci_menhir.ml"
38214 ) = Obj.magic _1 in
38215 let _startpos = _startpos__1_ in
38216 let _endpos = _endpos__1_ in
38217 let _v : 'tv_unary_op =
38218 # 1366 "parser_cocci_menhir.mly"
38219 ( P.clt2mcode Ast.DeRef _1 )
38220 # 38221 "parser_cocci_menhir.ml"
38221 in
38222 _menhir_env.MenhirLib.EngineTypes.stack <- {
38223 MenhirLib.EngineTypes.state = _menhir_s;
38224 MenhirLib.EngineTypes.semv = Obj.repr _v;
38225 MenhirLib.EngineTypes.startp = _startpos;
38226 MenhirLib.EngineTypes.endp = _endpos;
38227 MenhirLib.EngineTypes.next = _menhir_stack;
38228 });
38229 (fun _menhir_env ->
38230 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38231 let {
38232 MenhirLib.EngineTypes.state = _menhir_s;
38233 MenhirLib.EngineTypes.semv = _1;
38234 MenhirLib.EngineTypes.startp = _startpos__1_;
38235 MenhirLib.EngineTypes.endp = _endpos__1_;
38236 MenhirLib.EngineTypes.next = _menhir_stack;
38237 } = _menhir_stack in
38238 let _1 : (
38239 # 121 "parser_cocci_menhir.mly"
38240 (Data.clt)
38241 # 38242 "parser_cocci_menhir.ml"
38242 ) = Obj.magic _1 in
38243 let _startpos = _startpos__1_ in
38244 let _endpos = _endpos__1_ in
38245 let _v : 'tv_unary_op =
38246 # 1367 "parser_cocci_menhir.mly"
38247 ( P.clt2mcode Ast.UnPlus _1 )
38248 # 38249 "parser_cocci_menhir.ml"
38249 in
38250 _menhir_env.MenhirLib.EngineTypes.stack <- {
38251 MenhirLib.EngineTypes.state = _menhir_s;
38252 MenhirLib.EngineTypes.semv = Obj.repr _v;
38253 MenhirLib.EngineTypes.startp = _startpos;
38254 MenhirLib.EngineTypes.endp = _endpos;
38255 MenhirLib.EngineTypes.next = _menhir_stack;
38256 });
38257 (fun _menhir_env ->
38258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38259 let {
38260 MenhirLib.EngineTypes.state = _menhir_s;
38261 MenhirLib.EngineTypes.semv = _1;
38262 MenhirLib.EngineTypes.startp = _startpos__1_;
38263 MenhirLib.EngineTypes.endp = _endpos__1_;
38264 MenhirLib.EngineTypes.next = _menhir_stack;
38265 } = _menhir_stack in
38266 let _1 : (
38267 # 121 "parser_cocci_menhir.mly"
38268 (Data.clt)
38269 # 38270 "parser_cocci_menhir.ml"
38270 ) = Obj.magic _1 in
38271 let _startpos = _startpos__1_ in
38272 let _endpos = _endpos__1_ in
38273 let _v : 'tv_unary_op =
38274 # 1368 "parser_cocci_menhir.mly"
38275 ( P.clt2mcode Ast.UnMinus _1 )
38276 # 38277 "parser_cocci_menhir.ml"
38277 in
38278 _menhir_env.MenhirLib.EngineTypes.stack <- {
38279 MenhirLib.EngineTypes.state = _menhir_s;
38280 MenhirLib.EngineTypes.semv = Obj.repr _v;
38281 MenhirLib.EngineTypes.startp = _startpos;
38282 MenhirLib.EngineTypes.endp = _endpos;
38283 MenhirLib.EngineTypes.next = _menhir_stack;
38284 });
38285 (fun _menhir_env ->
38286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38287 let {
38288 MenhirLib.EngineTypes.state = _menhir_s;
38289 MenhirLib.EngineTypes.semv = _1;
38290 MenhirLib.EngineTypes.startp = _startpos__1_;
38291 MenhirLib.EngineTypes.endp = _endpos__1_;
38292 MenhirLib.EngineTypes.next = _menhir_stack;
38293 } = _menhir_stack in
38294 let _1 : (
38295 # 122 "parser_cocci_menhir.mly"
38296 (Data.clt)
38297 # 38298 "parser_cocci_menhir.ml"
38298 ) = Obj.magic _1 in
38299 let _startpos = _startpos__1_ in
38300 let _endpos = _endpos__1_ in
38301 let _v : 'tv_unary_op =
38302 # 1369 "parser_cocci_menhir.mly"
38303 ( P.clt2mcode Ast.Tilde _1 )
38304 # 38305 "parser_cocci_menhir.ml"
38305 in
38306 _menhir_env.MenhirLib.EngineTypes.stack <- {
38307 MenhirLib.EngineTypes.state = _menhir_s;
38308 MenhirLib.EngineTypes.semv = Obj.repr _v;
38309 MenhirLib.EngineTypes.startp = _startpos;
38310 MenhirLib.EngineTypes.endp = _endpos;
38311 MenhirLib.EngineTypes.next = _menhir_stack;
38312 });
38313 (fun _menhir_env ->
38314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38315 let {
38316 MenhirLib.EngineTypes.semv = _2;
38317 MenhirLib.EngineTypes.startp = _startpos__2_;
38318 MenhirLib.EngineTypes.endp = _endpos__2_;
38319 MenhirLib.EngineTypes.next = {
38320 MenhirLib.EngineTypes.state = _menhir_s;
38321 MenhirLib.EngineTypes.semv = _1;
38322 MenhirLib.EngineTypes.startp = _startpos__1_;
38323 MenhirLib.EngineTypes.endp = _endpos__1_;
38324 MenhirLib.EngineTypes.next = _menhir_stack;
38325 };
38326 } = _menhir_stack in
38327 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
38328 let _1 : 'tv_expr = Obj.magic _1 in
38329 let _startpos = _startpos__1_ in
38330 let _endpos = _endpos__2_ in
38331 let _v : 'tv_when_start =
38332 # 1930 "parser_cocci_menhir.mly"
38333 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
38334 # 38335 "parser_cocci_menhir.ml"
38335 in
38336 _menhir_env.MenhirLib.EngineTypes.stack <- {
38337 MenhirLib.EngineTypes.state = _menhir_s;
38338 MenhirLib.EngineTypes.semv = Obj.repr _v;
38339 MenhirLib.EngineTypes.startp = _startpos;
38340 MenhirLib.EngineTypes.endp = _endpos;
38341 MenhirLib.EngineTypes.next = _menhir_stack;
38342 });
38343 (fun _menhir_env ->
38344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38345 let {
38346 MenhirLib.EngineTypes.semv = _2;
38347 MenhirLib.EngineTypes.startp = _startpos__2_;
38348 MenhirLib.EngineTypes.endp = _endpos__2_;
38349 MenhirLib.EngineTypes.next = {
38350 MenhirLib.EngineTypes.state = _menhir_s;
38351 MenhirLib.EngineTypes.semv = _1;
38352 MenhirLib.EngineTypes.startp = _startpos__1_;
38353 MenhirLib.EngineTypes.endp = _endpos__1_;
38354 MenhirLib.EngineTypes.next = _menhir_stack;
38355 };
38356 } = _menhir_stack in
38357 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
38358 let _1 : 'tv_decl_statement = Obj.magic _1 in
38359 let _startpos = _startpos__1_ in
38360 let _endpos = _endpos__2_ in
38361 let _v : 'tv_when_start =
38362 # 1932 "parser_cocci_menhir.mly"
38363 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
38364 # 38365 "parser_cocci_menhir.ml"
38365 in
38366 _menhir_env.MenhirLib.EngineTypes.stack <- {
38367 MenhirLib.EngineTypes.state = _menhir_s;
38368 MenhirLib.EngineTypes.semv = Obj.repr _v;
38369 MenhirLib.EngineTypes.startp = _startpos;
38370 MenhirLib.EngineTypes.endp = _endpos;
38371 MenhirLib.EngineTypes.next = _menhir_stack;
38372 });
38373 (fun _menhir_env ->
38374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38375 let {
38376 MenhirLib.EngineTypes.state = _menhir_s;
38377 MenhirLib.EngineTypes.semv = w;
38378 MenhirLib.EngineTypes.startp = _startpos_w_;
38379 MenhirLib.EngineTypes.endp = _endpos_w_;
38380 MenhirLib.EngineTypes.next = _menhir_stack;
38381 } = _menhir_stack in
38382 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
38383 let _startpos = _startpos_w_ in
38384 let _endpos = _endpos_w_ in
38385 let _v : 'tv_whenppdecs =
38386 # 951 "parser_cocci_menhir.mly"
38387 ( w )
38388 # 38389 "parser_cocci_menhir.ml"
38389 in
38390 _menhir_env.MenhirLib.EngineTypes.stack <- {
38391 MenhirLib.EngineTypes.state = _menhir_s;
38392 MenhirLib.EngineTypes.semv = Obj.repr _v;
38393 MenhirLib.EngineTypes.startp = _startpos;
38394 MenhirLib.EngineTypes.endp = _endpos;
38395 MenhirLib.EngineTypes.next = _menhir_stack;
38396 });
38397 (fun _menhir_env ->
38398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38399 let {
38400 MenhirLib.EngineTypes.startp = _startpos__4_;
38401 MenhirLib.EngineTypes.endp = _endpos__4_;
38402 MenhirLib.EngineTypes.next = {
38403 MenhirLib.EngineTypes.semv = w;
38404 MenhirLib.EngineTypes.startp = _startpos_w_;
38405 MenhirLib.EngineTypes.endp = _endpos_w_;
38406 MenhirLib.EngineTypes.next = {
38407 MenhirLib.EngineTypes.startp = _startpos__2_;
38408 MenhirLib.EngineTypes.endp = _endpos__2_;
38409 MenhirLib.EngineTypes.next = {
38410 MenhirLib.EngineTypes.state = _menhir_s;
38411 MenhirLib.EngineTypes.startp = _startpos__1_;
38412 MenhirLib.EngineTypes.endp = _endpos__1_;
38413 MenhirLib.EngineTypes.next = _menhir_stack;
38414 };
38415 };
38416 };
38417 } = _menhir_stack in
38418 let w : 'tv_when_start = Obj.magic w in
38419 let _startpos = _startpos__1_ in
38420 let _endpos = _endpos__4_ in
38421 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38422 # 1998 "parser_cocci_menhir.mly"
38423 ( [Ast0.WhenNot w] )
38424 # 38425 "parser_cocci_menhir.ml"
38425 in
38426 _menhir_env.MenhirLib.EngineTypes.stack <- {
38427 MenhirLib.EngineTypes.state = _menhir_s;
38428 MenhirLib.EngineTypes.semv = Obj.repr _v;
38429 MenhirLib.EngineTypes.startp = _startpos;
38430 MenhirLib.EngineTypes.endp = _endpos;
38431 MenhirLib.EngineTypes.next = _menhir_stack;
38432 });
38433 (fun _menhir_env ->
38434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38435 let {
38436 MenhirLib.EngineTypes.startp = _startpos__4_;
38437 MenhirLib.EngineTypes.endp = _endpos__4_;
38438 MenhirLib.EngineTypes.next = {
38439 MenhirLib.EngineTypes.semv = w;
38440 MenhirLib.EngineTypes.startp = _startpos_w_;
38441 MenhirLib.EngineTypes.endp = _endpos_w_;
38442 MenhirLib.EngineTypes.next = {
38443 MenhirLib.EngineTypes.startp = _startpos__2_;
38444 MenhirLib.EngineTypes.endp = _endpos__2_;
38445 MenhirLib.EngineTypes.next = {
38446 MenhirLib.EngineTypes.state = _menhir_s;
38447 MenhirLib.EngineTypes.startp = _startpos__1_;
38448 MenhirLib.EngineTypes.endp = _endpos__1_;
38449 MenhirLib.EngineTypes.next = _menhir_stack;
38450 };
38451 };
38452 };
38453 } = _menhir_stack in
38454 let w : 'tv_rule_elem_statement = Obj.magic w in
38455 let _startpos = _startpos__1_ in
38456 let _endpos = _endpos__4_ in
38457 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38458 # 1999 "parser_cocci_menhir.mly"
38459 ( [Ast0.WhenAlways w] )
38460 # 38461 "parser_cocci_menhir.ml"
38461 in
38462 _menhir_env.MenhirLib.EngineTypes.stack <- {
38463 MenhirLib.EngineTypes.state = _menhir_s;
38464 MenhirLib.EngineTypes.semv = Obj.repr _v;
38465 MenhirLib.EngineTypes.startp = _startpos;
38466 MenhirLib.EngineTypes.endp = _endpos;
38467 MenhirLib.EngineTypes.next = _menhir_stack;
38468 });
38469 (fun _menhir_env ->
38470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38471 let {
38472 MenhirLib.EngineTypes.startp = _startpos__3_;
38473 MenhirLib.EngineTypes.endp = _endpos__3_;
38474 MenhirLib.EngineTypes.next = {
38475 MenhirLib.EngineTypes.semv = _2;
38476 MenhirLib.EngineTypes.startp = _startpos__2_;
38477 MenhirLib.EngineTypes.endp = _endpos__2_;
38478 MenhirLib.EngineTypes.next = {
38479 MenhirLib.EngineTypes.state = _menhir_s;
38480 MenhirLib.EngineTypes.startp = _startpos__1_;
38481 MenhirLib.EngineTypes.endp = _endpos__1_;
38482 MenhirLib.EngineTypes.next = _menhir_stack;
38483 };
38484 };
38485 } = _menhir_stack in
38486 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
38487 let _startpos = _startpos__1_ in
38488 let _endpos = _endpos__3_ in
38489 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38490 # 2001 "parser_cocci_menhir.mly"
38491 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
38492 # 38493 "parser_cocci_menhir.ml"
38493 in
38494 _menhir_env.MenhirLib.EngineTypes.stack <- {
38495 MenhirLib.EngineTypes.state = _menhir_s;
38496 MenhirLib.EngineTypes.semv = Obj.repr _v;
38497 MenhirLib.EngineTypes.startp = _startpos;
38498 MenhirLib.EngineTypes.endp = _endpos;
38499 MenhirLib.EngineTypes.next = _menhir_stack;
38500 });
38501 (fun _menhir_env ->
38502 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38503 let {
38504 MenhirLib.EngineTypes.startp = _startpos__4_;
38505 MenhirLib.EngineTypes.endp = _endpos__4_;
38506 MenhirLib.EngineTypes.next = {
38507 MenhirLib.EngineTypes.semv = e;
38508 MenhirLib.EngineTypes.startp = _startpos_e_;
38509 MenhirLib.EngineTypes.endp = _endpos_e_;
38510 MenhirLib.EngineTypes.next = {
38511 MenhirLib.EngineTypes.startp = _startpos__2_;
38512 MenhirLib.EngineTypes.endp = _endpos__2_;
38513 MenhirLib.EngineTypes.next = {
38514 MenhirLib.EngineTypes.state = _menhir_s;
38515 MenhirLib.EngineTypes.startp = _startpos__1_;
38516 MenhirLib.EngineTypes.endp = _endpos__1_;
38517 MenhirLib.EngineTypes.next = _menhir_stack;
38518 };
38519 };
38520 };
38521 } = _menhir_stack in
38522 let e : 'tv_eexpr = Obj.magic e in
38523 let _startpos = _startpos__1_ in
38524 let _endpos = _endpos__4_ in
38525 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38526 # 2002 "parser_cocci_menhir.mly"
38527 ( [Ast0.WhenNotTrue e] )
38528 # 38529 "parser_cocci_menhir.ml"
38529 in
38530 _menhir_env.MenhirLib.EngineTypes.stack <- {
38531 MenhirLib.EngineTypes.state = _menhir_s;
38532 MenhirLib.EngineTypes.semv = Obj.repr _v;
38533 MenhirLib.EngineTypes.startp = _startpos;
38534 MenhirLib.EngineTypes.endp = _endpos;
38535 MenhirLib.EngineTypes.next = _menhir_stack;
38536 });
38537 (fun _menhir_env ->
38538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38539 let {
38540 MenhirLib.EngineTypes.startp = _startpos__4_;
38541 MenhirLib.EngineTypes.endp = _endpos__4_;
38542 MenhirLib.EngineTypes.next = {
38543 MenhirLib.EngineTypes.semv = e;
38544 MenhirLib.EngineTypes.startp = _startpos_e_;
38545 MenhirLib.EngineTypes.endp = _endpos_e_;
38546 MenhirLib.EngineTypes.next = {
38547 MenhirLib.EngineTypes.startp = _startpos__2_;
38548 MenhirLib.EngineTypes.endp = _endpos__2_;
38549 MenhirLib.EngineTypes.next = {
38550 MenhirLib.EngineTypes.state = _menhir_s;
38551 MenhirLib.EngineTypes.startp = _startpos__1_;
38552 MenhirLib.EngineTypes.endp = _endpos__1_;
38553 MenhirLib.EngineTypes.next = _menhir_stack;
38554 };
38555 };
38556 };
38557 } = _menhir_stack in
38558 let e : 'tv_eexpr = Obj.magic e in
38559 let _startpos = _startpos__1_ in
38560 let _endpos = _endpos__4_ in
38561 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38562 # 2003 "parser_cocci_menhir.mly"
38563 ( [Ast0.WhenNotFalse e] )
38564 # 38565 "parser_cocci_menhir.ml"
38565 in
38566 _menhir_env.MenhirLib.EngineTypes.stack <- {
38567 MenhirLib.EngineTypes.state = _menhir_s;
38568 MenhirLib.EngineTypes.semv = Obj.repr _v;
38569 MenhirLib.EngineTypes.startp = _startpos;
38570 MenhirLib.EngineTypes.endp = _endpos;
38571 MenhirLib.EngineTypes.next = _menhir_stack;
38572 });
38573 |]
38574
38575 let recovery =
38576 false
38577
38578 let trace =
38579 None
38580
38581 end)
38582
38583 let rec script_meta_main =
38584 fun lexer lexbuf ->
38585 (Obj.magic (MenhirInterpreter.entry 1820 lexer lexbuf) : (
38586 # 182 "parser_cocci_menhir.mly"
38587 (string * Ast_cocci.meta_name)
38588 # 38589 "parser_cocci_menhir.ml"
38589 ))
38590
38591 and rule_name =
38592 fun lexer lexbuf ->
38593 (Obj.magic (MenhirInterpreter.entry 1748 lexer lexbuf) : (
38594 # 176 "parser_cocci_menhir.mly"
38595 (Ast_cocci.rulename)
38596 # 38597 "parser_cocci_menhir.ml"
38597 ))
38598
38599 and reinit =
38600 fun lexer lexbuf ->
38601 (Obj.magic (MenhirInterpreter.entry 1746 lexer lexbuf) : (
38602 # 154 "parser_cocci_menhir.mly"
38603 (unit)
38604 # 38605 "parser_cocci_menhir.ml"
38605 ))
38606
38607 and plus_main =
38608 fun lexer lexbuf ->
38609 (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : (
38610 # 163 "parser_cocci_menhir.mly"
38611 (Ast0_cocci.rule)
38612 # 38613 "parser_cocci_menhir.ml"
38613 ))
38614
38615 and plus_exp_main =
38616 fun lexer lexbuf ->
38617 (Obj.magic (MenhirInterpreter.entry 1702 lexer lexbuf) : (
38618 # 166 "parser_cocci_menhir.mly"
38619 (Ast0_cocci.rule)
38620 # 38621 "parser_cocci_menhir.ml"
38621 ))
38622
38623 and never_used =
38624 fun lexer lexbuf ->
38625 (Obj.magic (MenhirInterpreter.entry 1696 lexer lexbuf) : (
38626 # 191 "parser_cocci_menhir.mly"
38627 (unit)
38628 # 38629 "parser_cocci_menhir.ml"
38629 ))
38630
38631 and minus_main =
38632 fun lexer lexbuf ->
38633 (Obj.magic (MenhirInterpreter.entry 1616 lexer lexbuf) : (
38634 # 157 "parser_cocci_menhir.mly"
38635 (Ast0_cocci.rule)
38636 # 38637 "parser_cocci_menhir.ml"
38637 ))
38638
38639 and minus_exp_main =
38640 fun lexer lexbuf ->
38641 (Obj.magic (MenhirInterpreter.entry 1604 lexer lexbuf) : (
38642 # 160 "parser_cocci_menhir.mly"
38643 (Ast0_cocci.rule)
38644 # 38645 "parser_cocci_menhir.ml"
38645 ))
38646
38647 and meta_main =
38648 fun lexer lexbuf ->
38649 (Obj.magic (MenhirInterpreter.entry 1601 lexer lexbuf) : (
38650 # 180 "parser_cocci_menhir.mly"
38651 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38652 # 38653 "parser_cocci_menhir.ml"
38653 ))
38654
38655 and iso_rule_name =
38656 fun lexer lexbuf ->
38657 (Obj.magic (MenhirInterpreter.entry 1597 lexer lexbuf) : (
38658 # 172 "parser_cocci_menhir.mly"
38659 (Ast_cocci.rulename)
38660 # 38661 "parser_cocci_menhir.ml"
38661 ))
38662
38663 and iso_meta_main =
38664 fun lexer lexbuf ->
38665 (Obj.magic (MenhirInterpreter.entry 1343 lexer lexbuf) : (
38666 # 188 "parser_cocci_menhir.mly"
38667 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38668 # 38669 "parser_cocci_menhir.ml"
38669 ))
38670
38671 and iso_main =
38672 fun lexer lexbuf ->
38673 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
38674 # 185 "parser_cocci_menhir.mly"
38675 (Ast0_cocci.anything list list)
38676 # 38677 "parser_cocci_menhir.ml"
38677 ))
38678
38679 and include_main =
38680 fun lexer lexbuf ->
38681 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
38682 # 169 "parser_cocci_menhir.mly"
38683 (Data.incl_iso list)
38684 # 38685 "parser_cocci_menhir.ml"
38685 ))
38686
38687
38688