Release coccinelle-0.2.0
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
1 exception Error
2
3 type token =
4 | Tvolatile of (
5 # 54 "parser_cocci_menhir.mly"
6 (Data.clt)
7 # 8 "parser_cocci_menhir.ml"
8 )
9 | Tvoid of (
10 # 50 "parser_cocci_menhir.mly"
11 (Data.clt)
12 # 13 "parser_cocci_menhir.ml"
13 )
14 | Tunsigned of (
15 # 51 "parser_cocci_menhir.mly"
16 (Data.clt)
17 # 18 "parser_cocci_menhir.ml"
18 )
19 | Tunion of (
20 # 50 "parser_cocci_menhir.mly"
21 (Data.clt)
22 # 23 "parser_cocci_menhir.ml"
23 )
24 | Ttypedef of (
25 # 53 "parser_cocci_menhir.mly"
26 (Data.clt)
27 # 28 "parser_cocci_menhir.ml"
28 )
29 | Tstruct of (
30 # 50 "parser_cocci_menhir.mly"
31 (Data.clt)
32 # 33 "parser_cocci_menhir.ml"
33 )
34 | Tstatic of (
35 # 53 "parser_cocci_menhir.mly"
36 (Data.clt)
37 # 38 "parser_cocci_menhir.ml"
38 )
39 | Tsigned of (
40 # 51 "parser_cocci_menhir.mly"
41 (Data.clt)
42 # 43 "parser_cocci_menhir.ml"
43 )
44 | Tshort of (
45 # 49 "parser_cocci_menhir.mly"
46 (Data.clt)
47 # 48 "parser_cocci_menhir.ml"
48 )
49 | Tregister of (
50 # 53 "parser_cocci_menhir.mly"
51 (Data.clt)
52 # 53 "parser_cocci_menhir.ml"
53 )
54 | Tlong of (
55 # 49 "parser_cocci_menhir.mly"
56 (Data.clt)
57 # 58 "parser_cocci_menhir.ml"
58 )
59 | Tlist
60 | Tint of (
61 # 49 "parser_cocci_menhir.mly"
62 (Data.clt)
63 # 64 "parser_cocci_menhir.ml"
64 )
65 | Tinline of (
66 # 53 "parser_cocci_menhir.mly"
67 (Data.clt)
68 # 69 "parser_cocci_menhir.ml"
69 )
70 | Tfloat of (
71 # 49 "parser_cocci_menhir.mly"
72 (Data.clt)
73 # 74 "parser_cocci_menhir.ml"
74 )
75 | Textern of (
76 # 53 "parser_cocci_menhir.mly"
77 (Data.clt)
78 # 79 "parser_cocci_menhir.ml"
79 )
80 | Tenum of (
81 # 50 "parser_cocci_menhir.mly"
82 (Data.clt)
83 # 84 "parser_cocci_menhir.ml"
84 )
85 | Tdouble of (
86 # 49 "parser_cocci_menhir.mly"
87 (Data.clt)
88 # 89 "parser_cocci_menhir.ml"
89 )
90 | Tconst of (
91 # 54 "parser_cocci_menhir.mly"
92 (Data.clt)
93 # 94 "parser_cocci_menhir.ml"
94 )
95 | Tchar of (
96 # 49 "parser_cocci_menhir.mly"
97 (Data.clt)
98 # 99 "parser_cocci_menhir.ml"
99 )
100 | Tauto of (
101 # 53 "parser_cocci_menhir.mly"
102 (Data.clt)
103 # 104 "parser_cocci_menhir.ml"
104 )
105 | Tattr of (
106 # 55 "parser_cocci_menhir.mly"
107 (string * Data.clt)
108 # 109 "parser_cocci_menhir.ml"
109 )
110 | TXor of (
111 # 92 "parser_cocci_menhir.mly"
112 (Data.clt)
113 # 114 "parser_cocci_menhir.ml"
114 )
115 | TWords
116 | TWhy0
117 | TWhy of (
118 # 76 "parser_cocci_menhir.mly"
119 (Data.clt)
120 # 121 "parser_cocci_menhir.ml"
121 )
122 | TWhile of (
123 # 57 "parser_cocci_menhir.mly"
124 (Data.clt)
125 # 126 "parser_cocci_menhir.ml"
126 )
127 | TWhenTrue of (
128 # 74 "parser_cocci_menhir.mly"
129 (Data.clt)
130 # 131 "parser_cocci_menhir.ml"
131 )
132 | TWhenFalse of (
133 # 74 "parser_cocci_menhir.mly"
134 (Data.clt)
135 # 136 "parser_cocci_menhir.ml"
136 )
137 | TWhen of (
138 # 74 "parser_cocci_menhir.mly"
139 (Data.clt)
140 # 141 "parser_cocci_menhir.ml"
141 )
142 | TVirtual
143 | TUsing
144 | TTypedef
145 | TTypeId of (
146 # 59 "parser_cocci_menhir.mly"
147 (string * Data.clt)
148 # 149 "parser_cocci_menhir.ml"
149 )
150 | TType
151 | TTildeExclEq of (
152 # 94 "parser_cocci_menhir.mly"
153 (Data.clt)
154 # 155 "parser_cocci_menhir.ml"
155 )
156 | TTildeEq of (
157 # 94 "parser_cocci_menhir.mly"
158 (Data.clt)
159 # 160 "parser_cocci_menhir.ml"
160 )
161 | TTilde of (
162 # 99 "parser_cocci_menhir.mly"
163 (Data.clt)
164 # 165 "parser_cocci_menhir.ml"
165 )
166 | TSwitch of (
167 # 57 "parser_cocci_menhir.mly"
168 (Data.clt)
169 # 170 "parser_cocci_menhir.ml"
170 )
171 | TString of (
172 # 87 "parser_cocci_menhir.mly"
173 (string * Data.clt)
174 # 175 "parser_cocci_menhir.ml"
175 )
176 | TStrict of (
177 # 74 "parser_cocci_menhir.mly"
178 (Data.clt)
179 # 180 "parser_cocci_menhir.ml"
180 )
181 | TStatement
182 | TSizeof of (
183 # 58 "parser_cocci_menhir.mly"
184 (Data.clt)
185 # 186 "parser_cocci_menhir.ml"
186 )
187 | TShOp of (
188 # 96 "parser_cocci_menhir.mly"
189 (Ast_cocci.arithOp * Data.clt)
190 # 191 "parser_cocci_menhir.ml"
191 )
192 | TScriptData of (
193 # 71 "parser_cocci_menhir.mly"
194 (string)
195 # 196 "parser_cocci_menhir.ml"
196 )
197 | TScript
198 | TRuleName of (
199 # 47 "parser_cocci_menhir.mly"
200 (string)
201 # 202 "parser_cocci_menhir.ml"
202 )
203 | TRightIso
204 | TReturn of (
205 # 57 "parser_cocci_menhir.mly"
206 (Data.clt)
207 # 208 "parser_cocci_menhir.ml"
208 )
209 | TPure
210 | TPtrOp of (
211 # 104 "parser_cocci_menhir.mly"
212 (Data.clt)
213 # 214 "parser_cocci_menhir.ml"
214 )
215 | TPtVirg of (
216 # 107 "parser_cocci_menhir.mly"
217 (Data.clt)
218 # 219 "parser_cocci_menhir.ml"
219 )
220 | TPragma of (
221 # 59 "parser_cocci_menhir.mly"
222 (string * Data.clt)
223 # 224 "parser_cocci_menhir.ml"
224 )
225 | TPosition
226 | TPosAny
227 | TPlusFile of (
228 # 83 "parser_cocci_menhir.mly"
229 (string * Data.clt)
230 # 231 "parser_cocci_menhir.ml"
231 )
232 | TPlus0
233 | TPlus of (
234 # 98 "parser_cocci_menhir.mly"
235 (Data.clt)
236 # 237 "parser_cocci_menhir.ml"
237 )
238 | TPathIsoFile of (
239 # 79 "parser_cocci_menhir.mly"
240 (string)
241 # 242 "parser_cocci_menhir.ml"
242 )
243 | TParameter
244 | TPOEllipsis of (
245 # 73 "parser_cocci_menhir.mly"
246 (Data.clt)
247 # 248 "parser_cocci_menhir.ml"
248 )
249 | TPCEllipsis of (
250 # 73 "parser_cocci_menhir.mly"
251 (Data.clt)
252 # 253 "parser_cocci_menhir.ml"
253 )
254 | TPArob
255 | TOrLog of (
256 # 89 "parser_cocci_menhir.mly"
257 (Data.clt)
258 # 259 "parser_cocci_menhir.ml"
259 )
260 | TOr of (
261 # 91 "parser_cocci_menhir.mly"
262 (Data.clt)
263 # 264 "parser_cocci_menhir.ml"
264 )
265 | TOn
266 | TOPar0 of (
267 # 76 "parser_cocci_menhir.mly"
268 (Data.clt)
269 # 270 "parser_cocci_menhir.ml"
270 )
271 | TOPar of (
272 # 76 "parser_cocci_menhir.mly"
273 (Data.clt)
274 # 275 "parser_cocci_menhir.ml"
275 )
276 | TOInit of (
277 # 101 "parser_cocci_menhir.mly"
278 (Data.clt)
279 # 280 "parser_cocci_menhir.ml"
280 )
281 | TOEllipsis of (
282 # 73 "parser_cocci_menhir.mly"
283 (Data.clt)
284 # 285 "parser_cocci_menhir.ml"
285 )
286 | TOCro of (
287 # 102 "parser_cocci_menhir.mly"
288 (Data.clt)
289 # 290 "parser_cocci_menhir.ml"
290 )
291 | TOBrace of (
292 # 101 "parser_cocci_menhir.mly"
293 (Data.clt)
294 # 295 "parser_cocci_menhir.ml"
295 )
296 | TNothing
297 | TNotEq of (
298 # 94 "parser_cocci_menhir.mly"
299 (Data.clt)
300 # 301 "parser_cocci_menhir.ml"
301 )
302 | TNever
303 | TName
304 | TMul of (
305 # 99 "parser_cocci_menhir.mly"
306 (Data.clt)
307 # 308 "parser_cocci_menhir.ml"
308 )
309 | TMinusFile of (
310 # 83 "parser_cocci_menhir.mly"
311 (string * Data.clt)
312 # 313 "parser_cocci_menhir.ml"
313 )
314 | TMinus of (
315 # 98 "parser_cocci_menhir.mly"
316 (Data.clt)
317 # 318 "parser_cocci_menhir.ml"
318 )
319 | TMid0 of (
320 # 77 "parser_cocci_menhir.mly"
321 (Data.clt)
322 # 323 "parser_cocci_menhir.ml"
323 )
324 | TMetaType of (
325 # 64 "parser_cocci_menhir.mly"
326 (Parse_aux.info)
327 # 328 "parser_cocci_menhir.ml"
328 )
329 | TMetaStmList of (
330 # 64 "parser_cocci_menhir.mly"
331 (Parse_aux.info)
332 # 333 "parser_cocci_menhir.ml"
333 )
334 | TMetaStm of (
335 # 64 "parser_cocci_menhir.mly"
336 (Parse_aux.info)
337 # 338 "parser_cocci_menhir.ml"
338 )
339 | TMetaPos of (
340 # 68 "parser_cocci_menhir.mly"
341 (Parse_aux.pos_info)
342 # 343 "parser_cocci_menhir.ml"
343 )
344 | TMetaParamList of (
345 # 66 "parser_cocci_menhir.mly"
346 (Parse_aux.list_info)
347 # 348 "parser_cocci_menhir.ml"
348 )
349 | TMetaParam of (
350 # 64 "parser_cocci_menhir.mly"
351 (Parse_aux.info)
352 # 353 "parser_cocci_menhir.ml"
353 )
354 | TMetaLocalIdExp of (
355 # 67 "parser_cocci_menhir.mly"
356 (Parse_aux.typed_expinfo)
357 # 358 "parser_cocci_menhir.ml"
358 )
359 | TMetaLocalFunc of (
360 # 61 "parser_cocci_menhir.mly"
361 (Parse_aux.idinfo)
362 # 363 "parser_cocci_menhir.ml"
363 )
364 | TMetaIterator of (
365 # 62 "parser_cocci_menhir.mly"
366 (Parse_aux.idinfo)
367 # 368 "parser_cocci_menhir.ml"
368 )
369 | TMetaInit of (
370 # 65 "parser_cocci_menhir.mly"
371 (Parse_aux.info)
372 # 373 "parser_cocci_menhir.ml"
373 )
374 | TMetaIdExp of (
375 # 67 "parser_cocci_menhir.mly"
376 (Parse_aux.typed_expinfo)
377 # 378 "parser_cocci_menhir.ml"
378 )
379 | TMetaId of (
380 # 61 "parser_cocci_menhir.mly"
381 (Parse_aux.idinfo)
382 # 383 "parser_cocci_menhir.ml"
383 )
384 | TMetaFunc of (
385 # 61 "parser_cocci_menhir.mly"
386 (Parse_aux.idinfo)
387 # 388 "parser_cocci_menhir.ml"
388 )
389 | TMetaExpList of (
390 # 66 "parser_cocci_menhir.mly"
391 (Parse_aux.list_info)
392 # 393 "parser_cocci_menhir.ml"
393 )
394 | TMetaExp of (
395 # 67 "parser_cocci_menhir.mly"
396 (Parse_aux.typed_expinfo)
397 # 398 "parser_cocci_menhir.ml"
398 )
399 | TMetaErr of (
400 # 63 "parser_cocci_menhir.mly"
401 (Parse_aux.expinfo)
402 # 403 "parser_cocci_menhir.ml"
403 )
404 | TMetaDeclarer of (
405 # 62 "parser_cocci_menhir.mly"
406 (Parse_aux.idinfo)
407 # 408 "parser_cocci_menhir.ml"
408 )
409 | TMetaConst of (
410 # 67 "parser_cocci_menhir.mly"
411 (Parse_aux.typed_expinfo)
412 # 413 "parser_cocci_menhir.ml"
413 )
414 | TMPtVirg
415 | TLogOp of (
416 # 95 "parser_cocci_menhir.mly"
417 (Ast_cocci.logicalOp * Data.clt)
418 # 419 "parser_cocci_menhir.ml"
419 )
420 | TLocal
421 | TLineEnd of (
422 # 74 "parser_cocci_menhir.mly"
423 (Data.clt)
424 # 425 "parser_cocci_menhir.ml"
425 )
426 | TIteratorId of (
427 # 59 "parser_cocci_menhir.mly"
428 (string * Data.clt)
429 # 430 "parser_cocci_menhir.ml"
430 )
431 | TIterator
432 | TIsoType
433 | TIsoTopLevel
434 | TIsoTestExpression
435 | TIsoStatement
436 | TIsoExpression
437 | TIsoDeclaration
438 | TIsoArgExpression
439 | TIso
440 | TInvalid
441 | TInt of (
442 # 87 "parser_cocci_menhir.mly"
443 (string * Data.clt)
444 # 445 "parser_cocci_menhir.ml"
445 )
446 | TInitialize
447 | TInitialiser
448 | TIncludeNL of (
449 # 80 "parser_cocci_menhir.mly"
450 (string * Data.clt)
451 # 452 "parser_cocci_menhir.ml"
452 )
453 | TIncludeL of (
454 # 80 "parser_cocci_menhir.mly"
455 (string * Data.clt)
456 # 457 "parser_cocci_menhir.ml"
457 )
458 | TInc of (
459 # 85 "parser_cocci_menhir.mly"
460 (Data.clt)
461 # 462 "parser_cocci_menhir.ml"
462 )
463 | TIf of (
464 # 57 "parser_cocci_menhir.mly"
465 (Data.clt)
466 # 467 "parser_cocci_menhir.ml"
467 )
468 | TIdentifier
469 | TIdent of (
470 # 59 "parser_cocci_menhir.mly"
471 (string * Data.clt)
472 # 473 "parser_cocci_menhir.ml"
473 )
474 | TIdExpression
475 | TGoto of (
476 # 58 "parser_cocci_menhir.mly"
477 (Data.clt)
478 # 479 "parser_cocci_menhir.ml"
479 )
480 | TGenerated
481 | TFunction
482 | TFunDecl of (
483 # 58 "parser_cocci_menhir.mly"
484 (Data.clt)
485 # 486 "parser_cocci_menhir.ml"
486 )
487 | TFresh
488 | TForall
489 | TFor of (
490 # 57 "parser_cocci_menhir.mly"
491 (Data.clt)
492 # 493 "parser_cocci_menhir.ml"
493 )
494 | TFloat of (
495 # 87 "parser_cocci_menhir.mly"
496 (string * Data.clt)
497 # 498 "parser_cocci_menhir.ml"
498 )
499 | TFinalize
500 | TExtends
501 | TExpression
502 | TExists
503 | TEver
504 | TError
505 | TEqEq of (
506 # 94 "parser_cocci_menhir.mly"
507 (Data.clt)
508 # 509 "parser_cocci_menhir.ml"
509 )
510 | TEq of (
511 # 107 "parser_cocci_menhir.mly"
512 (Data.clt)
513 # 514 "parser_cocci_menhir.ml"
514 )
515 | TElse of (
516 # 57 "parser_cocci_menhir.mly"
517 (Data.clt)
518 # 519 "parser_cocci_menhir.ml"
519 )
520 | TEllipsis of (
521 # 73 "parser_cocci_menhir.mly"
522 (Data.clt)
523 # 524 "parser_cocci_menhir.ml"
524 )
525 | TDotDot of (
526 # 76 "parser_cocci_menhir.mly"
527 (Data.clt)
528 # 529 "parser_cocci_menhir.ml"
529 )
530 | TDot of (
531 # 107 "parser_cocci_menhir.mly"
532 (Data.clt)
533 # 534 "parser_cocci_menhir.ml"
534 )
535 | TDo of (
536 # 57 "parser_cocci_menhir.mly"
537 (Data.clt)
538 # 539 "parser_cocci_menhir.ml"
539 )
540 | TDmOp of (
541 # 97 "parser_cocci_menhir.mly"
542 (Ast_cocci.arithOp * Data.clt)
543 # 544 "parser_cocci_menhir.ml"
544 )
545 | TDisable
546 | TDepends
547 | TDefineParam of (
548 # 82 "parser_cocci_menhir.mly"
549 (Data.clt * token * int * int)
550 # 551 "parser_cocci_menhir.ml"
551 )
552 | TDefine of (
553 # 81 "parser_cocci_menhir.mly"
554 (Data.clt * token)
555 # 556 "parser_cocci_menhir.ml"
556 )
557 | TDefault of (
558 # 57 "parser_cocci_menhir.mly"
559 (Data.clt)
560 # 561 "parser_cocci_menhir.ml"
561 )
562 | TDeclarerId of (
563 # 59 "parser_cocci_menhir.mly"
564 (string * Data.clt)
565 # 566 "parser_cocci_menhir.ml"
566 )
567 | TDeclarer
568 | TDec of (
569 # 85 "parser_cocci_menhir.mly"
570 (Data.clt)
571 # 572 "parser_cocci_menhir.ml"
572 )
573 | TCppConcatOp
574 | TContinue of (
575 # 58 "parser_cocci_menhir.mly"
576 (Data.clt)
577 # 578 "parser_cocci_menhir.ml"
578 )
579 | TContext
580 | TConstant
581 | TComma of (
582 # 107 "parser_cocci_menhir.mly"
583 (Data.clt)
584 # 585 "parser_cocci_menhir.ml"
585 )
586 | TChar of (
587 # 87 "parser_cocci_menhir.mly"
588 (string * Data.clt)
589 # 590 "parser_cocci_menhir.ml"
590 )
591 | TCase of (
592 # 57 "parser_cocci_menhir.mly"
593 (Data.clt)
594 # 595 "parser_cocci_menhir.ml"
595 )
596 | TCPar0 of (
597 # 77 "parser_cocci_menhir.mly"
598 (Data.clt)
599 # 600 "parser_cocci_menhir.ml"
600 )
601 | TCPar of (
602 # 77 "parser_cocci_menhir.mly"
603 (Data.clt)
604 # 605 "parser_cocci_menhir.ml"
605 )
606 | TCEllipsis of (
607 # 73 "parser_cocci_menhir.mly"
608 (Data.clt)
609 # 610 "parser_cocci_menhir.ml"
610 )
611 | TCCro of (
612 # 102 "parser_cocci_menhir.mly"
613 (Data.clt)
614 # 615 "parser_cocci_menhir.ml"
615 )
616 | TCBrace of (
617 # 101 "parser_cocci_menhir.mly"
618 (Data.clt)
619 # 620 "parser_cocci_menhir.ml"
620 )
621 | TBreak of (
622 # 58 "parser_cocci_menhir.mly"
623 (Data.clt)
624 # 625 "parser_cocci_menhir.ml"
625 )
626 | TBang0
627 | TBang of (
628 # 76 "parser_cocci_menhir.mly"
629 (Data.clt)
630 # 631 "parser_cocci_menhir.ml"
631 )
632 | TAssign of (
633 # 108 "parser_cocci_menhir.mly"
634 (Ast_cocci.assignOp * Data.clt)
635 # 636 "parser_cocci_menhir.ml"
636 )
637 | TArobArob
638 | TArob
639 | TAny of (
640 # 74 "parser_cocci_menhir.mly"
641 (Data.clt)
642 # 643 "parser_cocci_menhir.ml"
643 )
644 | TAndLog of (
645 # 90 "parser_cocci_menhir.mly"
646 (Data.clt)
647 # 648 "parser_cocci_menhir.ml"
648 )
649 | TAnd of (
650 # 93 "parser_cocci_menhir.mly"
651 (Data.clt)
652 # 653 "parser_cocci_menhir.ml"
653 )
654 | EOF
655
656 and _menhir_jeton = token
657
658
659 # 23 "parser_cocci_menhir.mly"
660
661
662 (* Not clear how to allow function declarations to specify a return type
663 and how to allow both to be specified as static, because they are in
664 different rules. The rules seem to have to be combined, which would allow
665 functions to be declared as local variables *)
666
667 (* Not clear how to let a function have a parameter of type void. At the
668 moment, void is allowed to be the type of a variable, which is wrong, and a
669 parameter needs both a type and an identifier *)
670 module Ast0 = Ast0_cocci
671 module Ast = Ast_cocci
672 module P = Parse_aux
673
674 # 675 "parser_cocci_menhir.ml"
675 let _eRR =
676 Error
677
678 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
679
680 exception Error = Error
681
682 type token = _menhir_jeton
683
684 let token2terminal : token -> int =
685 fun _tok ->
686 match _tok with
687 | EOF ->
688 175
689 | TAnd _ ->
690 174
691 | TAndLog _ ->
692 173
693 | TAny _ ->
694 172
695 | TArob ->
696 171
697 | TArobArob ->
698 170
699 | TAssign _ ->
700 169
701 | TBang _ ->
702 168
703 | TBang0 ->
704 167
705 | TBreak _ ->
706 166
707 | TCBrace _ ->
708 165
709 | TCCro _ ->
710 164
711 | TCEllipsis _ ->
712 163
713 | TCPar _ ->
714 162
715 | TCPar0 _ ->
716 161
717 | TCase _ ->
718 160
719 | TChar _ ->
720 159
721 | TComma _ ->
722 158
723 | TConstant ->
724 157
725 | TContext ->
726 156
727 | TContinue _ ->
728 155
729 | TCppConcatOp ->
730 154
731 | TDec _ ->
732 153
733 | TDeclarer ->
734 152
735 | TDeclarerId _ ->
736 151
737 | TDefault _ ->
738 150
739 | TDefine _ ->
740 149
741 | TDefineParam _ ->
742 148
743 | TDepends ->
744 147
745 | TDisable ->
746 146
747 | TDmOp _ ->
748 145
749 | TDo _ ->
750 144
751 | TDot _ ->
752 143
753 | TDotDot _ ->
754 142
755 | TEllipsis _ ->
756 141
757 | TElse _ ->
758 140
759 | TEq _ ->
760 139
761 | TEqEq _ ->
762 138
763 | TError ->
764 137
765 | TEver ->
766 136
767 | TExists ->
768 135
769 | TExpression ->
770 134
771 | TExtends ->
772 133
773 | TFinalize ->
774 132
775 | TFloat _ ->
776 131
777 | TFor _ ->
778 130
779 | TForall ->
780 129
781 | TFresh ->
782 128
783 | TFunDecl _ ->
784 127
785 | TFunction ->
786 126
787 | TGenerated ->
788 125
789 | TGoto _ ->
790 124
791 | TIdExpression ->
792 123
793 | TIdent _ ->
794 122
795 | TIdentifier ->
796 121
797 | TIf _ ->
798 120
799 | TInc _ ->
800 119
801 | TIncludeL _ ->
802 118
803 | TIncludeNL _ ->
804 117
805 | TInitialiser ->
806 116
807 | TInitialize ->
808 115
809 | TInt _ ->
810 114
811 | TInvalid ->
812 113
813 | TIso ->
814 112
815 | TIsoArgExpression ->
816 111
817 | TIsoDeclaration ->
818 110
819 | TIsoExpression ->
820 109
821 | TIsoStatement ->
822 108
823 | TIsoTestExpression ->
824 107
825 | TIsoTopLevel ->
826 106
827 | TIsoType ->
828 105
829 | TIterator ->
830 104
831 | TIteratorId _ ->
832 103
833 | TLineEnd _ ->
834 102
835 | TLocal ->
836 101
837 | TLogOp _ ->
838 100
839 | TMPtVirg ->
840 99
841 | TMetaConst _ ->
842 98
843 | TMetaDeclarer _ ->
844 97
845 | TMetaErr _ ->
846 96
847 | TMetaExp _ ->
848 95
849 | TMetaExpList _ ->
850 94
851 | TMetaFunc _ ->
852 93
853 | TMetaId _ ->
854 92
855 | TMetaIdExp _ ->
856 91
857 | TMetaInit _ ->
858 90
859 | TMetaIterator _ ->
860 89
861 | TMetaLocalFunc _ ->
862 88
863 | TMetaLocalIdExp _ ->
864 87
865 | TMetaParam _ ->
866 86
867 | TMetaParamList _ ->
868 85
869 | TMetaPos _ ->
870 84
871 | TMetaStm _ ->
872 83
873 | TMetaStmList _ ->
874 82
875 | TMetaType _ ->
876 81
877 | TMid0 _ ->
878 80
879 | TMinus _ ->
880 79
881 | TMinusFile _ ->
882 78
883 | TMul _ ->
884 77
885 | TName ->
886 76
887 | TNever ->
888 75
889 | TNotEq _ ->
890 74
891 | TNothing ->
892 73
893 | TOBrace _ ->
894 72
895 | TOCro _ ->
896 71
897 | TOEllipsis _ ->
898 70
899 | TOInit _ ->
900 69
901 | TOPar _ ->
902 68
903 | TOPar0 _ ->
904 67
905 | TOn ->
906 66
907 | TOr _ ->
908 65
909 | TOrLog _ ->
910 64
911 | TPArob ->
912 63
913 | TPCEllipsis _ ->
914 62
915 | TPOEllipsis _ ->
916 61
917 | TParameter ->
918 60
919 | TPathIsoFile _ ->
920 59
921 | TPlus _ ->
922 58
923 | TPlus0 ->
924 57
925 | TPlusFile _ ->
926 56
927 | TPosAny ->
928 55
929 | TPosition ->
930 54
931 | TPragma _ ->
932 53
933 | TPtVirg _ ->
934 52
935 | TPtrOp _ ->
936 51
937 | TPure ->
938 50
939 | TReturn _ ->
940 49
941 | TRightIso ->
942 48
943 | TRuleName _ ->
944 47
945 | TScript ->
946 46
947 | TScriptData _ ->
948 45
949 | TShOp _ ->
950 44
951 | TSizeof _ ->
952 43
953 | TStatement ->
954 42
955 | TStrict _ ->
956 41
957 | TString _ ->
958 40
959 | TSwitch _ ->
960 39
961 | TTilde _ ->
962 38
963 | TTildeEq _ ->
964 37
965 | TTildeExclEq _ ->
966 36
967 | TType ->
968 35
969 | TTypeId _ ->
970 34
971 | TTypedef ->
972 33
973 | TUsing ->
974 32
975 | TVirtual ->
976 31
977 | TWhen _ ->
978 30
979 | TWhenFalse _ ->
980 29
981 | TWhenTrue _ ->
982 28
983 | TWhile _ ->
984 27
985 | TWhy _ ->
986 26
987 | TWhy0 ->
988 25
989 | TWords ->
990 24
991 | TXor _ ->
992 23
993 | Tattr _ ->
994 22
995 | Tauto _ ->
996 21
997 | Tchar _ ->
998 20
999 | Tconst _ ->
1000 19
1001 | Tdouble _ ->
1002 18
1003 | Tenum _ ->
1004 17
1005 | Textern _ ->
1006 16
1007 | Tfloat _ ->
1008 15
1009 | Tinline _ ->
1010 14
1011 | Tint _ ->
1012 13
1013 | Tlist ->
1014 12
1015 | Tlong _ ->
1016 11
1017 | Tregister _ ->
1018 10
1019 | Tshort _ ->
1020 9
1021 | Tsigned _ ->
1022 8
1023 | Tstatic _ ->
1024 7
1025 | Tstruct _ ->
1026 6
1027 | Ttypedef _ ->
1028 5
1029 | Tunion _ ->
1030 4
1031 | Tunsigned _ ->
1032 3
1033 | Tvoid _ ->
1034 2
1035 | Tvolatile _ ->
1036 1
1037
1038 let error_terminal =
1039 0
1040
1041 let token2value : token -> Obj.t =
1042 fun _tok ->
1043 match _tok with
1044 | EOF ->
1045 Obj.repr ()
1046 | TAnd _v ->
1047 Obj.repr _v
1048 | TAndLog _v ->
1049 Obj.repr _v
1050 | TAny _v ->
1051 Obj.repr _v
1052 | TArob ->
1053 Obj.repr ()
1054 | TArobArob ->
1055 Obj.repr ()
1056 | TAssign _v ->
1057 Obj.repr _v
1058 | TBang _v ->
1059 Obj.repr _v
1060 | TBang0 ->
1061 Obj.repr ()
1062 | TBreak _v ->
1063 Obj.repr _v
1064 | TCBrace _v ->
1065 Obj.repr _v
1066 | TCCro _v ->
1067 Obj.repr _v
1068 | TCEllipsis _v ->
1069 Obj.repr _v
1070 | TCPar _v ->
1071 Obj.repr _v
1072 | TCPar0 _v ->
1073 Obj.repr _v
1074 | TCase _v ->
1075 Obj.repr _v
1076 | TChar _v ->
1077 Obj.repr _v
1078 | TComma _v ->
1079 Obj.repr _v
1080 | TConstant ->
1081 Obj.repr ()
1082 | TContext ->
1083 Obj.repr ()
1084 | TContinue _v ->
1085 Obj.repr _v
1086 | TCppConcatOp ->
1087 Obj.repr ()
1088 | TDec _v ->
1089 Obj.repr _v
1090 | TDeclarer ->
1091 Obj.repr ()
1092 | TDeclarerId _v ->
1093 Obj.repr _v
1094 | TDefault _v ->
1095 Obj.repr _v
1096 | TDefine _v ->
1097 Obj.repr _v
1098 | TDefineParam _v ->
1099 Obj.repr _v
1100 | TDepends ->
1101 Obj.repr ()
1102 | TDisable ->
1103 Obj.repr ()
1104 | TDmOp _v ->
1105 Obj.repr _v
1106 | TDo _v ->
1107 Obj.repr _v
1108 | TDot _v ->
1109 Obj.repr _v
1110 | TDotDot _v ->
1111 Obj.repr _v
1112 | TEllipsis _v ->
1113 Obj.repr _v
1114 | TElse _v ->
1115 Obj.repr _v
1116 | TEq _v ->
1117 Obj.repr _v
1118 | TEqEq _v ->
1119 Obj.repr _v
1120 | TError ->
1121 Obj.repr ()
1122 | TEver ->
1123 Obj.repr ()
1124 | TExists ->
1125 Obj.repr ()
1126 | TExpression ->
1127 Obj.repr ()
1128 | TExtends ->
1129 Obj.repr ()
1130 | TFinalize ->
1131 Obj.repr ()
1132 | TFloat _v ->
1133 Obj.repr _v
1134 | TFor _v ->
1135 Obj.repr _v
1136 | TForall ->
1137 Obj.repr ()
1138 | TFresh ->
1139 Obj.repr ()
1140 | TFunDecl _v ->
1141 Obj.repr _v
1142 | TFunction ->
1143 Obj.repr ()
1144 | TGenerated ->
1145 Obj.repr ()
1146 | TGoto _v ->
1147 Obj.repr _v
1148 | TIdExpression ->
1149 Obj.repr ()
1150 | TIdent _v ->
1151 Obj.repr _v
1152 | TIdentifier ->
1153 Obj.repr ()
1154 | TIf _v ->
1155 Obj.repr _v
1156 | TInc _v ->
1157 Obj.repr _v
1158 | TIncludeL _v ->
1159 Obj.repr _v
1160 | TIncludeNL _v ->
1161 Obj.repr _v
1162 | TInitialiser ->
1163 Obj.repr ()
1164 | TInitialize ->
1165 Obj.repr ()
1166 | TInt _v ->
1167 Obj.repr _v
1168 | TInvalid ->
1169 Obj.repr ()
1170 | TIso ->
1171 Obj.repr ()
1172 | TIsoArgExpression ->
1173 Obj.repr ()
1174 | TIsoDeclaration ->
1175 Obj.repr ()
1176 | TIsoExpression ->
1177 Obj.repr ()
1178 | TIsoStatement ->
1179 Obj.repr ()
1180 | TIsoTestExpression ->
1181 Obj.repr ()
1182 | TIsoTopLevel ->
1183 Obj.repr ()
1184 | TIsoType ->
1185 Obj.repr ()
1186 | TIterator ->
1187 Obj.repr ()
1188 | TIteratorId _v ->
1189 Obj.repr _v
1190 | TLineEnd _v ->
1191 Obj.repr _v
1192 | TLocal ->
1193 Obj.repr ()
1194 | TLogOp _v ->
1195 Obj.repr _v
1196 | TMPtVirg ->
1197 Obj.repr ()
1198 | TMetaConst _v ->
1199 Obj.repr _v
1200 | TMetaDeclarer _v ->
1201 Obj.repr _v
1202 | TMetaErr _v ->
1203 Obj.repr _v
1204 | TMetaExp _v ->
1205 Obj.repr _v
1206 | TMetaExpList _v ->
1207 Obj.repr _v
1208 | TMetaFunc _v ->
1209 Obj.repr _v
1210 | TMetaId _v ->
1211 Obj.repr _v
1212 | TMetaIdExp _v ->
1213 Obj.repr _v
1214 | TMetaInit _v ->
1215 Obj.repr _v
1216 | TMetaIterator _v ->
1217 Obj.repr _v
1218 | TMetaLocalFunc _v ->
1219 Obj.repr _v
1220 | TMetaLocalIdExp _v ->
1221 Obj.repr _v
1222 | TMetaParam _v ->
1223 Obj.repr _v
1224 | TMetaParamList _v ->
1225 Obj.repr _v
1226 | TMetaPos _v ->
1227 Obj.repr _v
1228 | TMetaStm _v ->
1229 Obj.repr _v
1230 | TMetaStmList _v ->
1231 Obj.repr _v
1232 | TMetaType _v ->
1233 Obj.repr _v
1234 | TMid0 _v ->
1235 Obj.repr _v
1236 | TMinus _v ->
1237 Obj.repr _v
1238 | TMinusFile _v ->
1239 Obj.repr _v
1240 | TMul _v ->
1241 Obj.repr _v
1242 | TName ->
1243 Obj.repr ()
1244 | TNever ->
1245 Obj.repr ()
1246 | TNotEq _v ->
1247 Obj.repr _v
1248 | TNothing ->
1249 Obj.repr ()
1250 | TOBrace _v ->
1251 Obj.repr _v
1252 | TOCro _v ->
1253 Obj.repr _v
1254 | TOEllipsis _v ->
1255 Obj.repr _v
1256 | TOInit _v ->
1257 Obj.repr _v
1258 | TOPar _v ->
1259 Obj.repr _v
1260 | TOPar0 _v ->
1261 Obj.repr _v
1262 | TOn ->
1263 Obj.repr ()
1264 | TOr _v ->
1265 Obj.repr _v
1266 | TOrLog _v ->
1267 Obj.repr _v
1268 | TPArob ->
1269 Obj.repr ()
1270 | TPCEllipsis _v ->
1271 Obj.repr _v
1272 | TPOEllipsis _v ->
1273 Obj.repr _v
1274 | TParameter ->
1275 Obj.repr ()
1276 | TPathIsoFile _v ->
1277 Obj.repr _v
1278 | TPlus _v ->
1279 Obj.repr _v
1280 | TPlus0 ->
1281 Obj.repr ()
1282 | TPlusFile _v ->
1283 Obj.repr _v
1284 | TPosAny ->
1285 Obj.repr ()
1286 | TPosition ->
1287 Obj.repr ()
1288 | TPragma _v ->
1289 Obj.repr _v
1290 | TPtVirg _v ->
1291 Obj.repr _v
1292 | TPtrOp _v ->
1293 Obj.repr _v
1294 | TPure ->
1295 Obj.repr ()
1296 | TReturn _v ->
1297 Obj.repr _v
1298 | TRightIso ->
1299 Obj.repr ()
1300 | TRuleName _v ->
1301 Obj.repr _v
1302 | TScript ->
1303 Obj.repr ()
1304 | TScriptData _v ->
1305 Obj.repr _v
1306 | TShOp _v ->
1307 Obj.repr _v
1308 | TSizeof _v ->
1309 Obj.repr _v
1310 | TStatement ->
1311 Obj.repr ()
1312 | TStrict _v ->
1313 Obj.repr _v
1314 | TString _v ->
1315 Obj.repr _v
1316 | TSwitch _v ->
1317 Obj.repr _v
1318 | TTilde _v ->
1319 Obj.repr _v
1320 | TTildeEq _v ->
1321 Obj.repr _v
1322 | TTildeExclEq _v ->
1323 Obj.repr _v
1324 | TType ->
1325 Obj.repr ()
1326 | TTypeId _v ->
1327 Obj.repr _v
1328 | TTypedef ->
1329 Obj.repr ()
1330 | TUsing ->
1331 Obj.repr ()
1332 | TVirtual ->
1333 Obj.repr ()
1334 | TWhen _v ->
1335 Obj.repr _v
1336 | TWhenFalse _v ->
1337 Obj.repr _v
1338 | TWhenTrue _v ->
1339 Obj.repr _v
1340 | TWhile _v ->
1341 Obj.repr _v
1342 | TWhy _v ->
1343 Obj.repr _v
1344 | TWhy0 ->
1345 Obj.repr ()
1346 | TWords ->
1347 Obj.repr ()
1348 | TXor _v ->
1349 Obj.repr _v
1350 | Tattr _v ->
1351 Obj.repr _v
1352 | Tauto _v ->
1353 Obj.repr _v
1354 | Tchar _v ->
1355 Obj.repr _v
1356 | Tconst _v ->
1357 Obj.repr _v
1358 | Tdouble _v ->
1359 Obj.repr _v
1360 | Tenum _v ->
1361 Obj.repr _v
1362 | Textern _v ->
1363 Obj.repr _v
1364 | Tfloat _v ->
1365 Obj.repr _v
1366 | Tinline _v ->
1367 Obj.repr _v
1368 | Tint _v ->
1369 Obj.repr _v
1370 | Tlist ->
1371 Obj.repr ()
1372 | Tlong _v ->
1373 Obj.repr _v
1374 | Tregister _v ->
1375 Obj.repr _v
1376 | Tshort _v ->
1377 Obj.repr _v
1378 | Tsigned _v ->
1379 Obj.repr _v
1380 | Tstatic _v ->
1381 Obj.repr _v
1382 | Tstruct _v ->
1383 Obj.repr _v
1384 | Ttypedef _v ->
1385 Obj.repr _v
1386 | Tunion _v ->
1387 Obj.repr _v
1388 | Tunsigned _v ->
1389 Obj.repr _v
1390 | Tvoid _v ->
1391 Obj.repr _v
1392 | Tvolatile _v ->
1393 Obj.repr _v
1394
1395 let default_reduction =
1396 (16, "\000\000\000\000\002\152\000z\000\000\000\000\002\220\001I\000\000\001G\001H\001F\000\000\001K\001J\000\001\000\000\001\134\000\000\000\000\000\137\000\000\000\000\001v\000\162\000\000\000\000\000\149\000\000\000\000\000\154\000\153\000\000\000\150\000\000\000\148\000\000\000\000\000\000\000\152\000\000\000\151\003\017\003\016\000\000\000\000\000\142\000\000\000\000\000\147\000\146\000\000\000\143\000\000\000\141\000\000\000\000\000\000\000\145\000\000\000\144\000\000\000\156\000\000\000\000\000\161\000\160\000\000\000\157\000\000\000\164\000\000\001C\001B\000\000\000\165\000\000\000\163\000\136\000\000\000\155\000\000\000\170\000\000\000\000\000\000\000\159\000\000\000\000\000\000\003\007\000\000\000\000\000\000\000\000\000\000\003\012\000\000\000\000\000\167\000\000\003\014\000\000\000\000\000\000\003\137\002b\000\000\003\135\000\000\002|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\134\003\136\002h\001>\002g\001<\001=\002f\002e\002d\002`\000\000\000\000\002a\001\011\000\000\002c\000\000\003\133\000\000\000c\001;\002C\000\000\000\000\002F\000\000\000\015\000\000\000\000\000\000\000\000\001\012\002_\002k\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\131\002 \000R\001\021\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\022\000\000\002I\001\023\000\014\000\016\000\000\000\000\000\192\000\000\000\000\000\179\000\000\000\000\000\184\000\183\000\000\000\180\000\000\000\178\000\000\000\000\000\000\000\182\000\000\000\181\000\000\000\000\000\172\000\000\000\000\000\177\000\176\000\000\000\173\000\000\000\171\000\000\000\000\000\000\000\175\000\000\000\174\000\000\000\186\000\000\000\000\000\191\000\190\000\000\000\187\000\000\000\194\000\000\000\000\000\195\000\000\000\193\000\000\000\185\000\000\000\200\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\000\000\000\002\007\000\208\000\000\000\000\000n\000o\002\006\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\214\000\000\001\234\000\000\000\000\000\000\000\000\000\207\000\205\000\220\000\000\001~\000\000\000\000\003\t\000\000\003\008\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\198\000\196\000\000\000\000\003\011\003\015\000\188\000\000\000\000\001\026\000\000\000\000\002D\002G\000\000\002E\002H\003l\003m\003k\000\000\002i\003j\000\000\002\131\000\000\000\000\002\130\002\129\002\128\002\127\002~\002z\000\000\000\000\002{\000\000\002}\000\000\000\000\000g\002Q\000\000\000\000\002T\000\000\000\000\002W\000\000\000\000\002R\002U\000\000\002S\002V\002\133\002y\003z\003{\003y\003x\000h\000\000\000\000\000W\000\000\000V\001\031\000\000\001\243\000\000\000\000\000\000\000\000\000\000\001\016\001\249\000\000\000\000\001\158\000U\0001\001\t\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\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\203\000\000\000\000\001\228\000\000\001\148\001\209\000\000\000\000\001\227\000\000\001\146\001\208\000\000\000\000\000d\000\000\002\132\000\000\000\000\003}\003|\000\000\001\244\000\000\000\000\003o\003n\000\000\000Q\000\204\000\000\001x\000\000\003\n\000\000\000\000\000\000\000\000\000\168\000\166\000\000\001\020\000\000\000\000\000\169\000\158\000\000\000\000\001a\000\000\001`\000\000\001n\000\000\001\136\000\000\000\000\000\000\003?\000\000\000\000\0032\000\000\000\000\0037\0036\000\000\0033\000\000\0031\000\000\000\000\000\000\0035\000\000\0034\000\000\000\000\003+\000\000\000\000\0030\003/\000\000\003,\000\000\003*\000\000\000\000\000\000\003.\000\000\003-\000\000\0039\000\000\000\000\003>\003=\000\000\003:\000\000\003A\000\000\000\000\003B\000\000\003@\000\000\0038\000\000\003G\000\000\000\000\000\000\003<\000\000\000\000\003f\000\000\000\000\000\000\000\000\003F\003;\000\000\003h\000\000\000\000\002\234\003g\000\129\000\000\000\248\000\000\000\000\000\000\000\000\003D\000\000\000\000\000\000\000\000\003E\003C\000\000\000\000\003]\000\000\000\000\003P\000\000\000\000\003U\003T\000\000\003Q\000\000\003O\000\000\000\000\000\000\003S\000\000\003R\000\000\000\000\003I\000\000\000\000\003N\003M\000\000\003J\000\000\003H\000\000\000\000\000\000\003L\000\000\003K\000\000\003W\000\000\000\000\003\\\003[\000\000\003X\000\000\003_\000\000\000\000\003`\000\000\003^\000\000\003V\000\000\003e\000\000\000\000\000\000\003Z\000\000\000\000\000\000\000\000\003d\003Y\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\003c\003a\003\003\003\005\003\006\003\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\210\000\209\000\000\000\000\000w\000\000\000\000\000\000\002o\000\000\000\000\000\000\002w\000\000\000\000\002v\000\000\003v\002u\002t\002s\002r\002q\001]\002m\000\000\000\000\002n\000\000\002p\000\000\000\000\000\000\000\000\000\000\000e\002J\000\000\000\000\002M\000\000\000\000\002P\000\000\000\000\002K\002N\000\000\002L\002O\002x\002l\000f\003s\003t\003r\003q\003u\000\000\000\000\000\000\000\000\001\008\001\007\000\000\000\000\000\000\000\000\000\000\001S\000\000\001\018\001P\000\000\001\006\001V\000\000\000\000\000\000\001W\000\000\000\000\001X\000\000\001\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\001Y\000\000\001U\000\000\000\000\001[\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001\\\001R\000\000\001Q\000\000\000\241\000\000\002\214\000\000\000\000\000\237\000\000\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\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\242\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\000\000\235\000\000\000\000\000\000\002\137\000\000\000\000\000\000\000\000\002\144\000\000\000\000\002\143\002\142\002\141\002\140\002\139\002\135\000\000\000\000\002\136\000\000\002\138\000\000\000\000\000i\002X\000\000\000\000\002[\000\000\000\000\002^\000\000\000\000\002Y\002\\\000\000\002Z\002]\002\146\002\134\003\129\003\130\003\128\003\127\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\145\000\000\001\210\000X\000?\001\030\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\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\132\003\131\000\000\002\250\000\000\002\249\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003\145\000\000\000\018\000\000\000\000\000\000\003\140\000\000\001\160\000\000\000\000\000\000\000\221\002\240\001t\001s\001M\001L\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\014\000\254\000\000\001\132\000\000\000\000\000\253\000\249\000\000\001\000\000\250\000\255\000\000\002\252\000\000\002\251\002\237\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\002\247\002\239\000\000\002\253\000\000\002\241\000\000\000\225\000\000\003\000\000\000\001O\000\000\000\000\003\021\000\000\003\028\000\227\000\000\000\232\000\000\003\022\000\226\000\000\003\023\000\000\003\030\000\000\000\000\000\000\000\000\000\245\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\246\000\000\000\000\000\000\000\000\001@\000\000\000\000\000\000\000\233\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\223\000\222\000\000\003\031\003 \000\000\003!\000\000\003\"\000\000\001N\002\244\000\000\000\000\001\232\000\000\001\156\001\214\000\000\002\238\000\000\000\000\000\000\002\243\000\000\000\000\000\000\0014\000\000\001.\000\000\001/\000\000\0019\001-\0018\000\000\002\255\001:\000\000\000\228\000\000\000\000\000\000\000\000\0016\0011\001\229\000\000\0012\000\000\0013\000\000\001\150\001\211\000\000\000\000\000\000\001\239\000\000\001\237\000\000\000\000\001\241\001\235\000\000\001\242\001\236\000\000\003\001\001\245\000\000\000\224\000\000\000\000\001\230\000\000\001\152\001\212\000\000\003\141\000\000\003\138\000\000\003\139\000\019\000\020\000\000\000\000\002\193\000\000\002\192\000\000\000\000\002\195\000\000\002\194\000\000\000\000\000\000\002\016\000\000\000\000\002\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\023\000\000\000\000\002\026\000\000\002\n\000\000\000\000\002\013\000\000\000\000\000\000\002\017\000\000\000\000\002\021\000\000\000\000\001\231\000\000\000\000\002\014\000\000\000\000\002\018\002\190\002\011\000\000\002\191\000\000\000\000\000\000\000\000\002\024\000\000\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\002\025\000\000\002\t\000\000\000\000\002\012\000\000\000\000\000\000\002\015\000\000\000\000\002\019\000\000\001\154\001\213\000\000\002\196\000\000\000\000\000\000\003\142\000\017\000u\000\000\003\143\000\000\000\000\002\210\000\000\000\000\003\002\000a\000\000\000\000\000\000\000b\000\000\002\248\000\000\001z\000\000\001\128\002\245\000\000\000\000\001g\000\000\001f\000\000\001o\000\000\001\142\000\000\000\000\000\000\001e\000\000\001d\000\000\001l\000\000\001\140\000\000\000\000\000\000\001i\000\000\001h\000\000\001m\000\000\001\144\000\000\000\000\000\000\001j\000\000\000\000\000\000\001c\000\000\001b\000\000\001p\000\000\001\138\000\000\000\000\000\000\001k\000\002\000\000\000N\000O\000\000\000\000\002\164\002\168\002\172\002\160\002\157\000\000\000\000\001\177\002\169\002\176\002\161\002\175\002\159\002\174\002\163\002\155\002\162\002\171\002\158\002\165\002\156\002\167\002\173\002\170\002\166\000~\000\000\000\000\002\228\000\000\000\000\002\204\000\000\000\000\002\206\002\205\002\180\000\000\000\000\002\236\002\153\002\154\000\000\001\189\000M\001q\000\003\000\000\000\000\002\149\000\000\002\030\000\000\000\128\000\000\000\000\002\232\000\000\000\000\000\000\000y\000\000\000\000\002\218\000\000\002\003\002\002\001\172\002\182\000\000\001\205\000\000\002\150\000\000\000\000\000{\000\000\000\000\002\222\000\000\001\186\000\000\000\000\001\182\000\000\000\000\000\000\001\185\000\000\001\184\000\000\000\000\000\000\000\000\000\000\000\000\001\206\000\000\001\180\000\000\001\179\000\000\000v\000\000\000\000\002\212\000\000\000\000\001\176\000\000\000\000\000}\000\000\000\000\002\226\000\000\000\000\002\188\000\000\002\187\000\000\000\000\000\000\002\001\002\000\002\185\002$\002\178\002\186\000\000\001\192\000\000\000\000\000\000\001\188\000\000\001\194\000\000\000\000\001\183\000\000\000\000\001\190\000\000\000\000\001\191\000\000\000\000\000\000\000\000\000\000\000\000\001\207\000\000\001\181\000\000\001\251\000\127\000\000\000\000\002\230\000\000\000\000\000\000\001E\000x\001D\000\000\000\000\002\216\000\000\001\253\001\252\001\170\002\181\000\000\000|\000\000\000\000\002\224\000\000\000\000\000\000\000\000\001\255\001\254\002\183\002\"\002\177\002\184\000\000\001\199\000\000\001\203\000\000\000\000\001\195\000\000\000\000\000\000\001\187\000\000\001\193\000\000\000\000\000\000\000\000\001\175\000\000\000\000\001\202\000\000\001\201\000\000\000\000\000\000\000\000\001\198\000\000\000\000\001\197\000\000\001\196\000\000\000\000\000\000\000\000\001\200\000\000\001\204\000\000\000\000\001r\000\004\000\000\001\178\000\005\000\000\000\000\001\"\000\006\000\000\001\218\001\219\001\217\000\000\001\216\003\018\001\166\000\000\000\007\000\000\001\221\001\222\001\220\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\024\003%\000\000\003\025\000\000\003\026\000\000\000\000\003\019\000\000\000\000\000\000\000\000\003$\000\000\000\000\003#\001\226\001\225\000\000\000\000\001\168\001\215\001\223\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000l\000m\002\004\000\000\000\000\000\000\000\217\000\000\001|\000\000\000\000\000\216\000\212\000\000\000\000\000\000\000\000\001?\000\000\003(\000\000\003)\000\000\000\000\001\248\001\246\000\000\001\247\000\008\000\000\000\t\000\000\0023\0024\0022\000\000\0021\000\000\000\n\000\000\0026\0027\0025\000\000\0029\000\000\000\000\000\000\002+\000\000\000\000\002-\000\000\002'\000\000\002)\000\000\002.\000\000\002/\000\000\002(\002&\002:\001\174\0020\000\000\002<\000\000\002;\000\000\002=\000\000\002\189\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\002A\000\000\002@\000\000\002?\001\001\000\000\000\000\000\000\000\000\001\002\002B\000\000\000\000\002\200\000\000\000\000\000\000\002\201\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\002\208\000k\000\000\000\000\001\n\000\000\001\028\001\027\000\000\001_\000\000\002\199\001\164\001\162\000\000\000\000\000\000\002\202\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\002\197\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\203")
1397
1398 let error =
1399 (176, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\000C\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001*\134\128P!\170\008\t\012\192\140\006\128\136w\130@\000\142d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\000\000\000\000\000\000\000\000\000\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\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\000z\213x\002 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\001\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\008\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\001 \000\008\152&\203%\128\000\n\000\129\000\0007@Bxw\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\000z\213x\000\"\145\000$\026\005A\159\160\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\000\000\000\000\001 \000\008\008 \192%\128\000\n\000\000\000\0006@\002hw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0006@\002xw\000\000\000\000\002\144\000$\026\005\001\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\008\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\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\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\008\000\000\000 \000\000\000\002 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\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\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:\213h\000 \001\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\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\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\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\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\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\008\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\002 \000z\213x\000\"\145\000$\026\005A\159\160\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\002\144\000$\026\005\001\157\160\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000$\026\005\001\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\144\"\201%\000\000\008\000\129\000\0005@@\016G\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\000z\213x\000\"\145\000$\026\005A\159\160\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\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\001 \000\008\128\"\192%\000\000\008\000\128\000\0004@\000\016G\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\016\000\000\000\000\000\000\000\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\004\000\000\016\000\000\000\000\002\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\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\002\144\000$\026\005\001\157\160\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000$\026\005\001\157\160\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\000z\213x\000\"\145\000$\026\005A\157\160\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\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\000z\213x\000\"\145\000$\026\005A\157\160\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\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\008\000\001\000\000\000\000\000\000\000\000\016\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\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\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\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\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\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\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\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\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\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\001\000\000\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!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\001\000\000\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!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\001\000\000\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!\"\008\001\012@\000\004\128\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\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\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\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\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:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\001\000\000\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!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\001\000\000\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!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\012@\000\004\128\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\001\000\000\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!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\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\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\002\144\000$\026\005\001\157\160\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\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\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\002\144\000$\026\005\001\157\160\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\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\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\000z\213x\000\"\145\000$\026\005A\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\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\002\144\000 \024\005\001\157\160\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\001\000\000\008\016 \201%\000\000\008\000\001\000\000!@B\000\006\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\000z\213x\000\"\145\000$\026\005A\159\160\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0007@BPw\000\000\000\002\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\024 \201%\128\000\008\000\001\000\0003@B@F\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\002\144\000 \025\133\001\157\160\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\002\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\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\001\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\002\144\000 \025\133\001\157\160\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\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\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\002\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\008\000\000\140\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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:\213h\000 \001\000\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\002\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\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\002\144\000 \024\005\001\157\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\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\001 \000\008\152&\203%\128\000\n\000\129\000\0005@@Pw\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\000z\213x\000\"\145\000$\026\005A\159\160\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\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\001 \000\008\136&\194%\128\000\n\000\128\000\0004@\000Pw\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\002\144\000 \024\005\001\157\160\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7z\213x\000\"\145\000$\026\005A\157\160\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\002\144\008$\026\005\001\157\160\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\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\127\245\252\030#\145@ \024\197q\221\225\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\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\127\245\252\016#\145@ \024\133q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\030#\145@ \024\197q\221\225\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\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\000$\026\005\001\157\160\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 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\008\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\002 \000\000\000\000\000\000\000\000\000\000\000\000\008\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\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\002 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\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 \000\000\000\000\016\003\144@ \024\133\017\221\161\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\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\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\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\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\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\004\002\000\000\000\002\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\127\245\252\016#\145@ \024\197q\221\227\000g\1680\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\008\n\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\008\004\002\000\000\000\002\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\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\127\245\252\016#\145@ \024\197q\221\227\000g\1680\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\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\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 \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\008\000\008\000\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\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\000\000\000\000\000\000\000\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\000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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:\213h\000 \001\000\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\127\245\252\016#\145@$\026\133q\221\227\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\008\004\002\000\000\000\002\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\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\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\008\000\008\000\000\140\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\003\144@ \024\133\017\221\161\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000@\000\127\247\254\016#\145\192&\026\133\241\221\227\000\231\1690\012\143Q\214\179\000\000\000\016\003\144@ \024\133\017\221\161\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\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\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\008\004\002\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\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\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128\140\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016#\145@ \024\197q\221\225\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\136\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\127\245\252\016#\145@ \024\197q\221\225\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\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\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\127\245\252\016#\145@$\026\133\241\221\225\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\004\002\000\000\000\002\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\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\026\005\001\157\160\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\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{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\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\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\140\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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:\213h\000 \001\000\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\128\000\000\000\000\000\000\000\000\000@\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\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\001 \000\008\024 \201%\128\008\008\000\001 \0001@@@F\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\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 \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\008\000\008\000\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\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\000\000\000\000\000\000\000\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\000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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:\213h\000 \001\000\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\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\008\000\128\140\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000A\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\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#\145@ \024\197q\221\225\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\127\245\252\016#\145@ \024\197q\221\225\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\001\000\000\000\000\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\002\144\000$\026\005\001\157\160\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\002\144\000$\026\005\001\157\160\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\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\128\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\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\016\003\144@ \024\133\017\221\161\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\016\003\144@ \024\133\017\221\161\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\001\000\000\000\000\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\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\001\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 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@p!\"H\016\128@\000\004\128\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@\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\016\000\002\000\000\000\000\000\000\000\129\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\129\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000p!\"\008\016\128@\000\004\128\008R\002@\000\140\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\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\008\000\128P!#\008\000\008\000\000\004\128\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\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000p! \008\016\128@\000\004\128\008R\002@\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\000\132\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\000\000\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!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\020\128\008v\130@\000\142\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\016\000\000\000\000\000\000\000\000\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!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012\000\000\004\128\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\018\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\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!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\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\016\000\000\000\000\000\000\000\000\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!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001(\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\000\000\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!\"\008\000\012\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\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\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\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\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\221x\128p!\"\008\016\136@\000\004\128\008v\130@\000\140\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\008\000\128\\!\"\008\000,\000\000\020\128\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\221x\128p!\"\008\016\140@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\000\000\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!\"\008\001\008\000\000\004\128\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\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\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\000z\213x@p!\"H\016\128@\000\004\128\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\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\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\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\127\247\254\016#\145@$\030\135q\221\225\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\133q\221\225\000g\1690\004\141Q\002\179{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\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\001\000\000\000\000\000\000\001\"\134\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\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\127\245\252\016#\145@$\026\133q\221\225\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\002\144\000 \025\133\001\157\160\000a \016\021\000A\000\130\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\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\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\016\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\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\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000!\000\000\000\000\000\000\001\"\134\000\000\000\000\000\008\000\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\001\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\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\008\000\000\000 \000\000\000\002 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002 \000z\213x\000 \001\000\000\016\000F\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\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\004\002\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\127\245\252\016#\145@$\026\133q\221\225\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\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\004\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\144\000$\026\007\001\157\160\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\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\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\127\247\254\016#\145@$\030\135q\221\225\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\133q\221\225\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\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016#\145@ \024\197q\221\225\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\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\127\247\254\016#\145@ \024\197q\221\225\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\008\004\002\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\127\247\254\016#\145@$\026\133q\221\225\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\127\247\254\016#\145@$\026\133q\221\225\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\127\247\254\016#\145@$\026\133q\221\225\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\001\"\134\000\000\000\008\000\008\000\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\127\247\254\016#\145@$\026\133q\221\225\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\008\004\002\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\127\247\254\016#\145@$\026\133q\221\225\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\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\002\000\000\000\000\000\000\000\000\016$O\0000\000\000\016\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\016\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000 \020\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\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\000G\0000\000\000\016\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\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\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\000C\000 \002\000\016\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\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000G\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\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\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\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\000C\0000\000\000\016\000\000\000\000\128\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\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
1400
1401 let action =
1402 ((16, "\000\226\000\201\000\000\000\000\000\220\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\226\000\000\001\146.\160\000\000\018\174\018\174\000\000\000\000*\236\018\174\000\000;*\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000W\000X\018\174\000\000\018\174\000\000\000\000\000\000+R\018\174\000\000;\158\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000:\000\152\018\174\000\000\018\174\000\000\018\174\000\000;\172\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000c\000\000\000\000\018\174\000\000\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000\188\000\232\018\174\000\000.\160;^?\140\000\000G\028\001d.\160\000F?\140\000\000\000\218\018\174\000\000Gb\000\000\000c\002\154.\128\000\000\000\00094\000\000<r\000\000<\232.\128.\128\020\012\020\012<r\020\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\170.\128\000\000\000\0009\170\000\0009\170\000\000.\128\000\000\000\000\000\000\023z\000c\000\000\020\012\000\000/|.\128\0286.\128\000\000\000\000\000\000\000\000\000\000\000\000\031\n.\128 \002.\128 p.\128!h.\128\000\000.\128\000\000.\128!\214.\128\"\206.\128#<.\128$4.\128$\162.\128\001(.\128\000\000\000\000\000\000\000\000\000\000.\128%\154.\128&\008.\128'\000.\128\000\000\000\000.\128\000\000\000\000\001\232\000\000\000\000\000\000\000\000\018\012\018\174\000\000\003\180\018\174\000\000=h\018\174\000\000\000\000\018\174\000\000\018\174\000\000\002*\002\154\018\174\000\000\018\174\000\000\004H\018\174\000\000=\168\018\174\000\000\000\000\018\174\000\000\018\174\000\000\002z\002\166\018\174\000\000\018\174\000\000\018\174\000\000=\202\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000c\018\174\000\000\018\174\000\000\018\174\000\000\018\174\000\000\002\174\003X\018\174\000\000;\158?\140\003\014\018\174\000\000H\140G\142\000\000\001\164\003\232\000c\003\208\004\192G\212\000\000\000\000\000bH\184\000\000\000\000\000\000\000\000\002\200\004\208\001\164\0054G\212\000\134G\212\000\000\000\000\004\134\000\000\004\250\005\196G\212\005\n\000\000\000\000\000\000\000b\000\000\005\016\005\246\000\000\006\000\000\000\018\012\001\164?\140\005(\018\174\000\000;\172?\140\005<\018\174\000\000\000\000\000c\006:\000\000\000\000\000\000\000\156\020\012\000\000.\128\005b\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\005l\000\000\000\000\005r\000\000\005|<r\000\000\000\000\000\000\000\000\000\000\000\000>\144.\128\000\000>\144\000\000>\144<r\000\000\000\0000(\000c\000\000\020\012\005\140\000\000.\128\005\164\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\146.\128\000\000.\128\000\000\000\000\005\190\000\000\000\021: \006r.\128\006<\000\000\000\000<r\000\021\000\000\000\000\000\000\000\000\000\000ID<rI\160<rI\208<rJD<r\000\000<r\000\000<rJ\160<rK\018<rK\132<rK\224<rLR.\128\005\240<r\000\000<rL\196<rM <rM\146\005\206\000\000\005\218\000\000\000o.\128\000\000\000o\000\000\000\000\001\240.\160\000\000\001\240\000\000\000\000\005\228.\128\000\000\005\236\000\000\020\012\005\236\000\000\000\000\006\188\000\000\020\012\005\248\000\000\000\000\005\246\000\000\000\000\002\154\000\000\006\216\000\000=h?\140\005\250\018\174\000\000\000\000\006z\000\000\006\000\018\174\000\000\000\000\000\t.\160\000\000.\160\000\000\005\238\000\000\000\t\000\000\016f\031\n\018\158\000\000\004\206\018\158\000\000\018\158\018\158\000\000\000\000\018\158\000\000\018\158\000\000\0062\006^\018\158\000\000\018\158\000\000\005\020\018\158\000\000\018\174\018\158\000\000\000\000\018\158\000\000\018\158\000\000\0066\006b\018\158\000\000\018\158\000\000\018\158\000\000\018\178\018\158\000\000\000\000\018\158\000\000\018\158\000\000\000c\018\158\000\000\018\158\000\000\018\158\000\000\018\158\000\000\006:\006r\018\158\000\000.\160\006&\000\000\018\158?\140\006 \018\158\000\000\000\000\000m\000\000\003\134\000m\000\000\000\000\000\000\007\008\000\000\001\194?\140\0062\018\158\000\000\018\174?\140\0066\018\158\000\000\000\000\024\024\018\158\000\000\005\248\018\158\000\000\018\188\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006j\006\170\018\158\000\000\018\158\000\000\007\004\018\158\000\0000\200\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006\134\006\180\018\158\000\000\018\158\000\000\018\158\000\0000\220\018\158\000\000\000\000\018\158\000\000\018\158\000\000\000c\018\158\000\000\018\158\000\000\018\158\000\000\018\158\000\000\006\140\006\184\018\158\000\000\018\178?\140\006d\018\158\000\000\000\000\002\130?\140\006f\018\158\000\0000\200?\140\006p\018\158\000\000\000\000\000\000\000\000\000\000\000\000\0074.\128\006\134\021\160\007H.\128\006\144\007F.\160\000\000\000\000.\160\000c\000\000\000\007.\128(\028\000\000?|.\128\006\156\000\000\020\012\006\156\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\242.\128\000\000?\242\000\000?\242@h\020\012\006\166@h\000\000\000\000M\214\000c\000\000\020\012\006\168\000\000.\128\006\168\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\128\000,.\128\006\170\000\000\000\000(\208\025\216'L\007b.\128\000\000\007,\000\000\000\000\000c\000\000\000\000\024\216\006\228(\028\000\000\006\232(\028\000\000\0018\000\000\000\000\n\014@h\012\202@h\014(@h\015\134@h\000\000@h\000\000@h\0264@h\028\160@hD\246@hJ\020@hJ\224@hL @hN.@hN\138\000\000\006\190\000\000\006\208)\132\000\000*8\006\210*8,\028\006\212*8\000\000\000\000\000\000\000\000\000\000\006\206\000\000\007\178\000\000\000c\000\000\000\007\007\180\000\000\000s\007\136\000c\006\232\007\166G\212\007\006\000\003\000\000.\128\007\246\000\000\003\248\005V\007\216G\212\007\030\007\252\000\000\003\\.\128\007\254\000\000\008\002\000\000\018\012\000c\003x.\128\008\004\000\000\008\008\000\000\000c\005<.\128\008\012\000\000\008\016\000\000\000\177\007^\006\212\000\000@\222AT\020\012\0078\000\000\007@AT\000\000\000\000\000\000\000\000\000\000\000\000A\202.\128\000\000A\202\000\000A\202AT\000\000\000\000\026\216\000c\000\000\020\012\007F\000\000.\128\007D\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\196.\128\000\000.\128\000\000\007V\000\000\000o\000\000\000\000\000\000\000\000\000\0001\176AT2\012AT2\168AT3\004AT\000\000AT\000\000AT3\160AT3\252AT4\152AT4\244AT5\144.\128\007~AT\000\000AT5\236AT6\136AT6\228\020\012\007X\000\000\000\000.\128\000\000\008:\000\000\001\\\008\016.\128\007\222\000\000\008\028.\128\007\234\000\000\000\174\000\000\006\212\006\212\001\\\000\000\001\\\000\000\016f\006\212\006\212\000\000\000\000\000\000\000\000\000\000\000\000\0084.\128\007|\021\160\022\140\000c\008\\\000\000\008>7\170\008`7\170\008f.\128\007\142\021\160\021\160\002r\001P\002\220\000\000\000\000\000\000\001P\000\000\002\174\002r\000\000\000\000\007\152\000\000\000\000\000\000\008v\000\000\008~\000\000\000\000\008\184\008p.\128\007\182\008\150\000\000\008z\020\012\007\192\021\160\000\000\000\000\007\234\000\000\000\015\000\000\005v\000\000\001\\\000\000\008<\000\000\012L\000M\000\000\012L\000\000\000\000\024\216\000\000\005f\000\000\000\000\t\144\000\000\012L\000\000\008\130\020\012\007\200\008\166\000\000\000%\000\000\008v\000c\007\214\008\156G\212\007\234\0028\000\000.\128\008\200\000\000\008\170G\212\007\254\008\220\000\000\005`.\128\008\222\000\000\008\224\000\000\018\012\000c\005r.\128\008\226\000\000\008\230\000\000\000\000\000\000\t\144\000\000\000\000\001(\000\000\006\212\000\000\000%\000\000\000\000\003\222\022\140\000\000\003\222\000\000\000\000\008\014\000\000\0012\000\003\021\160\000\000\004\024\000M\004\024\000\000\000\015\000\000\006\212\000\000\006\212\000\000\000\000\000\000\008\n\000\000\000\000\008\028\000\000\004$\005v\004\014\004\024\000\000\000\000\000\000\006\154\000\000\006\212\000\000\004$\000\000\000\000\007\230\000\015\016f\000\000\000\015\000\000\0082\016f\000\000\000\000\0082\000\000\000\000\008\028\000\000\000\000\008$\000\000\004L\006\212\000\000\004L\000\000\000\000\008\158\000\000\001(\000\000\006\212\000\000\000\000\000\000\017\1848 \000\000\t\004\000\000\017\184\t\006\000\000\t\n\000\000.\160\000c\004(\000\000.\128\t\012\000\000\001\028\008\220\000c\0086\008\244G\212\008<\004\210\000\000.\128\t\028\000\000\004\246\000\000.\128\t\030\000\000\018\012\000c\005h\000\000.\128\t\"\000\000\004\178\017\184\000\000\024\216\005t\000\000.\128\t$\000\000\000\000\000\000\001\246\000\000\t \020\012\008x\tV\000\000\005\212\000\000\t&\000c\008~\t<G\212\008\132\005~\000\000.\128\tb\000\000\005\144\000\000.\128\tf\000\000\018\012\000c\005\156\000\000.\128\th\000\000\004\178\000\000\000\000\008\144\000\000\001\246\tD\t\n\000\000\000\000\000\000\t\012\000\000\003H\000\174\000\000\016f\t^\000\000\000\000.\128\008\198\006\212\000\000\008\158\000\000\000\177\000\000.\160\000\000\000\000\001\194\016f\000\000\016f\000\000\008\140\000\000\001\194\000\000<r\004P<r\000\000<r\000\000\008\142\000\000\004P\000\000\021\160\004t\021\160\000\000\021\160\000\000\008\146\000\000\004t\000\000<r\004P\008\152\000\000.\160\005`.\160\000\000.\160\000\000\008\154\000\000\005`\000\000<r\004P\008\156\000\000\000\000\024\216\000\000\000\000\t\014/B\000\000\000\000\000\000\000\000\000\000\008\228\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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/B\000\000\001h\002\162\000\000\008\232\000\201\000\000\000\000\000\000\000\139\002\162\000\000\000\000\000\000\tB\000\000\000\000\000\000\000\000\0286\029\148\000\000B\134\000\000/B\000\000\003\250/B\000\000\002p\003$\003$\000\000\002\184\003$\000\000\008\194\000\000\000\000\000\000\000\000\tH\000\000\030\012\000\000\031\n/B\000\000\004\154/B\000\000\tJ\000\000/B\tL\000\000D\1468\164\tN\000\000\tT\000\000D\220:\164/B\008\214/B\t\\\000\000\t^\000\000\t`\000\000.\160\000\000\003\180.\160\000\000\008\222\018\158\000\000\000\141/B\000\000\004\238/B\000\000\003\178\t\220\000\000\t\224\000\000\005R\000\201\008\240\000\000\000\000\000\000\000\000\000\000\000\000\t~\000\000E\152/B\t\134\000\000\t\144\000\000/B\t\146\000\000/B\t\148\000\000/B\t\154\000\000B\2088\164/B\t\026/B\t\158\000\000\t\162\000\000C\140\000\000\000\000\0054/B\000\000\002\156\004h\001\142\000\000\000\000\000\000\004n\001\142\000\000\t \000\000\000\000\000\000\000\000/B\000\000\005\\/B\000\000\003\182\005\142\000\201\t\"\000\000\000\000\000\000\000\000\000\000\000\000\t\168\000\000\t\170\000\000/B\t\176\000\000E\226/B\t\178\000\000\t\196\000\000\021\018\tn\t\158-d\000\000/B\t\210\000\000\t\212\000\000\t\166\021\018/B\t\216\000\000/B\t\218\000\000\t\222\000\000C\214\t^/B\t\232\000\000\t\236\000\000\000\201\t^\000\000\000\000\024\216\000\000\000\000\002^\nF\000\000\000\000\000b\000\000\000\000\000\000.\128\000\000\000\000\000\000\002\186\000\000\001\152\000\000\000\000\000\000\004\024?\140?\140?\140\000\000\003v\003v\003v\003v\000\000\000\000\000\000\000\000\000\000\000\000\001\\\016f\n@\013\170\000M\000\000\000\000\001\"\000\000\t\144\000\000(\028\tv\000\000\001\\\016f\t~\015\008\000\000\001\\\013\170\000\000\000\000\000\000?\140\011\220\000\000\000\000\000\000\t\202\000\129\nBH\140\000\000\005\006Id\000\000\000\000\000\000\006\138\n2\000c\000\000\005\006\000\000\005\012H\140\000\000\000\000\t\140\nB\006\212\t\138\000\000\001\"\000\000\t\144\000\000\020\148\003h\000\000\000\000\n0\000\000\000\000\002^\000\000\003\196\000\000\000\000\000\000.\128\000\000\002\186\000\000\004R\000\000\000\000\000\000\005v\000\000\n\238\004\152\n\238\000\000\006\212\n\238\000\000\004\152\000\000\006\212\000\000\006\212\000\000\006\212\000\000\020\148\000\000\000\000\000\000\000\000\000\000\006\212\000\000\004\152\000\000\006\212\000\000\023\012\000\000\000\000\0082\t\190\000\201\001\206\nZ\006\214\000\000\006\214\n\132\000\000\n\138\000\000\n\140\000\000\000\000\003\176\006\214\003\136\006\214\000\000\000\000\006\142\t\176\000\000\n\000\000\201\t\200\000\000\003F\n\194\000\000\002\024\000\228\n\214\000I\n\214\000\000\000\000\007\166\000\201\000\000\000)\000\000\000\000\000g\000\000\t\210\000\000\000\000\000\000\n\014\000\201\t\214\000\000\000\000\003F\002\024\000\228\007\166\000)\000g\t\216\000\000\002\024\000\228\007\166\000)\000g\t\222\000\000\000\201\000\000\n\222\n\218\n\"\000\201\n|\000\000"), (16, "\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\012\182\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\000\n\014\218\001\230\006\222\011\197\008\210\001\238\001\242\011\169\001\230\015\014\011\197\016\134\012\226\001\242\011\197\011\197\011\197\000&\007\181\011\197\001\"\007\150\016\022\011\197\011\197\011\197\011Q\016\138\012\210\006q\008m\014\218\007\181\022\182\011\197\000\n\000*\011\197\011\197\013V\015\014\012i\000\n\011\197\011\197\000\n\011\197\001\230\011\197\019\254\000\n\012\226\001\242\011\197\005\225\011\197\011\197\011\197\011\197\011\197\027\166\017*\021\150\011\197\011\197\011\197\011\169\011\197\011\197\011\197\0119\011\197\011\197\011\197\011\197\0119\0119\000\150\011\197\011\197\016\"\000\n\007\181\006I\001~\007\158\027\154\0119\011\197\011\197\011\197\004q\027\158\011\197\011\197\011\197\011\197\005u\011\197\027~\011\197\0007\000;\011\197\001\"\015\002\011\197\011\197\006\026\012i\012i\016\"\0119\n\158\012i\012\214\017Z\011\197\011i\011i\011\197\000\006\000\"\027v\011\197\011\197\011\197\011\197\004q\011\197\006q\011\197\012\158\007\181\000\n\011\197\011\197\011\197\015\006\011\197\011v\011\197\011\197\000\154\011\197\007\181\011\197\011\197\006\025\000\226\011\197\011\197\006y\006y\006y\006y\006y\006y\006y\006y\006y\006y\006y\011\130\006y\006y\006y\006y\006y\006y\006y\006y\006y\006y\016\022\000\230\011\137\016\022\006y\014\222\014\238\014\254\016\022\014\218\004^\006y\014\218\018\166\005\241\006y\006y\006y\015\014\018V\006y\015\014\024\199\024\203\006y\018Z\006y\024\207\004\138\018^\011n\011i\003e\001\230\000.\006y\006\222\012\226\001\242\005\030\001R\001V\011i\004a\006y\006y\006\129\011i\011i\006y\006y\006\129\006\129\012i\006y\001v\006y\006y\006y\006y\006y\021j\019\210\006\129\006y\006y\006y\000\n\006y\006y\006y\000\022\006y\006y\006y\006y\020.\001\138\011i\006y\006y\004>\n\201\011i\011i\004\222\006\017\006\017\006\129\016\"\006y\006y\016\"\002\206\006y\006y\006y\006y\006\001\006y\008\246\006y\011\170\004\013\006y\001\"\0192\006y\006y\000N\007\182\020N\020v\020\158\020\174\020\214\023\142\006I\012i\012i\001\"\006y\021v\012i\000\n\006y\006y\006y\006y\015\142\006y\006\246\006y\006\t\006\222\000\n\006y\006y\006y\016\166\0206\n\201\006y\006y\006\145\006y\006\145\006y\006y\006\145\000\n\006y\006y\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\004~\006\145\024\239\024\243\006\145\021z\027\002\024\247\006\145\024\182\006\145\006\145\021~\005\217\021\230\006\145\006\145\006\145\006\145\006\145\006\145\n*\006\145\006\145\006\145\004\013\006\145\006\145\0061\006\145\004\013\004\013\001\162\001\"\003\026\006\145\023\134\006A\006\145\006\169\006I\001\"\004\013\027\002\006\145\006\145\006\145\006\145\003f\006\145\006\145\016\170\004v\006\145\006\145\024\182\006\145\021\138\006\145\006\145\006\145\006\161\006\145\000\n\006\145\006\145\006\145\004\013\006\145\006\145\006\145\000\n\006\145\006\145\006\145\006\145\001\"\021\018\nR\004}\006\145\nV\015\138\003j\006\145\025\018\001\"\nZ\003\170\003\174\006\145\006\145\n^\025\022\006\145\006\145\006\145\006\145\006\169\006\145\005\217\006\145\021\234\003\233\006\145\006\145\000\n\006\145\006\145\026'\011Q\003:\004\t\003B\004\014\003R\000\n\026+\006\145\005\217\006\161\006\145\003Z\005\217\011Q\006\145\006\145\026.\006\145\015\170\006\145\011\161\006\145\003\237\021\246\015\146\006\145\022\206\022\214\022\206\022\214\011a\0035\006\145\004\t\006\145\0035\006\145\006\145\003b\011A\006\145\006\145\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\0272\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\022\222\004}\023\210\004\018\nb\027f\004}\004}\003r\004&\003~\001F\003\134\005\t\003\150\001\166\nr\013^\004}\004}\013b\003\158\013\002\004\157\001N\008\137\014\202\008\129\0176\004\237\004B\019\230\005\t\014\218\004\t\001\178\013\"\018\146\0256\004\t\004\t\012\158\015\014\004}\015\"\013j\025b\025n\003\166\015&\017f\004\t\004\209\020V\001\218\012\158\001\222\004\173\001b\016\030\015.\011\153\008\218\017\170\013~\001\230\0152\004\t\013\130\011\138\001\242\020~\013\134\013\138\n\134\013\142\004\t\007\202\027:\007\210\0156\007\226\003\182\018*\008\137\022\158\008\129\027B\007\234\023\138\n\226\013\146\011I\016\022\015:\015>\013\150\015B\027:\000\n\005\t\015V\014\218\004J\004\137\026G\026K\015b\013\158\006i\026O\015\014\008\014\016\"\008\022\007\242\008&\020^\025\130\005\t\021\218\015\130\018\194\008.\018\150\015\134\015\194\004\173\n\138\004N\013\162\023\142\015\198\004\209\019\006\020\134\013\166\004\173\004\173\000\n\018\214\011q\004\173\015\206\006Q\013\170\004z\006\153\006\153\008\002\0086\002\"\006\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\006Y\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\011Q\026g\026k\023\158\nb\006)\026o\016\"\011\129\008F\011Y\001F\004\130\005\005\020\182\001\166\nr\013^\011Q\004\154\013b\016\022\018\242\0069\001N\0222\014\202\011Q\019\022\004\233\014\218\022\226\005\005\019n\018\198\001\178\008\165\008\165\014\218\015\014\006a\008\165\019\130\011\145\015\"\013j\025b\015\014\019\158\015&\017\174\t.\018\218\t6\001\218\tF\001\222\004\189\001b\016\030\015.\023\214\tN\011y\013~\001\230\0152\022\194\013\130\011\138\001\242\012i\013\134\013\138\n\134\013\142\019N\004\162\020\190\025\194\0156\000\n\025\238\005\233\004\166\004\174\003Y\013>\004\198\tV\n\226\013\146\019R\004\202\015:\015>\013\150\015B\004\210\000\n\005\005\015V\023z\004\230\004\137\016\206\012\158\015b\013\158\018\246\016\"\000\n\001\230\004\250\016\238\019\026\012\226\001\242\016\"\005\005\019r\015\130\023\198\tf\012\158\015\134\015\194\005\014\n\138\019\134\013\162\005.\015\198\012\158\005R\019\162\013\166\005^\004\189\012i\012i\006!\005f\015\206\012i\013\170\000\n\006\177\006\177\004\017\005\186\002\"\006\177\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\005\198\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\016\022\006\018\006\"\006*\nb\006\170\0272\006\206\025\214\014\218\tr\001F\tz\006\214\t\138\001\166\nr\013^\015\014\007\014\013b\t\146\007\026\007&\001N\027\n\014\202\0072\004\209\007>\007J\007^\001\"\007n\007~\001\178\007\134\007\171\014\218\007\246\007\250\008:\008>\008\158\015\n\013j\027\014\015\014\t\154\015&\008\162\008\178\008\194\027\018\001\218\008\238\001\222\004\217\001b\015*\015.\008\254\000\n\t\018\013~\001\230\0152\tZ\013\130\011\138\001\242\004\017\013\134\013\138\n\134\013\142\004\017\004\017\t^\012q\0156\t\158\t\170\t\162\n\002\n\006\n\026\n2\004\017\016\"\n\226\013\146\nF\nf\015:\015>\013\150\015B\0035\000\n\nn\015V\0035\nv\004\137\n~\n\130\015b\013\158\004\209\n\182\n\194\n\202\004\017\027\026\027:\011\014\011.\016\"\011:\011~\015\130\011\150\011\162\011\190\015\134\015\194\004\217\n\138\011\202\013\162\012R\015\198\012Z\012j\012v\013\166\004\217\004\217\012\146\012\154\012\174\004\217\015\206\012\186\013\170\027\"\008\173\008\173\012\194\012\198\002\"\008\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\206\001\014\016\134\001\022\nZ\001\030\0012\001:\001>\n^\012\222\012\238\012\246\012\250\013\n\nb\013\018\013*\016\138\0132\004}\013F\001F\013N\013Z\013r\001\166\nr\013^\013z\006\246\013b\013\206\013\218\026\246\001N\007\189\014\202\001\230\014\"\014\154\014\194\012\226\001\242\014\214\014\226\001\178\006\137\014\234\014\218\007\189\014\242\006\137\006\137\014\250\015\n\013j\015F\015\014\015N\015&\015^\015f\015n\027\142\001\218\015v\001\222\015~\001b\015*\015.\000\n\015\186\015\202\013~\001\230\0152\015\210\013\130\011\138\001\242\015\222\013\134\013\138\n\134\013\142\015\226\015\234\006\137\015\238\0156\015\246\015\254\016\014\016.\016r\016z\016~\016\142\007\189\n\226\013\146\027R\016\150\015:\015>\013\150\015B\016\154\000\n\006A\015V\027b\016\162\016\178\016\186\004}\015b\013\158\027\186\027f\004}\004}\016\194\016\198\016\214\016\222\016\246\016\"\016\254\017N\015\130\017\150\004}\004}\015\134\015\194\017\162\n\138\018\022\013\162\018\"\015\198\018B\018n\018z\013\166\018\130\018\158\018\170\007\189\018\178\018\182\015\206\018\190\013\170\018\206\018\226\004}\018\254\019\"\002\"\007\189\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\019:\001\014\019N\001\022\nZ\001\030\0012\001:\001>\n^\019B\019F\019V\019^\019b\nb\019j\019z\019R\019\142\019\170\019\190\001F\019\206\019\222\019\246\001\166\nr\013^\020\006\006\246\013b\020\018\020C\020k\001N\020\147\014\202\001\230\020\171\020\203\020\227\012\226\001\242\020\250\021\022\001\178\021\130\021\171\014\218\022\002\022\023\022?\022K\022[\015\n\013j\022c\015\014\022v\015&\022\127\022\135\022\143\022\170\001\218\022\210\001\222\022\218\001b\015*\015.\000\n\022\234\011\226\013~\001\230\0152\023\007\013\130\011\138\001\242\023\023\013\134\013\138\n\134\013\142\023\031\023+\0237\012q\0156\023C\023V\023_\011\234\023g\023\170\023\222\023\251\024\003\n\226\013\146\024\015\024\031\015:\015>\013\150\015B\011\242\000\n\006A\015V\024'\0242\0122\012:\0246\015b\013\158\024G\024O\024V\024c\024o\012\018\024w\024\130\011\250\016\"\012\n\024\139\015\130\024\147\024\159\024\186\015\134\015\194\025B\n\138\025j\013\162\025z\015\198\025\174\025\182\025\218\013\166\025\254\026\002\026\n\012\026\0263\026\250\015\206\027\006\013\170\027\022\012q\012q\027\030\027&\002\"\012q\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\027O\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\027V\027_\027j\012\"\nb\027z\027\175\027\190\027\199\027\235\012\002\001F\028\007\028\022\028\026\001\166\nr\013^\028\030\028'\013b\000\000\000\000\005M\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\012B\012*\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\026~\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\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\nR\004\137\000\000\nV\015b\013\158\000\000\025\018\000\000\nZ\000\000\000\000\000\000\000\000\n^\025\022\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\145\008\145\000\000\000\000\002\"\008\145\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\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\001\230\000\000\001F\000\000\012\226\001\242\001\166\nr\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\n\015\"\013j\000\000\000\000\004\157\015&\0166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\181\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\012M\0156\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\000\181\000\181\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\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\012\026\000\000\000\000\015\206\000\000\013\170\000\000\012M\012M\000\000\000\000\002\"\012M\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\012\"\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\181\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\181\012*\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025F\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\157\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\157\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\000\157\000\157\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\011\250\000\000\012\n\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\157\000\000\000\000\015\206\000\000\013\170\000\000\012\153\012\153\000\000\000\000\002\"\012\153\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\157\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\157\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\157\000\157\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025F\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\149\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\149\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\149\000\n\000\000\015V\000\000\000\000\000\149\000\149\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\011\250\000\000\000\149\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\149\000\000\000\000\015\206\000\000\013\170\000\000\012\149\012\149\000\000\000\000\002\"\012\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\149\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\149\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\149\000\149\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\226\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\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\013^\000\000\000\000\013b\003.\0036\000\170\001N\000\174\018b\003z\003\190\000\000\003\198\000\000\003\214\000\000\003\222\001\178\003\230\003\242\000\000\003\250\000\000\000\000\000\000\000\000\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\004\n\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\004\026\000\000\000\000\007\214\005\209\000\000\000\000\005\209\013\158\000\000\005\209\008\026\005\209\008Z\005\209\000\000\005\209\000\000\t:\005\209\000\000\005\209\005\209\000\000\005\209\005\209\005\209\005\209\n\138\000\000\013\162\005\209\018v\005\209\005\209\005\209\013\166\005\209\000\000\005\209\005\209\000\n\005\209\018~\005\209\013\170\005\209\005\209\005\209\005\209\005\209\002\"\005\209\000\000\005\209\000\000\005\209\005\209\000\000\000\000\005\209\005\209\005\209\005\209\008\186\000\000\000\000\005\209\005\209\000Z\000\000\005\209\t\n\005\209\n\018\000\000\005\209\000Z\005\209\000Z\005\209\005\209\000\000\005\209\000Z\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005\209\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\000\000\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\000\000\005\209\005\209\005\209\005\209\005\209\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\005\209\000\000\005\209\000\000\005\209\005\209\005\209\005\209\000\000\005\209\005\209\005\209\005\209\005\209\000\000\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\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\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\nR\000\000\001\218\nV\001\222\000\000\001b\025\018\000\000\nZ\000\000\000\000\001\226\001\230\n^\025\022\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\002\002\000\000\000\000\000\000\000\000\002\006\016\134\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\016\138\000\174\000\000\008\n\008N\002\018\008V\020\254\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\002\001\230\000\000\000\000\002\026\012\226\001\242\004]\000\000\021\006\008\146\021\n\000\000\002\030\000\000\000\000\000\000\000\000\021\014\002\"\000\000\000\000\000\000\024.\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\n\021&\000\000\000\000\000\000\004\157\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\146\000\000\000\000\000\000\021*\023j\000\000\000\000\000\000\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\nb\000\000\000\000\021.\000\000\000\000\0212\000\000\000\000\007}\007}\001\166\nr\013^\007}\000\000\013b\000\000\0216\000\000\000\000\000\000\014\202\021:\000\n\021>\000\000\021B\021F\000\000\021J\001\178\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\015R\013j\000\000\000\000\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\021V\000\000\015.\000\000\021Z\021^\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\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\nb\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\001\166\nr\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\015\206\014\202\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013f\013j\000\000\000\000\nR\015&\000\000\nV\000\000\000\000\001\218\025\018\001\222\nZ\000\000\000\000\015.\000\000\n^\025\022\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\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\016\134\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\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\161\000\000\015\130\013\161\000\000\000\000\015\134\015\194\000\000\000\000\001\230\013\162\000\000\015\198\012\226\001\242\000\000\013\166\000\000\000\000\000\000\013\161\000\000\000\000\015\206\013\161\013\170\000\000\002:\013\161\000\000\000\000\002\"\000\000\000\000\013\161\000\000\000\000\013\161\013\161\000\000\013\161\013\161\000\000\000\n\002B\000\000\013\161\005&\004\157\000\000\013\161\000\000\000\000\013\161\000\000\013\161\013\161\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\000\000\t\202\000\000\t\210\000\000\t\218\t\230\000\000\t\238\013\161\000\000\013\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\161\t\246\000\000\008\221\008\221\000\000\000\000\0052\008\221\000\000\000\000\000\000\000\000\000\000\t\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\161\013\161\000\000\013\161\013\161\0056\000\000\013\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\161\000\000\n\014\013\161\013\161\013\161\013\161\000\000\000\000\000\000\000\000\013\161\013\161\013\161\000\000\013\161\013\161\013\161\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\233\000\000\020\238\004\233\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\001=\000\000\004\233\000\000\000\000\001=\004\233\000\000\001=\004\233\004\233\000\000\001=\000\000\000\000\020\242\004\233\000\000\001=\004\233\004\233\000\000\004\233\004\233\000\000\001=\004\233\000\000\004\233\004\233\001=\000\000\004\233\000\000\000\000\004\233\000\000\004\233\004\233\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\233\001=\004\233\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\233\000\000\000\000\000\000\001=\000\000\000\000\004\233\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\020\246\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\233\004\233\000\000\004\233\005\005\004\233\000\000\004\233\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\233\004\237\000\000\001=\001=\004\233\000\000\000\000\004\233\000\000\004\233\000\000\000\000\000\000\021\174\000\000\004\233\004\233\004\233\004\237\004\233\004\233\004\233\004\237\000\000\000\000\004\237\004\237\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\004\237\004\237\000\000\004\237\004\237\000\000\000\000\004\237\000\153\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\004\237\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\004\237\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\153\000\000\000\000\011\250\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\153\000\000\000\000\000\000\000\000\013\245\000\000\004\237\013\245\000\000\000\000\000\000\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\237\004\237\004\237\013\245\004\237\004\237\004\237\013\245\000\000\000\000\013\190\013\245\000\000\000\000\000\000\000\153\000\000\013\245\000\000\000\000\013\245\013\245\012\002\013\245\013\245\000\000\000\000\013\198\000\000\013\245\013\210\000\000\000\000\013\245\000\000\000\153\013\245\000\000\013\245\013\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\245\000\000\013\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\245\000\000\000\000\000\000\000\000\000\000\000\000\013\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\000\000\000\000\000\000\013\245\013\245\000\000\013\245\000\000\013\226\000\000\013\245\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\013\245\000\000\013\245\000\000\000\000\000\000\000\000\000\000\013\245\013\245\013\245\000\000\013\245\013\245\013\245\nY\nY\nY\nY\000\000\nY\000\000\nY\nY\000\000\nY\000\000\nY\000\000\nY\000\000\nY\nY\nY\nY\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nY\nY\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\001\137\000\000\000\000\nY\001\137\000\000\021\190\000\000\001\137\000\000\021\198\000\000\000\000\000\000\001\137\000\000\nY\001\137\001\137\000\000\001\137\001\137\000\000\nY\000\000\000\000\001\137\000\000\nY\000\000\001\137\000\000\000\169\001\137\000\000\001\137\001\137\nY\000\000\000\000\000\000\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\000\000\001\137\nY\001\137\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\011\242\001\137\000\000\000\000\000\000\nY\000\169\000\169\000\000\000\000\nY\000\000\nY\000\000\000\000\nY\000\169\000\000\000\000\011\250\000\000\012\n\000\000\nY\000\000\000\000\nY\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\nY\012\026\000\000\000\000\022\026\nY\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\nI\nI\nI\nI\000\000\nI\000\000\nI\nI\000\000\nI\000\000\nI\000\000\nI\000\169\nI\nI\nI\nI\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\nI\nI\000\169\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\nM\nM\nM\nM\000\000\nM\nI\nM\nM\000\000\nM\nI\nM\000\000\nM\000\000\nM\nM\nM\nM\nI\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nM\nM\nM\000\000\000\000\000\000\000\000\000\000\nI\nM\000\000\nI\000\000\000\000\nM\000\000\000\000\022\030\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\nM\nI\000\000\nI\000\000\000\000\nI\nM\000\000\000\000\000\000\000\000\nM\000\000\nI\000\000\000\000\nI\000\000\000\000\000\000\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\021\194\nI\000\000\000\000\000\000\nM\000\000\000\000\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nM\000\000\000\000\000\000\000\000\nM\000\000\nM\000\000\000\000\nM\000\000\000R\007\190\007\198\000\170\000\000\000\174\nM\008\n\008N\nM\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\nM\002\198\000\000\000\000\000\000\nM\000\000\000\000\022&\008\146\022B\000\000\000\000\000\000\000\000\000\000\000\000\022N\000\000\002~\000\000\000\000\008\154\002\005\000\000\000\000\000\000\002\005\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022f\002\005\002\005\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\005\000\000\022\146\000\000\002\166\000\000\000\000\002\142\000\000\002\158\002\005\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\000\000\000\000\002\174\022\178\002\005\000\000\023\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000\000\023\"\000\000\000\000\000\000\000\000\023.\000\000\008i\000\000\000\000\023:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023F\000\000\000\000\024\006\002\182\000\000\000\000\002\005\002\005\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\000\000\024\018\000\000\000\000\000\000\000\000\024*\002\005\000\000\000\000\002\005\002\005\002\005\002\005\000\000\000\000\000\000\002~\000\000\002\005\002\005\000}\002\246\002\190\002\005\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\000\000\000\000\000}\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000e\002\158\000}\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\002\174\000\000\000}\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000\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\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000e\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\000e\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\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\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002\142\000a\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\000a\000]\000\000\000]\000a\000\000\000\000\000\000\000a\000\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\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\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000a\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\000a\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000\000\000q\000\000\000\000\000q\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\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002\142\000i\002\158\000q\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000q\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\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\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000i\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\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\000\000\000m\000\000\000\000\000m\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\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\002\142\000u\002\158\000m\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000m\000u\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\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\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000u\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\002v\000\000\000\000\000\133\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\000\000\000\133\000\000\000\000\000\000\002\166\000\000\000\000\002\142\002v\002\158\000\133\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000\133\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\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\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\000\000\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\002\174\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000y\001\153\000\000\000\133\000\133\001\153\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\001\153\000\000\002\150\001\153\002v\001\153\000\000\000\129\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~\001\153\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\001\153\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\011\146\000\000\000\129\000\000\000\000\000\000\002\166\000\000\004A\002\142\004A\002\158\000\129\004A\000\000\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004A\004A\000\000\001\153\004A\004A\000\000\000\129\000\000\006\002\004A\000\000\004A\001\153\001\153\001\153\000\000\000\000\000\000\000\000\004A\004A\000\000\000\000\004A\004A\004A\000\000\004A\004A\000\000\004A\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\004A\004A\000\000\000\000\000\000\000\000\004A\000\129\000\000\004A\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004A\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004A\000\000\004A\001\166\004A\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\001\178\000\000\000\000\004A\000\000\000\000\004A\000\000\000\000\n\174\011\006\000\000\004A\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\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\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\001\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\012\138\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\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\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\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\001\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\011\178\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\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\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\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\001\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\005e\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\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%\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\001\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\000\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\222\003!\000\000\000\000\003%\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\003%\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\003!\000\238\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\003!\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\003!\000\000\003%\000\000\000\000\000\000\000\000\003%\003%\000\000\003!\000\000\003%\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\001\166\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003!\001\178\000\000\003!\003!\000\000\000\000\003!\000\000\000\000\n\174\011\006\003!\003!\011n\011\134\000\000\003!\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\001\161\000\000\000\000\001\161\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\001\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\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\209\000\000\005\209\n]\n]\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\000\000\000\000\000\000\001\161\014\014\005\209\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n]\000\000\005\209\000Z\000\000\000\000\000\000\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\000\000\000\000\000\000\n]\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005\209\000\000\005\209\005\209\000\000\005\209\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\n]\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\014\206\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\001N\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\001^\000\000\000\000\000\000\001\226\001\230\001j\011\154\001\234\001\238\001\242\000\000\001\246\001\250\001b\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\254\000\000\000\000\000\000\n\134\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\002\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\006\002\014\021\n\n\185\n\185\000\000\000\000\000\000\000\n\021\014\000\000\002\018\008y\000\000\021\018\000\000\000\000\021\030\000\000\001\137\000\000\021\"\001\137\002\022\000\000\000\000\000\000\021&\000\000\002\026\000\000\000\000\008y\000\000\008y\000\000\005\249\n\138\002\030\000\000\001\137\n\185\000\000\021*\002\"\000\000\005\249\000\000\001\137\000\000\000\000\005\249\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\n\185\000\000\021.\000\000\001\137\0212\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\001\137\000\000\001\137\000\000\000\000\021N\000\000\000\000\021R\013\217\000\000\000\000\013\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\000\000\000\000\000\000\021Z\021^\n\185\013\217\000\000\000\000\000\000\013\217\000\000\000\000\005\170\001\137\002N\000\000\001\137\001\137\000\000\013\217\001\137\000\000\000\000\013\217\000\000\013\217\013\217\000\000\000\000\005\178\000\000\000\000\005\190\001\137\000\000\013\217\001\137\001\137\013\217\001\137\013\217\000\000\000\000\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\000\000\t~\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\217\t\190\005\209\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\217\005\209\005\209\005\209\000\000\000\000\000\000\005\202\000\000\000\000\005\209\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\013\217\013\217\005\209\013\217\000\000\005\206\005\209\013\217\000\000\000\000\000\000\000\000\005\209\005\209\n>\005\214\000\000\000\000\005\209\000Z\000\000\000\000\000\000\005\209\000\000\013\217\000\000\000\000\005\209\000Z\000\000\013\217\000\000\005\209\000\000\013\217\013\217\013\217\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005\209\000\000\005\209\005\209\000\000\005\209\000\000\000\000\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\014B\000\000\000\000\014\146\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\014J\000\000\005\209\000\000\002\021\000\000\005\209\005\209\002\021\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\021\002\021\000\000\014\162\014\170\000\000\000\000\000\000\001%\002\021\000\000\001%\000\000\014r\000\000\000\000\014Z\000\000\014j\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014J\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\014z\000\000\002\021\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\002\021\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\002\021\000\000\000\000\000\000\014b\014z\001\013\001%\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\002\021\000\000\002\021\000\000\000\000\000\000\000\000\001\013\000\000\002\021\002\021\001\013\014\178\014\138\002\021\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001\013\001\013\001%\001\013\001\013\000\000\014b\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\014Z\000\000\014j\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\001\005\000\000\001%\001%\001\005\001%\014\138\001%\001\005\000\000\001\013\000\000\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\013\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\014Z\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\001\005\001\t\001\005\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\t\000\000\001\013\001\013\001\t\001\013\001\013\001\013\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\001\t\001\t\001\005\001\t\001\t\000\000\014b\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\014Z\000\000\001\t\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\014J\000\000\001\005\001\005\001\025\001\005\001\005\001\005\001\025\000\000\001\t\000\000\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\t\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\014Z\000\000\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\014z\001\017\001\025\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\014J\000\000\001\t\001\t\001\017\001\t\001\t\001\t\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\001\025\001\017\001\017\001\025\001\017\001\017\000\000\014b\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\014Z\000\000\014j\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\014J\000\000\001\025\001\025\001\021\001\025\001\025\001\025\001\021\000\000\001\017\000\000\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\017\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\014Z\000\000\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\014z\001\029\001\021\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\014J\000\000\001\017\001\017\001\029\001\017\001\017\001\017\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\001\021\001\029\001\029\001\021\001\029\001\029\000\000\014b\000\000\014B\001\029\000\000\001-\000\000\014r\000\000\000\000\014Z\000\000\014j\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\014J\000\000\001\021\001\021\001-\001\021\001\021\001\021\001-\000\000\014z\000\000\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\001\029\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\014z\014B\001-\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\014J\000\000\001\029\001\029\001!\001\029\001\029\001\029\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001!\001!\001-\001!\001!\000\000\014b\000\000\014B\001!\000\000\001)\000\000\014r\000\000\000\000\014Z\000\000\014j\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\014J\000\000\001-\001-\001)\014\178\014\138\001-\001)\000\000\014z\000\000\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\001!\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\014\130\001\170\000\000\001)\001\174\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\001)\000\000\001)\000\000\000\000\001\198\001\202\000\000\001\210\001)\001)\000\000\001)\014\138\001)\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\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018f\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\020\254\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\000\000\021\002\001\234\001\238\001\242\002\022\001\246\001\250\000\000\001\254\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\002\002\002\"\021\030\000\000\000\000\002\006\021\"\000\000\000\n\000\000\000\000\000\000\021&\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\023N\000\000\000\000\n\141\002\018\021*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\n\141\000\000\021.\002\030\000\000\0212\000\000\000\000\000\000\002\"\000\000\001\166\000\000\001\170\000\000\000\000\001\174\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\001\178\000\000\000\000\001\182\021N\000\000\000\000\021R\000\000\001\198\0076\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021V\000\000\000\000\000\000\021Z\021^\n\141\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\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\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\006\030\000\000\001\234\001\238\001\242\002\022\001\246\001\250\0049\001\254\0049\002\026\000\000\0049\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\002\002\002\"\000\000\0049\000\000\002\006\0049\000\000\000\n\000\000\000\000\000\000\0049\0049\000\000\0049\000\000\002\014\000\000\000\000\000\000\000\000\0049\020\254\0049\000\000\000\000\002\018\000\000\000\000\000\000\000\000\0049\0049\000\000\021\002\0049\0049\0049\002\022\0049\0049\000\000\0049\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\0049\002\"\021\030\000\000\000\000\0049\021\"\000\000\0049\000\000\000\000\000\000\021&\000\000\000\000\000\000\000\000\0049\000\000\000\000\000\000\000\000\000\000\022n\000\000\000\000\005\209\000\000\021*\005\209\000v\000\000\000\000\005\209\000\000\005\209\000\000\000\000\000\000\0049\005\209\005\209\000\000\000\000\000\000\0049\000\000\000\000\000\000\000\000\000\000\n\141\005\209\021.\0049\005\209\0212\000\000\000\000\005\209\0049\005\209\000\000\000\000\000\000\000\000\005\209\005\209\0216\000\000\000\000\005\209\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\000\000\000\000\005\209\000\000\021N\005\209\000\194\021R\000\000\005\209\000\000\005\209\005\209\001\002\000Z\005\209\005\209\005\209\005\209\000\000\000\000\000\000\021V\005\209\005\209\005\209\021Z\021^\n\141\005\209\005\209\005\209\000\000\000\000\000\000\001f\000\000\000\000\000\000\005\209\000Z\000\000\000\000\005\209\000\000\000\000\000\000\005\209\000\000\005\209\005\209\005\209\000\000\000\000\005\209\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\005\209\000\000\004\030\000\000\000\000\005\209\000\000\000Z\000\000\004\242\005\209\000\000\000\000\000\000\000Z\000\000\000\000\005\209\005\209\000\000\005\209\000\000\005\209\005\209\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\005\209\005\209\000\000\000\000\005\209\000\000\005\209\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\005\209\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\001\166\000\000\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\005\209\000\000\001\178\005\209\000\000\001\182\005\209\005\209\005\209\005\209\005\209\001\194\001\214\005\209\001\210\005\209\005\209\000\000\000\000\000\000\005\209\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\001\166\005z\001\186\000\000\000\000\001\190\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\001\178\000\000\005\130\001\182\000\000\000\n\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\209\005\138\000\000\005\209\003F\000\000\001\218\005\209\001\222\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005j\001\230\000\000\000\000\005n\001\238\001\242\005\142\005r\005v\000\000\005z\000\000\005\146\000\000\000\000\005\209\000\000\000\000\005\209\003\138\000\000\005\150\005\209\000\000\005\209\000\000\005~\002\"\005\209\005\209\005\209\005\130\005\209\000\000\000\n\005\209\003\202\000\000\000\000\005\209\000\000\005\209\000\000\005\138\005\209\000\000\005\209\005\209\007f\000\000\000\000\000\000\000\000\000Z\000\000\000\000\005\209\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\142\000\000\000\000\005\209\005\209\000\000\005\146\000\000\005\209\000\000\000\000\005\209\005\209\005\209\000\000\005\150\000\000\000\000\000\000\000\000\000Z\002\"\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\005\209\000\000\005\209\005\209\000Z\005\209\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\001\186\000\000\005\209\001\190\000\000\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\000\000\000\000\001\178\005\209\000\000\001\182\005\209\005\209\000\000\000\000\005\209\001\194\005\134\000\000\001\210\005\209\005\209\000\000\000\000\000\000\005\209\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\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\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\005\138\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\000\000\000\000\000\000\000\000\005\142\000\000\000\000\001\166\000\000\n\166\005\146\001F\n\170\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\000\000\000\000\000\000\001N\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001\218\000\000\001\222\000\000\001j\000\000\000\000\000\000\000\000\000\000\n\206\001\230\001b\000\000\n\210\001\238\001\242\000\000\n\214\n\218\001\166\n\222\n\166\000\000\000\000\n\170\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\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\n\238\000\000\000\000\000\n\n\242\000\000\000\000\000\000\004\137\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\001n\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\n\166\n\250\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\n\242\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\001\238\001\242\n\246\n\214\n\218\001\166\n\222\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\n\242\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\013~\001\230\000\000\000\000\013\130\001\238\001\242\n\246\013\134\013\138\001\166\013\142\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013j\000\000\000\000\000\000\013\158\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\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\001\166\013\142\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013\154\000\000\000\000\000\000\013\158\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\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\000\000\013\142\000\000\013\166\000\000\000\000\000\000\000\000\000\000\008q\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\000\000\008q\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\008q\000\000\008q\000\000\013\158\000\000\000\000\000\000\000\000\008q\000\000\000\000\000\000\000\000\008q\000\000\023J\008q\000\000\000\000\000\000\008q\021\202\000\000\000\000\000\000\013\162\008q\021\002\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\013\170\000\000\008q\000\000\000\000\021\014\002\"\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021&\000\000\000\000\000\000\008q\000\000\000\000\008q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021*\023j\000\000\008q\000\000\000\000\000\000\000\000\008q\008q\008q\000\000\008q\008q\000\000\008q\000\000\000\000\000\000\000\000\000\000\008q\000\000\000\000\008q\021.\000\000\000\000\0212\000\000\007\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008q\0216\000\000\007\229\008q\008q\021:\000\n\021>\000\000\021B\021F\007\229\021J\007\229\000\000\000\000\000\000\000\000\021N\000\000\007\229\021R\000\000\000\000\000\000\007\229\000\000\020\254\007\229\000\000\000\000\000\000\007\229\000\000\000\000\000\000\021V\000\000\007\229\021\002\021Z\021^\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\007\229\023j\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021&\000\000\000\000\000\000\007\229\000\000\000\000\007\229\000\000\000\000\000\000\024~\000\000\000\000\000\000\000\000\021*\000\000\000\000\007\229\000\000\000\000\000\000\000\000\007\229\007\229\007\229\000\000\007\229\007\229\000\000\007\229\000\000\000\000\000\000\000\000\000\000\007\229\000\000\000\000\007\229\021.\000\000\000\000\0212\000\000\022R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\229\0216\000\000\021\002\007\229\007\229\021:\000\n\021>\000\000\021B\021F\021\006\021J\021\n\000\000\000\000\000\000\000\000\021N\000\000\021\014\021R\000\000\000\000\000\000\021\018\000\000\022j\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\021V\000\000\021&\021\002\021Z\021^\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\161\000\000\000\000\021*\000\000\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\011\234\000\000\000\000\021&\000\000\000\000\000\000\021.\000\000\000\000\0212\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\021*\000\161\000\161\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\161\021B\021F\011\250\021J\012\n\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\021.\000\000\000\000\0212\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\021V\0216\000\000\021\002\021Z\021^\021:\000\n\021>\000\000\021B\021F\021\006\021J\021\n\000\000\000\000\000\000\000\000\021N\000\000\021\014\021R\000\000\000\000\000\000\021\018\000\000\020\254\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\161\021V\000\000\021&\021\002\021Z\021^\012\002\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\023\014\000\161\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\161\000\161\000\000\000\000\000\000\021&\000\000\000\000\000\000\021.\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\022\000\000\000\000\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\021.\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\0216\000\000\000\000\021Z\021^\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\000\000\000\000\000\000\021Z\021^\004I\004I\004I\004I\000\000\004I\000\000\004I\004I\000\000\004I\000\000\004I\000\000\004I\000\000\004I\004I\004I\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\004I\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004I\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\004I\000\254\001F\001\014\000\000\001\022\004I\001\030\0012\001:\001>\000\000\000\000\000\000\004I\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\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\004I\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\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\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\004R\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\0121\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\002-\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\004Z\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\003Q\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\025\186\004V\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\004R\004V\000R\000V\000f\000\170\000\000\000\174\006R\000\178\000\246\006\162\000\254\000\000\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\002\013\025\190\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\013\001N\006\178\006\186\000\000\000\000\000\000\000\237\003I\004b\000\237\002%\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\213\000\237\000\000\000\213\001b\000\000\000\000\006\138\025\186\004V\000\000\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\002\013\000\000\000\213\000\000\000\000\000\000\000\213\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\165\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\006\146\000\000\000\000\002\013\000\000\000\000\000\213\006r\006\138\006j\011\234\006z\000\000\000\205\000\000\000\000\000\205\000\000\000\000\025\198\000\237\000\000\000\000\000\000\011\242\002\013\000\000\000\000\000\000\000\000\000\165\000\165\000\213\000\000\000\205\006\194\006\154\002\013\000\205\000\000\000\165\000\000\000\000\011\250\000\213\012\n\006\146\000\000\000\205\000\237\000\000\000\000\000\205\006r\000\205\000\205\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\205\000\000\012\026\006j\000\000\000\205\000\213\000\237\000\000\000\213\000\000\000\000\000\000\006r\000\000\000\000\000\209\000\237\006\154\000\237\000\209\000\000\000\000\000\000\000\000\000\000\000\205\000\173\000\000\000\000\000\209\000\213\000\000\000\000\000\209\000\000\000\209\000\209\000\205\000\000\000\165\000\213\000\213\000\213\000\000\000\000\000\209\012\002\011\234\006j\000\000\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\165\000\000\011\242\000\000\000\205\000\000\000\000\000\205\000\173\000\173\000\000\006r\000\209\006Z\000\000\000\165\000\165\000\225\012\018\000\000\000\000\011\250\000\000\012\n\000\209\000\000\000\000\006b\000\000\000\205\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\205\000\205\000\000\000\225\012\026\000\000\006j\000\000\006z\000\217\000\209\000\000\000\217\000\209\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\006Z\000\000\000\000\000\000\000\217\000\209\000\000\000\000\000\000\000\000\000\000\000\225\012\"\000\000\006b\000\209\000\209\000\209\000\217\012\002\000\217\000\217\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\217\000\000\000\173\006j\000\000\006z\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\006r\000\000\006Z\000\173\000\173\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\011\226\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\000\000\221\000\221\000\217\000\000\000\000\000\000\000\225\000\225\000\225\000\000\000\221\000\000\011\234\006j\000\000\006z\000\229\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\217\000\000\000\000\000\217\000\189\012:\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\229\012\018\000\000\000\000\011\250\000\000\012\n\000\221\000\000\000\000\006b\000\000\000\217\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\217\000\217\000\217\000\000\006\130\012\026\000\000\006j\000\000\006z\006R\000\221\000\000\000\245\000\221\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\006Z\000\000\000\000\000\000\000\245\000\221\000\000\000\000\000\000\000\000\000\000\000\229\012\"\000\000\006b\000\221\000\221\000\221\000\245\012\002\000\245\006\186\000\000\000\000\000\000\006R\000\000\000\000\000\233\000\000\006\130\000\000\000\189\006j\000\000\006z\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\000\000\006Z\012B\012*\000\000\000\233\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\000\000\006b\000\000\000\229\000\000\000\233\000\000\000\233\000\233\000\245\000\000\000\000\000\000\000\229\000\229\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\006R\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\146\000\000\000\000\000\245\000\000\000\000\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\013\189\006b\000\000\000\245\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\006\194\006\154\000\245\000\000\006\130\000\000\000\000\006j\013\189\006z\000\000\006\146\000\000\000\000\000\233\011\030\000\000\000\000\006r\000\000\000\000\000\000\013\189\000\000\000\000\000\000\000\000\000\000\013\189\013\189\006\138\011\226\011&\000\000\000\000\0112\000\233\000\000\013\189\000\000\000\000\013\189\000\241\013\189\000\000\000\000\000\233\006\154\000\233\000\000\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\000\000\000\013\189\000\000\011\242\000\000\006\146\000\000\000\000\000\241\000\177\000\177\000\000\006r\000\000\011\226\000\000\000\000\000\000\000\000\012\018\011>\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\011\234\000\000\000\000\000\000\013\189\000\241\006\154\000\241\000\000\011B\012\026\013\189\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011J\000\185\012:\000\000\000\000\013\189\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\013\189\013\189\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\012\002\012\026\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\000\000\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*"))
1403
1404 let lhs =
1405 (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\n\001\n\001\n\001\t\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\003\001\002\001\002\001\002\001\001\001\001\001\001\001\000\001\000\001\000\000\255\000\255\000\255\000\254\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\246\000\245\000\245\000\244\000\244\000\243\000\243\000\243\000\242\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\230\000\229\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\217\000\216\000\216\000\216\000\215\000\215\000\215\000\215\000\214\000\214\000\214\000\214\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\212\000\211\000\211\000\210\000\210\000\210\000\209\000\209\000\208\000\208\000\208\000\207\000\207\000\206\000\206\000\206\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\195\000\194\000\194\000\194\000\193\000\192\000\191\000\191\000\190\000\189\000\189\000\189\000\189\000\189\000\188\000\188\000\188\000\188\000\187\000\187\000\187\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\183\000\182\000\181\000\181\000\181\000\181\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\176\000\176\000\175\000\175\000\174\000\174\000\174\000\174\000\173\000\173\000\173\000\173\000\172\000\172\000\172\000\172\000\172\000\171\000\170\000\170\000\170\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\162\000\162\000\162\000\162\000\162\000\161\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\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\127\000~\000~\000~\000~\000~\000~\000~\000~\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\000y\000x\000w\000v\000u\000t\000t\000t\000s\000s\000s\000r\000r\000r\000r\000q\000p\000o\000n\000m\000l\000k\000k\000j\000j\000j\000i\000i\000h\000h\000h\000g\000g\000f\000e\000e\000e\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000X\000X\000W\000W\000V\000V\000V\000V\000V\000U\000U\000T\000T\000T\000T\000S\000R\000Q\000Q\000Q\000P\000P\000P\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000E\000E\000D\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000B\000A\000@\000@\000?\000>\000=\000=\000<\000<\000;\000;\000:\0009\0009\0009\0009\0009\0009\0009\0008\0008\0008\0008\0008\0008\0007\0006\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")
1406
1407 let goto =
1408 ((16, "\001'\000\228\000\000\000\000\000\000\000l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\001#\000J\000\000\000\251\000\205\000\000\000\000\000\000\0003\000\000\000%\000\022\000\000\000\000\000D\000\000\000\150\000\000\000\000\000\000\001t\000\000\001\188\000\000\000\000\000\000\000\000\002\024\000\000\002D\002\148\000\000\000\000\002\182\000\000\003&\000\000\000\000\000\000\003X\000\000\004\018\000\000\004l\000\000\004\212\005\000\000\000\000\000\005v\000\000\005|\000\000\000?\000\000\000\000\005\168\000\000\005\200\000\000\000\000\006\020\000\000\006\160\000\000\000\000\000\000\007\008\000\000\000v\0078\002\024\000\000\000\000\000\000\000\208\001Z\003X\000\000\000\000\007>\000\000\000\246\000\000\002x\0013*\012\000\000\000\000\000\028\000\000\000\023\000\000\000\013+.\"\218'|\"\218\003\022(\018\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\002V\000\000\007\136\000\000\0006\000\000\000\000\000\000\000\000\003h\000\000\000\166\000\000\000\000\016\178\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\000\003\136\000\000\004\200\000\000\006\008\000\000\007H\000\000\t@\000\000\n\128\000\000\011\192\000\000\022\144\000\000\022\236\000\000+r\000\000\0002\000\000\000\000\000\000\000\000\000\000\023\194\000\000\025\006\000\000\029\n\000\000\024V\000\000\000\000\026\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\007t\000\000\000\000\007\186\000\000\007\220\007\230\000\000\000\000\008(\000\000\008z\000\000\000\000\000\000\008~\000\000\008\154\000\000\000\000\008\182\000\000\008\196\t\020\000\000\000\000\t&\000\000\t0\000\000\000\000\000\000\tB\000\000\th\000\000\t\224\000\000\n\000\n\014\000\000\000\000\n@\000\000\nH\000\000\004,\nz\000\000\n|\000\000\n\132\000\000\n\136\000\000\000\000\000\000\n\154\000\000\n\160\020&\000\000\n\176\000\000\000X\007<\000\000\003\004\000\000\003v\000\000\000\000\003|\000\000\000\000\000\237\008\190\000\000\000\000\000\000\000\000\004H\000\000\004\248\000\000\004\188\000\000\0132\000\000\000\000\000\000\000\000\000\000\000\000\012\138\000\000\000\000\000\000\000\000\001\172\000\000\000\000\000\000\000\000\000\000\000\000\000;\005n\0216\000\000\n\184\000\000\n\186\025&\000\000\n\206\000\000\000\000\003\188\000\000\000\000\000\000\000\000\000\000$ \000\0002\018\000\000\000\000\000\000\0062\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\196\000\000\000\000\000\000\000\000\000\000\000\000\011\004(\018\000\000\015\002\000\000\023\004\013\150\000\000\000\000\000\000\006\146\000\000\014\252\000\000\000\00026\000\000\000\000\000\000\006\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\244\000\000\030\180\000\000\000\000\000\000\000\000\001\188\000\000\000\0002l\000\000\000\000\000\000\004V\002|\000\000\000\000\000\000\000\000\000\000\000\000\008\200\000\000\tP\000\000\n\144\000\000\019b\000\000\024~\000\000\027.\000\000\031\198\000\000!\186\000\000!\204\000\000#\240\000\000+\204\000\000\003n\000\000%\012\000\000%*\000\000%r\000\000\000\000\000\000\000\000\000\000\005\1282\134\000\000\006X\000\000\000\000\005x\003\242\000\000\006\184\000\000\000\000\000\000\001\222\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\015\000\000\000\000\000\000\n\216\028\164\000\000\n\226\000\000\000\000\000\000\000\000\000\000\n\244\000\000\000\000\001\184\0046\000\000\005\006\000\000\000\000\000\000\001\238\000\000\011\132\004\254\n\248\000\000\000\000\011\004\000\000\011\016\011\024\000\000\000\000\011 \000\000\011(\000\000\000\000\000\000\011,\000\000\0116\000\000\000\000\011@\000\000\011J\011N\000\000\000\000\011Z\000\000\011b\000\000\000\000\000\000\011f\000\000\011x\000\000\011z\000\000\011\128\011\130\000\000\000\000\011\136\000\000\011\138\000\000\007,\011\146\000\000\011\150\000\000\011\158\000\000\011\166\000\000\000\000\000\000\011\180\000\000\001h\000\000\000\000\011\188\030\002\000\000\011\192\000\000\000\000\004N\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\007r\"^\000\000\011\200\000\000\011\222-\014\000\000\011\226\000\000\000\000\012\234\011\240\000\000\000\000\011\250\000\000\011\252\011\254\000\000\000\000\012\004\000\000\012\014\000\000\000\000\000\000\012\024\000\000\012&\000\000\000\000\012,\000\000\0120\0122\000\000\000\000\012>\000\000\012D\000\000\000\000\000\000\012N\000\000\012Z\000\000\012d\000\000\012h\012l\000\000\000\000\012r\000\000\012v\000\000\007v\012\132\000\000\012\138\000\000\012\140\000\000\012\142\000\000\000\000\000\000\012\144\000\000\012\146-\240\000\000\012\158\000\000\000\000\007\224.\128\000\000\012\166\000\000\012\1700\204\000\000\012\180\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\252\000\000$\196\000\0003\002\000\000\000\000\0114\000\000\000\000\004\208\0050\000\000\000\000\027\204\012\128\000\000\018\186+\242\000\000\000\000).\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021@).\000\000\021\232\000\000\023\152\000\011)0\000\000\td\000\000\000\000\000\000\007\240\000\000\026\004\000\000\000\0003&\000\000\000\000\000\000\008T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003L\000\0003\166\000\000\000\000\000\000*\132\000\000\000\000\000\000,\022\000\000\000\000\000\000\000\000\008|\000\000\000\000\000\000\000\000\011@\000\000\000\000\020\178\000\000\001\130\000\000\000\000\000\000\002\168\000\000\012\140\000\000\021\004\000\000\028\026\000\000\029\008\000\000#\154\000\000$\230\000\000%\208\000\000&f\000\000'\000\000\000(r\000\000*\226\000\000,H\000\000\000\000\000\000\000\000\000\000,:\000\000\017\172\000\000\019L\n\000\000\000\021\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000'\000\000\000\000\000\000\000\000\007.\000\000\005\132\000\000\000\000\013~\000\000\000\000\000\000,\026\000\000\000\000\000\000\000\000\000\000\014\138\000\000\000\000\000\000\000\000,\254\000\000\000\000\000\000\000\000\001\160\006p\000\000-\"\000\000\000\000\000\000\000\000\008\184\000\000-R\000\000\000\000\000\000\000\000\000\229\000\000\006\132\000\000\017f\000r)\182\000\000\000\000\000\000\002|\000\000\000\000\000\000\000\000\000\000\000\000\027$)\182\000\000\030\144\000\000\0312\026@\000\000\000\000\000\000\008\140\000\000 \006\000\000\000\0003\220\000\000\000\000\000\000\008\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031t\000\000#b\000\000\000\000\000\000\007\012\000\000\000\000\000\000\000\000\000\000\000\000\013\000\000\000\0158\000\000\018\022\000\000\018\156\000\000\020\246\000\000\023X\000\000\027\176\000\000 \166\000\000\"\188\000\000)\146\000\000-\210\000\000\013\236\000\0003f\000\0005V\000\0005\142\000\000)\206\000\000\000\000\000\0004,\000\000\000\000\000\000\002\170\000\0004|\000\000\000\000\000\0004\178\000\000\000\000\000\174\000\000\024 \000!\0058\000\000\005X\000\000\012\000\002\000\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\254\000\000$\232#6\008\218\000\000\000\000\000\000-\212\000\000.\022\000\000.Z\000\000%<&\n\000}\003\178\t\018\000\000\000\000\000\000\003\200\000\000\000\000\005\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\012\000\000\000\000\000\000\000\000!>\000\000&\202\000\000\000\000\000\000\000\000\000\000\000\000\012\196\000\000\006\026\000\000\000\000\000\000\024\142\002\012\000\000\025r\000\000\000\000\008\184\000\000\0028\000\000\000\000\013T\000\000\026\030\000\000\000\000!\162\000\000\000\000\000\000\007V\000\000\000\000\006H\000\000\000\000\018\014\000\000\000\000\000\000.\174\000\000\000\000\000\000\024\198\000\000\000\000\000\000\000\000.\220\000\000\000\000\000\000\000\000\003b\011V\000\000/0\000\000\000\000\000\000\000\000\000\000\000\000\014\016\000\000\000\000\006\030\000\000\014\160\000\000\007V\000\000\000\000\007H\028\188\000\000\007\188\000\000\000\000\000\000\000\000\007\012\000\000&\228\000\000\026\192\003\214\027^\000\000\004\022\000\000\015\\\000\000\015\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008N\028\000\001\018\028\172\000\000\000\000\000\000\002B\000\000\016\172\000\000\008\238\000\000\000\000\007V\t\140\029h\000\000\t\202\000\000\017\150\030\n\000\000\000\000\018>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t:\007\196\000\000\t`\000\000\000\000\000\000\000\000\007~\000\000\018\214\000\000\000\000\000\000\"\0305B\000\000\000\000\000\000 \182\000\000\000\000\000\000\000\000\005\152\006h\000\000\000\000/j\000\000\000\000\002\014\000\000\006\196\000\000\000\000\030\170\000\000\000\000\000\000/\192\000\000\000\000\000\000\000\0000T\000\000\000\000\004&\006\208\000\000\000\0000l\000\000\000\000\t\130\"F\000\000\007\140\000\000\000\0000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\204\000\000\000\000\000\000\002\206\000\000\000\000\007\210\000\000\000\000\"\184\000\000\000\000\000\0000\182\000\000\000\000\000\000\000\00018\000\000\000\000\008X\008\146\000\000\000\0001V\000\000\000\000\t\178\000\000\000\000\000\000\000\000\007\012\005x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\n\000\000\019N\000\000\000\000\000\0005\140\000\000\008@\000\000\000\000\000\000\004\146\000\000\017|\000\000\000\000\004\202\0204\000\000\020\220\000\000\000\000\000\000\008V\000\000\005\150\t\014\006\214\000\000\008\022\000\000\000\000\000\000\t\198\000\000'\030\t\244'8\000\000'\248\000\000\000\000\000\000\n\020\000\000\016\008\n<\000\000\000\000\0284\nV\031h\000\000 \140\000\000\000\000\000\000\nf\000\000\017\194\n\138\000\000\000\000\000\000\000\217\000\000\000\000\000\000\005\026\000\000\000\000\000\000\000\000\000\000\000\000\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000f\000\000\000\000\007\\\000\000\000\000\013l\000\000\000\000\000\000\000\000\008\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013p\000\000\000\000\013H\000\000\000$\000\000\000\000\006\142\000\000\000/\012\254\000\172\000\000\000\000\005\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\242\015$\000\000\000\000\002v\000\000\000\000\000\000\015Z\000\000\000\000\016|\017\024\000\000\000\000\000\000\000\000\019.\019\202\001:\000\000\019\230\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\0066\000\000\000\000\012\200\000\000\000\000\006.\000\000\000\000\000#\000\000\004\\\000\000\000\000\000\000\000\000\013\138\003\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\162\020\150\000\000\000\000\000\000\000\000\021$\000\000\000\000\012x\000\000\000\000\016\144\000\000\000\000\011\176\0212\005\022\000\000\021\152\000\000\000\000\000\000\000\000\013N\000\000\000\000\000\000\np\000\000\008J\006\004\000C\000\000\000\000\000\000\000\000\001\140\000\000\000\000\000\000\000\000\000\000\000\000\t\192\000\000\000\000\001\202\000\000\005d\013\146\005F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\242\000\000\000\000\019\238\022@\000\000\000\000\000\000\000\000\002 \000\000\013j\011\180\000\000\019\218\000\000\000\000\000\000\000\000\000\000\013\218\0226\000\000\000\000\023p\000\000\000\000\000\000\000\000\011\216\000\000\026:\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\000\003\n\000\000\000\000\002\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\230\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\000\000\000\018\006\016\011\156\013R\000\000\007.\008\194\t&\tb\000\000\000\000\000\000\000\000\000\000\000\000\0078\021\132\000\000\030\182\n\204\000\000\000\000\n\216\000\000\022D\000\000*\142\000\000\000\000\007\162\022\208\000\000\031X\000\000\t\030\031\246\000\000\000\000\000\000\003>\007.\000\000\000\000\000\000\000\000\000y\000\000\002\158\000\000\003\n\001\136\000\000\000\000\000\000\004H\000\000\004\248\000\000\005\n\000\000\000\000\002Z\000\000\000\000\000\000\000\000\t\004\000\000\000\000\n\254\000\000\023\144\000\000\007V\013X\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\0001|\000\000\007\250\000\000\000\000\000\000\000\000\000\000\001p\000\000\t\128\0064\nD\000\000\002\196\n\192\000\000\007^\000\000\003@\000\000\004\004\000\000\004\128\000\000\007V\000\000\000\000\000\000\000\000\000\000\005D\000\000\008\012\000\000\005\192\000\000\007V\013\178\000\000\002\188\000\000\013\174\012\158\000\000\008 \000\000\t\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\248\000\000\nX\000\000\000\000\000\000\000\000\000\000\000\000\013\184\000\000\000\000\012\210\000\000\000\000\012\190\008\192\013\254\000\000\014\002\000\000\000\000\t\208\008\136\000\000\012\242\000\000\000\000\013*\000\000\000\000\000\000\000\000\000\000\000\000\013\252\000\000\000\000\000\000\013\012\012\238\n\142\nh\013\012\013D\000\000\000\000\012\248\n\188\n\130\013\026\013R\000\000\000\000\005<\000\000\000\000\000\000\000\000\014 \000\000\000\000"), (16, "\003l\003\131\0017\000\013\001\212\001g\000J\001~\000\140\000\138\001g\002\193\001\203\000\139\002\197\000_\005\229\005:\005m\002\164\004Y\004A\001\214\006\144\006\145\003l\003\131\005\178\000\016\000\017\000\138\003)\006d\000\025\001\209\005\230\001.\000J\006e\001B\000_\000\138\005\004\000\138\006f\000\139\004\018\000\139\005\176\000J\005\179\005h\004\019\005n\003n\000\018\000\024\000\140\003o\005u\001i\000\140\000\140\000\140\001j\001i\000\141\002\198\000_\001j\000\142\002\199\005\131\003l\003\131\000_\006\149\004\019\001\013\003n\005v\000\017\000\140\003o\000\138\005y\005h\000\141\001V\001\131\000_\000\142\001w\000\140\005\\\000\140\000\151\001w\000\141\000\138\000\141\000\007\000\142\000\147\000\142\004\136\001\213\003\136\005\132\001\181\006:\005i\000g\006;\000_\005Z\003\234\000\151\005]\005h\006'\006m\000\005\006h\001\213\000\140\001/\003n\000\151\006?\000\151\003o\0068\000\028\005|\000_\000\140\005\006\001\223\004\246\000 \000\141\006i\003\253\005\231\000\142\005i\000K\003\237\003\238\003\240\000\140\005o\003|\000_\000f\000\141\000e\004\002\000h\000\142\000\004\004\003\004\020\002\212\003}\004\138\004g\003\253\000\031\001x\000\151\000g\004m\000\152\001x\002\213\004U\003|\005i\003\136\001\204\000\005\004\002\001\181\0068\000\151\004\003\004\020\006j\003}\000g\000\"\004\007\001\134\000\152\000\153\004B\006k\004a\003l\003\131\006\132\003*\004\028\005\234\000\152\004x\000\152\0049\003\140\000_\006)\006\158\005}\000_\001\144\000\153\004\007\006f\006\159\004\018\004\023\006\134\005\157\005h\003|\000_\000\153\004\028\000\153\003\141\006\136\000$\0049\003\140\003\142\001\145\003}\0017\003\143\000J\001\146\000\155\002\215\003\144\001\147\005\233\005\133\000\152\003\138\001\148\004\019\000\181\003n\000\138\003\141\000\159\003o\000\139\001\229\003\142\000\203\006\178\000\152\003\143\005\230\001\015\001E\0016\003\144\000\153\003l\003\131\005\243\000\155\003G\001Q\000\197\000\198\000\200\000\201\001\189\003\140\000\203\005i\000\153\000_\004\015\000\157\006s\002\164\004Y\004A\006\015\005\241\005\244\005h\004\016\000_\000a\001\225\000e\002=\003\141\002,\000\202\000\140\000\203\003\142\004\022\000\183\000\141\003\143\006\179\000\138\000\142\005\240\003\144\001S\004\016\004o\001\012\005\128\004\019\004m\003n\001\015\004\247\0016\003o\003:\000_\000\155\003l\003m\000g\000\184\005\241\005\244\005h\000\185\000\151\003\253\000(\002\246\001\015\000\157\0016\001G\000\008\001\217\004\249\003|\003\197\003\198\002\193\005i\004\002\002\197\001\140\005\142\004\003\004\020\006\180\003}\000_\000\140\0010\001\234\003l\003\131\000\141\006k\000_\005\231\000\142\006\182\004h\003\136\000*\001\181\005\140\005h\000J\000_\000\140\001\236\003n\006f\006\164\004A\003o\004\007\005\166\006{\001\237\004\023\006\184\002\245\005i\006\016\000\151\001\189\004\028\000\203\006\243\006\186\000\140\0049\003\140\001g\002\198\001~\001\236\003\253\002\199\006t\006\244\006u\000\152\000\203\004\019\001\141\003n\003|\000/\003:\003o\006{\004\002\003\141\003l\003\131\004\003\004\020\003\142\003}\006\175\004j\003\143\000h\000\153\005i\003;\003\144\000_\000_\0003\004U\006B\006f\006\164\004A\000J\001g\001\143\001h\001/\000_\000a\000b\000e\000\140\0017\004\007\001i\001\012\000\138\004B\001j\004a\000\139\004r\0060\0061\004\028\000_\004\252\004x\000\152\0049\003\140\002\165\004\019\004\181\003n\003|\0002\001\197\003o\001\015\0065\0016\000h\001\131\000g\002H\001w\003}\006\169\004:\000\153\003\141\000J\0005\006\019\000\140\003\142\002\212\001i\000J\003\143\003\253\001j\006+\006,\003\144\006}\001\141\000\140\002\213\006t\003|\006u\000\141\000\203\004[\004\002\000\142\003l\003\131\004\003\004\020\006\170\003}\000_\000h\001\215\001\"\004.\006\252\001w\006k\006x\000_\000J\004\005\0068\006f\006\164\004A\006~\001\027\006\127\000\151\006t\000\004\006u\004[\000\203\0007\0017\004\007\000h\003\130\005\167\004B\000\203\006\172\000_\001g\0026\001~\004\028\003\253\001x\006\174\000\005\0049\003\140\004\224\004\019\005\170\003n\003|\000;\001\132\003o\002\247\004\002\002:\003l\003\131\004\003\004\020\006\170\003}\006\171\004\187\001\134\003\141\000J\002\250\006C\006k\003\142\000_\0014\004\005\003\143\006f\006\164\004A\000\144\003\144\000J\005\189\005\190\0029\001x\000h\001\144\000\140\003\231\004\007\001i\001\012\000\138\004B\001j\006\172\000\139\000\152\006y\003\233\004\028\000_\006g\006\174\003F\0049\003\140\001\145\004\019\005\191\003n\000_\001\146\005o\003o\001\015\001\147\0016\005\192\000\153\000h\001\148\001w\0026\006\173\0024\001%\003\141\0011\001\018\001\172\001\028\003\142\001\029\002=\000\203\003\143\003\253\000_\003\232\004c\003\144\0028\000=\000\140\003\197\003\198\003|\002\165\000\141\003\232\001\145\004\002\000\142\003l\003\131\004\003\004\020\006\170\003}\005Y\003\197\003\198\001\"\001C\001\148\000\155\006k\000J\000_\0029\004\005\004^\006f\006\164\004A\000\251\001\027\002\166\000\151\000\161\005Z\005\213\005h\005]\005h\000\004\004\007\000?\007\004\001-\004B\001\191\006\172\000\203\001g\000J\001~\004\028\003\253\001x\006\174\007\005\0049\003\140\005\007\004\019\000\005\003n\003|\005\186\000_\003o\005\250\004\002\005\251\003l\003\131\004\003\004\020\006\170\003}\006\181\005\016\001\142\003\141\001\231\000J\000\203\006k\003\142\000_\003:\004\005\003\143\006f\006\164\004A\000J\003\144\000C\005\018\005\252\005i\002;\005i\001\144\000\140\004\163\004\007\001i\005\253\000\138\004B\001j\006\172\000\139\000\152\003\197\003\198\004\028\005\127\000B\006\174\006z\0049\003\140\001\145\004\019\003\200\003n\000_\001\146\004G\003o\006B\001\147\001\192\001(\000\153\001\186\001\148\001w\004\016\006\185\003\199\001%\003\141\001&\004\251\000_\001\028\003\142\001\029\006\161\000\203\003\143\003\253\000J\005\175\005\006\003\144\005\230\003-\000\140\003F\000h\003|\001\194\000\141\005\169\001\188\004\002\000\142\003l\003\131\004\003\004\020\006\170\003}\005\176\000E\005\179\005h\000G\000J\000\155\006k\002H\000_\001\233\004\005\000\203\002\164\004Y\004A\000J\001<\002\166\000\151\000\163\005}\000h\006\176\005x\004.\000L\004\007\000h\005j\002\167\004B\000J\006\172\006y\001g\000J\001~\004\028\003\253\001x\006\174\000N\0049\003\140\005v\004\019\003+\003n\003|\005y\005h\003o\000J\004\002\005\247\003l\003\131\004\003\004\020\006\170\003}\004\n\005i\005\021\003\141\004\224\000J\001\186\006k\003\142\000_\0030\004\005\003\143\002\164\004Y\004A\000J\003\144\000Q\003\197\003\198\004\169\000J\004\186\001\144\000\140\003\234\004\007\001i\005\236\000\138\004B\001j\006\172\000\139\000\152\006G\001\187\004\028\000_\001\014\006\174\000e\0049\003\140\001\145\004\019\006M\003n\005i\001\146\002\166\003o\001O\001\147\001\192\006G\000\153\003\236\001\148\001w\006\161\000\138\005d\000h\003\141\001R\004\147\000J\003:\003\142\002\166\003\197\003\198\003\143\003\253\000g\004\016\005e\003\144\000h\006D\000\140\000\203\000h\003|\001\193\000\141\000S\003:\004\002\000\142\003l\003\131\004\003\004\020\001\186\003}\004\255\004g\005\167\001l\000\203\000J\000\155\000J\005\193\000_\004%\004\005\006\167\002\164\004Y\004A\000\140\001u\000J\000\151\000\165\000\141\004\249\006\015\004P\000\142\004\164\004\007\000h\003\139\003H\004B\002=\004a\000h\001g\001\192\001~\004\028\003\253\001x\004!\000W\0049\003\140\006O\004\019\003L\003n\003|\006\161\000\151\003o\000J\004\002\004R\003l\003\131\004\003\004\020\000J\003}\004e\004g\005\023\003\141\001\228\001\194\000J\000d\003\142\000_\004\172\004\005\003\143\002\164\004Y\004A\004\188\003\144\002\031\000h\004P\0017\003;\006\152\001\144\000\140\006\153\004\007\001i\006K\006\021\004B\001j\004a\000\205\000\152\006]\006\183\004\028\000h\006\203\004!\004.\0049\003\140\001\145\004\019\001\012\003n\006K\001\146\004Q\003o\002B\001\147\002x\000J\000\153\004\230\001\148\001w\006\229\001g\003@\001h\003\141\000h\000\152\006\031\000\208\003\142\001\015\000_\0016\003\143\003\253\000J\006\157\006G\003\144\003D\005\237\000\005\0043\000J\003|\000\212\000J\002\166\000\153\004\002\000\211\003l\003\131\004\003\004\020\004u\003}\004\140\004g\0047\000h\003\197\003\198\000\155\005g\000J\000_\002\143\004\005\004\197\002\164\004Y\004A\000\140\005\238\002\201\001i\000\167\000J\005e\001j\000\138\000J\000\214\004\007\000\139\004w\006G\004B\001g\004a\001h\0068\001\026\005\019\004\028\003\253\001x\004!\002\193\0049\003\140\002\197\004\019\004\215\003n\003|\001\027\001w\003o\000J\004\002\005\018\003l\003\131\004\003\004\020\006G\003}\005\003\004g\005\025\003\141\002H\000\216\002\210\000\220\003\142\000_\006\210\004\005\003\143\006f\000\140\004\018\004u\003\144\006\227\000\141\004z\000\222\000\140\000\142\001\144\001i\002\236\004\007\001g\001j\001h\004B\000\140\004a\003q\000\225\002\198\000h\004\028\005\175\002\199\004!\000\229\0049\003\140\001\145\004\019\004v\003n\000\151\001\146\004z\003o\004\141\001\147\005\240\000h\001w\002\193\001\148\005\176\002\197\005\179\005h\006\177\003\141\006b\001x\005\026\003z\003\142\006J\004\141\003\215\003\143\003\253\005\241\005\244\005h\003\144\000\140\004\231\000\228\001i\004\143\003|\005\028\001j\004\236\004\132\004\002\000\231\003l\003\131\004\003\004\020\000\233\003}\006\130\004g\003O\003\230\001\028\004\142\001\029\000\237\000\203\000_\006\203\004\005\002\238\006f\004\236\004\018\002\198\001w\006\203\003S\002\199\004\238\004}\006I\000\138\005i\000\239\004\007\000\139\000\152\006\238\004B\001g\004a\001h\002\212\001\145\001x\004\028\003\253\005i\004!\005\224\0049\003\140\004\237\004\019\002\213\003n\003|\001\150\000\153\003o\006H\004\002\006\230\003l\003\131\004\003\004\020\006\163\003}\005\029\005\222\006\162\003\141\006\203\005\225\005h\006k\003\142\000_\006S\006\166\003\143\006f\000\140\004\018\006V\003\144\005\028\000\141\004\016\005$\000\140\000\142\000\241\001i\004\016\004\007\001g\001j\001|\004\023\006\168\001x\002\239\006\133\000\155\005'\004\028\005&\000\245\006\174\001\145\0049\003\140\004\016\004\019\000\244\003n\000\151\000\169\002\212\003o\002\214\003\029\005&\001\152\001w\002\193\005*\002\242\002\197\006\237\002\213\006\165\003\141\005i\000_\005\199\006\248\003\142\002\164\000\247\0052\003\143\003\253\000\249\005\028\006\204\003\144\000\140\0055\006\255\001i\005\254\003|\006\206\001j\002\245\006\247\004\002\0054\003l\003\131\004\003\004\020\006\163\003}\0058\0054\001}\000\252\000\254\002\166\003N\006k\001\000\000_\001\002\006\166\002\238\002\164\006\254\004\018\002\198\001w\005\028\001\006\002\199\000_\001F\000J\000\138\006B\003 \004\007\000\139\000\152\001\011\004\023\006\168\002\247\001;\001A\006\208\001x\004\028\003\253\006\237\006\174\005\221\0049\003\140\001@\004\019\002\248\003n\003|\001\222\000\153\003o\006\237\004\002\001\221\003l\003\131\004\003\004\020\006\163\003}\005\221\005\222\001\227\003\141\001\241\005\225\005h\006k\003\142\000_\001\244\006\166\003\143\002\164\000\140\004\018\001\248\003\144\005\011\000\141\001\247\005\222\004\135\000\142\001\250\005\225\005h\004\007\001\252\003U\002\000\004\023\006\168\001x\002\239\002\002\000\155\005\239\004\028\006\238\002\005\006\174\001\145\0049\003\140\002\t\004\019\002\008\003n\000\151\000\171\002\212\003o\002\011\002\241\004\020\001\154\002\013\002\193\002\017\002\242\002\197\006\238\002\213\002\193\003\141\005i\002\197\002\019\002\021\003\142\000h\002\025\002\024\003\143\003\253\002\027\002\029\000_\003\144\004\133\002 \005\175\002\"\004\135\003|\005i\002$\002\245\005\008\004\002\002&\003l\003\131\004\003\004\020\004\028\003}\002*\004!\004\011\0049\0023\005\176\0022\005\179\005h\000_\002A\004|\002\238\002\164\004\013\004\018\002\198\004;\000\140\006L\002\199\002G\002\198\002F\003l\003m\002\199\004\007\002\138\000\152\002J\004\023\004~\002\247\004?\002M\002Q\002P\004\028\003\253\002S\004!\001\"\0049\003\140\002U\004\019\002\248\003n\003|\002Y\000\153\003o\006D\004\002\000\203\001\027\002[\004\003\004\020\002^\003}\002b\002a\000_\003\141\003l\003\131\005i\002d\003\142\006\000\002f\004|\003\143\004\025\000\140\002j\003n\003\144\000_\000_\003o\002l\006B\002\164\004\026\004A\002n\004\007\002r\006$\002q\004\023\004~\002t\002\239\002v\000\155\001g\004\028\001h\000_\004!\002y\0049\003\140\002{\002}\002\127\002\131\002\137\000\173\002\212\003\019\003$\003\022\002\136\004\019\002\212\003n\002\142\002\242\002\148\003o\002\213\001\"\003\141\002\147\005G\005b\002\213\003\142\005\137\005t\005\130\003\143\003\253\005\172\006\015\001\027\003\144\003l\003m\003\025\005\188\005\220\003|\002=\005\249\002\245\000\140\004\002\006\142\001i\006\188\004\003\004\020\001j\003}\003l\003\131\005\240\006\192\001\"\001%\006\211\001+\006\215\004D\001\028\004F\001\029\005\205\000\203\000_\006\220\003|\001\027\002\164\004\026\004A\006\221\005\241\005\244\005h\001w\004\007\006\226\003}\006\225\004\023\004H\002\247\000\140\006\233\003n\006\235\004\028\002\247\003o\004J\006\241\0049\003\140\006\245\006\246\002\248\006\249\003\253\006\250\006\253\004\019\002\252\003n\007\000\006\023\007\001\003o\003|\007\t\000\000\000\000\000\000\004\002\003\141\000\000\000\000\004\003\004\020\003\142\003}\003l\003\131\003\143\000\000\000_\000\000\006C\003\144\000\000\004I\000\000\004\005\000\000\005i\006\026\000_\000\000\001$\000\000\002\164\004\026\004A\001\028\003\141\001\029\000\000\000\203\004\007\000\000\000\000\000\000\004B\001x\004C\000\000\000\000\000\000\003\146\004\028\000\000\006D\004!\000\203\0049\003\140\000\000\000\138\000\000\000\000\001g\000\147\001{\004\019\000\000\003n\001%\000\000\0033\003o\000\000\001\028\000_\001\029\003|\000\203\003\141\001\"\000\000\000\000\000\000\003\142\003\253\000\000\000\000\003\143\003}\003l\003m\000\000\003\144\001\027\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\003l\003\131\005\139\000\000\000\140\001y\000\000\000\140\000\000\000\141\001i\004\005\000\000\000\142\001j\000_\002H\000\000\000\000\002\164\004Y\004A\000\000\005\140\005h\006\029\003\168\004\007\000\000\005\139\000\000\004B\000\000\004C\000\140\000\000\003n\000\000\004\028\000\151\003o\004!\001w\0049\003\140\000\000\000\000\003\141\000\000\003\253\005\140\005h\004\019\000\000\003n\000\000\000\000\000\000\003o\003|\000\000\003\144\000\000\000\000\004\002\003\141\000\000\000\000\004\003\004\020\003\142\003}\003l\003\131\003\143\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\004\005\005i\000\000\001g\000_\001~\000\000\000\000\002\164\004Y\004A\000\000\001%\000\000\003=\000\000\004\007\001\028\000\000\001\029\004B\000\203\004C\000\000\000\000\000\000\000\000\004\028\005i\000\000\004!\000\000\0049\003\140\000\152\000\000\000\000\001x\000\000\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\197\001n\000\200\000\201\003|\000\000\003\141\000\140\000\153\000\000\001i\003\142\003\253\000\000\001j\003\143\003}\000\000\000\000\000\000\003\144\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\202\000\000\000\203\004\003\004\020\000\183\003}\000\000\004`\003l\003\131\000\000\000\138\000\000\001w\005\139\000\149\000\000\004\005\000\000\000\000\000\000\000\138\005\175\000_\000\000\000\149\000\155\002\164\004Y\004A\000\184\005\143\000\000\004\007\000\185\005\140\005h\004B\000\000\004a\000\157\000\000\001G\005\176\004\028\005\179\005h\004!\000\000\0049\003\140\000\000\000\000\003\141\000\000\003\253\000\000\000\000\005\146\000\000\004\019\000\000\003n\000\140\000\000\003|\003o\003\148\000\141\000\000\004\002\003\141\000\142\000\140\004\003\004\020\003\142\003}\000\141\004b\003\143\000\000\000\142\000\000\000\000\003\144\000\000\000\000\000\000\004\005\000\000\001x\005\139\000\000\000\000\000\000\005i\000\000\000\151\000\000\000\000\003l\003\178\000\000\000\000\004\007\005i\000\000\000\151\004B\000\000\004a\000\000\005\140\005h\005)\004\028\000\000\000\000\004!\000\000\0049\003\140\000\000\000\000\003l\003\131\000_\000\000\000\000\000\000\002\164\000\000\000\000\000\000\000\000\002\193\001\144\000\000\002\197\000_\000\000\000\000\003\141\002\164\004\127\004A\001g\003\142\001~\000\000\003\253\003\143\000\140\000\000\003n\000\000\003\144\001\145\003o\000\000\003|\000\000\001\146\003N\000\000\004\002\001\147\000\000\000\000\004\003\004\020\001\148\003}\005i\004t\000\152\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\004\005\000\152\000\000\002\238\003l\003m\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\153\000\140\000_\004\007\001i\005\152\000\000\004B\001j\004a\000\153\003l\003\131\005\208\004\028\004\129\000\000\004!\000\000\0049\003\140\000\000\000\000\000\000\000\000\000\154\000_\000\000\000\000\000\000\002\164\004\127\004A\000\000\000\000\000\154\001w\000\000\000\000\000\000\000\000\003\141\000\000\000\140\000\000\003n\003\142\000\155\000\000\003o\003\143\005\t\000\194\000\000\000\000\003\144\003|\000\155\003l\003m\000\000\000\157\000\156\004\019\001\"\003n\000\000\000\000\003}\003o\003\253\000\157\000\000\002\193\002\239\000\000\002\219\004\020\001\027\000\000\003|\000\000\000\000\005\150\000\000\004\002\000\000\003l\003\131\004\003\004\020\002\212\003}\000\000\003\026\000\000\004\149\000\000\000\000\004\131\002\242\000\000\000_\002\213\004\005\000\000\002\164\004\026\004A\000\000\000\140\005\008\003n\000\000\001x\000\000\003o\000\000\004\028\000\000\004\007\004!\003\028\0049\004B\000\140\004\130\000\000\002\245\002\198\005\240\004\028\000\000\002\199\004!\000\000\0049\003\140\0057\004\019\000\000\003n\000\000\000\000\003|\003o\002\193\003l\003\131\002\197\000\000\005\241\005\244\005h\003\253\000\000\003}\001g\003\141\001h\001\144\005\139\000_\003\142\003|\003\"\002\164\003\143\004\018\004\002\000\000\002\247\003\144\004\003\004\020\000\000\003}\000\000\000\000\000\000\000\000\001\145\005\140\005h\000\000\002\248\001\146\001%\004\005\004(\001\147\000\000\001\028\000\000\001\029\001\148\000\203\000\000\002\238\004\019\000\000\003n\002\198\000\000\004\007\003o\002\199\000\000\004B\000\140\004\130\003|\001i\005i\000\000\004\028\001j\000\000\004!\000\000\0049\003\140\003\141\003}\000\000\000\000\002\212\000\000\000\000\000\000\003\253\000\000\000\000\004\253\000\000\000\000\003\150\004\135\002\213\005\139\003|\000\000\003\141\005i\001w\004\002\005\240\003\142\000\000\004\003\004\020\003\143\003}\005\139\000\000\005\175\003\144\000\000\000\000\000\000\005\140\005h\003l\003\131\004\005\000\000\000\000\005\241\005\244\005h\000_\000a\001\t\000e\005\140\005h\005\176\000_\005\179\005h\004\007\002\164\002\239\004\018\004B\000\000\004C\000\000\000\000\003\141\003\253\004\028\000\000\000\000\004!\000\000\0049\003\140\000\000\002\212\003|\000\000\003\026\003\152\000\000\004\002\000\000\000g\002\242\004\003\004\020\002\213\003}\000\000\004\019\000\000\003n\000\000\003\141\006\003\003o\005i\001x\003\142\004|\002\193\000\000\003\143\002\197\005i\003\028\000\000\003\144\000\000\000\000\005i\002\245\000\000\000\000\005i\004\007\005\139\000\000\000\000\004\023\004~\003l\003\131\005\013\000\000\005\163\004\028\004\135\000\000\004!\000\000\0049\003\140\000\000\003l\003m\000_\005\140\005h\000\000\002\164\002\193\004\018\000\000\002\197\000\000\000\000\000\000\003!\000\000\000\000\000\000\002\238\003\141\002\247\000\000\002\198\000\000\003\142\000\000\002\199\000\000\003\143\000\000\001\145\000\000\000\000\003\144\002\248\000\000\000\000\002\193\000\000\004\019\002\218\003n\000\000\000\000\001\156\003o\003\253\000_\000a\0019\000e\000\000\000\140\005\139\003n\000\000\003|\000\000\003o\000\140\005\139\004\002\000\000\002\198\005i\004\003\004\020\002\199\003}\005\161\000\000\003l\003\131\005\015\005\140\005h\006\017\004\135\000\000\001\012\004|\005\140\005h\005\159\000g\006\t\000_\000\000\000\000\000\140\002\164\000\000\004\018\002\198\000\000\000\000\004\007\002\199\000\000\000\000\004\023\004~\002\239\001\015\000\000\0016\000\000\004\028\000\000\000\000\004!\005\139\0049\003\140\002\193\000\000\000\000\002\197\000\000\002\212\000\000\002\193\002\244\004\019\002\217\003n\000\000\000\000\002\242\003o\003\253\002\213\005\140\005h\003\141\005i\000\000\000\000\000\000\003\142\003|\000\000\005i\003\143\000\000\004\002\000\000\000\000\003\144\004\003\004\020\000\000\003}\003|\000\000\000\000\002\245\006P\000\000\000\000\002\212\004\135\000\000\000\000\004|\003}\002\238\003l\003\131\000\000\002\198\005\197\002\213\000\140\002\199\000\000\006X\002\198\000\000\000\000\004\007\002\199\000_\000\000\004\023\004~\002\164\004\026\004A\005\240\002\212\004\028\000\000\005i\004!\005\139\0049\003\140\000\000\002\247\000\000\000\000\002\213\000\000\000\000\000\138\000\000\000\000\000\000\000\139\005\241\005\244\005h\002\248\003\253\001\012\005\140\005h\003\141\004\019\000\000\003n\000\000\003\142\003|\003o\000\000\003\143\000\000\004\002\000\000\003\141\003\144\004\003\004\020\000\000\003}\003l\003\131\001\015\002\247\0016\005\202\000\000\000\000\003\154\000\000\000\000\004|\005\217\002\239\000\138\000_\000\000\002\254\000\139\002\164\000\140\004\018\000\000\000\000\000\000\000\141\001g\004\007\001z\000\142\002\212\004\023\004~\003\026\000\000\005i\000\000\002\212\004\028\002\242\005i\004!\002\213\0049\003\140\000\000\000\000\000\000\000\000\002\213\000\000\000\000\004\019\000\000\003n\000\151\000\000\000\000\003o\000\000\000\000\003\028\000\000\005\215\000\000\003\141\000\140\002\245\003l\003m\003\142\000\141\000\000\003\253\003\143\000\142\000\000\000\000\000\140\003\144\000\000\001i\000\000\003|\000\000\001j\006^\000\000\004\002\000\000\004\135\000\000\004\003\004\020\000\000\003}\003l\003\131\000\000\000\000\002\193\000\151\000\000\002\216\003\031\006\135\000\000\004\005\000\000\005\240\002\247\000_\000\000\001w\000\000\002\164\004\026\004A\000\000\000\000\000\140\000\138\003n\004\007\002\248\000\139\003o\004B\000\000\004C\005\241\005\244\005h\000\152\004\028\000\000\000\000\004!\000\000\0049\003\140\006\024\000\000\003\253\000\000\000\000\000\000\006\007\004\019\000\000\003n\000\000\000\140\003|\003o\000\153\002\198\000\000\004\002\000\000\002\199\003\141\004\003\004\020\000\000\003}\003\142\004\144\003l\003\131\003\143\000\000\000\000\000\140\000\000\003\144\000\000\004|\000\141\000\152\000\000\000\000\000\142\000_\000\000\000\000\000\000\002\164\000\000\004A\000\000\001x\005i\004\007\000\000\000\138\000\000\004\023\004~\000\149\000\000\000\153\000\155\000\000\004\028\000\000\000\000\004!\000\151\0049\003\140\000\000\000\000\000\000\000\000\001g\000\175\001h\000\000\000\000\004\019\003|\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\003\141\000\000\003}\000\000\004E\003\142\000\000\000_\003\253\003\143\000\000\002\164\000\000\004\018\003\144\000\000\000\140\000\155\003|\000\000\000\000\000\141\002\212\004\002\000\000\000\142\000\000\004\003\004\020\000\000\003}\000\177\000\000\000\000\002\213\000_\000\140\000\000\000\000\001i\000\000\000\000\004\005\001j\004\019\000\000\003n\000\000\000\000\000\000\003o\000\151\000\138\000\000\000\000\000\152\000\139\000\000\004\007\000\000\000\000\000\000\004B\000\000\004C\000\000\000\000\006\027\003\141\004\028\000\000\001w\004!\000\000\0049\003\140\000\000\000\153\000\000\000\000\003\253\000\000\003\156\000_\000a\001>\000e\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\004\002\003\141\001\"\000\000\004\003\004\020\003\142\003}\000\000\000\140\003\143\003l\003\131\000\000\000\141\003\144\001\027\000\000\000\142\004\146\000\000\000\000\000\000\004\017\000\000\000g\000_\000\000\000\000\000\155\002\164\000\000\004\018\000\000\000\152\004\007\000\000\000\000\000\000\004B\003\253\004\148\000\000\000\187\000\151\000\000\004\028\000\000\000\000\004!\003|\0049\003\140\000\000\001x\004\002\000\153\000\000\000\000\004\003\004\020\000\000\003}\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\003\141\004\021\000\000\000\000\000\000\003\142\000\000\000\000\000\154\003\143\000\000\000\138\000\000\000\000\003\144\000\147\000\000\004\007\000\000\000\000\000\000\004\023\004\024\000\138\003l\003\131\000_\000\149\004\028\000\000\000\155\004!\000\000\0049\003\140\000\193\004\027\000\000\000\000\000_\000\000\003l\003m\002\164\000\157\004\018\000\000\000\000\001\145\000\152\000\000\000\000\001%\000\000\0040\003\141\000\000\001\028\000\000\001\029\003\142\000\203\001\158\000\140\003\143\000\000\000\000\005\240\000\141\003\144\000\000\000\153\000\142\000\000\000\000\000\140\004\019\000\000\003n\000\000\000\141\003\253\003o\001\012\000\142\000\000\000\000\000\000\005\241\005\244\005h\003|\000\000\000\140\000\000\003n\004\002\000\000\000\151\003o\004\003\004\020\000\000\003}\000\000\003l\003\131\001\015\000\000\0016\000\151\000\000\000\000\000\000\000\000\004\021\000\000\000\000\000\155\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\007\000\189\000\000\000\000\004\023\004\024\000\000\000\000\000\000\000\000\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\000\000\005i\000\000\000\000\000\000\000\000\003l\003\129\004\019\000\000\003n\001g\000\000\001h\003o\000\000\000\000\000\000\003\253\000\000\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\152\003|\003\143\000\000\000\000\000\000\004\002\003\144\003l\003\131\004\003\004\020\000\152\003}\000\197\002\203\000\200\000\201\003|\000\000\000\000\000\000\000\153\000_\000\000\004\021\000\000\002\164\000\000\004\018\003}\000\140\000\000\003n\000\153\000\000\000\140\003o\000\000\001i\000\000\004\007\000\202\001j\000\203\004\023\004\024\000\183\000\000\003l\003m\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\000\154\004\019\000\000\003n\000\138\000\000\000\000\003o\000\147\000\000\000\155\000\000\001w\003\253\000\184\000\000\000\000\000\000\000\185\000\000\003\141\006\"\000\155\003|\000\157\003\142\001G\000\196\004\002\003\143\003l\003\131\004\003\004\020\003\144\003}\000\157\003~\000\000\000\000\000\000\004d\000\140\002\193\003n\000_\002\197\004]\003o\002\164\000\000\004\018\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\004\007\000\000\000\142\000\000\004\023\004_\000\000\000\000\000_\000\000\003|\004\028\002\164\000\000\004!\000\000\0049\003\140\000\000\004\019\000\000\003n\003}\000\000\000\000\003o\000\000\001x\000\151\003\253\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003\141\003|\002\199\000\000\000\000\003\142\004\002\003N\000\000\003\143\004\003\004\020\000\000\003}\003\144\003l\003\131\000\000\000\000\004\\\000\000\000\000\000\000\003l\003\131\004]\000_\000a\001\219\000e\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\007\003|\000\000\004O\004\023\004_\000\000\000\000\000\000\000\000\000\000\004\028\000\000\003}\004!\001\145\0049\003\140\000\000\003&\002\193\000\138\000g\002\197\000\000\000\139\004\019\000\152\003n\001\160\000\000\003\253\003o\000\000\002\238\000\000\003n\000\000\003\141\000\000\003o\003|\000\000\003\142\002\234\000\000\004\002\003\143\000\000\000\153\004\003\004\020\003\144\003}\002\212\000\000\000\000\000\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\004q\002\213\000\000\003l\003\131\000\000\000\000\000\140\000\140\000\183\000\000\002\198\004\020\000\141\003\141\002\199\004\007\000\142\000_\000\000\004\023\004s\002\164\000\000\004\018\000\000\000\000\004\028\003\158\000\000\004!\000\155\0049\003\140\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\151\000\000\000\157\005-\000\000\000\000\000\000\000\000\000\000\003\253\004\028\003\141\004\019\004!\003n\0049\003\142\003\253\003o\003|\003\143\000\000\000\000\000\000\004\002\003\144\002\247\003|\004\003\004\020\000\138\003}\004\002\000\000\000\149\000\000\004\003\004n\000\000\003}\003\000\003l\003\131\004]\000\000\001\012\000\000\000\000\000\000\000\000\004{\004\005\000_\000a\0020\000e\000_\000\000\000\000\004\007\002\164\000\000\004\018\004\023\004_\002\212\000\000\004\007\000\000\001\015\004\028\0016\000\000\004!\000\000\0049\003\140\002\213\000\152\000\000\000\000\000\000\000\140\000\000\003\140\000\000\000\000\000\141\000\000\000g\000\000\000\142\000\000\004\019\000\000\003n\000\000\003\141\000\000\003o\000\153\000\000\003\142\003\253\000\000\003\141\003\143\000\000\003l\003\128\003\142\003\144\000\000\003|\003\143\000\000\000\000\000\151\004\002\003\144\000\000\000\000\004\003\004\020\000\000\003}\000\138\003l\003\131\000\000\000\149\004\128\000\000\000\000\000\000\000\000\000_\004|\006T\000\000\000\000\000\000\000_\000\000\000\000\002\247\002\164\000\155\004\018\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\000\004\023\004~\003\002\000\140\000\191\003n\000\000\004\028\000\000\003o\004!\000\000\0049\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\004\019\000\000\003n\000\000\000\141\003\253\003o\000\000\000\142\000\000\003l\003\127\003\141\000\000\000\000\003|\000\152\003\142\000\000\001\"\004\002\003\143\000\000\000\000\004\003\004\020\003\144\003}\000\000\003l\003\131\000\000\000\000\001\027\000\151\000\000\000\000\000\000\000\153\004|\006`\001\012\000\000\000\138\000_\000\000\000\000\000\149\002\164\000\000\004\018\000\000\000_\000\000\000\000\004\007\002\164\000\000\000\000\004\023\004~\000\000\000\140\000\154\003n\001\015\004\028\0016\003o\004!\000\000\0049\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\019\003|\003n\001g\000\155\001h\003o\000\000\003N\001\128\003\253\000\000\003\141\003}\000\140\000\000\000\000\003\142\000\157\000\141\003|\003\143\000\000\000\142\000\000\004\002\003\144\003l\003\131\004\003\004\020\000\152\003}\000\000\000\000\000\138\000\000\000\000\006c\000\147\000\000\000\000\000_\000\000\006U\000\000\002\164\000\000\004\018\000\151\000_\000\000\000\000\000\153\000\000\000\140\000\000\000\000\001i\000\000\004\007\001%\001j\004\175\004\023\006W\001\028\000\000\001\029\000\000\000\203\004\028\000\000\000\000\004!\000\000\0049\003\140\000\154\004\019\000\000\003n\003|\000\000\000\000\003o\000\000\000\140\000\000\000\000\001w\003\253\000\141\000\000\003}\000\000\000\142\000\000\003\141\000\000\000\155\003|\000\000\003\142\000\000\001\130\004\002\003\143\000\000\000\000\004\003\004\020\003\144\003}\000\157\003l\003m\000_\000\000\004\020\000\000\002\164\000\151\003l\003\131\006U\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\004\007\004\162\000\000\000\000\004\023\006W\000\000\000\000\000\153\000\000\000\000\004\028\005/\003N\004!\000\000\0049\003\140\000\000\004\028\000\000\000\000\004!\004\193\0049\000\000\000\140\001x\003n\003\253\000\000\000\000\003o\000\154\004\196\000\000\003n\000\000\003\141\003|\003o\000\000\000\000\003\142\004\002\000\000\000\000\003\143\004\003\004\020\000\138\003}\003\144\000\000\000\147\000\155\000\000\000\000\004\202\000\152\003\133\000\000\000\000\006U\000\000\000_\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\197\003s\000\200\000\201\000\000\000\000\004\007\000\000\000\153\000\000\004\023\006W\000\000\004\239\000\000\000\000\003\136\004\028\001\181\000\000\004!\001\145\0049\003\140\000\000\000\000\000\000\000\138\000\202\000\140\000\203\000\147\000\000\000\183\000\141\001\162\000\000\000\000\000\142\001g\000\000\001h\000_\000\000\003\141\000\000\000\000\000\000\001g\003\142\001h\004\020\000\000\003\143\003|\000\155\000\000\000\000\003\144\000\184\000\000\000\000\003|\000\185\000\151\000\000\003}\000\000\000\000\000\157\000\000\001G\004\203\000\000\003}\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\0051\004\241\000\000\000\142\003l\003\131\000\140\004\028\000\000\001i\004!\000\000\0049\001j\000\000\000\140\000\000\000\000\001i\000_\000\000\000\000\001j\004\162\003l\003\131\000\000\000\000\004\206\000\151\000\000\004\242\000\000\004\229\003\140\000\000\000\000\000\000\000\000\000_\000\000\001w\000\000\004\162\000\000\004\243\000\000\003\141\000\000\000\000\001w\000_\000a\002?\000e\003\141\004\196\000\152\003n\000\000\003\142\003\160\003o\000\000\003\143\004\195\000\000\000\000\000\000\003\144\000\000\000\197\003\255\000\200\000\201\000\000\004\196\000\000\003n\000\153\004\202\000\000\003o\003l\003m\000\000\000\000\000\000\000g\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000_\000\000\000\138\000\202\004\202\000\203\000\147\000\000\000\183\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\001x\000\000\000\197\004\030\000\200\000\201\000\000\000\155\000\000\001x\000\153\000\184\000\000\000\000\000\000\000\185\000\140\000\000\003n\000\000\000\000\000\157\003o\001G\000\140\003l\003\131\000\000\000\000\000\141\000\202\000\140\000\203\000\142\000\000\000\183\000\141\000\000\003|\001\"\000\142\000\000\000\000\000\000\000\000\000\000\004M\000\138\004\203\000\000\003}\000\149\000\000\001\027\000\000\000\000\000\000\000\155\003|\000\151\000\000\000\184\004\204\000\000\000\000\000\185\000\151\001\145\004\203\000\000\003}\000\157\000\000\001G\000\000\002\193\001\145\002\238\002\197\003n\000\000\001\164\004\204\003o\000\000\000\000\000\000\001\179\001\181\004\206\001\166\000\000\004\211\000\000\004\229\003\140\000\000\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\004\206\000\000\000\000\004\211\000\000\004\229\003\140\003\141\003|\001g\000\000\001h\003\142\000\000\000\000\001\015\003\143\0016\000\140\004S\003}\003\144\002\198\003\136\000\000\000\151\002\199\003\141\000\152\000\000\000\000\000\000\003\142\000\138\000\000\000\152\003\143\000\147\000\000\000\000\000\000\003\144\000\197\004\208\000\200\000\201\000\000\000\000\000_\000\000\000\153\000\000\001\183\001%\000\000\004\218\000\000\000\153\001\028\003\253\001\029\000\140\000\203\000\000\001i\000\000\000\000\000\000\001j\003|\000\202\000\000\000\203\000\000\004\002\000\183\000\000\001\189\004\003\000\203\000\000\003}\000\183\000\000\000\000\000\140\003\141\000\000\000\000\000\000\000\141\000\000\000\000\004U\000\142\000\000\001w\000\155\000\000\000\000\003\162\000\184\000\000\000\152\000\155\000\185\000\000\000\000\000\184\004\007\000\000\000\157\000\185\001G\000\000\003l\003\131\000\000\000\157\002\212\000\151\000\000\000\000\000\000\000\000\000\153\003\140\000\000\000\000\000\000\000\000\002\213\002\193\003l\003\131\002\197\003\246\005\n\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\154\001g\003\142\001h\003\246\004V\003\143\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\000\000\001g\002\238\001h\003n\000\000\000\000\000\155\003o\001x\003l\003\131\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\140\002\238\000\157\003n\002\198\000\000\000\000\003o\002\199\000\000\000\000\000\000\003\246\004L\000\152\002\247\000\000\000\000\001g\000\140\001h\000\000\001i\000\000\000\000\000\000\001j\000\000\001I\003\004\000\000\000\201\000\000\000\000\000\140\000\000\000\153\001i\000\000\000\000\000\000\001j\000\000\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\000\000\001w\000\000\000\202\001\145\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\000\002\197\001w\000\140\001\168\000\000\001i\003\253\000\000\000\138\001j\000\000\000\000\000\147\000\000\000\000\000\155\003|\000\000\000\000\000\184\000\000\004\002\0066\000\185\003\253\004\003\003l\003\131\003}\000\157\000\000\001G\000\000\002\212\003|\000\000\000\000\001w\000\000\004\002\004\005\000\000\000\000\004\003\000\000\002\213\003}\003\246\003\247\000\140\000\000\000\000\000\000\002\198\000\000\000\000\004\007\002\199\004\005\000\000\000\140\000\000\000\000\000\000\001x\000\141\003\253\000\000\000\000\000\142\000\000\000\000\002\193\003\140\004\007\002\197\003|\000\000\002\238\001x\003n\004\002\000\000\000\000\003o\004\003\000\000\000\000\003}\000\000\000\000\003\140\000\000\000\000\003\141\000\151\000\000\000\000\000\000\003\142\004\005\000\000\000\000\003\143\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003\141\002\247\000\000\001x\004\007\003\142\000\000\000\000\000\000\003\143\003l\003\131\000\140\000\000\003\144\003\006\002\198\000\000\000\000\001\145\002\199\003\140\000\000\003l\003\131\000\000\000\000\000\000\000\000\000\000\000\000\003\246\004\001\001\174\001\145\000\000\000\000\002\193\002\212\000\000\002\197\000\000\003\141\000\000\003\246\004X\000\000\003\142\001\176\000\000\002\213\003\143\003l\003\131\000\000\000\000\003\144\003\253\000\000\000\000\000\000\000\152\002\238\000\000\003n\003l\003\131\003|\003o\000\000\001\145\000\000\004\002\003\246\005\031\002\238\004\003\003n\0067\003}\000\000\003o\000\000\000\153\001\178\000\000\003\246\005!\000\000\000\140\000\000\004\005\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\138\000\000\000\000\000\000\000\147\002\238\000\000\003n\004\007\000\183\000\000\003o\000\000\000\000\002\212\000_\000\000\000\000\002\238\002\247\003n\000\000\000\000\000\000\003o\003\140\002\213\000\000\000\000\000\000\000\000\000\155\000\000\003\008\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\141\000\000\000\000\000\000\000\000\003\142\000\140\000\000\003\253\003\143\000\000\000\141\000\000\000\000\003\144\000\142\003l\003\131\003|\000\000\000\000\003\253\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\138\003}\003|\000\000\000\147\000\000\000\000\004\002\003\246\005#\000\000\004\003\000\151\004\005\003}\000_\002\212\000\000\000\000\002\247\000\000\003\253\000\000\000\000\000\000\000\000\004\005\000\000\002\213\004\007\000\000\003|\000\000\003\n\003\253\000\000\004\002\000\000\000\000\002\238\004\003\003n\004\007\003}\003|\003o\003\140\000\000\002\193\004\002\000\000\002\197\000\140\004\003\000\138\004\005\003}\000\141\000\147\003\140\000\000\000\142\000\000\000\000\000\000\000\000\000\000\003\141\004\005\000_\000\000\004\007\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\000\000\000\004\007\003\142\000\000\000\151\003\140\003\143\000\152\000\000\000\000\000\000\003\144\000\000\002\247\000\000\000\000\000\000\000\140\003\140\000\000\000\000\002\198\000\000\000\140\001T\002\199\003\141\003\012\000\141\000\153\000\000\003\142\000\142\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\138\000\000\000\000\003\142\000\147\000\000\003\253\003\143\001\195\000\000\000\203\000\000\003\144\000\183\000\000\000_\003|\000\151\000\138\000\138\000\000\004\002\000\147\000\147\000\000\004\003\000\000\000\000\003}\000\000\000\000\000\000\000\000\000_\000_\000\155\000\000\000\000\000\000\000\184\004\005\000\152\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\140\000\000\000\000\000\000\004\007\000\141\001W\000\000\000\000\000\142\000\000\000\153\000\000\000\000\000\000\000\000\003l\003m\000\140\000\140\000\000\003\140\000\000\000\141\000\141\002\212\000\000\000\142\000\142\000\000\000\000\001Y\000\000\000\203\000\138\000\151\000\183\002\213\000\147\000\000\000\000\000\000\003\141\000\152\000\000\000\000\000\138\003\142\000\000\000_\000\147\003\143\000\000\000\151\000\151\000\000\003\144\000\000\000\155\000\000\001W\000_\000\184\000\000\000\000\000\153\000\185\000\000\000\140\000\000\003n\000\000\000\157\000\000\003o\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\001\201\000\140\000\203\000\000\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\002\247\000\000\000\142\000\000\000\000\000\000\000\000\000\155\000\152\000\000\000\000\000\184\000\000\000\000\003\014\000\185\000\151\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\140\001T\000\152\000\152\000\151\000\141\000\153\000\000\002\193\000\142\000\000\002\197\000\000\002\193\000\000\000\000\002\197\000\000\000\000\002\176\002\176\001\210\000\000\000\000\000\153\000\153\001\207\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\002\178\002\195\000\203\000\203\000\000\000\183\000\183\000\000\003}\000\155\000\000\002\193\000\000\000\184\002\197\000\000\002\238\000\185\000\000\000\000\002\198\002\238\000\000\000\157\002\199\002\198\000\152\000\155\000\155\002\199\000\000\000\184\000\184\000\000\000\000\000\185\000\185\000\000\000\152\000\000\000\000\000\157\000\157\003\\\000\000\000\000\000\000\000\000\000\153\000\138\000\000\000\000\000\000\000\147\000\000\003\\\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\000\002\198\003^\000\152\000\203\002\199\000\000\000\183\003\141\000\000\000\000\000\000\000\000\000\000\003\176\000\000\000\203\000\138\000\000\000\183\000\182\000\147\003\164\000\000\000\000\000\153\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\002\239\000\140\000\000\000\185\000\000\002\239\000\141\000\155\000\000\000\157\000\142\000\184\000\000\000\000\000\000\000\185\000\183\002\212\003\019\003\020\003\022\000\157\002\212\003\019\006Z\003\022\002\242\000\000\000\138\002\213\000\000\002\242\000\147\000\000\002\213\000\140\000\151\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\138\003\025\000\000\000\000\000\147\000\157\003\025\002\245\000\000\000\179\001\198\000\000\002\245\000\000\000\000\000\000\000\000\002\212\000\138\000\000\000\138\000\000\000\147\000\151\000\147\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\000\000\140\000\000\000\000\002\193\000\000\000\141\002\197\000\000\000\000\000\142\002\193\000\000\000\000\002\197\000\000\000\000\000\000\002\247\000\000\000\140\000\000\001\170\002\247\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\002\248\000\000\000\000\000\152\000\151\002\248\000\140\000\000\000\140\000\000\000\000\000\141\000\000\000\141\000\000\000\142\000\000\000\142\000\000\000\000\001\183\000\000\000\000\000\151\002\238\000\153\000\000\000\000\002\198\000\000\000\000\000\140\002\199\002\247\000\000\002\198\000\000\000\152\000\000\002\199\000\000\000\151\000\000\000\151\002\173\000\000\000\000\003\016\000\000\000\000\000\183\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\000\000\000\000\000\000\000\000\138\000\000\000\155\000\000\000\147\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\152\000\000\000\183\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000_\000a\002D\000e\000\000\000\000\000\182\000\000\000\152\000\000\000\000\000\153\000\000\000\155\000\000\002\239\000\000\000\184\002\232\000\138\0037\000\185\000\000\000\147\000\000\001\183\000\152\000\157\000\152\000\140\000\153\000\000\002\212\003\024\000\141\003\022\000\183\000g\000\142\002\212\000\000\002\242\000\000\002\234\002\213\002\234\000\000\000\140\000\153\000\000\000\153\002\213\000\141\000\000\000\000\000\183\000\142\000\000\000\155\000\000\000\000\000\000\000\184\003\025\000\151\000\000\000\185\000\000\000\000\002\245\000\000\000\140\000\157\000\183\000\000\000\183\000\141\000\155\000\000\000\000\000\142\000\184\000\151\000\138\000\138\000\185\000\000\000\147\000\147\000\000\000\000\000\157\000\000\000\000\000\000\000\155\000\000\000\155\000\000\000\184\000\000\000\184\000\000\000\185\000\000\000\185\000\151\000\000\000\000\000\157\000\000\000\157\002\247\000_\000a\002\134\000e\000\138\000\000\002\247\000\000\000\147\000\000\000\000\000\000\000\000\002\248\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003B\000\140\000\140\000\000\000\000\000\000\000\141\000\141\000\152\000\000\000\142\000\142\000\000\000\000\000\000\000\000\000g\000\138\003J\000\000\000\000\000\147\003\166\003\219\000\000\002\234\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\000\001\012\000\140\000\151\000\151\000\000\000\000\000\141\000\000\003Q\002\234\000\142\000\000\000\000\000\000\000\153\000\000\000\152\000_\000a\002\140\000e\000\183\003\221\000\000\001\015\000\138\0016\000\000\000\000\000\147\000\000\000\000\000\000\002\234\000\000\000\140\000\151\000\000\000\153\000\183\000\141\000\000\000\000\000\155\000\142\000\000\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000g\000\000\003\223\000\157\000\000\000\000\000\000\000\155\000\000\000\183\000\000\000\184\000\000\000\000\000\000\000\185\000\151\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\000\000\000\000\152\000\152\000\141\000\000\000\000\000\155\000\142\000\000\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\182\000\182\000\157\000\140\000\000\000\153\000\153\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\151\001\012\000\152\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\183\000\183\000\000\000\000\000\182\000\000\000\000\000\000\000\151\000\153\001\015\000\000\0016\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\152\000\155\000\155\000\142\000\000\000\184\000\184\000\000\000\000\000\185\000\185\000\000\000\000\000\183\000\138\000\157\000\157\000\182\000\147\000\000\000\000\000\000\000\153\000\140\000\000\000\000\000\000\000\000\000\141\000\151\000\000\000\000\000\142\000\000\004,\000\155\000\000\001\012\000\000\000\184\000\000\000\000\000\152\000\185\000\000\000\000\000\000\000\183\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0045\000\151\002\234\000\000\001\015\000\000\0016\000\153\000\152\000\140\000\000\000\000\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\002\234\000\157\000\000\000\000\000\000\000\153\000\138\000\183\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\004=\000\138\000\151\000\000\000\000\000\147\000\000\000\000\000\152\000\000\000\000\000\000\000\155\000\183\000\000\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\000\002\234\000\157\000\000\000\000\004\167\000\153\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\138\000\184\000\000\000\140\000\147\000\185\000\000\000\000\000\141\000\000\000\000\000\157\000\142\000\000\000\000\000\140\002\234\000\183\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\000_\000a\002\145\000e\000\000\000\140\000\000\000\000\004\179\000\000\000\141\000\000\000\151\000\155\000\142\000\000\000\152\000\184\000\000\000\000\000\183\000\185\000\000\000\000\000\151\000\000\000\140\000\157\000\000\000\000\000\000\000\141\000\000\002\234\000\000\000\142\000\000\000g\000\153\000\138\000\151\000\000\000\155\000\147\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\138\000\000\000\157\000\000\000\147\000\000\000\000\000\151\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\004\184\000\000\000\000\000\155\000\000\006\150\000\000\000\184\000\152\000\140\000\000\000\185\004\191\000\000\000\141\000\000\000\000\000\157\000\142\000\000\000\152\000\000\000\000\000\000\000\140\002\234\000\000\000\000\004\200\000\141\000\153\000\000\000\000\000\142\000\000\000\000\000\152\002\234\000\000\000\000\000\000\000\000\000\153\000\140\000\151\000\000\000\000\000\000\000\141\004\222\000\000\000\000\000\142\002\234\000\000\000\183\000\000\000\152\000\153\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\000\000\147\000\000\000\000\000\000\002\234\000\000\000\000\000\155\000\151\000\153\000\000\000\184\000\000\000\183\000\138\000\185\001\012\000\000\000\147\000\155\000\000\000\157\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\155\000\000\000\000\000\000\000\184\001\015\000\138\0016\000\185\004\227\000\147\000\000\000\000\000\140\000\157\000\000\000\000\000\152\000\141\000\138\000\000\000\155\000\142\000\147\004\234\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\152\000\000\002\234\000\157\000\141\000\000\000\000\000\153\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\002\234\000\000\000\152\000\000\000\000\000\153\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\183\000\000\000\151\000\142\0067\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\138\000\183\000\142\000\138\000\147\000\000\000\000\000\147\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\000\000\000\000\183\000\138\000\157\000\155\000\000\000\147\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\000\000\155\000\000\000\147\000\000\000\184\000\000\000\152\000\000\000\185\000\000\000\140\003l\003m\000\140\000\157\000\141\000\000\000\000\000\141\000\142\000\000\000\000\000\142\001K\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\001q\000\000\000\138\000\000\000\151\000\153\000\147\000\151\000\000\000\140\000\152\000\000\000\183\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\140\000\152\003n\000\151\000\000\001\138\003o\000\138\000\183\000\000\000\153\000\147\000\155\000\000\000\000\000\000\000\184\000\000\001\185\000\000\000\185\000\000\000\151\000\153\000\000\000\000\000\157\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\183\000\000\000\141\000\185\000\000\000\000\000\142\000\000\000\000\000\157\000\000\000\000\000\138\000\183\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\140\000\152\000\184\000\000\000\152\000\141\000\185\000\000\000\151\000\142\000\000\000\155\000\157\000\000\000\000\000\184\000\000\000\000\002\155\000\185\000\000\002\159\000\152\000\153\000\000\000\157\000\153\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\151\000\000\000\000\000\000\002\206\000\140\000\152\003|\000\000\000\153\000\141\000\000\000\000\000\183\000\142\000\000\000\183\000\000\000\000\003}\000\138\000\000\000\000\002\221\000\147\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\183\000\155\000\000\000\000\000\155\000\184\000\151\000\000\000\184\000\185\000\000\000\140\000\185\000\000\000\000\000\157\000\141\000\152\000\157\000\183\000\142\000\000\000\155\000\000\000\138\000\000\000\184\000\000\000\147\000\000\000\185\000\138\000\000\000\000\002\223\000\147\000\157\000\000\000\140\000\153\000\000\000\155\000\000\000\141\000\152\000\184\000\151\000\142\000\000\000\185\000\000\003\141\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\000\000\000\003v\000\147\000\000\000\183\003\170\000\153\000\000\003l\003m\000\000\000\000\000\000\000\151\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\152\000\142\000\155\000\000\000\141\000\000\000\184\000\183\000\142\000\000\000\185\000\138\003l\003m\000\000\000\147\000\157\003\181\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\140\000\151\000\000\000\155\000\000\000\141\000\000\000\184\000\151\000\142\000\140\000\185\003n\000\000\000\152\000\000\003o\000\157\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\186\000\000\000\000\000\000\000\151\000\153\000\140\000\140\000\000\003n\000\152\000\141\000\155\003o\000\000\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\190\000\000\000\000\000\183\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\155\000\000\000\000\000\152\000\184\000\183\000\000\000\000\000\185\000\000\000\000\000\000\000\000\003\211\000\157\000\000\000\000\000\000\000\153\000\000\003\250\000\000\000\000\000\000\000\000\000\153\000\000\000\155\003|\000\000\000\152\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\003}\000\157\000\000\000\183\000\000\000\000\000\000\004\155\000\000\000\000\000\183\000\000\000\153\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\152\003}\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\000\183\000\000\000\157\000\185\000\000\000\000\000\000\005\001\000\000\000\157\000\000\000\000\000\153\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\000\184\000\000\000\000\003\141\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\000\000\000\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\000\000\000\000\000\000\000\003\141\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\003\174\000\000\000\157"))
1409
1410 let semantic_action =
1411 [|
1412 (fun _menhir_env ->
1413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1414 let {
1415 MenhirLib.EngineTypes.state = _menhir_s;
1416 MenhirLib.EngineTypes.semv = _1;
1417 MenhirLib.EngineTypes.startp = _startpos__1_;
1418 MenhirLib.EngineTypes.endp = _endpos__1_;
1419 MenhirLib.EngineTypes.next = _menhir_stack;
1420 } = _menhir_stack in
1421 raise (MenhirLib.TableInterpreter.Accept _1));
1422 (fun _menhir_env ->
1423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1424 let {
1425 MenhirLib.EngineTypes.state = _menhir_s;
1426 MenhirLib.EngineTypes.semv = _1;
1427 MenhirLib.EngineTypes.startp = _startpos__1_;
1428 MenhirLib.EngineTypes.endp = _endpos__1_;
1429 MenhirLib.EngineTypes.next = _menhir_stack;
1430 } = _menhir_stack in
1431 raise (MenhirLib.TableInterpreter.Accept _1));
1432 (fun _menhir_env ->
1433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1434 let {
1435 MenhirLib.EngineTypes.state = _menhir_s;
1436 MenhirLib.EngineTypes.semv = _1;
1437 MenhirLib.EngineTypes.startp = _startpos__1_;
1438 MenhirLib.EngineTypes.endp = _endpos__1_;
1439 MenhirLib.EngineTypes.next = _menhir_stack;
1440 } = _menhir_stack in
1441 raise (MenhirLib.TableInterpreter.Accept _1));
1442 (fun _menhir_env ->
1443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1444 let {
1445 MenhirLib.EngineTypes.state = _menhir_s;
1446 MenhirLib.EngineTypes.semv = _1;
1447 MenhirLib.EngineTypes.startp = _startpos__1_;
1448 MenhirLib.EngineTypes.endp = _endpos__1_;
1449 MenhirLib.EngineTypes.next = _menhir_stack;
1450 } = _menhir_stack in
1451 raise (MenhirLib.TableInterpreter.Accept _1));
1452 (fun _menhir_env ->
1453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1454 let {
1455 MenhirLib.EngineTypes.state = _menhir_s;
1456 MenhirLib.EngineTypes.semv = _1;
1457 MenhirLib.EngineTypes.startp = _startpos__1_;
1458 MenhirLib.EngineTypes.endp = _endpos__1_;
1459 MenhirLib.EngineTypes.next = _menhir_stack;
1460 } = _menhir_stack in
1461 raise (MenhirLib.TableInterpreter.Accept _1));
1462 (fun _menhir_env ->
1463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1464 let {
1465 MenhirLib.EngineTypes.state = _menhir_s;
1466 MenhirLib.EngineTypes.semv = _1;
1467 MenhirLib.EngineTypes.startp = _startpos__1_;
1468 MenhirLib.EngineTypes.endp = _endpos__1_;
1469 MenhirLib.EngineTypes.next = _menhir_stack;
1470 } = _menhir_stack in
1471 raise (MenhirLib.TableInterpreter.Accept _1));
1472 (fun _menhir_env ->
1473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1474 let {
1475 MenhirLib.EngineTypes.state = _menhir_s;
1476 MenhirLib.EngineTypes.semv = _1;
1477 MenhirLib.EngineTypes.startp = _startpos__1_;
1478 MenhirLib.EngineTypes.endp = _endpos__1_;
1479 MenhirLib.EngineTypes.next = _menhir_stack;
1480 } = _menhir_stack in
1481 raise (MenhirLib.TableInterpreter.Accept _1));
1482 (fun _menhir_env ->
1483 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1484 let {
1485 MenhirLib.EngineTypes.state = _menhir_s;
1486 MenhirLib.EngineTypes.semv = _1;
1487 MenhirLib.EngineTypes.startp = _startpos__1_;
1488 MenhirLib.EngineTypes.endp = _endpos__1_;
1489 MenhirLib.EngineTypes.next = _menhir_stack;
1490 } = _menhir_stack in
1491 raise (MenhirLib.TableInterpreter.Accept _1));
1492 (fun _menhir_env ->
1493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1494 let {
1495 MenhirLib.EngineTypes.state = _menhir_s;
1496 MenhirLib.EngineTypes.semv = _1;
1497 MenhirLib.EngineTypes.startp = _startpos__1_;
1498 MenhirLib.EngineTypes.endp = _endpos__1_;
1499 MenhirLib.EngineTypes.next = _menhir_stack;
1500 } = _menhir_stack in
1501 raise (MenhirLib.TableInterpreter.Accept _1));
1502 (fun _menhir_env ->
1503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1504 let {
1505 MenhirLib.EngineTypes.state = _menhir_s;
1506 MenhirLib.EngineTypes.semv = _1;
1507 MenhirLib.EngineTypes.startp = _startpos__1_;
1508 MenhirLib.EngineTypes.endp = _endpos__1_;
1509 MenhirLib.EngineTypes.next = _menhir_stack;
1510 } = _menhir_stack in
1511 raise (MenhirLib.TableInterpreter.Accept _1));
1512 (fun _menhir_env ->
1513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1514 let {
1515 MenhirLib.EngineTypes.state = _menhir_s;
1516 MenhirLib.EngineTypes.semv = _1;
1517 MenhirLib.EngineTypes.startp = _startpos__1_;
1518 MenhirLib.EngineTypes.endp = _endpos__1_;
1519 MenhirLib.EngineTypes.next = _menhir_stack;
1520 } = _menhir_stack in
1521 raise (MenhirLib.TableInterpreter.Accept _1));
1522 (fun _menhir_env ->
1523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1524 let {
1525 MenhirLib.EngineTypes.state = _menhir_s;
1526 MenhirLib.EngineTypes.semv = _1;
1527 MenhirLib.EngineTypes.startp = _startpos__1_;
1528 MenhirLib.EngineTypes.endp = _endpos__1_;
1529 MenhirLib.EngineTypes.next = _menhir_stack;
1530 } = _menhir_stack in
1531 raise (MenhirLib.TableInterpreter.Accept _1));
1532 (fun _menhir_env ->
1533 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1534 let {
1535 MenhirLib.EngineTypes.state = _menhir_s;
1536 MenhirLib.EngineTypes.semv = _1;
1537 MenhirLib.EngineTypes.startp = _startpos__1_;
1538 MenhirLib.EngineTypes.endp = _endpos__1_;
1539 MenhirLib.EngineTypes.next = _menhir_stack;
1540 } = _menhir_stack in
1541 raise (MenhirLib.TableInterpreter.Accept _1));
1542 (fun _menhir_env ->
1543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1544 let {
1545 MenhirLib.EngineTypes.state = _menhir_s;
1546 MenhirLib.EngineTypes.semv = _1;
1547 MenhirLib.EngineTypes.startp = _startpos__1_;
1548 MenhirLib.EngineTypes.endp = _endpos__1_;
1549 MenhirLib.EngineTypes.next = _menhir_stack;
1550 } = _menhir_stack in
1551 let _1 : 'tv_eexpr = Obj.magic _1 in
1552 let _startpos = _startpos__1_ in
1553 let _endpos = _endpos__1_ in
1554 let _v : 'tv_aexpr =
1555 # 1845 "parser_cocci_menhir.mly"
1556 ( Ast0.set_arg_exp _1 )
1557 # 1558 "parser_cocci_menhir.ml"
1558 in
1559 _menhir_env.MenhirLib.EngineTypes.stack <- {
1560 MenhirLib.EngineTypes.state = _menhir_s;
1561 MenhirLib.EngineTypes.semv = Obj.repr _v;
1562 MenhirLib.EngineTypes.startp = _startpos;
1563 MenhirLib.EngineTypes.endp = _endpos;
1564 MenhirLib.EngineTypes.next = _menhir_stack;
1565 });
1566 (fun _menhir_env ->
1567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1568 let {
1569 MenhirLib.EngineTypes.state = _menhir_s;
1570 MenhirLib.EngineTypes.semv = _1;
1571 MenhirLib.EngineTypes.startp = _startpos__1_;
1572 MenhirLib.EngineTypes.endp = _endpos__1_;
1573 MenhirLib.EngineTypes.next = _menhir_stack;
1574 } = _menhir_stack in
1575 let _1 : (
1576 # 66 "parser_cocci_menhir.mly"
1577 (Parse_aux.list_info)
1578 # 1579 "parser_cocci_menhir.ml"
1579 ) = Obj.magic _1 in
1580 let _startpos = _startpos__1_ in
1581 let _endpos = _endpos__1_ in
1582 let _v : 'tv_aexpr =
1583 # 1847 "parser_cocci_menhir.mly"
1584 ( let (nm,lenname,pure,clt) = _1 in
1585 let nm = P.clt2mcode nm clt in
1586 let lenname =
1587 match lenname with
1588 Some nm -> Some(P.clt2mcode nm clt)
1589 | None -> None in
1590 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1591 # 1592 "parser_cocci_menhir.ml"
1592 in
1593 _menhir_env.MenhirLib.EngineTypes.stack <- {
1594 MenhirLib.EngineTypes.state = _menhir_s;
1595 MenhirLib.EngineTypes.semv = Obj.repr _v;
1596 MenhirLib.EngineTypes.startp = _startpos;
1597 MenhirLib.EngineTypes.endp = _endpos;
1598 MenhirLib.EngineTypes.next = _menhir_stack;
1599 });
1600 (fun _menhir_env ->
1601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1602 let {
1603 MenhirLib.EngineTypes.state = _menhir_s;
1604 MenhirLib.EngineTypes.semv = _1;
1605 MenhirLib.EngineTypes.startp = _startpos__1_;
1606 MenhirLib.EngineTypes.endp = _endpos__1_;
1607 MenhirLib.EngineTypes.next = _menhir_stack;
1608 } = _menhir_stack in
1609 let _1 : 'tv_ctype = Obj.magic _1 in
1610 let _startpos = _startpos__1_ in
1611 let _endpos = _endpos__1_ in
1612 let _v : 'tv_aexpr =
1613 # 1855 "parser_cocci_menhir.mly"
1614 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1615 # 1616 "parser_cocci_menhir.ml"
1616 in
1617 _menhir_env.MenhirLib.EngineTypes.stack <- {
1618 MenhirLib.EngineTypes.state = _menhir_s;
1619 MenhirLib.EngineTypes.semv = Obj.repr _v;
1620 MenhirLib.EngineTypes.startp = _startpos;
1621 MenhirLib.EngineTypes.endp = _endpos;
1622 MenhirLib.EngineTypes.next = _menhir_stack;
1623 });
1624 (fun _menhir_env ->
1625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1626 let {
1627 MenhirLib.EngineTypes.state = _menhir_s;
1628 MenhirLib.EngineTypes.startp = _startpos__1_;
1629 MenhirLib.EngineTypes.endp = _endpos__1_;
1630 MenhirLib.EngineTypes.next = _menhir_stack;
1631 } = _menhir_stack in
1632 let _startpos = _startpos__1_ in
1633 let _endpos = _endpos__1_ in
1634 let _v : 'tv_any_strict =
1635 # 1899 "parser_cocci_menhir.mly"
1636 ( Ast.WhenAny )
1637 # 1638 "parser_cocci_menhir.ml"
1638 in
1639 _menhir_env.MenhirLib.EngineTypes.stack <- {
1640 MenhirLib.EngineTypes.state = _menhir_s;
1641 MenhirLib.EngineTypes.semv = Obj.repr _v;
1642 MenhirLib.EngineTypes.startp = _startpos;
1643 MenhirLib.EngineTypes.endp = _endpos;
1644 MenhirLib.EngineTypes.next = _menhir_stack;
1645 });
1646 (fun _menhir_env ->
1647 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1648 let {
1649 MenhirLib.EngineTypes.state = _menhir_s;
1650 MenhirLib.EngineTypes.startp = _startpos__1_;
1651 MenhirLib.EngineTypes.endp = _endpos__1_;
1652 MenhirLib.EngineTypes.next = _menhir_stack;
1653 } = _menhir_stack in
1654 let _startpos = _startpos__1_ in
1655 let _endpos = _endpos__1_ in
1656 let _v : 'tv_any_strict =
1657 # 1900 "parser_cocci_menhir.mly"
1658 ( Ast.WhenStrict )
1659 # 1660 "parser_cocci_menhir.ml"
1660 in
1661 _menhir_env.MenhirLib.EngineTypes.stack <- {
1662 MenhirLib.EngineTypes.state = _menhir_s;
1663 MenhirLib.EngineTypes.semv = Obj.repr _v;
1664 MenhirLib.EngineTypes.startp = _startpos;
1665 MenhirLib.EngineTypes.endp = _endpos;
1666 MenhirLib.EngineTypes.next = _menhir_stack;
1667 });
1668 (fun _menhir_env ->
1669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1670 let {
1671 MenhirLib.EngineTypes.state = _menhir_s;
1672 MenhirLib.EngineTypes.startp = _startpos__1_;
1673 MenhirLib.EngineTypes.endp = _endpos__1_;
1674 MenhirLib.EngineTypes.next = _menhir_stack;
1675 } = _menhir_stack in
1676 let _startpos = _startpos__1_ in
1677 let _endpos = _endpos__1_ in
1678 let _v : 'tv_any_strict =
1679 # 1901 "parser_cocci_menhir.mly"
1680 ( Ast.WhenForall )
1681 # 1682 "parser_cocci_menhir.ml"
1682 in
1683 _menhir_env.MenhirLib.EngineTypes.stack <- {
1684 MenhirLib.EngineTypes.state = _menhir_s;
1685 MenhirLib.EngineTypes.semv = Obj.repr _v;
1686 MenhirLib.EngineTypes.startp = _startpos;
1687 MenhirLib.EngineTypes.endp = _endpos;
1688 MenhirLib.EngineTypes.next = _menhir_stack;
1689 });
1690 (fun _menhir_env ->
1691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1692 let {
1693 MenhirLib.EngineTypes.state = _menhir_s;
1694 MenhirLib.EngineTypes.startp = _startpos__1_;
1695 MenhirLib.EngineTypes.endp = _endpos__1_;
1696 MenhirLib.EngineTypes.next = _menhir_stack;
1697 } = _menhir_stack in
1698 let _startpos = _startpos__1_ in
1699 let _endpos = _endpos__1_ in
1700 let _v : 'tv_any_strict =
1701 # 1902 "parser_cocci_menhir.mly"
1702 ( Ast.WhenExists )
1703 # 1704 "parser_cocci_menhir.ml"
1704 in
1705 _menhir_env.MenhirLib.EngineTypes.stack <- {
1706 MenhirLib.EngineTypes.state = _menhir_s;
1707 MenhirLib.EngineTypes.semv = Obj.repr _v;
1708 MenhirLib.EngineTypes.startp = _startpos;
1709 MenhirLib.EngineTypes.endp = _endpos;
1710 MenhirLib.EngineTypes.next = _menhir_stack;
1711 });
1712 (fun _menhir_env ->
1713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1714 let {
1715 MenhirLib.EngineTypes.state = _menhir_s;
1716 MenhirLib.EngineTypes.semv = _1;
1717 MenhirLib.EngineTypes.startp = _startpos__1_;
1718 MenhirLib.EngineTypes.endp = _endpos__1_;
1719 MenhirLib.EngineTypes.next = _menhir_stack;
1720 } = _menhir_stack in
1721 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1722 let _startpos = _startpos__1_ in
1723 let _endpos = _endpos__1_ in
1724 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1725 # 1260 "parser_cocci_menhir.mly"
1726 ( _1 )
1727 # 1728 "parser_cocci_menhir.ml"
1728 in
1729 _menhir_env.MenhirLib.EngineTypes.stack <- {
1730 MenhirLib.EngineTypes.state = _menhir_s;
1731 MenhirLib.EngineTypes.semv = Obj.repr _v;
1732 MenhirLib.EngineTypes.startp = _startpos;
1733 MenhirLib.EngineTypes.endp = _endpos;
1734 MenhirLib.EngineTypes.next = _menhir_stack;
1735 });
1736 (fun _menhir_env ->
1737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1738 let {
1739 MenhirLib.EngineTypes.semv = _3;
1740 MenhirLib.EngineTypes.startp = _startpos__3_;
1741 MenhirLib.EngineTypes.endp = _endpos__3_;
1742 MenhirLib.EngineTypes.next = {
1743 MenhirLib.EngineTypes.semv = _2;
1744 MenhirLib.EngineTypes.startp = _startpos__2_;
1745 MenhirLib.EngineTypes.endp = _endpos__2_;
1746 MenhirLib.EngineTypes.next = {
1747 MenhirLib.EngineTypes.state = _menhir_s;
1748 MenhirLib.EngineTypes.semv = _1;
1749 MenhirLib.EngineTypes.startp = _startpos__1_;
1750 MenhirLib.EngineTypes.endp = _endpos__1_;
1751 MenhirLib.EngineTypes.next = _menhir_stack;
1752 };
1753 };
1754 } = _menhir_stack in
1755 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1756 let _2 : (
1757 # 99 "parser_cocci_menhir.mly"
1758 (Data.clt)
1759 # 1760 "parser_cocci_menhir.ml"
1760 ) = Obj.magic _2 in
1761 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1762 let _startpos = _startpos__1_ in
1763 let _endpos = _endpos__3_ in
1764 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1765 # 1262 "parser_cocci_menhir.mly"
1766 ( P.arith_op Ast.Mul _1 _2 _3 )
1767 # 1768 "parser_cocci_menhir.ml"
1768 in
1769 _menhir_env.MenhirLib.EngineTypes.stack <- {
1770 MenhirLib.EngineTypes.state = _menhir_s;
1771 MenhirLib.EngineTypes.semv = Obj.repr _v;
1772 MenhirLib.EngineTypes.startp = _startpos;
1773 MenhirLib.EngineTypes.endp = _endpos;
1774 MenhirLib.EngineTypes.next = _menhir_stack;
1775 });
1776 (fun _menhir_env ->
1777 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1778 let {
1779 MenhirLib.EngineTypes.semv = _3;
1780 MenhirLib.EngineTypes.startp = _startpos__3_;
1781 MenhirLib.EngineTypes.endp = _endpos__3_;
1782 MenhirLib.EngineTypes.next = {
1783 MenhirLib.EngineTypes.semv = _2;
1784 MenhirLib.EngineTypes.startp = _startpos__2_;
1785 MenhirLib.EngineTypes.endp = _endpos__2_;
1786 MenhirLib.EngineTypes.next = {
1787 MenhirLib.EngineTypes.state = _menhir_s;
1788 MenhirLib.EngineTypes.semv = _1;
1789 MenhirLib.EngineTypes.startp = _startpos__1_;
1790 MenhirLib.EngineTypes.endp = _endpos__1_;
1791 MenhirLib.EngineTypes.next = _menhir_stack;
1792 };
1793 };
1794 } = _menhir_stack in
1795 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1796 let _2 : (
1797 # 97 "parser_cocci_menhir.mly"
1798 (Ast_cocci.arithOp * Data.clt)
1799 # 1800 "parser_cocci_menhir.ml"
1800 ) = Obj.magic _2 in
1801 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1802 let _startpos = _startpos__1_ in
1803 let _endpos = _endpos__3_ in
1804 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1805 # 1264 "parser_cocci_menhir.mly"
1806 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1807 # 1808 "parser_cocci_menhir.ml"
1808 in
1809 _menhir_env.MenhirLib.EngineTypes.stack <- {
1810 MenhirLib.EngineTypes.state = _menhir_s;
1811 MenhirLib.EngineTypes.semv = Obj.repr _v;
1812 MenhirLib.EngineTypes.startp = _startpos;
1813 MenhirLib.EngineTypes.endp = _endpos;
1814 MenhirLib.EngineTypes.next = _menhir_stack;
1815 });
1816 (fun _menhir_env ->
1817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1818 let {
1819 MenhirLib.EngineTypes.semv = _3;
1820 MenhirLib.EngineTypes.startp = _startpos__3_;
1821 MenhirLib.EngineTypes.endp = _endpos__3_;
1822 MenhirLib.EngineTypes.next = {
1823 MenhirLib.EngineTypes.semv = _2;
1824 MenhirLib.EngineTypes.startp = _startpos__2_;
1825 MenhirLib.EngineTypes.endp = _endpos__2_;
1826 MenhirLib.EngineTypes.next = {
1827 MenhirLib.EngineTypes.state = _menhir_s;
1828 MenhirLib.EngineTypes.semv = _1;
1829 MenhirLib.EngineTypes.startp = _startpos__1_;
1830 MenhirLib.EngineTypes.endp = _endpos__1_;
1831 MenhirLib.EngineTypes.next = _menhir_stack;
1832 };
1833 };
1834 } = _menhir_stack in
1835 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1836 let _2 : (
1837 # 98 "parser_cocci_menhir.mly"
1838 (Data.clt)
1839 # 1840 "parser_cocci_menhir.ml"
1840 ) = Obj.magic _2 in
1841 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1842 let _startpos = _startpos__1_ in
1843 let _endpos = _endpos__3_ in
1844 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1845 # 1266 "parser_cocci_menhir.mly"
1846 ( P.arith_op Ast.Plus _1 _2 _3 )
1847 # 1848 "parser_cocci_menhir.ml"
1848 in
1849 _menhir_env.MenhirLib.EngineTypes.stack <- {
1850 MenhirLib.EngineTypes.state = _menhir_s;
1851 MenhirLib.EngineTypes.semv = Obj.repr _v;
1852 MenhirLib.EngineTypes.startp = _startpos;
1853 MenhirLib.EngineTypes.endp = _endpos;
1854 MenhirLib.EngineTypes.next = _menhir_stack;
1855 });
1856 (fun _menhir_env ->
1857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1858 let {
1859 MenhirLib.EngineTypes.semv = _3;
1860 MenhirLib.EngineTypes.startp = _startpos__3_;
1861 MenhirLib.EngineTypes.endp = _endpos__3_;
1862 MenhirLib.EngineTypes.next = {
1863 MenhirLib.EngineTypes.semv = _2;
1864 MenhirLib.EngineTypes.startp = _startpos__2_;
1865 MenhirLib.EngineTypes.endp = _endpos__2_;
1866 MenhirLib.EngineTypes.next = {
1867 MenhirLib.EngineTypes.state = _menhir_s;
1868 MenhirLib.EngineTypes.semv = _1;
1869 MenhirLib.EngineTypes.startp = _startpos__1_;
1870 MenhirLib.EngineTypes.endp = _endpos__1_;
1871 MenhirLib.EngineTypes.next = _menhir_stack;
1872 };
1873 };
1874 } = _menhir_stack in
1875 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1876 let _2 : (
1877 # 98 "parser_cocci_menhir.mly"
1878 (Data.clt)
1879 # 1880 "parser_cocci_menhir.ml"
1880 ) = Obj.magic _2 in
1881 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1882 let _startpos = _startpos__1_ in
1883 let _endpos = _endpos__3_ in
1884 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1885 # 1268 "parser_cocci_menhir.mly"
1886 ( P.arith_op Ast.Minus _1 _2 _3 )
1887 # 1888 "parser_cocci_menhir.ml"
1888 in
1889 _menhir_env.MenhirLib.EngineTypes.stack <- {
1890 MenhirLib.EngineTypes.state = _menhir_s;
1891 MenhirLib.EngineTypes.semv = Obj.repr _v;
1892 MenhirLib.EngineTypes.startp = _startpos;
1893 MenhirLib.EngineTypes.endp = _endpos;
1894 MenhirLib.EngineTypes.next = _menhir_stack;
1895 });
1896 (fun _menhir_env ->
1897 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1898 let {
1899 MenhirLib.EngineTypes.semv = _3;
1900 MenhirLib.EngineTypes.startp = _startpos__3_;
1901 MenhirLib.EngineTypes.endp = _endpos__3_;
1902 MenhirLib.EngineTypes.next = {
1903 MenhirLib.EngineTypes.semv = _2;
1904 MenhirLib.EngineTypes.startp = _startpos__2_;
1905 MenhirLib.EngineTypes.endp = _endpos__2_;
1906 MenhirLib.EngineTypes.next = {
1907 MenhirLib.EngineTypes.state = _menhir_s;
1908 MenhirLib.EngineTypes.semv = _1;
1909 MenhirLib.EngineTypes.startp = _startpos__1_;
1910 MenhirLib.EngineTypes.endp = _endpos__1_;
1911 MenhirLib.EngineTypes.next = _menhir_stack;
1912 };
1913 };
1914 } = _menhir_stack in
1915 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1916 let _2 : (
1917 # 96 "parser_cocci_menhir.mly"
1918 (Ast_cocci.arithOp * Data.clt)
1919 # 1920 "parser_cocci_menhir.ml"
1920 ) = Obj.magic _2 in
1921 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1922 let _startpos = _startpos__1_ in
1923 let _endpos = _endpos__3_ in
1924 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1925 # 1270 "parser_cocci_menhir.mly"
1926 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1927 # 1928 "parser_cocci_menhir.ml"
1928 in
1929 _menhir_env.MenhirLib.EngineTypes.stack <- {
1930 MenhirLib.EngineTypes.state = _menhir_s;
1931 MenhirLib.EngineTypes.semv = Obj.repr _v;
1932 MenhirLib.EngineTypes.startp = _startpos;
1933 MenhirLib.EngineTypes.endp = _endpos;
1934 MenhirLib.EngineTypes.next = _menhir_stack;
1935 });
1936 (fun _menhir_env ->
1937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1938 let {
1939 MenhirLib.EngineTypes.semv = _3;
1940 MenhirLib.EngineTypes.startp = _startpos__3_;
1941 MenhirLib.EngineTypes.endp = _endpos__3_;
1942 MenhirLib.EngineTypes.next = {
1943 MenhirLib.EngineTypes.semv = _2;
1944 MenhirLib.EngineTypes.startp = _startpos__2_;
1945 MenhirLib.EngineTypes.endp = _endpos__2_;
1946 MenhirLib.EngineTypes.next = {
1947 MenhirLib.EngineTypes.state = _menhir_s;
1948 MenhirLib.EngineTypes.semv = _1;
1949 MenhirLib.EngineTypes.startp = _startpos__1_;
1950 MenhirLib.EngineTypes.endp = _endpos__1_;
1951 MenhirLib.EngineTypes.next = _menhir_stack;
1952 };
1953 };
1954 } = _menhir_stack in
1955 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1956 let _2 : (
1957 # 95 "parser_cocci_menhir.mly"
1958 (Ast_cocci.logicalOp * Data.clt)
1959 # 1960 "parser_cocci_menhir.ml"
1960 ) = Obj.magic _2 in
1961 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1962 let _startpos = _startpos__1_ in
1963 let _endpos = _endpos__3_ in
1964 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1965 # 1272 "parser_cocci_menhir.mly"
1966 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
1967 # 1968 "parser_cocci_menhir.ml"
1968 in
1969 _menhir_env.MenhirLib.EngineTypes.stack <- {
1970 MenhirLib.EngineTypes.state = _menhir_s;
1971 MenhirLib.EngineTypes.semv = Obj.repr _v;
1972 MenhirLib.EngineTypes.startp = _startpos;
1973 MenhirLib.EngineTypes.endp = _endpos;
1974 MenhirLib.EngineTypes.next = _menhir_stack;
1975 });
1976 (fun _menhir_env ->
1977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1978 let {
1979 MenhirLib.EngineTypes.semv = _3;
1980 MenhirLib.EngineTypes.startp = _startpos__3_;
1981 MenhirLib.EngineTypes.endp = _endpos__3_;
1982 MenhirLib.EngineTypes.next = {
1983 MenhirLib.EngineTypes.semv = _2;
1984 MenhirLib.EngineTypes.startp = _startpos__2_;
1985 MenhirLib.EngineTypes.endp = _endpos__2_;
1986 MenhirLib.EngineTypes.next = {
1987 MenhirLib.EngineTypes.state = _menhir_s;
1988 MenhirLib.EngineTypes.semv = _1;
1989 MenhirLib.EngineTypes.startp = _startpos__1_;
1990 MenhirLib.EngineTypes.endp = _endpos__1_;
1991 MenhirLib.EngineTypes.next = _menhir_stack;
1992 };
1993 };
1994 } = _menhir_stack in
1995 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1996 let _2 : (
1997 # 94 "parser_cocci_menhir.mly"
1998 (Data.clt)
1999 # 2000 "parser_cocci_menhir.ml"
2000 ) = Obj.magic _2 in
2001 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2002 let _startpos = _startpos__1_ in
2003 let _endpos = _endpos__3_ in
2004 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2005 # 1274 "parser_cocci_menhir.mly"
2006 ( P.logic_op Ast.Eq _1 _2 _3 )
2007 # 2008 "parser_cocci_menhir.ml"
2008 in
2009 _menhir_env.MenhirLib.EngineTypes.stack <- {
2010 MenhirLib.EngineTypes.state = _menhir_s;
2011 MenhirLib.EngineTypes.semv = Obj.repr _v;
2012 MenhirLib.EngineTypes.startp = _startpos;
2013 MenhirLib.EngineTypes.endp = _endpos;
2014 MenhirLib.EngineTypes.next = _menhir_stack;
2015 });
2016 (fun _menhir_env ->
2017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2018 let {
2019 MenhirLib.EngineTypes.semv = _3;
2020 MenhirLib.EngineTypes.startp = _startpos__3_;
2021 MenhirLib.EngineTypes.endp = _endpos__3_;
2022 MenhirLib.EngineTypes.next = {
2023 MenhirLib.EngineTypes.semv = _2;
2024 MenhirLib.EngineTypes.startp = _startpos__2_;
2025 MenhirLib.EngineTypes.endp = _endpos__2_;
2026 MenhirLib.EngineTypes.next = {
2027 MenhirLib.EngineTypes.state = _menhir_s;
2028 MenhirLib.EngineTypes.semv = _1;
2029 MenhirLib.EngineTypes.startp = _startpos__1_;
2030 MenhirLib.EngineTypes.endp = _endpos__1_;
2031 MenhirLib.EngineTypes.next = _menhir_stack;
2032 };
2033 };
2034 } = _menhir_stack in
2035 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2036 let _2 : (
2037 # 94 "parser_cocci_menhir.mly"
2038 (Data.clt)
2039 # 2040 "parser_cocci_menhir.ml"
2040 ) = Obj.magic _2 in
2041 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2042 let _startpos = _startpos__1_ in
2043 let _endpos = _endpos__3_ in
2044 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2045 # 1276 "parser_cocci_menhir.mly"
2046 ( P.logic_op Ast.NotEq _1 _2 _3 )
2047 # 2048 "parser_cocci_menhir.ml"
2048 in
2049 _menhir_env.MenhirLib.EngineTypes.stack <- {
2050 MenhirLib.EngineTypes.state = _menhir_s;
2051 MenhirLib.EngineTypes.semv = Obj.repr _v;
2052 MenhirLib.EngineTypes.startp = _startpos;
2053 MenhirLib.EngineTypes.endp = _endpos;
2054 MenhirLib.EngineTypes.next = _menhir_stack;
2055 });
2056 (fun _menhir_env ->
2057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2058 let {
2059 MenhirLib.EngineTypes.semv = _3;
2060 MenhirLib.EngineTypes.startp = _startpos__3_;
2061 MenhirLib.EngineTypes.endp = _endpos__3_;
2062 MenhirLib.EngineTypes.next = {
2063 MenhirLib.EngineTypes.semv = _2;
2064 MenhirLib.EngineTypes.startp = _startpos__2_;
2065 MenhirLib.EngineTypes.endp = _endpos__2_;
2066 MenhirLib.EngineTypes.next = {
2067 MenhirLib.EngineTypes.state = _menhir_s;
2068 MenhirLib.EngineTypes.semv = _1;
2069 MenhirLib.EngineTypes.startp = _startpos__1_;
2070 MenhirLib.EngineTypes.endp = _endpos__1_;
2071 MenhirLib.EngineTypes.next = _menhir_stack;
2072 };
2073 };
2074 } = _menhir_stack in
2075 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2076 let _2 : (
2077 # 93 "parser_cocci_menhir.mly"
2078 (Data.clt)
2079 # 2080 "parser_cocci_menhir.ml"
2080 ) = Obj.magic _2 in
2081 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2082 let _startpos = _startpos__1_ in
2083 let _endpos = _endpos__3_ in
2084 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2085 # 1278 "parser_cocci_menhir.mly"
2086 ( P.arith_op Ast.And _1 _2 _3 )
2087 # 2088 "parser_cocci_menhir.ml"
2088 in
2089 _menhir_env.MenhirLib.EngineTypes.stack <- {
2090 MenhirLib.EngineTypes.state = _menhir_s;
2091 MenhirLib.EngineTypes.semv = Obj.repr _v;
2092 MenhirLib.EngineTypes.startp = _startpos;
2093 MenhirLib.EngineTypes.endp = _endpos;
2094 MenhirLib.EngineTypes.next = _menhir_stack;
2095 });
2096 (fun _menhir_env ->
2097 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2098 let {
2099 MenhirLib.EngineTypes.semv = _3;
2100 MenhirLib.EngineTypes.startp = _startpos__3_;
2101 MenhirLib.EngineTypes.endp = _endpos__3_;
2102 MenhirLib.EngineTypes.next = {
2103 MenhirLib.EngineTypes.semv = _2;
2104 MenhirLib.EngineTypes.startp = _startpos__2_;
2105 MenhirLib.EngineTypes.endp = _endpos__2_;
2106 MenhirLib.EngineTypes.next = {
2107 MenhirLib.EngineTypes.state = _menhir_s;
2108 MenhirLib.EngineTypes.semv = _1;
2109 MenhirLib.EngineTypes.startp = _startpos__1_;
2110 MenhirLib.EngineTypes.endp = _endpos__1_;
2111 MenhirLib.EngineTypes.next = _menhir_stack;
2112 };
2113 };
2114 } = _menhir_stack in
2115 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2116 let _2 : (
2117 # 91 "parser_cocci_menhir.mly"
2118 (Data.clt)
2119 # 2120 "parser_cocci_menhir.ml"
2120 ) = Obj.magic _2 in
2121 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2122 let _startpos = _startpos__1_ in
2123 let _endpos = _endpos__3_ in
2124 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2125 # 1280 "parser_cocci_menhir.mly"
2126 ( P.arith_op Ast.Or _1 _2 _3 )
2127 # 2128 "parser_cocci_menhir.ml"
2128 in
2129 _menhir_env.MenhirLib.EngineTypes.stack <- {
2130 MenhirLib.EngineTypes.state = _menhir_s;
2131 MenhirLib.EngineTypes.semv = Obj.repr _v;
2132 MenhirLib.EngineTypes.startp = _startpos;
2133 MenhirLib.EngineTypes.endp = _endpos;
2134 MenhirLib.EngineTypes.next = _menhir_stack;
2135 });
2136 (fun _menhir_env ->
2137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2138 let {
2139 MenhirLib.EngineTypes.semv = _3;
2140 MenhirLib.EngineTypes.startp = _startpos__3_;
2141 MenhirLib.EngineTypes.endp = _endpos__3_;
2142 MenhirLib.EngineTypes.next = {
2143 MenhirLib.EngineTypes.semv = _2;
2144 MenhirLib.EngineTypes.startp = _startpos__2_;
2145 MenhirLib.EngineTypes.endp = _endpos__2_;
2146 MenhirLib.EngineTypes.next = {
2147 MenhirLib.EngineTypes.state = _menhir_s;
2148 MenhirLib.EngineTypes.semv = _1;
2149 MenhirLib.EngineTypes.startp = _startpos__1_;
2150 MenhirLib.EngineTypes.endp = _endpos__1_;
2151 MenhirLib.EngineTypes.next = _menhir_stack;
2152 };
2153 };
2154 } = _menhir_stack in
2155 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2156 let _2 : (
2157 # 92 "parser_cocci_menhir.mly"
2158 (Data.clt)
2159 # 2160 "parser_cocci_menhir.ml"
2160 ) = Obj.magic _2 in
2161 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2162 let _startpos = _startpos__1_ in
2163 let _endpos = _endpos__3_ in
2164 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2165 # 1282 "parser_cocci_menhir.mly"
2166 ( P.arith_op Ast.Xor _1 _2 _3 )
2167 # 2168 "parser_cocci_menhir.ml"
2168 in
2169 _menhir_env.MenhirLib.EngineTypes.stack <- {
2170 MenhirLib.EngineTypes.state = _menhir_s;
2171 MenhirLib.EngineTypes.semv = Obj.repr _v;
2172 MenhirLib.EngineTypes.startp = _startpos;
2173 MenhirLib.EngineTypes.endp = _endpos;
2174 MenhirLib.EngineTypes.next = _menhir_stack;
2175 });
2176 (fun _menhir_env ->
2177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2178 let {
2179 MenhirLib.EngineTypes.semv = _3;
2180 MenhirLib.EngineTypes.startp = _startpos__3_;
2181 MenhirLib.EngineTypes.endp = _endpos__3_;
2182 MenhirLib.EngineTypes.next = {
2183 MenhirLib.EngineTypes.semv = _2;
2184 MenhirLib.EngineTypes.startp = _startpos__2_;
2185 MenhirLib.EngineTypes.endp = _endpos__2_;
2186 MenhirLib.EngineTypes.next = {
2187 MenhirLib.EngineTypes.state = _menhir_s;
2188 MenhirLib.EngineTypes.semv = _1;
2189 MenhirLib.EngineTypes.startp = _startpos__1_;
2190 MenhirLib.EngineTypes.endp = _endpos__1_;
2191 MenhirLib.EngineTypes.next = _menhir_stack;
2192 };
2193 };
2194 } = _menhir_stack in
2195 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2196 let _2 : (
2197 # 90 "parser_cocci_menhir.mly"
2198 (Data.clt)
2199 # 2200 "parser_cocci_menhir.ml"
2200 ) = Obj.magic _2 in
2201 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2202 let _startpos = _startpos__1_ in
2203 let _endpos = _endpos__3_ in
2204 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2205 # 1284 "parser_cocci_menhir.mly"
2206 ( P.logic_op Ast.AndLog _1 _2 _3 )
2207 # 2208 "parser_cocci_menhir.ml"
2208 in
2209 _menhir_env.MenhirLib.EngineTypes.stack <- {
2210 MenhirLib.EngineTypes.state = _menhir_s;
2211 MenhirLib.EngineTypes.semv = Obj.repr _v;
2212 MenhirLib.EngineTypes.startp = _startpos;
2213 MenhirLib.EngineTypes.endp = _endpos;
2214 MenhirLib.EngineTypes.next = _menhir_stack;
2215 });
2216 (fun _menhir_env ->
2217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2218 let {
2219 MenhirLib.EngineTypes.semv = _3;
2220 MenhirLib.EngineTypes.startp = _startpos__3_;
2221 MenhirLib.EngineTypes.endp = _endpos__3_;
2222 MenhirLib.EngineTypes.next = {
2223 MenhirLib.EngineTypes.semv = _2;
2224 MenhirLib.EngineTypes.startp = _startpos__2_;
2225 MenhirLib.EngineTypes.endp = _endpos__2_;
2226 MenhirLib.EngineTypes.next = {
2227 MenhirLib.EngineTypes.state = _menhir_s;
2228 MenhirLib.EngineTypes.semv = _1;
2229 MenhirLib.EngineTypes.startp = _startpos__1_;
2230 MenhirLib.EngineTypes.endp = _endpos__1_;
2231 MenhirLib.EngineTypes.next = _menhir_stack;
2232 };
2233 };
2234 } = _menhir_stack in
2235 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2236 let _2 : (
2237 # 89 "parser_cocci_menhir.mly"
2238 (Data.clt)
2239 # 2240 "parser_cocci_menhir.ml"
2240 ) = Obj.magic _2 in
2241 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2242 let _startpos = _startpos__1_ in
2243 let _endpos = _endpos__3_ in
2244 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2245 # 1286 "parser_cocci_menhir.mly"
2246 ( P.logic_op Ast.OrLog _1 _2 _3 )
2247 # 2248 "parser_cocci_menhir.ml"
2248 in
2249 _menhir_env.MenhirLib.EngineTypes.stack <- {
2250 MenhirLib.EngineTypes.state = _menhir_s;
2251 MenhirLib.EngineTypes.semv = Obj.repr _v;
2252 MenhirLib.EngineTypes.startp = _startpos;
2253 MenhirLib.EngineTypes.endp = _endpos;
2254 MenhirLib.EngineTypes.next = _menhir_stack;
2255 });
2256 (fun _menhir_env ->
2257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2258 let {
2259 MenhirLib.EngineTypes.state = _menhir_s;
2260 MenhirLib.EngineTypes.semv = _1;
2261 MenhirLib.EngineTypes.startp = _startpos__1_;
2262 MenhirLib.EngineTypes.endp = _endpos__1_;
2263 MenhirLib.EngineTypes.next = _menhir_stack;
2264 } = _menhir_stack in
2265 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2266 let _startpos = _startpos__1_ in
2267 let _endpos = _endpos__1_ in
2268 let _v : 'tv_arith_expr_eexpr_invalid_ =
2269 # 1260 "parser_cocci_menhir.mly"
2270 ( _1 )
2271 # 2272 "parser_cocci_menhir.ml"
2272 in
2273 _menhir_env.MenhirLib.EngineTypes.stack <- {
2274 MenhirLib.EngineTypes.state = _menhir_s;
2275 MenhirLib.EngineTypes.semv = Obj.repr _v;
2276 MenhirLib.EngineTypes.startp = _startpos;
2277 MenhirLib.EngineTypes.endp = _endpos;
2278 MenhirLib.EngineTypes.next = _menhir_stack;
2279 });
2280 (fun _menhir_env ->
2281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2282 let {
2283 MenhirLib.EngineTypes.semv = _3;
2284 MenhirLib.EngineTypes.startp = _startpos__3_;
2285 MenhirLib.EngineTypes.endp = _endpos__3_;
2286 MenhirLib.EngineTypes.next = {
2287 MenhirLib.EngineTypes.semv = _2;
2288 MenhirLib.EngineTypes.startp = _startpos__2_;
2289 MenhirLib.EngineTypes.endp = _endpos__2_;
2290 MenhirLib.EngineTypes.next = {
2291 MenhirLib.EngineTypes.state = _menhir_s;
2292 MenhirLib.EngineTypes.semv = _1;
2293 MenhirLib.EngineTypes.startp = _startpos__1_;
2294 MenhirLib.EngineTypes.endp = _endpos__1_;
2295 MenhirLib.EngineTypes.next = _menhir_stack;
2296 };
2297 };
2298 } = _menhir_stack in
2299 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2300 let _2 : (
2301 # 99 "parser_cocci_menhir.mly"
2302 (Data.clt)
2303 # 2304 "parser_cocci_menhir.ml"
2304 ) = Obj.magic _2 in
2305 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2306 let _startpos = _startpos__1_ in
2307 let _endpos = _endpos__3_ in
2308 let _v : 'tv_arith_expr_eexpr_invalid_ =
2309 # 1262 "parser_cocci_menhir.mly"
2310 ( P.arith_op Ast.Mul _1 _2 _3 )
2311 # 2312 "parser_cocci_menhir.ml"
2312 in
2313 _menhir_env.MenhirLib.EngineTypes.stack <- {
2314 MenhirLib.EngineTypes.state = _menhir_s;
2315 MenhirLib.EngineTypes.semv = Obj.repr _v;
2316 MenhirLib.EngineTypes.startp = _startpos;
2317 MenhirLib.EngineTypes.endp = _endpos;
2318 MenhirLib.EngineTypes.next = _menhir_stack;
2319 });
2320 (fun _menhir_env ->
2321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2322 let {
2323 MenhirLib.EngineTypes.semv = _3;
2324 MenhirLib.EngineTypes.startp = _startpos__3_;
2325 MenhirLib.EngineTypes.endp = _endpos__3_;
2326 MenhirLib.EngineTypes.next = {
2327 MenhirLib.EngineTypes.semv = _2;
2328 MenhirLib.EngineTypes.startp = _startpos__2_;
2329 MenhirLib.EngineTypes.endp = _endpos__2_;
2330 MenhirLib.EngineTypes.next = {
2331 MenhirLib.EngineTypes.state = _menhir_s;
2332 MenhirLib.EngineTypes.semv = _1;
2333 MenhirLib.EngineTypes.startp = _startpos__1_;
2334 MenhirLib.EngineTypes.endp = _endpos__1_;
2335 MenhirLib.EngineTypes.next = _menhir_stack;
2336 };
2337 };
2338 } = _menhir_stack in
2339 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2340 let _2 : (
2341 # 97 "parser_cocci_menhir.mly"
2342 (Ast_cocci.arithOp * Data.clt)
2343 # 2344 "parser_cocci_menhir.ml"
2344 ) = Obj.magic _2 in
2345 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2346 let _startpos = _startpos__1_ in
2347 let _endpos = _endpos__3_ in
2348 let _v : 'tv_arith_expr_eexpr_invalid_ =
2349 # 1264 "parser_cocci_menhir.mly"
2350 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2351 # 2352 "parser_cocci_menhir.ml"
2352 in
2353 _menhir_env.MenhirLib.EngineTypes.stack <- {
2354 MenhirLib.EngineTypes.state = _menhir_s;
2355 MenhirLib.EngineTypes.semv = Obj.repr _v;
2356 MenhirLib.EngineTypes.startp = _startpos;
2357 MenhirLib.EngineTypes.endp = _endpos;
2358 MenhirLib.EngineTypes.next = _menhir_stack;
2359 });
2360 (fun _menhir_env ->
2361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2362 let {
2363 MenhirLib.EngineTypes.semv = _3;
2364 MenhirLib.EngineTypes.startp = _startpos__3_;
2365 MenhirLib.EngineTypes.endp = _endpos__3_;
2366 MenhirLib.EngineTypes.next = {
2367 MenhirLib.EngineTypes.semv = _2;
2368 MenhirLib.EngineTypes.startp = _startpos__2_;
2369 MenhirLib.EngineTypes.endp = _endpos__2_;
2370 MenhirLib.EngineTypes.next = {
2371 MenhirLib.EngineTypes.state = _menhir_s;
2372 MenhirLib.EngineTypes.semv = _1;
2373 MenhirLib.EngineTypes.startp = _startpos__1_;
2374 MenhirLib.EngineTypes.endp = _endpos__1_;
2375 MenhirLib.EngineTypes.next = _menhir_stack;
2376 };
2377 };
2378 } = _menhir_stack in
2379 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2380 let _2 : (
2381 # 98 "parser_cocci_menhir.mly"
2382 (Data.clt)
2383 # 2384 "parser_cocci_menhir.ml"
2384 ) = Obj.magic _2 in
2385 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2386 let _startpos = _startpos__1_ in
2387 let _endpos = _endpos__3_ in
2388 let _v : 'tv_arith_expr_eexpr_invalid_ =
2389 # 1266 "parser_cocci_menhir.mly"
2390 ( P.arith_op Ast.Plus _1 _2 _3 )
2391 # 2392 "parser_cocci_menhir.ml"
2392 in
2393 _menhir_env.MenhirLib.EngineTypes.stack <- {
2394 MenhirLib.EngineTypes.state = _menhir_s;
2395 MenhirLib.EngineTypes.semv = Obj.repr _v;
2396 MenhirLib.EngineTypes.startp = _startpos;
2397 MenhirLib.EngineTypes.endp = _endpos;
2398 MenhirLib.EngineTypes.next = _menhir_stack;
2399 });
2400 (fun _menhir_env ->
2401 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2402 let {
2403 MenhirLib.EngineTypes.semv = _3;
2404 MenhirLib.EngineTypes.startp = _startpos__3_;
2405 MenhirLib.EngineTypes.endp = _endpos__3_;
2406 MenhirLib.EngineTypes.next = {
2407 MenhirLib.EngineTypes.semv = _2;
2408 MenhirLib.EngineTypes.startp = _startpos__2_;
2409 MenhirLib.EngineTypes.endp = _endpos__2_;
2410 MenhirLib.EngineTypes.next = {
2411 MenhirLib.EngineTypes.state = _menhir_s;
2412 MenhirLib.EngineTypes.semv = _1;
2413 MenhirLib.EngineTypes.startp = _startpos__1_;
2414 MenhirLib.EngineTypes.endp = _endpos__1_;
2415 MenhirLib.EngineTypes.next = _menhir_stack;
2416 };
2417 };
2418 } = _menhir_stack in
2419 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2420 let _2 : (
2421 # 98 "parser_cocci_menhir.mly"
2422 (Data.clt)
2423 # 2424 "parser_cocci_menhir.ml"
2424 ) = Obj.magic _2 in
2425 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2426 let _startpos = _startpos__1_ in
2427 let _endpos = _endpos__3_ in
2428 let _v : 'tv_arith_expr_eexpr_invalid_ =
2429 # 1268 "parser_cocci_menhir.mly"
2430 ( P.arith_op Ast.Minus _1 _2 _3 )
2431 # 2432 "parser_cocci_menhir.ml"
2432 in
2433 _menhir_env.MenhirLib.EngineTypes.stack <- {
2434 MenhirLib.EngineTypes.state = _menhir_s;
2435 MenhirLib.EngineTypes.semv = Obj.repr _v;
2436 MenhirLib.EngineTypes.startp = _startpos;
2437 MenhirLib.EngineTypes.endp = _endpos;
2438 MenhirLib.EngineTypes.next = _menhir_stack;
2439 });
2440 (fun _menhir_env ->
2441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2442 let {
2443 MenhirLib.EngineTypes.semv = _3;
2444 MenhirLib.EngineTypes.startp = _startpos__3_;
2445 MenhirLib.EngineTypes.endp = _endpos__3_;
2446 MenhirLib.EngineTypes.next = {
2447 MenhirLib.EngineTypes.semv = _2;
2448 MenhirLib.EngineTypes.startp = _startpos__2_;
2449 MenhirLib.EngineTypes.endp = _endpos__2_;
2450 MenhirLib.EngineTypes.next = {
2451 MenhirLib.EngineTypes.state = _menhir_s;
2452 MenhirLib.EngineTypes.semv = _1;
2453 MenhirLib.EngineTypes.startp = _startpos__1_;
2454 MenhirLib.EngineTypes.endp = _endpos__1_;
2455 MenhirLib.EngineTypes.next = _menhir_stack;
2456 };
2457 };
2458 } = _menhir_stack in
2459 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2460 let _2 : (
2461 # 96 "parser_cocci_menhir.mly"
2462 (Ast_cocci.arithOp * Data.clt)
2463 # 2464 "parser_cocci_menhir.ml"
2464 ) = Obj.magic _2 in
2465 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2466 let _startpos = _startpos__1_ in
2467 let _endpos = _endpos__3_ in
2468 let _v : 'tv_arith_expr_eexpr_invalid_ =
2469 # 1270 "parser_cocci_menhir.mly"
2470 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2471 # 2472 "parser_cocci_menhir.ml"
2472 in
2473 _menhir_env.MenhirLib.EngineTypes.stack <- {
2474 MenhirLib.EngineTypes.state = _menhir_s;
2475 MenhirLib.EngineTypes.semv = Obj.repr _v;
2476 MenhirLib.EngineTypes.startp = _startpos;
2477 MenhirLib.EngineTypes.endp = _endpos;
2478 MenhirLib.EngineTypes.next = _menhir_stack;
2479 });
2480 (fun _menhir_env ->
2481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2482 let {
2483 MenhirLib.EngineTypes.semv = _3;
2484 MenhirLib.EngineTypes.startp = _startpos__3_;
2485 MenhirLib.EngineTypes.endp = _endpos__3_;
2486 MenhirLib.EngineTypes.next = {
2487 MenhirLib.EngineTypes.semv = _2;
2488 MenhirLib.EngineTypes.startp = _startpos__2_;
2489 MenhirLib.EngineTypes.endp = _endpos__2_;
2490 MenhirLib.EngineTypes.next = {
2491 MenhirLib.EngineTypes.state = _menhir_s;
2492 MenhirLib.EngineTypes.semv = _1;
2493 MenhirLib.EngineTypes.startp = _startpos__1_;
2494 MenhirLib.EngineTypes.endp = _endpos__1_;
2495 MenhirLib.EngineTypes.next = _menhir_stack;
2496 };
2497 };
2498 } = _menhir_stack in
2499 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2500 let _2 : (
2501 # 95 "parser_cocci_menhir.mly"
2502 (Ast_cocci.logicalOp * Data.clt)
2503 # 2504 "parser_cocci_menhir.ml"
2504 ) = Obj.magic _2 in
2505 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2506 let _startpos = _startpos__1_ in
2507 let _endpos = _endpos__3_ in
2508 let _v : 'tv_arith_expr_eexpr_invalid_ =
2509 # 1272 "parser_cocci_menhir.mly"
2510 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2511 # 2512 "parser_cocci_menhir.ml"
2512 in
2513 _menhir_env.MenhirLib.EngineTypes.stack <- {
2514 MenhirLib.EngineTypes.state = _menhir_s;
2515 MenhirLib.EngineTypes.semv = Obj.repr _v;
2516 MenhirLib.EngineTypes.startp = _startpos;
2517 MenhirLib.EngineTypes.endp = _endpos;
2518 MenhirLib.EngineTypes.next = _menhir_stack;
2519 });
2520 (fun _menhir_env ->
2521 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2522 let {
2523 MenhirLib.EngineTypes.semv = _3;
2524 MenhirLib.EngineTypes.startp = _startpos__3_;
2525 MenhirLib.EngineTypes.endp = _endpos__3_;
2526 MenhirLib.EngineTypes.next = {
2527 MenhirLib.EngineTypes.semv = _2;
2528 MenhirLib.EngineTypes.startp = _startpos__2_;
2529 MenhirLib.EngineTypes.endp = _endpos__2_;
2530 MenhirLib.EngineTypes.next = {
2531 MenhirLib.EngineTypes.state = _menhir_s;
2532 MenhirLib.EngineTypes.semv = _1;
2533 MenhirLib.EngineTypes.startp = _startpos__1_;
2534 MenhirLib.EngineTypes.endp = _endpos__1_;
2535 MenhirLib.EngineTypes.next = _menhir_stack;
2536 };
2537 };
2538 } = _menhir_stack in
2539 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2540 let _2 : (
2541 # 94 "parser_cocci_menhir.mly"
2542 (Data.clt)
2543 # 2544 "parser_cocci_menhir.ml"
2544 ) = Obj.magic _2 in
2545 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2546 let _startpos = _startpos__1_ in
2547 let _endpos = _endpos__3_ in
2548 let _v : 'tv_arith_expr_eexpr_invalid_ =
2549 # 1274 "parser_cocci_menhir.mly"
2550 ( P.logic_op Ast.Eq _1 _2 _3 )
2551 # 2552 "parser_cocci_menhir.ml"
2552 in
2553 _menhir_env.MenhirLib.EngineTypes.stack <- {
2554 MenhirLib.EngineTypes.state = _menhir_s;
2555 MenhirLib.EngineTypes.semv = Obj.repr _v;
2556 MenhirLib.EngineTypes.startp = _startpos;
2557 MenhirLib.EngineTypes.endp = _endpos;
2558 MenhirLib.EngineTypes.next = _menhir_stack;
2559 });
2560 (fun _menhir_env ->
2561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2562 let {
2563 MenhirLib.EngineTypes.semv = _3;
2564 MenhirLib.EngineTypes.startp = _startpos__3_;
2565 MenhirLib.EngineTypes.endp = _endpos__3_;
2566 MenhirLib.EngineTypes.next = {
2567 MenhirLib.EngineTypes.semv = _2;
2568 MenhirLib.EngineTypes.startp = _startpos__2_;
2569 MenhirLib.EngineTypes.endp = _endpos__2_;
2570 MenhirLib.EngineTypes.next = {
2571 MenhirLib.EngineTypes.state = _menhir_s;
2572 MenhirLib.EngineTypes.semv = _1;
2573 MenhirLib.EngineTypes.startp = _startpos__1_;
2574 MenhirLib.EngineTypes.endp = _endpos__1_;
2575 MenhirLib.EngineTypes.next = _menhir_stack;
2576 };
2577 };
2578 } = _menhir_stack in
2579 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2580 let _2 : (
2581 # 94 "parser_cocci_menhir.mly"
2582 (Data.clt)
2583 # 2584 "parser_cocci_menhir.ml"
2584 ) = Obj.magic _2 in
2585 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2586 let _startpos = _startpos__1_ in
2587 let _endpos = _endpos__3_ in
2588 let _v : 'tv_arith_expr_eexpr_invalid_ =
2589 # 1276 "parser_cocci_menhir.mly"
2590 ( P.logic_op Ast.NotEq _1 _2 _3 )
2591 # 2592 "parser_cocci_menhir.ml"
2592 in
2593 _menhir_env.MenhirLib.EngineTypes.stack <- {
2594 MenhirLib.EngineTypes.state = _menhir_s;
2595 MenhirLib.EngineTypes.semv = Obj.repr _v;
2596 MenhirLib.EngineTypes.startp = _startpos;
2597 MenhirLib.EngineTypes.endp = _endpos;
2598 MenhirLib.EngineTypes.next = _menhir_stack;
2599 });
2600 (fun _menhir_env ->
2601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2602 let {
2603 MenhirLib.EngineTypes.semv = _3;
2604 MenhirLib.EngineTypes.startp = _startpos__3_;
2605 MenhirLib.EngineTypes.endp = _endpos__3_;
2606 MenhirLib.EngineTypes.next = {
2607 MenhirLib.EngineTypes.semv = _2;
2608 MenhirLib.EngineTypes.startp = _startpos__2_;
2609 MenhirLib.EngineTypes.endp = _endpos__2_;
2610 MenhirLib.EngineTypes.next = {
2611 MenhirLib.EngineTypes.state = _menhir_s;
2612 MenhirLib.EngineTypes.semv = _1;
2613 MenhirLib.EngineTypes.startp = _startpos__1_;
2614 MenhirLib.EngineTypes.endp = _endpos__1_;
2615 MenhirLib.EngineTypes.next = _menhir_stack;
2616 };
2617 };
2618 } = _menhir_stack in
2619 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2620 let _2 : (
2621 # 93 "parser_cocci_menhir.mly"
2622 (Data.clt)
2623 # 2624 "parser_cocci_menhir.ml"
2624 ) = Obj.magic _2 in
2625 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2626 let _startpos = _startpos__1_ in
2627 let _endpos = _endpos__3_ in
2628 let _v : 'tv_arith_expr_eexpr_invalid_ =
2629 # 1278 "parser_cocci_menhir.mly"
2630 ( P.arith_op Ast.And _1 _2 _3 )
2631 # 2632 "parser_cocci_menhir.ml"
2632 in
2633 _menhir_env.MenhirLib.EngineTypes.stack <- {
2634 MenhirLib.EngineTypes.state = _menhir_s;
2635 MenhirLib.EngineTypes.semv = Obj.repr _v;
2636 MenhirLib.EngineTypes.startp = _startpos;
2637 MenhirLib.EngineTypes.endp = _endpos;
2638 MenhirLib.EngineTypes.next = _menhir_stack;
2639 });
2640 (fun _menhir_env ->
2641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2642 let {
2643 MenhirLib.EngineTypes.semv = _3;
2644 MenhirLib.EngineTypes.startp = _startpos__3_;
2645 MenhirLib.EngineTypes.endp = _endpos__3_;
2646 MenhirLib.EngineTypes.next = {
2647 MenhirLib.EngineTypes.semv = _2;
2648 MenhirLib.EngineTypes.startp = _startpos__2_;
2649 MenhirLib.EngineTypes.endp = _endpos__2_;
2650 MenhirLib.EngineTypes.next = {
2651 MenhirLib.EngineTypes.state = _menhir_s;
2652 MenhirLib.EngineTypes.semv = _1;
2653 MenhirLib.EngineTypes.startp = _startpos__1_;
2654 MenhirLib.EngineTypes.endp = _endpos__1_;
2655 MenhirLib.EngineTypes.next = _menhir_stack;
2656 };
2657 };
2658 } = _menhir_stack in
2659 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2660 let _2 : (
2661 # 91 "parser_cocci_menhir.mly"
2662 (Data.clt)
2663 # 2664 "parser_cocci_menhir.ml"
2664 ) = Obj.magic _2 in
2665 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2666 let _startpos = _startpos__1_ in
2667 let _endpos = _endpos__3_ in
2668 let _v : 'tv_arith_expr_eexpr_invalid_ =
2669 # 1280 "parser_cocci_menhir.mly"
2670 ( P.arith_op Ast.Or _1 _2 _3 )
2671 # 2672 "parser_cocci_menhir.ml"
2672 in
2673 _menhir_env.MenhirLib.EngineTypes.stack <- {
2674 MenhirLib.EngineTypes.state = _menhir_s;
2675 MenhirLib.EngineTypes.semv = Obj.repr _v;
2676 MenhirLib.EngineTypes.startp = _startpos;
2677 MenhirLib.EngineTypes.endp = _endpos;
2678 MenhirLib.EngineTypes.next = _menhir_stack;
2679 });
2680 (fun _menhir_env ->
2681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2682 let {
2683 MenhirLib.EngineTypes.semv = _3;
2684 MenhirLib.EngineTypes.startp = _startpos__3_;
2685 MenhirLib.EngineTypes.endp = _endpos__3_;
2686 MenhirLib.EngineTypes.next = {
2687 MenhirLib.EngineTypes.semv = _2;
2688 MenhirLib.EngineTypes.startp = _startpos__2_;
2689 MenhirLib.EngineTypes.endp = _endpos__2_;
2690 MenhirLib.EngineTypes.next = {
2691 MenhirLib.EngineTypes.state = _menhir_s;
2692 MenhirLib.EngineTypes.semv = _1;
2693 MenhirLib.EngineTypes.startp = _startpos__1_;
2694 MenhirLib.EngineTypes.endp = _endpos__1_;
2695 MenhirLib.EngineTypes.next = _menhir_stack;
2696 };
2697 };
2698 } = _menhir_stack in
2699 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2700 let _2 : (
2701 # 92 "parser_cocci_menhir.mly"
2702 (Data.clt)
2703 # 2704 "parser_cocci_menhir.ml"
2704 ) = Obj.magic _2 in
2705 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2706 let _startpos = _startpos__1_ in
2707 let _endpos = _endpos__3_ in
2708 let _v : 'tv_arith_expr_eexpr_invalid_ =
2709 # 1282 "parser_cocci_menhir.mly"
2710 ( P.arith_op Ast.Xor _1 _2 _3 )
2711 # 2712 "parser_cocci_menhir.ml"
2712 in
2713 _menhir_env.MenhirLib.EngineTypes.stack <- {
2714 MenhirLib.EngineTypes.state = _menhir_s;
2715 MenhirLib.EngineTypes.semv = Obj.repr _v;
2716 MenhirLib.EngineTypes.startp = _startpos;
2717 MenhirLib.EngineTypes.endp = _endpos;
2718 MenhirLib.EngineTypes.next = _menhir_stack;
2719 });
2720 (fun _menhir_env ->
2721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2722 let {
2723 MenhirLib.EngineTypes.semv = _3;
2724 MenhirLib.EngineTypes.startp = _startpos__3_;
2725 MenhirLib.EngineTypes.endp = _endpos__3_;
2726 MenhirLib.EngineTypes.next = {
2727 MenhirLib.EngineTypes.semv = _2;
2728 MenhirLib.EngineTypes.startp = _startpos__2_;
2729 MenhirLib.EngineTypes.endp = _endpos__2_;
2730 MenhirLib.EngineTypes.next = {
2731 MenhirLib.EngineTypes.state = _menhir_s;
2732 MenhirLib.EngineTypes.semv = _1;
2733 MenhirLib.EngineTypes.startp = _startpos__1_;
2734 MenhirLib.EngineTypes.endp = _endpos__1_;
2735 MenhirLib.EngineTypes.next = _menhir_stack;
2736 };
2737 };
2738 } = _menhir_stack in
2739 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2740 let _2 : (
2741 # 90 "parser_cocci_menhir.mly"
2742 (Data.clt)
2743 # 2744 "parser_cocci_menhir.ml"
2744 ) = Obj.magic _2 in
2745 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2746 let _startpos = _startpos__1_ in
2747 let _endpos = _endpos__3_ in
2748 let _v : 'tv_arith_expr_eexpr_invalid_ =
2749 # 1284 "parser_cocci_menhir.mly"
2750 ( P.logic_op Ast.AndLog _1 _2 _3 )
2751 # 2752 "parser_cocci_menhir.ml"
2752 in
2753 _menhir_env.MenhirLib.EngineTypes.stack <- {
2754 MenhirLib.EngineTypes.state = _menhir_s;
2755 MenhirLib.EngineTypes.semv = Obj.repr _v;
2756 MenhirLib.EngineTypes.startp = _startpos;
2757 MenhirLib.EngineTypes.endp = _endpos;
2758 MenhirLib.EngineTypes.next = _menhir_stack;
2759 });
2760 (fun _menhir_env ->
2761 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2762 let {
2763 MenhirLib.EngineTypes.semv = _3;
2764 MenhirLib.EngineTypes.startp = _startpos__3_;
2765 MenhirLib.EngineTypes.endp = _endpos__3_;
2766 MenhirLib.EngineTypes.next = {
2767 MenhirLib.EngineTypes.semv = _2;
2768 MenhirLib.EngineTypes.startp = _startpos__2_;
2769 MenhirLib.EngineTypes.endp = _endpos__2_;
2770 MenhirLib.EngineTypes.next = {
2771 MenhirLib.EngineTypes.state = _menhir_s;
2772 MenhirLib.EngineTypes.semv = _1;
2773 MenhirLib.EngineTypes.startp = _startpos__1_;
2774 MenhirLib.EngineTypes.endp = _endpos__1_;
2775 MenhirLib.EngineTypes.next = _menhir_stack;
2776 };
2777 };
2778 } = _menhir_stack in
2779 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2780 let _2 : (
2781 # 89 "parser_cocci_menhir.mly"
2782 (Data.clt)
2783 # 2784 "parser_cocci_menhir.ml"
2784 ) = Obj.magic _2 in
2785 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2786 let _startpos = _startpos__1_ in
2787 let _endpos = _endpos__3_ in
2788 let _v : 'tv_arith_expr_eexpr_invalid_ =
2789 # 1286 "parser_cocci_menhir.mly"
2790 ( P.logic_op Ast.OrLog _1 _2 _3 )
2791 # 2792 "parser_cocci_menhir.ml"
2792 in
2793 _menhir_env.MenhirLib.EngineTypes.stack <- {
2794 MenhirLib.EngineTypes.state = _menhir_s;
2795 MenhirLib.EngineTypes.semv = Obj.repr _v;
2796 MenhirLib.EngineTypes.startp = _startpos;
2797 MenhirLib.EngineTypes.endp = _endpos;
2798 MenhirLib.EngineTypes.next = _menhir_stack;
2799 });
2800 (fun _menhir_env ->
2801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2802 let {
2803 MenhirLib.EngineTypes.state = _menhir_s;
2804 MenhirLib.EngineTypes.semv = _1;
2805 MenhirLib.EngineTypes.startp = _startpos__1_;
2806 MenhirLib.EngineTypes.endp = _endpos__1_;
2807 MenhirLib.EngineTypes.next = _menhir_stack;
2808 } = _menhir_stack in
2809 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2810 let _startpos = _startpos__1_ in
2811 let _endpos = _endpos__1_ in
2812 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2813 # 1260 "parser_cocci_menhir.mly"
2814 ( _1 )
2815 # 2816 "parser_cocci_menhir.ml"
2816 in
2817 _menhir_env.MenhirLib.EngineTypes.stack <- {
2818 MenhirLib.EngineTypes.state = _menhir_s;
2819 MenhirLib.EngineTypes.semv = Obj.repr _v;
2820 MenhirLib.EngineTypes.startp = _startpos;
2821 MenhirLib.EngineTypes.endp = _endpos;
2822 MenhirLib.EngineTypes.next = _menhir_stack;
2823 });
2824 (fun _menhir_env ->
2825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2826 let {
2827 MenhirLib.EngineTypes.semv = _3;
2828 MenhirLib.EngineTypes.startp = _startpos__3_;
2829 MenhirLib.EngineTypes.endp = _endpos__3_;
2830 MenhirLib.EngineTypes.next = {
2831 MenhirLib.EngineTypes.semv = _2;
2832 MenhirLib.EngineTypes.startp = _startpos__2_;
2833 MenhirLib.EngineTypes.endp = _endpos__2_;
2834 MenhirLib.EngineTypes.next = {
2835 MenhirLib.EngineTypes.state = _menhir_s;
2836 MenhirLib.EngineTypes.semv = _1;
2837 MenhirLib.EngineTypes.startp = _startpos__1_;
2838 MenhirLib.EngineTypes.endp = _endpos__1_;
2839 MenhirLib.EngineTypes.next = _menhir_stack;
2840 };
2841 };
2842 } = _menhir_stack in
2843 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2844 let _2 : (
2845 # 99 "parser_cocci_menhir.mly"
2846 (Data.clt)
2847 # 2848 "parser_cocci_menhir.ml"
2848 ) = Obj.magic _2 in
2849 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2850 let _startpos = _startpos__1_ in
2851 let _endpos = _endpos__3_ in
2852 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2853 # 1262 "parser_cocci_menhir.mly"
2854 ( P.arith_op Ast.Mul _1 _2 _3 )
2855 # 2856 "parser_cocci_menhir.ml"
2856 in
2857 _menhir_env.MenhirLib.EngineTypes.stack <- {
2858 MenhirLib.EngineTypes.state = _menhir_s;
2859 MenhirLib.EngineTypes.semv = Obj.repr _v;
2860 MenhirLib.EngineTypes.startp = _startpos;
2861 MenhirLib.EngineTypes.endp = _endpos;
2862 MenhirLib.EngineTypes.next = _menhir_stack;
2863 });
2864 (fun _menhir_env ->
2865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2866 let {
2867 MenhirLib.EngineTypes.semv = _3;
2868 MenhirLib.EngineTypes.startp = _startpos__3_;
2869 MenhirLib.EngineTypes.endp = _endpos__3_;
2870 MenhirLib.EngineTypes.next = {
2871 MenhirLib.EngineTypes.semv = _2;
2872 MenhirLib.EngineTypes.startp = _startpos__2_;
2873 MenhirLib.EngineTypes.endp = _endpos__2_;
2874 MenhirLib.EngineTypes.next = {
2875 MenhirLib.EngineTypes.state = _menhir_s;
2876 MenhirLib.EngineTypes.semv = _1;
2877 MenhirLib.EngineTypes.startp = _startpos__1_;
2878 MenhirLib.EngineTypes.endp = _endpos__1_;
2879 MenhirLib.EngineTypes.next = _menhir_stack;
2880 };
2881 };
2882 } = _menhir_stack in
2883 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2884 let _2 : (
2885 # 97 "parser_cocci_menhir.mly"
2886 (Ast_cocci.arithOp * Data.clt)
2887 # 2888 "parser_cocci_menhir.ml"
2888 ) = Obj.magic _2 in
2889 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2890 let _startpos = _startpos__1_ in
2891 let _endpos = _endpos__3_ in
2892 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2893 # 1264 "parser_cocci_menhir.mly"
2894 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2895 # 2896 "parser_cocci_menhir.ml"
2896 in
2897 _menhir_env.MenhirLib.EngineTypes.stack <- {
2898 MenhirLib.EngineTypes.state = _menhir_s;
2899 MenhirLib.EngineTypes.semv = Obj.repr _v;
2900 MenhirLib.EngineTypes.startp = _startpos;
2901 MenhirLib.EngineTypes.endp = _endpos;
2902 MenhirLib.EngineTypes.next = _menhir_stack;
2903 });
2904 (fun _menhir_env ->
2905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2906 let {
2907 MenhirLib.EngineTypes.semv = _3;
2908 MenhirLib.EngineTypes.startp = _startpos__3_;
2909 MenhirLib.EngineTypes.endp = _endpos__3_;
2910 MenhirLib.EngineTypes.next = {
2911 MenhirLib.EngineTypes.semv = _2;
2912 MenhirLib.EngineTypes.startp = _startpos__2_;
2913 MenhirLib.EngineTypes.endp = _endpos__2_;
2914 MenhirLib.EngineTypes.next = {
2915 MenhirLib.EngineTypes.state = _menhir_s;
2916 MenhirLib.EngineTypes.semv = _1;
2917 MenhirLib.EngineTypes.startp = _startpos__1_;
2918 MenhirLib.EngineTypes.endp = _endpos__1_;
2919 MenhirLib.EngineTypes.next = _menhir_stack;
2920 };
2921 };
2922 } = _menhir_stack in
2923 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2924 let _2 : (
2925 # 98 "parser_cocci_menhir.mly"
2926 (Data.clt)
2927 # 2928 "parser_cocci_menhir.ml"
2928 ) = Obj.magic _2 in
2929 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2930 let _startpos = _startpos__1_ in
2931 let _endpos = _endpos__3_ in
2932 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2933 # 1266 "parser_cocci_menhir.mly"
2934 ( P.arith_op Ast.Plus _1 _2 _3 )
2935 # 2936 "parser_cocci_menhir.ml"
2936 in
2937 _menhir_env.MenhirLib.EngineTypes.stack <- {
2938 MenhirLib.EngineTypes.state = _menhir_s;
2939 MenhirLib.EngineTypes.semv = Obj.repr _v;
2940 MenhirLib.EngineTypes.startp = _startpos;
2941 MenhirLib.EngineTypes.endp = _endpos;
2942 MenhirLib.EngineTypes.next = _menhir_stack;
2943 });
2944 (fun _menhir_env ->
2945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2946 let {
2947 MenhirLib.EngineTypes.semv = _3;
2948 MenhirLib.EngineTypes.startp = _startpos__3_;
2949 MenhirLib.EngineTypes.endp = _endpos__3_;
2950 MenhirLib.EngineTypes.next = {
2951 MenhirLib.EngineTypes.semv = _2;
2952 MenhirLib.EngineTypes.startp = _startpos__2_;
2953 MenhirLib.EngineTypes.endp = _endpos__2_;
2954 MenhirLib.EngineTypes.next = {
2955 MenhirLib.EngineTypes.state = _menhir_s;
2956 MenhirLib.EngineTypes.semv = _1;
2957 MenhirLib.EngineTypes.startp = _startpos__1_;
2958 MenhirLib.EngineTypes.endp = _endpos__1_;
2959 MenhirLib.EngineTypes.next = _menhir_stack;
2960 };
2961 };
2962 } = _menhir_stack in
2963 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2964 let _2 : (
2965 # 98 "parser_cocci_menhir.mly"
2966 (Data.clt)
2967 # 2968 "parser_cocci_menhir.ml"
2968 ) = Obj.magic _2 in
2969 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2970 let _startpos = _startpos__1_ in
2971 let _endpos = _endpos__3_ in
2972 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2973 # 1268 "parser_cocci_menhir.mly"
2974 ( P.arith_op Ast.Minus _1 _2 _3 )
2975 # 2976 "parser_cocci_menhir.ml"
2976 in
2977 _menhir_env.MenhirLib.EngineTypes.stack <- {
2978 MenhirLib.EngineTypes.state = _menhir_s;
2979 MenhirLib.EngineTypes.semv = Obj.repr _v;
2980 MenhirLib.EngineTypes.startp = _startpos;
2981 MenhirLib.EngineTypes.endp = _endpos;
2982 MenhirLib.EngineTypes.next = _menhir_stack;
2983 });
2984 (fun _menhir_env ->
2985 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2986 let {
2987 MenhirLib.EngineTypes.semv = _3;
2988 MenhirLib.EngineTypes.startp = _startpos__3_;
2989 MenhirLib.EngineTypes.endp = _endpos__3_;
2990 MenhirLib.EngineTypes.next = {
2991 MenhirLib.EngineTypes.semv = _2;
2992 MenhirLib.EngineTypes.startp = _startpos__2_;
2993 MenhirLib.EngineTypes.endp = _endpos__2_;
2994 MenhirLib.EngineTypes.next = {
2995 MenhirLib.EngineTypes.state = _menhir_s;
2996 MenhirLib.EngineTypes.semv = _1;
2997 MenhirLib.EngineTypes.startp = _startpos__1_;
2998 MenhirLib.EngineTypes.endp = _endpos__1_;
2999 MenhirLib.EngineTypes.next = _menhir_stack;
3000 };
3001 };
3002 } = _menhir_stack in
3003 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3004 let _2 : (
3005 # 96 "parser_cocci_menhir.mly"
3006 (Ast_cocci.arithOp * Data.clt)
3007 # 3008 "parser_cocci_menhir.ml"
3008 ) = Obj.magic _2 in
3009 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3010 let _startpos = _startpos__1_ in
3011 let _endpos = _endpos__3_ in
3012 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3013 # 1270 "parser_cocci_menhir.mly"
3014 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3015 # 3016 "parser_cocci_menhir.ml"
3016 in
3017 _menhir_env.MenhirLib.EngineTypes.stack <- {
3018 MenhirLib.EngineTypes.state = _menhir_s;
3019 MenhirLib.EngineTypes.semv = Obj.repr _v;
3020 MenhirLib.EngineTypes.startp = _startpos;
3021 MenhirLib.EngineTypes.endp = _endpos;
3022 MenhirLib.EngineTypes.next = _menhir_stack;
3023 });
3024 (fun _menhir_env ->
3025 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3026 let {
3027 MenhirLib.EngineTypes.semv = _3;
3028 MenhirLib.EngineTypes.startp = _startpos__3_;
3029 MenhirLib.EngineTypes.endp = _endpos__3_;
3030 MenhirLib.EngineTypes.next = {
3031 MenhirLib.EngineTypes.semv = _2;
3032 MenhirLib.EngineTypes.startp = _startpos__2_;
3033 MenhirLib.EngineTypes.endp = _endpos__2_;
3034 MenhirLib.EngineTypes.next = {
3035 MenhirLib.EngineTypes.state = _menhir_s;
3036 MenhirLib.EngineTypes.semv = _1;
3037 MenhirLib.EngineTypes.startp = _startpos__1_;
3038 MenhirLib.EngineTypes.endp = _endpos__1_;
3039 MenhirLib.EngineTypes.next = _menhir_stack;
3040 };
3041 };
3042 } = _menhir_stack in
3043 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3044 let _2 : (
3045 # 95 "parser_cocci_menhir.mly"
3046 (Ast_cocci.logicalOp * Data.clt)
3047 # 3048 "parser_cocci_menhir.ml"
3048 ) = Obj.magic _2 in
3049 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3050 let _startpos = _startpos__1_ in
3051 let _endpos = _endpos__3_ in
3052 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3053 # 1272 "parser_cocci_menhir.mly"
3054 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3055 # 3056 "parser_cocci_menhir.ml"
3056 in
3057 _menhir_env.MenhirLib.EngineTypes.stack <- {
3058 MenhirLib.EngineTypes.state = _menhir_s;
3059 MenhirLib.EngineTypes.semv = Obj.repr _v;
3060 MenhirLib.EngineTypes.startp = _startpos;
3061 MenhirLib.EngineTypes.endp = _endpos;
3062 MenhirLib.EngineTypes.next = _menhir_stack;
3063 });
3064 (fun _menhir_env ->
3065 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3066 let {
3067 MenhirLib.EngineTypes.semv = _3;
3068 MenhirLib.EngineTypes.startp = _startpos__3_;
3069 MenhirLib.EngineTypes.endp = _endpos__3_;
3070 MenhirLib.EngineTypes.next = {
3071 MenhirLib.EngineTypes.semv = _2;
3072 MenhirLib.EngineTypes.startp = _startpos__2_;
3073 MenhirLib.EngineTypes.endp = _endpos__2_;
3074 MenhirLib.EngineTypes.next = {
3075 MenhirLib.EngineTypes.state = _menhir_s;
3076 MenhirLib.EngineTypes.semv = _1;
3077 MenhirLib.EngineTypes.startp = _startpos__1_;
3078 MenhirLib.EngineTypes.endp = _endpos__1_;
3079 MenhirLib.EngineTypes.next = _menhir_stack;
3080 };
3081 };
3082 } = _menhir_stack in
3083 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3084 let _2 : (
3085 # 94 "parser_cocci_menhir.mly"
3086 (Data.clt)
3087 # 3088 "parser_cocci_menhir.ml"
3088 ) = Obj.magic _2 in
3089 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3090 let _startpos = _startpos__1_ in
3091 let _endpos = _endpos__3_ in
3092 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3093 # 1274 "parser_cocci_menhir.mly"
3094 ( P.logic_op Ast.Eq _1 _2 _3 )
3095 # 3096 "parser_cocci_menhir.ml"
3096 in
3097 _menhir_env.MenhirLib.EngineTypes.stack <- {
3098 MenhirLib.EngineTypes.state = _menhir_s;
3099 MenhirLib.EngineTypes.semv = Obj.repr _v;
3100 MenhirLib.EngineTypes.startp = _startpos;
3101 MenhirLib.EngineTypes.endp = _endpos;
3102 MenhirLib.EngineTypes.next = _menhir_stack;
3103 });
3104 (fun _menhir_env ->
3105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3106 let {
3107 MenhirLib.EngineTypes.semv = _3;
3108 MenhirLib.EngineTypes.startp = _startpos__3_;
3109 MenhirLib.EngineTypes.endp = _endpos__3_;
3110 MenhirLib.EngineTypes.next = {
3111 MenhirLib.EngineTypes.semv = _2;
3112 MenhirLib.EngineTypes.startp = _startpos__2_;
3113 MenhirLib.EngineTypes.endp = _endpos__2_;
3114 MenhirLib.EngineTypes.next = {
3115 MenhirLib.EngineTypes.state = _menhir_s;
3116 MenhirLib.EngineTypes.semv = _1;
3117 MenhirLib.EngineTypes.startp = _startpos__1_;
3118 MenhirLib.EngineTypes.endp = _endpos__1_;
3119 MenhirLib.EngineTypes.next = _menhir_stack;
3120 };
3121 };
3122 } = _menhir_stack in
3123 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3124 let _2 : (
3125 # 94 "parser_cocci_menhir.mly"
3126 (Data.clt)
3127 # 3128 "parser_cocci_menhir.ml"
3128 ) = Obj.magic _2 in
3129 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3130 let _startpos = _startpos__1_ in
3131 let _endpos = _endpos__3_ in
3132 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3133 # 1276 "parser_cocci_menhir.mly"
3134 ( P.logic_op Ast.NotEq _1 _2 _3 )
3135 # 3136 "parser_cocci_menhir.ml"
3136 in
3137 _menhir_env.MenhirLib.EngineTypes.stack <- {
3138 MenhirLib.EngineTypes.state = _menhir_s;
3139 MenhirLib.EngineTypes.semv = Obj.repr _v;
3140 MenhirLib.EngineTypes.startp = _startpos;
3141 MenhirLib.EngineTypes.endp = _endpos;
3142 MenhirLib.EngineTypes.next = _menhir_stack;
3143 });
3144 (fun _menhir_env ->
3145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3146 let {
3147 MenhirLib.EngineTypes.semv = _3;
3148 MenhirLib.EngineTypes.startp = _startpos__3_;
3149 MenhirLib.EngineTypes.endp = _endpos__3_;
3150 MenhirLib.EngineTypes.next = {
3151 MenhirLib.EngineTypes.semv = _2;
3152 MenhirLib.EngineTypes.startp = _startpos__2_;
3153 MenhirLib.EngineTypes.endp = _endpos__2_;
3154 MenhirLib.EngineTypes.next = {
3155 MenhirLib.EngineTypes.state = _menhir_s;
3156 MenhirLib.EngineTypes.semv = _1;
3157 MenhirLib.EngineTypes.startp = _startpos__1_;
3158 MenhirLib.EngineTypes.endp = _endpos__1_;
3159 MenhirLib.EngineTypes.next = _menhir_stack;
3160 };
3161 };
3162 } = _menhir_stack in
3163 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3164 let _2 : (
3165 # 93 "parser_cocci_menhir.mly"
3166 (Data.clt)
3167 # 3168 "parser_cocci_menhir.ml"
3168 ) = Obj.magic _2 in
3169 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3170 let _startpos = _startpos__1_ in
3171 let _endpos = _endpos__3_ in
3172 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3173 # 1278 "parser_cocci_menhir.mly"
3174 ( P.arith_op Ast.And _1 _2 _3 )
3175 # 3176 "parser_cocci_menhir.ml"
3176 in
3177 _menhir_env.MenhirLib.EngineTypes.stack <- {
3178 MenhirLib.EngineTypes.state = _menhir_s;
3179 MenhirLib.EngineTypes.semv = Obj.repr _v;
3180 MenhirLib.EngineTypes.startp = _startpos;
3181 MenhirLib.EngineTypes.endp = _endpos;
3182 MenhirLib.EngineTypes.next = _menhir_stack;
3183 });
3184 (fun _menhir_env ->
3185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3186 let {
3187 MenhirLib.EngineTypes.semv = _3;
3188 MenhirLib.EngineTypes.startp = _startpos__3_;
3189 MenhirLib.EngineTypes.endp = _endpos__3_;
3190 MenhirLib.EngineTypes.next = {
3191 MenhirLib.EngineTypes.semv = _2;
3192 MenhirLib.EngineTypes.startp = _startpos__2_;
3193 MenhirLib.EngineTypes.endp = _endpos__2_;
3194 MenhirLib.EngineTypes.next = {
3195 MenhirLib.EngineTypes.state = _menhir_s;
3196 MenhirLib.EngineTypes.semv = _1;
3197 MenhirLib.EngineTypes.startp = _startpos__1_;
3198 MenhirLib.EngineTypes.endp = _endpos__1_;
3199 MenhirLib.EngineTypes.next = _menhir_stack;
3200 };
3201 };
3202 } = _menhir_stack in
3203 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3204 let _2 : (
3205 # 91 "parser_cocci_menhir.mly"
3206 (Data.clt)
3207 # 3208 "parser_cocci_menhir.ml"
3208 ) = Obj.magic _2 in
3209 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3210 let _startpos = _startpos__1_ in
3211 let _endpos = _endpos__3_ in
3212 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3213 # 1280 "parser_cocci_menhir.mly"
3214 ( P.arith_op Ast.Or _1 _2 _3 )
3215 # 3216 "parser_cocci_menhir.ml"
3216 in
3217 _menhir_env.MenhirLib.EngineTypes.stack <- {
3218 MenhirLib.EngineTypes.state = _menhir_s;
3219 MenhirLib.EngineTypes.semv = Obj.repr _v;
3220 MenhirLib.EngineTypes.startp = _startpos;
3221 MenhirLib.EngineTypes.endp = _endpos;
3222 MenhirLib.EngineTypes.next = _menhir_stack;
3223 });
3224 (fun _menhir_env ->
3225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3226 let {
3227 MenhirLib.EngineTypes.semv = _3;
3228 MenhirLib.EngineTypes.startp = _startpos__3_;
3229 MenhirLib.EngineTypes.endp = _endpos__3_;
3230 MenhirLib.EngineTypes.next = {
3231 MenhirLib.EngineTypes.semv = _2;
3232 MenhirLib.EngineTypes.startp = _startpos__2_;
3233 MenhirLib.EngineTypes.endp = _endpos__2_;
3234 MenhirLib.EngineTypes.next = {
3235 MenhirLib.EngineTypes.state = _menhir_s;
3236 MenhirLib.EngineTypes.semv = _1;
3237 MenhirLib.EngineTypes.startp = _startpos__1_;
3238 MenhirLib.EngineTypes.endp = _endpos__1_;
3239 MenhirLib.EngineTypes.next = _menhir_stack;
3240 };
3241 };
3242 } = _menhir_stack in
3243 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3244 let _2 : (
3245 # 92 "parser_cocci_menhir.mly"
3246 (Data.clt)
3247 # 3248 "parser_cocci_menhir.ml"
3248 ) = Obj.magic _2 in
3249 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3250 let _startpos = _startpos__1_ in
3251 let _endpos = _endpos__3_ in
3252 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3253 # 1282 "parser_cocci_menhir.mly"
3254 ( P.arith_op Ast.Xor _1 _2 _3 )
3255 # 3256 "parser_cocci_menhir.ml"
3256 in
3257 _menhir_env.MenhirLib.EngineTypes.stack <- {
3258 MenhirLib.EngineTypes.state = _menhir_s;
3259 MenhirLib.EngineTypes.semv = Obj.repr _v;
3260 MenhirLib.EngineTypes.startp = _startpos;
3261 MenhirLib.EngineTypes.endp = _endpos;
3262 MenhirLib.EngineTypes.next = _menhir_stack;
3263 });
3264 (fun _menhir_env ->
3265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3266 let {
3267 MenhirLib.EngineTypes.semv = _3;
3268 MenhirLib.EngineTypes.startp = _startpos__3_;
3269 MenhirLib.EngineTypes.endp = _endpos__3_;
3270 MenhirLib.EngineTypes.next = {
3271 MenhirLib.EngineTypes.semv = _2;
3272 MenhirLib.EngineTypes.startp = _startpos__2_;
3273 MenhirLib.EngineTypes.endp = _endpos__2_;
3274 MenhirLib.EngineTypes.next = {
3275 MenhirLib.EngineTypes.state = _menhir_s;
3276 MenhirLib.EngineTypes.semv = _1;
3277 MenhirLib.EngineTypes.startp = _startpos__1_;
3278 MenhirLib.EngineTypes.endp = _endpos__1_;
3279 MenhirLib.EngineTypes.next = _menhir_stack;
3280 };
3281 };
3282 } = _menhir_stack in
3283 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3284 let _2 : (
3285 # 90 "parser_cocci_menhir.mly"
3286 (Data.clt)
3287 # 3288 "parser_cocci_menhir.ml"
3288 ) = Obj.magic _2 in
3289 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3290 let _startpos = _startpos__1_ in
3291 let _endpos = _endpos__3_ in
3292 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3293 # 1284 "parser_cocci_menhir.mly"
3294 ( P.logic_op Ast.AndLog _1 _2 _3 )
3295 # 3296 "parser_cocci_menhir.ml"
3296 in
3297 _menhir_env.MenhirLib.EngineTypes.stack <- {
3298 MenhirLib.EngineTypes.state = _menhir_s;
3299 MenhirLib.EngineTypes.semv = Obj.repr _v;
3300 MenhirLib.EngineTypes.startp = _startpos;
3301 MenhirLib.EngineTypes.endp = _endpos;
3302 MenhirLib.EngineTypes.next = _menhir_stack;
3303 });
3304 (fun _menhir_env ->
3305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3306 let {
3307 MenhirLib.EngineTypes.semv = _3;
3308 MenhirLib.EngineTypes.startp = _startpos__3_;
3309 MenhirLib.EngineTypes.endp = _endpos__3_;
3310 MenhirLib.EngineTypes.next = {
3311 MenhirLib.EngineTypes.semv = _2;
3312 MenhirLib.EngineTypes.startp = _startpos__2_;
3313 MenhirLib.EngineTypes.endp = _endpos__2_;
3314 MenhirLib.EngineTypes.next = {
3315 MenhirLib.EngineTypes.state = _menhir_s;
3316 MenhirLib.EngineTypes.semv = _1;
3317 MenhirLib.EngineTypes.startp = _startpos__1_;
3318 MenhirLib.EngineTypes.endp = _endpos__1_;
3319 MenhirLib.EngineTypes.next = _menhir_stack;
3320 };
3321 };
3322 } = _menhir_stack in
3323 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3324 let _2 : (
3325 # 89 "parser_cocci_menhir.mly"
3326 (Data.clt)
3327 # 3328 "parser_cocci_menhir.ml"
3328 ) = Obj.magic _2 in
3329 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3330 let _startpos = _startpos__1_ in
3331 let _endpos = _endpos__3_ in
3332 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3333 # 1286 "parser_cocci_menhir.mly"
3334 ( P.logic_op Ast.OrLog _1 _2 _3 )
3335 # 3336 "parser_cocci_menhir.ml"
3336 in
3337 _menhir_env.MenhirLib.EngineTypes.stack <- {
3338 MenhirLib.EngineTypes.state = _menhir_s;
3339 MenhirLib.EngineTypes.semv = Obj.repr _v;
3340 MenhirLib.EngineTypes.startp = _startpos;
3341 MenhirLib.EngineTypes.endp = _endpos;
3342 MenhirLib.EngineTypes.next = _menhir_stack;
3343 });
3344 (fun _menhir_env ->
3345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3346 let {
3347 MenhirLib.EngineTypes.state = _menhir_s;
3348 MenhirLib.EngineTypes.semv = _1;
3349 MenhirLib.EngineTypes.startp = _startpos__1_;
3350 MenhirLib.EngineTypes.endp = _endpos__1_;
3351 MenhirLib.EngineTypes.next = _menhir_stack;
3352 } = _menhir_stack in
3353 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3354 let _startpos = _startpos__1_ in
3355 let _endpos = _endpos__1_ in
3356 let _v : 'tv_arith_expr_expr_invalid_ =
3357 # 1260 "parser_cocci_menhir.mly"
3358 ( _1 )
3359 # 3360 "parser_cocci_menhir.ml"
3360 in
3361 _menhir_env.MenhirLib.EngineTypes.stack <- {
3362 MenhirLib.EngineTypes.state = _menhir_s;
3363 MenhirLib.EngineTypes.semv = Obj.repr _v;
3364 MenhirLib.EngineTypes.startp = _startpos;
3365 MenhirLib.EngineTypes.endp = _endpos;
3366 MenhirLib.EngineTypes.next = _menhir_stack;
3367 });
3368 (fun _menhir_env ->
3369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3370 let {
3371 MenhirLib.EngineTypes.semv = _3;
3372 MenhirLib.EngineTypes.startp = _startpos__3_;
3373 MenhirLib.EngineTypes.endp = _endpos__3_;
3374 MenhirLib.EngineTypes.next = {
3375 MenhirLib.EngineTypes.semv = _2;
3376 MenhirLib.EngineTypes.startp = _startpos__2_;
3377 MenhirLib.EngineTypes.endp = _endpos__2_;
3378 MenhirLib.EngineTypes.next = {
3379 MenhirLib.EngineTypes.state = _menhir_s;
3380 MenhirLib.EngineTypes.semv = _1;
3381 MenhirLib.EngineTypes.startp = _startpos__1_;
3382 MenhirLib.EngineTypes.endp = _endpos__1_;
3383 MenhirLib.EngineTypes.next = _menhir_stack;
3384 };
3385 };
3386 } = _menhir_stack in
3387 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3388 let _2 : (
3389 # 99 "parser_cocci_menhir.mly"
3390 (Data.clt)
3391 # 3392 "parser_cocci_menhir.ml"
3392 ) = Obj.magic _2 in
3393 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3394 let _startpos = _startpos__1_ in
3395 let _endpos = _endpos__3_ in
3396 let _v : 'tv_arith_expr_expr_invalid_ =
3397 # 1262 "parser_cocci_menhir.mly"
3398 ( P.arith_op Ast.Mul _1 _2 _3 )
3399 # 3400 "parser_cocci_menhir.ml"
3400 in
3401 _menhir_env.MenhirLib.EngineTypes.stack <- {
3402 MenhirLib.EngineTypes.state = _menhir_s;
3403 MenhirLib.EngineTypes.semv = Obj.repr _v;
3404 MenhirLib.EngineTypes.startp = _startpos;
3405 MenhirLib.EngineTypes.endp = _endpos;
3406 MenhirLib.EngineTypes.next = _menhir_stack;
3407 });
3408 (fun _menhir_env ->
3409 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3410 let {
3411 MenhirLib.EngineTypes.semv = _3;
3412 MenhirLib.EngineTypes.startp = _startpos__3_;
3413 MenhirLib.EngineTypes.endp = _endpos__3_;
3414 MenhirLib.EngineTypes.next = {
3415 MenhirLib.EngineTypes.semv = _2;
3416 MenhirLib.EngineTypes.startp = _startpos__2_;
3417 MenhirLib.EngineTypes.endp = _endpos__2_;
3418 MenhirLib.EngineTypes.next = {
3419 MenhirLib.EngineTypes.state = _menhir_s;
3420 MenhirLib.EngineTypes.semv = _1;
3421 MenhirLib.EngineTypes.startp = _startpos__1_;
3422 MenhirLib.EngineTypes.endp = _endpos__1_;
3423 MenhirLib.EngineTypes.next = _menhir_stack;
3424 };
3425 };
3426 } = _menhir_stack in
3427 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3428 let _2 : (
3429 # 97 "parser_cocci_menhir.mly"
3430 (Ast_cocci.arithOp * Data.clt)
3431 # 3432 "parser_cocci_menhir.ml"
3432 ) = Obj.magic _2 in
3433 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3434 let _startpos = _startpos__1_ in
3435 let _endpos = _endpos__3_ in
3436 let _v : 'tv_arith_expr_expr_invalid_ =
3437 # 1264 "parser_cocci_menhir.mly"
3438 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3439 # 3440 "parser_cocci_menhir.ml"
3440 in
3441 _menhir_env.MenhirLib.EngineTypes.stack <- {
3442 MenhirLib.EngineTypes.state = _menhir_s;
3443 MenhirLib.EngineTypes.semv = Obj.repr _v;
3444 MenhirLib.EngineTypes.startp = _startpos;
3445 MenhirLib.EngineTypes.endp = _endpos;
3446 MenhirLib.EngineTypes.next = _menhir_stack;
3447 });
3448 (fun _menhir_env ->
3449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3450 let {
3451 MenhirLib.EngineTypes.semv = _3;
3452 MenhirLib.EngineTypes.startp = _startpos__3_;
3453 MenhirLib.EngineTypes.endp = _endpos__3_;
3454 MenhirLib.EngineTypes.next = {
3455 MenhirLib.EngineTypes.semv = _2;
3456 MenhirLib.EngineTypes.startp = _startpos__2_;
3457 MenhirLib.EngineTypes.endp = _endpos__2_;
3458 MenhirLib.EngineTypes.next = {
3459 MenhirLib.EngineTypes.state = _menhir_s;
3460 MenhirLib.EngineTypes.semv = _1;
3461 MenhirLib.EngineTypes.startp = _startpos__1_;
3462 MenhirLib.EngineTypes.endp = _endpos__1_;
3463 MenhirLib.EngineTypes.next = _menhir_stack;
3464 };
3465 };
3466 } = _menhir_stack in
3467 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3468 let _2 : (
3469 # 98 "parser_cocci_menhir.mly"
3470 (Data.clt)
3471 # 3472 "parser_cocci_menhir.ml"
3472 ) = Obj.magic _2 in
3473 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3474 let _startpos = _startpos__1_ in
3475 let _endpos = _endpos__3_ in
3476 let _v : 'tv_arith_expr_expr_invalid_ =
3477 # 1266 "parser_cocci_menhir.mly"
3478 ( P.arith_op Ast.Plus _1 _2 _3 )
3479 # 3480 "parser_cocci_menhir.ml"
3480 in
3481 _menhir_env.MenhirLib.EngineTypes.stack <- {
3482 MenhirLib.EngineTypes.state = _menhir_s;
3483 MenhirLib.EngineTypes.semv = Obj.repr _v;
3484 MenhirLib.EngineTypes.startp = _startpos;
3485 MenhirLib.EngineTypes.endp = _endpos;
3486 MenhirLib.EngineTypes.next = _menhir_stack;
3487 });
3488 (fun _menhir_env ->
3489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3490 let {
3491 MenhirLib.EngineTypes.semv = _3;
3492 MenhirLib.EngineTypes.startp = _startpos__3_;
3493 MenhirLib.EngineTypes.endp = _endpos__3_;
3494 MenhirLib.EngineTypes.next = {
3495 MenhirLib.EngineTypes.semv = _2;
3496 MenhirLib.EngineTypes.startp = _startpos__2_;
3497 MenhirLib.EngineTypes.endp = _endpos__2_;
3498 MenhirLib.EngineTypes.next = {
3499 MenhirLib.EngineTypes.state = _menhir_s;
3500 MenhirLib.EngineTypes.semv = _1;
3501 MenhirLib.EngineTypes.startp = _startpos__1_;
3502 MenhirLib.EngineTypes.endp = _endpos__1_;
3503 MenhirLib.EngineTypes.next = _menhir_stack;
3504 };
3505 };
3506 } = _menhir_stack in
3507 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3508 let _2 : (
3509 # 98 "parser_cocci_menhir.mly"
3510 (Data.clt)
3511 # 3512 "parser_cocci_menhir.ml"
3512 ) = Obj.magic _2 in
3513 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3514 let _startpos = _startpos__1_ in
3515 let _endpos = _endpos__3_ in
3516 let _v : 'tv_arith_expr_expr_invalid_ =
3517 # 1268 "parser_cocci_menhir.mly"
3518 ( P.arith_op Ast.Minus _1 _2 _3 )
3519 # 3520 "parser_cocci_menhir.ml"
3520 in
3521 _menhir_env.MenhirLib.EngineTypes.stack <- {
3522 MenhirLib.EngineTypes.state = _menhir_s;
3523 MenhirLib.EngineTypes.semv = Obj.repr _v;
3524 MenhirLib.EngineTypes.startp = _startpos;
3525 MenhirLib.EngineTypes.endp = _endpos;
3526 MenhirLib.EngineTypes.next = _menhir_stack;
3527 });
3528 (fun _menhir_env ->
3529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3530 let {
3531 MenhirLib.EngineTypes.semv = _3;
3532 MenhirLib.EngineTypes.startp = _startpos__3_;
3533 MenhirLib.EngineTypes.endp = _endpos__3_;
3534 MenhirLib.EngineTypes.next = {
3535 MenhirLib.EngineTypes.semv = _2;
3536 MenhirLib.EngineTypes.startp = _startpos__2_;
3537 MenhirLib.EngineTypes.endp = _endpos__2_;
3538 MenhirLib.EngineTypes.next = {
3539 MenhirLib.EngineTypes.state = _menhir_s;
3540 MenhirLib.EngineTypes.semv = _1;
3541 MenhirLib.EngineTypes.startp = _startpos__1_;
3542 MenhirLib.EngineTypes.endp = _endpos__1_;
3543 MenhirLib.EngineTypes.next = _menhir_stack;
3544 };
3545 };
3546 } = _menhir_stack in
3547 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3548 let _2 : (
3549 # 96 "parser_cocci_menhir.mly"
3550 (Ast_cocci.arithOp * Data.clt)
3551 # 3552 "parser_cocci_menhir.ml"
3552 ) = Obj.magic _2 in
3553 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3554 let _startpos = _startpos__1_ in
3555 let _endpos = _endpos__3_ in
3556 let _v : 'tv_arith_expr_expr_invalid_ =
3557 # 1270 "parser_cocci_menhir.mly"
3558 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3559 # 3560 "parser_cocci_menhir.ml"
3560 in
3561 _menhir_env.MenhirLib.EngineTypes.stack <- {
3562 MenhirLib.EngineTypes.state = _menhir_s;
3563 MenhirLib.EngineTypes.semv = Obj.repr _v;
3564 MenhirLib.EngineTypes.startp = _startpos;
3565 MenhirLib.EngineTypes.endp = _endpos;
3566 MenhirLib.EngineTypes.next = _menhir_stack;
3567 });
3568 (fun _menhir_env ->
3569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3570 let {
3571 MenhirLib.EngineTypes.semv = _3;
3572 MenhirLib.EngineTypes.startp = _startpos__3_;
3573 MenhirLib.EngineTypes.endp = _endpos__3_;
3574 MenhirLib.EngineTypes.next = {
3575 MenhirLib.EngineTypes.semv = _2;
3576 MenhirLib.EngineTypes.startp = _startpos__2_;
3577 MenhirLib.EngineTypes.endp = _endpos__2_;
3578 MenhirLib.EngineTypes.next = {
3579 MenhirLib.EngineTypes.state = _menhir_s;
3580 MenhirLib.EngineTypes.semv = _1;
3581 MenhirLib.EngineTypes.startp = _startpos__1_;
3582 MenhirLib.EngineTypes.endp = _endpos__1_;
3583 MenhirLib.EngineTypes.next = _menhir_stack;
3584 };
3585 };
3586 } = _menhir_stack in
3587 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3588 let _2 : (
3589 # 95 "parser_cocci_menhir.mly"
3590 (Ast_cocci.logicalOp * Data.clt)
3591 # 3592 "parser_cocci_menhir.ml"
3592 ) = Obj.magic _2 in
3593 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3594 let _startpos = _startpos__1_ in
3595 let _endpos = _endpos__3_ in
3596 let _v : 'tv_arith_expr_expr_invalid_ =
3597 # 1272 "parser_cocci_menhir.mly"
3598 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3599 # 3600 "parser_cocci_menhir.ml"
3600 in
3601 _menhir_env.MenhirLib.EngineTypes.stack <- {
3602 MenhirLib.EngineTypes.state = _menhir_s;
3603 MenhirLib.EngineTypes.semv = Obj.repr _v;
3604 MenhirLib.EngineTypes.startp = _startpos;
3605 MenhirLib.EngineTypes.endp = _endpos;
3606 MenhirLib.EngineTypes.next = _menhir_stack;
3607 });
3608 (fun _menhir_env ->
3609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3610 let {
3611 MenhirLib.EngineTypes.semv = _3;
3612 MenhirLib.EngineTypes.startp = _startpos__3_;
3613 MenhirLib.EngineTypes.endp = _endpos__3_;
3614 MenhirLib.EngineTypes.next = {
3615 MenhirLib.EngineTypes.semv = _2;
3616 MenhirLib.EngineTypes.startp = _startpos__2_;
3617 MenhirLib.EngineTypes.endp = _endpos__2_;
3618 MenhirLib.EngineTypes.next = {
3619 MenhirLib.EngineTypes.state = _menhir_s;
3620 MenhirLib.EngineTypes.semv = _1;
3621 MenhirLib.EngineTypes.startp = _startpos__1_;
3622 MenhirLib.EngineTypes.endp = _endpos__1_;
3623 MenhirLib.EngineTypes.next = _menhir_stack;
3624 };
3625 };
3626 } = _menhir_stack in
3627 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3628 let _2 : (
3629 # 94 "parser_cocci_menhir.mly"
3630 (Data.clt)
3631 # 3632 "parser_cocci_menhir.ml"
3632 ) = Obj.magic _2 in
3633 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3634 let _startpos = _startpos__1_ in
3635 let _endpos = _endpos__3_ in
3636 let _v : 'tv_arith_expr_expr_invalid_ =
3637 # 1274 "parser_cocci_menhir.mly"
3638 ( P.logic_op Ast.Eq _1 _2 _3 )
3639 # 3640 "parser_cocci_menhir.ml"
3640 in
3641 _menhir_env.MenhirLib.EngineTypes.stack <- {
3642 MenhirLib.EngineTypes.state = _menhir_s;
3643 MenhirLib.EngineTypes.semv = Obj.repr _v;
3644 MenhirLib.EngineTypes.startp = _startpos;
3645 MenhirLib.EngineTypes.endp = _endpos;
3646 MenhirLib.EngineTypes.next = _menhir_stack;
3647 });
3648 (fun _menhir_env ->
3649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3650 let {
3651 MenhirLib.EngineTypes.semv = _3;
3652 MenhirLib.EngineTypes.startp = _startpos__3_;
3653 MenhirLib.EngineTypes.endp = _endpos__3_;
3654 MenhirLib.EngineTypes.next = {
3655 MenhirLib.EngineTypes.semv = _2;
3656 MenhirLib.EngineTypes.startp = _startpos__2_;
3657 MenhirLib.EngineTypes.endp = _endpos__2_;
3658 MenhirLib.EngineTypes.next = {
3659 MenhirLib.EngineTypes.state = _menhir_s;
3660 MenhirLib.EngineTypes.semv = _1;
3661 MenhirLib.EngineTypes.startp = _startpos__1_;
3662 MenhirLib.EngineTypes.endp = _endpos__1_;
3663 MenhirLib.EngineTypes.next = _menhir_stack;
3664 };
3665 };
3666 } = _menhir_stack in
3667 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3668 let _2 : (
3669 # 94 "parser_cocci_menhir.mly"
3670 (Data.clt)
3671 # 3672 "parser_cocci_menhir.ml"
3672 ) = Obj.magic _2 in
3673 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3674 let _startpos = _startpos__1_ in
3675 let _endpos = _endpos__3_ in
3676 let _v : 'tv_arith_expr_expr_invalid_ =
3677 # 1276 "parser_cocci_menhir.mly"
3678 ( P.logic_op Ast.NotEq _1 _2 _3 )
3679 # 3680 "parser_cocci_menhir.ml"
3680 in
3681 _menhir_env.MenhirLib.EngineTypes.stack <- {
3682 MenhirLib.EngineTypes.state = _menhir_s;
3683 MenhirLib.EngineTypes.semv = Obj.repr _v;
3684 MenhirLib.EngineTypes.startp = _startpos;
3685 MenhirLib.EngineTypes.endp = _endpos;
3686 MenhirLib.EngineTypes.next = _menhir_stack;
3687 });
3688 (fun _menhir_env ->
3689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3690 let {
3691 MenhirLib.EngineTypes.semv = _3;
3692 MenhirLib.EngineTypes.startp = _startpos__3_;
3693 MenhirLib.EngineTypes.endp = _endpos__3_;
3694 MenhirLib.EngineTypes.next = {
3695 MenhirLib.EngineTypes.semv = _2;
3696 MenhirLib.EngineTypes.startp = _startpos__2_;
3697 MenhirLib.EngineTypes.endp = _endpos__2_;
3698 MenhirLib.EngineTypes.next = {
3699 MenhirLib.EngineTypes.state = _menhir_s;
3700 MenhirLib.EngineTypes.semv = _1;
3701 MenhirLib.EngineTypes.startp = _startpos__1_;
3702 MenhirLib.EngineTypes.endp = _endpos__1_;
3703 MenhirLib.EngineTypes.next = _menhir_stack;
3704 };
3705 };
3706 } = _menhir_stack in
3707 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3708 let _2 : (
3709 # 93 "parser_cocci_menhir.mly"
3710 (Data.clt)
3711 # 3712 "parser_cocci_menhir.ml"
3712 ) = Obj.magic _2 in
3713 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3714 let _startpos = _startpos__1_ in
3715 let _endpos = _endpos__3_ in
3716 let _v : 'tv_arith_expr_expr_invalid_ =
3717 # 1278 "parser_cocci_menhir.mly"
3718 ( P.arith_op Ast.And _1 _2 _3 )
3719 # 3720 "parser_cocci_menhir.ml"
3720 in
3721 _menhir_env.MenhirLib.EngineTypes.stack <- {
3722 MenhirLib.EngineTypes.state = _menhir_s;
3723 MenhirLib.EngineTypes.semv = Obj.repr _v;
3724 MenhirLib.EngineTypes.startp = _startpos;
3725 MenhirLib.EngineTypes.endp = _endpos;
3726 MenhirLib.EngineTypes.next = _menhir_stack;
3727 });
3728 (fun _menhir_env ->
3729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3730 let {
3731 MenhirLib.EngineTypes.semv = _3;
3732 MenhirLib.EngineTypes.startp = _startpos__3_;
3733 MenhirLib.EngineTypes.endp = _endpos__3_;
3734 MenhirLib.EngineTypes.next = {
3735 MenhirLib.EngineTypes.semv = _2;
3736 MenhirLib.EngineTypes.startp = _startpos__2_;
3737 MenhirLib.EngineTypes.endp = _endpos__2_;
3738 MenhirLib.EngineTypes.next = {
3739 MenhirLib.EngineTypes.state = _menhir_s;
3740 MenhirLib.EngineTypes.semv = _1;
3741 MenhirLib.EngineTypes.startp = _startpos__1_;
3742 MenhirLib.EngineTypes.endp = _endpos__1_;
3743 MenhirLib.EngineTypes.next = _menhir_stack;
3744 };
3745 };
3746 } = _menhir_stack in
3747 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3748 let _2 : (
3749 # 91 "parser_cocci_menhir.mly"
3750 (Data.clt)
3751 # 3752 "parser_cocci_menhir.ml"
3752 ) = Obj.magic _2 in
3753 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3754 let _startpos = _startpos__1_ in
3755 let _endpos = _endpos__3_ in
3756 let _v : 'tv_arith_expr_expr_invalid_ =
3757 # 1280 "parser_cocci_menhir.mly"
3758 ( P.arith_op Ast.Or _1 _2 _3 )
3759 # 3760 "parser_cocci_menhir.ml"
3760 in
3761 _menhir_env.MenhirLib.EngineTypes.stack <- {
3762 MenhirLib.EngineTypes.state = _menhir_s;
3763 MenhirLib.EngineTypes.semv = Obj.repr _v;
3764 MenhirLib.EngineTypes.startp = _startpos;
3765 MenhirLib.EngineTypes.endp = _endpos;
3766 MenhirLib.EngineTypes.next = _menhir_stack;
3767 });
3768 (fun _menhir_env ->
3769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3770 let {
3771 MenhirLib.EngineTypes.semv = _3;
3772 MenhirLib.EngineTypes.startp = _startpos__3_;
3773 MenhirLib.EngineTypes.endp = _endpos__3_;
3774 MenhirLib.EngineTypes.next = {
3775 MenhirLib.EngineTypes.semv = _2;
3776 MenhirLib.EngineTypes.startp = _startpos__2_;
3777 MenhirLib.EngineTypes.endp = _endpos__2_;
3778 MenhirLib.EngineTypes.next = {
3779 MenhirLib.EngineTypes.state = _menhir_s;
3780 MenhirLib.EngineTypes.semv = _1;
3781 MenhirLib.EngineTypes.startp = _startpos__1_;
3782 MenhirLib.EngineTypes.endp = _endpos__1_;
3783 MenhirLib.EngineTypes.next = _menhir_stack;
3784 };
3785 };
3786 } = _menhir_stack in
3787 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3788 let _2 : (
3789 # 92 "parser_cocci_menhir.mly"
3790 (Data.clt)
3791 # 3792 "parser_cocci_menhir.ml"
3792 ) = Obj.magic _2 in
3793 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3794 let _startpos = _startpos__1_ in
3795 let _endpos = _endpos__3_ in
3796 let _v : 'tv_arith_expr_expr_invalid_ =
3797 # 1282 "parser_cocci_menhir.mly"
3798 ( P.arith_op Ast.Xor _1 _2 _3 )
3799 # 3800 "parser_cocci_menhir.ml"
3800 in
3801 _menhir_env.MenhirLib.EngineTypes.stack <- {
3802 MenhirLib.EngineTypes.state = _menhir_s;
3803 MenhirLib.EngineTypes.semv = Obj.repr _v;
3804 MenhirLib.EngineTypes.startp = _startpos;
3805 MenhirLib.EngineTypes.endp = _endpos;
3806 MenhirLib.EngineTypes.next = _menhir_stack;
3807 });
3808 (fun _menhir_env ->
3809 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3810 let {
3811 MenhirLib.EngineTypes.semv = _3;
3812 MenhirLib.EngineTypes.startp = _startpos__3_;
3813 MenhirLib.EngineTypes.endp = _endpos__3_;
3814 MenhirLib.EngineTypes.next = {
3815 MenhirLib.EngineTypes.semv = _2;
3816 MenhirLib.EngineTypes.startp = _startpos__2_;
3817 MenhirLib.EngineTypes.endp = _endpos__2_;
3818 MenhirLib.EngineTypes.next = {
3819 MenhirLib.EngineTypes.state = _menhir_s;
3820 MenhirLib.EngineTypes.semv = _1;
3821 MenhirLib.EngineTypes.startp = _startpos__1_;
3822 MenhirLib.EngineTypes.endp = _endpos__1_;
3823 MenhirLib.EngineTypes.next = _menhir_stack;
3824 };
3825 };
3826 } = _menhir_stack in
3827 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3828 let _2 : (
3829 # 90 "parser_cocci_menhir.mly"
3830 (Data.clt)
3831 # 3832 "parser_cocci_menhir.ml"
3832 ) = Obj.magic _2 in
3833 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3834 let _startpos = _startpos__1_ in
3835 let _endpos = _endpos__3_ in
3836 let _v : 'tv_arith_expr_expr_invalid_ =
3837 # 1284 "parser_cocci_menhir.mly"
3838 ( P.logic_op Ast.AndLog _1 _2 _3 )
3839 # 3840 "parser_cocci_menhir.ml"
3840 in
3841 _menhir_env.MenhirLib.EngineTypes.stack <- {
3842 MenhirLib.EngineTypes.state = _menhir_s;
3843 MenhirLib.EngineTypes.semv = Obj.repr _v;
3844 MenhirLib.EngineTypes.startp = _startpos;
3845 MenhirLib.EngineTypes.endp = _endpos;
3846 MenhirLib.EngineTypes.next = _menhir_stack;
3847 });
3848 (fun _menhir_env ->
3849 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3850 let {
3851 MenhirLib.EngineTypes.semv = _3;
3852 MenhirLib.EngineTypes.startp = _startpos__3_;
3853 MenhirLib.EngineTypes.endp = _endpos__3_;
3854 MenhirLib.EngineTypes.next = {
3855 MenhirLib.EngineTypes.semv = _2;
3856 MenhirLib.EngineTypes.startp = _startpos__2_;
3857 MenhirLib.EngineTypes.endp = _endpos__2_;
3858 MenhirLib.EngineTypes.next = {
3859 MenhirLib.EngineTypes.state = _menhir_s;
3860 MenhirLib.EngineTypes.semv = _1;
3861 MenhirLib.EngineTypes.startp = _startpos__1_;
3862 MenhirLib.EngineTypes.endp = _endpos__1_;
3863 MenhirLib.EngineTypes.next = _menhir_stack;
3864 };
3865 };
3866 } = _menhir_stack in
3867 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3868 let _2 : (
3869 # 89 "parser_cocci_menhir.mly"
3870 (Data.clt)
3871 # 3872 "parser_cocci_menhir.ml"
3872 ) = Obj.magic _2 in
3873 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3874 let _startpos = _startpos__1_ in
3875 let _endpos = _endpos__3_ in
3876 let _v : 'tv_arith_expr_expr_invalid_ =
3877 # 1286 "parser_cocci_menhir.mly"
3878 ( P.logic_op Ast.OrLog _1 _2 _3 )
3879 # 3880 "parser_cocci_menhir.ml"
3880 in
3881 _menhir_env.MenhirLib.EngineTypes.stack <- {
3882 MenhirLib.EngineTypes.state = _menhir_s;
3883 MenhirLib.EngineTypes.semv = Obj.repr _v;
3884 MenhirLib.EngineTypes.startp = _startpos;
3885 MenhirLib.EngineTypes.endp = _endpos;
3886 MenhirLib.EngineTypes.next = _menhir_stack;
3887 });
3888 (fun _menhir_env ->
3889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3890 let {
3891 MenhirLib.EngineTypes.state = _menhir_s;
3892 MenhirLib.EngineTypes.startp = _startpos__1_;
3893 MenhirLib.EngineTypes.endp = _endpos__1_;
3894 MenhirLib.EngineTypes.next = _menhir_stack;
3895 } = _menhir_stack in
3896 let _startpos = _startpos__1_ in
3897 let _endpos = _endpos__1_ in
3898 let _v : 'tv_arity =
3899 # 468 "parser_cocci_menhir.mly"
3900 ( Ast.UNIQUE )
3901 # 3902 "parser_cocci_menhir.ml"
3902 in
3903 _menhir_env.MenhirLib.EngineTypes.stack <- {
3904 MenhirLib.EngineTypes.state = _menhir_s;
3905 MenhirLib.EngineTypes.semv = Obj.repr _v;
3906 MenhirLib.EngineTypes.startp = _startpos;
3907 MenhirLib.EngineTypes.endp = _endpos;
3908 MenhirLib.EngineTypes.next = _menhir_stack;
3909 });
3910 (fun _menhir_env ->
3911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3912 let {
3913 MenhirLib.EngineTypes.state = _menhir_s;
3914 MenhirLib.EngineTypes.startp = _startpos__1_;
3915 MenhirLib.EngineTypes.endp = _endpos__1_;
3916 MenhirLib.EngineTypes.next = _menhir_stack;
3917 } = _menhir_stack in
3918 let _startpos = _startpos__1_ in
3919 let _endpos = _endpos__1_ in
3920 let _v : 'tv_arity =
3921 # 469 "parser_cocci_menhir.mly"
3922 ( Ast.OPT )
3923 # 3924 "parser_cocci_menhir.ml"
3924 in
3925 _menhir_env.MenhirLib.EngineTypes.stack <- {
3926 MenhirLib.EngineTypes.state = _menhir_s;
3927 MenhirLib.EngineTypes.semv = Obj.repr _v;
3928 MenhirLib.EngineTypes.startp = _startpos;
3929 MenhirLib.EngineTypes.endp = _endpos;
3930 MenhirLib.EngineTypes.next = _menhir_stack;
3931 });
3932 (fun _menhir_env ->
3933 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3934 let {
3935 MenhirLib.EngineTypes.state = _menhir_s;
3936 MenhirLib.EngineTypes.startp = _startpos__1_;
3937 MenhirLib.EngineTypes.endp = _endpos__1_;
3938 MenhirLib.EngineTypes.next = _menhir_stack;
3939 } = _menhir_stack in
3940 let _startpos = _startpos__1_ in
3941 let _endpos = _endpos__1_ in
3942 let _v : 'tv_arity =
3943 # 470 "parser_cocci_menhir.mly"
3944 ( Ast.MULTI )
3945 # 3946 "parser_cocci_menhir.ml"
3946 in
3947 _menhir_env.MenhirLib.EngineTypes.stack <- {
3948 MenhirLib.EngineTypes.state = _menhir_s;
3949 MenhirLib.EngineTypes.semv = Obj.repr _v;
3950 MenhirLib.EngineTypes.startp = _startpos;
3951 MenhirLib.EngineTypes.endp = _endpos;
3952 MenhirLib.EngineTypes.next = _menhir_stack;
3953 });
3954 (fun _menhir_env ->
3955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3956 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
3957 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
3958 let _endpos = _startpos in
3959 let _v : 'tv_arity =
3960 # 471 "parser_cocci_menhir.mly"
3961 ( Ast.NONE )
3962 # 3963 "parser_cocci_menhir.ml"
3963 in
3964 _menhir_env.MenhirLib.EngineTypes.stack <- {
3965 MenhirLib.EngineTypes.state = _menhir_s;
3966 MenhirLib.EngineTypes.semv = Obj.repr _v;
3967 MenhirLib.EngineTypes.startp = _startpos;
3968 MenhirLib.EngineTypes.endp = _endpos;
3969 MenhirLib.EngineTypes.next = _menhir_stack;
3970 });
3971 (fun _menhir_env ->
3972 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3973 let {
3974 MenhirLib.EngineTypes.semv = r;
3975 MenhirLib.EngineTypes.startp = _startpos_r_;
3976 MenhirLib.EngineTypes.endp = _endpos_r_;
3977 MenhirLib.EngineTypes.next = {
3978 MenhirLib.EngineTypes.semv = i;
3979 MenhirLib.EngineTypes.startp = _startpos_i_;
3980 MenhirLib.EngineTypes.endp = _endpos_i_;
3981 MenhirLib.EngineTypes.next = {
3982 MenhirLib.EngineTypes.state = _menhir_s;
3983 MenhirLib.EngineTypes.semv = l;
3984 MenhirLib.EngineTypes.startp = _startpos_l_;
3985 MenhirLib.EngineTypes.endp = _endpos_l_;
3986 MenhirLib.EngineTypes.next = _menhir_stack;
3987 };
3988 };
3989 } = _menhir_stack in
3990 let r : (
3991 # 102 "parser_cocci_menhir.mly"
3992 (Data.clt)
3993 # 3994 "parser_cocci_menhir.ml"
3994 ) = Obj.magic r in
3995 let i : 'tv_option_eexpr_ = Obj.magic i in
3996 let l : (
3997 # 102 "parser_cocci_menhir.mly"
3998 (Data.clt)
3999 # 4000 "parser_cocci_menhir.ml"
4000 ) = Obj.magic l in
4001 let _startpos = _startpos_l_ in
4002 let _endpos = _endpos_r_ in
4003 let _v : 'tv_array_dec =
4004 # 1067 "parser_cocci_menhir.mly"
4005 ( (l,i,r) )
4006 # 4007 "parser_cocci_menhir.ml"
4007 in
4008 _menhir_env.MenhirLib.EngineTypes.stack <- {
4009 MenhirLib.EngineTypes.state = _menhir_s;
4010 MenhirLib.EngineTypes.semv = Obj.repr _v;
4011 MenhirLib.EngineTypes.startp = _startpos;
4012 MenhirLib.EngineTypes.endp = _endpos;
4013 MenhirLib.EngineTypes.next = _menhir_stack;
4014 });
4015 (fun _menhir_env ->
4016 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4017 let {
4018 MenhirLib.EngineTypes.state = _menhir_s;
4019 MenhirLib.EngineTypes.semv = _1;
4020 MenhirLib.EngineTypes.startp = _startpos__1_;
4021 MenhirLib.EngineTypes.endp = _endpos__1_;
4022 MenhirLib.EngineTypes.next = _menhir_stack;
4023 } = _menhir_stack in
4024 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4025 let _startpos = _startpos__1_ in
4026 let _endpos = _endpos__1_ in
4027 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4028 # 1232 "parser_cocci_menhir.mly"
4029 ( _1 )
4030 # 4031 "parser_cocci_menhir.ml"
4031 in
4032 _menhir_env.MenhirLib.EngineTypes.stack <- {
4033 MenhirLib.EngineTypes.state = _menhir_s;
4034 MenhirLib.EngineTypes.semv = Obj.repr _v;
4035 MenhirLib.EngineTypes.startp = _startpos;
4036 MenhirLib.EngineTypes.endp = _endpos;
4037 MenhirLib.EngineTypes.next = _menhir_stack;
4038 });
4039 (fun _menhir_env ->
4040 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4041 let {
4042 MenhirLib.EngineTypes.semv = _3;
4043 MenhirLib.EngineTypes.startp = _startpos__3_;
4044 MenhirLib.EngineTypes.endp = _endpos__3_;
4045 MenhirLib.EngineTypes.next = {
4046 MenhirLib.EngineTypes.semv = _2;
4047 MenhirLib.EngineTypes.startp = _startpos__2_;
4048 MenhirLib.EngineTypes.endp = _endpos__2_;
4049 MenhirLib.EngineTypes.next = {
4050 MenhirLib.EngineTypes.state = _menhir_s;
4051 MenhirLib.EngineTypes.semv = _1;
4052 MenhirLib.EngineTypes.startp = _startpos__1_;
4053 MenhirLib.EngineTypes.endp = _endpos__1_;
4054 MenhirLib.EngineTypes.next = _menhir_stack;
4055 };
4056 };
4057 } = _menhir_stack in
4058 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4059 let _2 : (
4060 # 108 "parser_cocci_menhir.mly"
4061 (Ast_cocci.assignOp * Data.clt)
4062 # 4063 "parser_cocci_menhir.ml"
4063 ) = Obj.magic _2 in
4064 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4065 let _startpos = _startpos__1_ in
4066 let _endpos = _endpos__3_ in
4067 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4068 # 1234 "parser_cocci_menhir.mly"
4069 ( let (op,clt) = _2 in
4070 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4071 Ast0.set_arg_exp _3,false)) )
4072 # 4073 "parser_cocci_menhir.ml"
4073 in
4074 _menhir_env.MenhirLib.EngineTypes.stack <- {
4075 MenhirLib.EngineTypes.state = _menhir_s;
4076 MenhirLib.EngineTypes.semv = Obj.repr _v;
4077 MenhirLib.EngineTypes.startp = _startpos;
4078 MenhirLib.EngineTypes.endp = _endpos;
4079 MenhirLib.EngineTypes.next = _menhir_stack;
4080 });
4081 (fun _menhir_env ->
4082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4083 let {
4084 MenhirLib.EngineTypes.semv = _3;
4085 MenhirLib.EngineTypes.startp = _startpos__3_;
4086 MenhirLib.EngineTypes.endp = _endpos__3_;
4087 MenhirLib.EngineTypes.next = {
4088 MenhirLib.EngineTypes.semv = _2;
4089 MenhirLib.EngineTypes.startp = _startpos__2_;
4090 MenhirLib.EngineTypes.endp = _endpos__2_;
4091 MenhirLib.EngineTypes.next = {
4092 MenhirLib.EngineTypes.state = _menhir_s;
4093 MenhirLib.EngineTypes.semv = _1;
4094 MenhirLib.EngineTypes.startp = _startpos__1_;
4095 MenhirLib.EngineTypes.endp = _endpos__1_;
4096 MenhirLib.EngineTypes.next = _menhir_stack;
4097 };
4098 };
4099 } = _menhir_stack in
4100 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4101 let _2 : (
4102 # 107 "parser_cocci_menhir.mly"
4103 (Data.clt)
4104 # 4105 "parser_cocci_menhir.ml"
4105 ) = Obj.magic _2 in
4106 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4107 let _startpos = _startpos__1_ in
4108 let _endpos = _endpos__3_ in
4109 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4110 # 1238 "parser_cocci_menhir.mly"
4111 ( Ast0.wrap
4112 (Ast0.Assignment
4113 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4114 # 4115 "parser_cocci_menhir.ml"
4115 in
4116 _menhir_env.MenhirLib.EngineTypes.stack <- {
4117 MenhirLib.EngineTypes.state = _menhir_s;
4118 MenhirLib.EngineTypes.semv = Obj.repr _v;
4119 MenhirLib.EngineTypes.startp = _startpos;
4120 MenhirLib.EngineTypes.endp = _endpos;
4121 MenhirLib.EngineTypes.next = _menhir_stack;
4122 });
4123 (fun _menhir_env ->
4124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4125 let {
4126 MenhirLib.EngineTypes.state = _menhir_s;
4127 MenhirLib.EngineTypes.semv = _1;
4128 MenhirLib.EngineTypes.startp = _startpos__1_;
4129 MenhirLib.EngineTypes.endp = _endpos__1_;
4130 MenhirLib.EngineTypes.next = _menhir_stack;
4131 } = _menhir_stack in
4132 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4133 let _startpos = _startpos__1_ in
4134 let _endpos = _endpos__1_ in
4135 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4136 # 1232 "parser_cocci_menhir.mly"
4137 ( _1 )
4138 # 4139 "parser_cocci_menhir.ml"
4139 in
4140 _menhir_env.MenhirLib.EngineTypes.stack <- {
4141 MenhirLib.EngineTypes.state = _menhir_s;
4142 MenhirLib.EngineTypes.semv = Obj.repr _v;
4143 MenhirLib.EngineTypes.startp = _startpos;
4144 MenhirLib.EngineTypes.endp = _endpos;
4145 MenhirLib.EngineTypes.next = _menhir_stack;
4146 });
4147 (fun _menhir_env ->
4148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4149 let {
4150 MenhirLib.EngineTypes.semv = _3;
4151 MenhirLib.EngineTypes.startp = _startpos__3_;
4152 MenhirLib.EngineTypes.endp = _endpos__3_;
4153 MenhirLib.EngineTypes.next = {
4154 MenhirLib.EngineTypes.semv = _2;
4155 MenhirLib.EngineTypes.startp = _startpos__2_;
4156 MenhirLib.EngineTypes.endp = _endpos__2_;
4157 MenhirLib.EngineTypes.next = {
4158 MenhirLib.EngineTypes.state = _menhir_s;
4159 MenhirLib.EngineTypes.semv = _1;
4160 MenhirLib.EngineTypes.startp = _startpos__1_;
4161 MenhirLib.EngineTypes.endp = _endpos__1_;
4162 MenhirLib.EngineTypes.next = _menhir_stack;
4163 };
4164 };
4165 } = _menhir_stack in
4166 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4167 let _2 : (
4168 # 108 "parser_cocci_menhir.mly"
4169 (Ast_cocci.assignOp * Data.clt)
4170 # 4171 "parser_cocci_menhir.ml"
4171 ) = Obj.magic _2 in
4172 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4173 let _startpos = _startpos__1_ in
4174 let _endpos = _endpos__3_ in
4175 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4176 # 1234 "parser_cocci_menhir.mly"
4177 ( let (op,clt) = _2 in
4178 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4179 Ast0.set_arg_exp _3,false)) )
4180 # 4181 "parser_cocci_menhir.ml"
4181 in
4182 _menhir_env.MenhirLib.EngineTypes.stack <- {
4183 MenhirLib.EngineTypes.state = _menhir_s;
4184 MenhirLib.EngineTypes.semv = Obj.repr _v;
4185 MenhirLib.EngineTypes.startp = _startpos;
4186 MenhirLib.EngineTypes.endp = _endpos;
4187 MenhirLib.EngineTypes.next = _menhir_stack;
4188 });
4189 (fun _menhir_env ->
4190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4191 let {
4192 MenhirLib.EngineTypes.semv = _3;
4193 MenhirLib.EngineTypes.startp = _startpos__3_;
4194 MenhirLib.EngineTypes.endp = _endpos__3_;
4195 MenhirLib.EngineTypes.next = {
4196 MenhirLib.EngineTypes.semv = _2;
4197 MenhirLib.EngineTypes.startp = _startpos__2_;
4198 MenhirLib.EngineTypes.endp = _endpos__2_;
4199 MenhirLib.EngineTypes.next = {
4200 MenhirLib.EngineTypes.state = _menhir_s;
4201 MenhirLib.EngineTypes.semv = _1;
4202 MenhirLib.EngineTypes.startp = _startpos__1_;
4203 MenhirLib.EngineTypes.endp = _endpos__1_;
4204 MenhirLib.EngineTypes.next = _menhir_stack;
4205 };
4206 };
4207 } = _menhir_stack in
4208 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4209 let _2 : (
4210 # 107 "parser_cocci_menhir.mly"
4211 (Data.clt)
4212 # 4213 "parser_cocci_menhir.ml"
4213 ) = Obj.magic _2 in
4214 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4215 let _startpos = _startpos__1_ in
4216 let _endpos = _endpos__3_ in
4217 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4218 # 1238 "parser_cocci_menhir.mly"
4219 ( Ast0.wrap
4220 (Ast0.Assignment
4221 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4222 # 4223 "parser_cocci_menhir.ml"
4223 in
4224 _menhir_env.MenhirLib.EngineTypes.stack <- {
4225 MenhirLib.EngineTypes.state = _menhir_s;
4226 MenhirLib.EngineTypes.semv = Obj.repr _v;
4227 MenhirLib.EngineTypes.startp = _startpos;
4228 MenhirLib.EngineTypes.endp = _endpos;
4229 MenhirLib.EngineTypes.next = _menhir_stack;
4230 });
4231 (fun _menhir_env ->
4232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4233 let {
4234 MenhirLib.EngineTypes.state = _menhir_s;
4235 MenhirLib.EngineTypes.semv = _1;
4236 MenhirLib.EngineTypes.startp = _startpos__1_;
4237 MenhirLib.EngineTypes.endp = _endpos__1_;
4238 MenhirLib.EngineTypes.next = _menhir_stack;
4239 } = _menhir_stack in
4240 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
4241 let _startpos = _startpos__1_ in
4242 let _endpos = _endpos__1_ in
4243 let _v : 'tv_assign_expr_expr_invalid_ =
4244 # 1232 "parser_cocci_menhir.mly"
4245 ( _1 )
4246 # 4247 "parser_cocci_menhir.ml"
4247 in
4248 _menhir_env.MenhirLib.EngineTypes.stack <- {
4249 MenhirLib.EngineTypes.state = _menhir_s;
4250 MenhirLib.EngineTypes.semv = Obj.repr _v;
4251 MenhirLib.EngineTypes.startp = _startpos;
4252 MenhirLib.EngineTypes.endp = _endpos;
4253 MenhirLib.EngineTypes.next = _menhir_stack;
4254 });
4255 (fun _menhir_env ->
4256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4257 let {
4258 MenhirLib.EngineTypes.semv = _3;
4259 MenhirLib.EngineTypes.startp = _startpos__3_;
4260 MenhirLib.EngineTypes.endp = _endpos__3_;
4261 MenhirLib.EngineTypes.next = {
4262 MenhirLib.EngineTypes.semv = _2;
4263 MenhirLib.EngineTypes.startp = _startpos__2_;
4264 MenhirLib.EngineTypes.endp = _endpos__2_;
4265 MenhirLib.EngineTypes.next = {
4266 MenhirLib.EngineTypes.state = _menhir_s;
4267 MenhirLib.EngineTypes.semv = _1;
4268 MenhirLib.EngineTypes.startp = _startpos__1_;
4269 MenhirLib.EngineTypes.endp = _endpos__1_;
4270 MenhirLib.EngineTypes.next = _menhir_stack;
4271 };
4272 };
4273 } = _menhir_stack in
4274 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4275 let _2 : (
4276 # 108 "parser_cocci_menhir.mly"
4277 (Ast_cocci.assignOp * Data.clt)
4278 # 4279 "parser_cocci_menhir.ml"
4279 ) = Obj.magic _2 in
4280 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4281 let _startpos = _startpos__1_ in
4282 let _endpos = _endpos__3_ in
4283 let _v : 'tv_assign_expr_expr_invalid_ =
4284 # 1234 "parser_cocci_menhir.mly"
4285 ( let (op,clt) = _2 in
4286 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4287 Ast0.set_arg_exp _3,false)) )
4288 # 4289 "parser_cocci_menhir.ml"
4289 in
4290 _menhir_env.MenhirLib.EngineTypes.stack <- {
4291 MenhirLib.EngineTypes.state = _menhir_s;
4292 MenhirLib.EngineTypes.semv = Obj.repr _v;
4293 MenhirLib.EngineTypes.startp = _startpos;
4294 MenhirLib.EngineTypes.endp = _endpos;
4295 MenhirLib.EngineTypes.next = _menhir_stack;
4296 });
4297 (fun _menhir_env ->
4298 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4299 let {
4300 MenhirLib.EngineTypes.semv = _3;
4301 MenhirLib.EngineTypes.startp = _startpos__3_;
4302 MenhirLib.EngineTypes.endp = _endpos__3_;
4303 MenhirLib.EngineTypes.next = {
4304 MenhirLib.EngineTypes.semv = _2;
4305 MenhirLib.EngineTypes.startp = _startpos__2_;
4306 MenhirLib.EngineTypes.endp = _endpos__2_;
4307 MenhirLib.EngineTypes.next = {
4308 MenhirLib.EngineTypes.state = _menhir_s;
4309 MenhirLib.EngineTypes.semv = _1;
4310 MenhirLib.EngineTypes.startp = _startpos__1_;
4311 MenhirLib.EngineTypes.endp = _endpos__1_;
4312 MenhirLib.EngineTypes.next = _menhir_stack;
4313 };
4314 };
4315 } = _menhir_stack in
4316 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4317 let _2 : (
4318 # 107 "parser_cocci_menhir.mly"
4319 (Data.clt)
4320 # 4321 "parser_cocci_menhir.ml"
4321 ) = Obj.magic _2 in
4322 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4323 let _startpos = _startpos__1_ in
4324 let _endpos = _endpos__3_ in
4325 let _v : 'tv_assign_expr_expr_invalid_ =
4326 # 1238 "parser_cocci_menhir.mly"
4327 ( Ast0.wrap
4328 (Ast0.Assignment
4329 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4330 # 4331 "parser_cocci_menhir.ml"
4331 in
4332 _menhir_env.MenhirLib.EngineTypes.stack <- {
4333 MenhirLib.EngineTypes.state = _menhir_s;
4334 MenhirLib.EngineTypes.semv = Obj.repr _v;
4335 MenhirLib.EngineTypes.startp = _startpos;
4336 MenhirLib.EngineTypes.endp = _endpos;
4337 MenhirLib.EngineTypes.next = _menhir_stack;
4338 });
4339 (fun _menhir_env ->
4340 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4341 let {
4342 MenhirLib.EngineTypes.state = _menhir_s;
4343 MenhirLib.EngineTypes.semv = _1;
4344 MenhirLib.EngineTypes.startp = _startpos__1_;
4345 MenhirLib.EngineTypes.endp = _endpos__1_;
4346 MenhirLib.EngineTypes.next = _menhir_stack;
4347 } = _menhir_stack in
4348 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4349 let _startpos = _startpos__1_ in
4350 let _endpos = _endpos__1_ in
4351 let _v : 'tv_assign_expr_bis =
4352 # 1243 "parser_cocci_menhir.mly"
4353 ( _1 )
4354 # 4355 "parser_cocci_menhir.ml"
4355 in
4356 _menhir_env.MenhirLib.EngineTypes.stack <- {
4357 MenhirLib.EngineTypes.state = _menhir_s;
4358 MenhirLib.EngineTypes.semv = Obj.repr _v;
4359 MenhirLib.EngineTypes.startp = _startpos;
4360 MenhirLib.EngineTypes.endp = _endpos;
4361 MenhirLib.EngineTypes.next = _menhir_stack;
4362 });
4363 (fun _menhir_env ->
4364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4365 let {
4366 MenhirLib.EngineTypes.semv = _3;
4367 MenhirLib.EngineTypes.startp = _startpos__3_;
4368 MenhirLib.EngineTypes.endp = _endpos__3_;
4369 MenhirLib.EngineTypes.next = {
4370 MenhirLib.EngineTypes.semv = _2;
4371 MenhirLib.EngineTypes.startp = _startpos__2_;
4372 MenhirLib.EngineTypes.endp = _endpos__2_;
4373 MenhirLib.EngineTypes.next = {
4374 MenhirLib.EngineTypes.state = _menhir_s;
4375 MenhirLib.EngineTypes.semv = _1;
4376 MenhirLib.EngineTypes.startp = _startpos__1_;
4377 MenhirLib.EngineTypes.endp = _endpos__1_;
4378 MenhirLib.EngineTypes.next = _menhir_stack;
4379 };
4380 };
4381 } = _menhir_stack in
4382 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4383 let _2 : (
4384 # 108 "parser_cocci_menhir.mly"
4385 (Ast_cocci.assignOp * Data.clt)
4386 # 4387 "parser_cocci_menhir.ml"
4387 ) = Obj.magic _2 in
4388 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4389 let _startpos = _startpos__1_ in
4390 let _endpos = _endpos__3_ in
4391 let _v : 'tv_assign_expr_bis =
4392 # 1245 "parser_cocci_menhir.mly"
4393 ( let (op,clt) = _2 in
4394 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4395 Ast0.set_arg_exp _3,false)) )
4396 # 4397 "parser_cocci_menhir.ml"
4397 in
4398 _menhir_env.MenhirLib.EngineTypes.stack <- {
4399 MenhirLib.EngineTypes.state = _menhir_s;
4400 MenhirLib.EngineTypes.semv = Obj.repr _v;
4401 MenhirLib.EngineTypes.startp = _startpos;
4402 MenhirLib.EngineTypes.endp = _endpos;
4403 MenhirLib.EngineTypes.next = _menhir_stack;
4404 });
4405 (fun _menhir_env ->
4406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4407 let {
4408 MenhirLib.EngineTypes.semv = _3;
4409 MenhirLib.EngineTypes.startp = _startpos__3_;
4410 MenhirLib.EngineTypes.endp = _endpos__3_;
4411 MenhirLib.EngineTypes.next = {
4412 MenhirLib.EngineTypes.semv = _2;
4413 MenhirLib.EngineTypes.startp = _startpos__2_;
4414 MenhirLib.EngineTypes.endp = _endpos__2_;
4415 MenhirLib.EngineTypes.next = {
4416 MenhirLib.EngineTypes.state = _menhir_s;
4417 MenhirLib.EngineTypes.semv = _1;
4418 MenhirLib.EngineTypes.startp = _startpos__1_;
4419 MenhirLib.EngineTypes.endp = _endpos__1_;
4420 MenhirLib.EngineTypes.next = _menhir_stack;
4421 };
4422 };
4423 } = _menhir_stack in
4424 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4425 let _2 : (
4426 # 107 "parser_cocci_menhir.mly"
4427 (Data.clt)
4428 # 4429 "parser_cocci_menhir.ml"
4429 ) = Obj.magic _2 in
4430 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4431 let _startpos = _startpos__1_ in
4432 let _endpos = _endpos__3_ in
4433 let _v : 'tv_assign_expr_bis =
4434 # 1249 "parser_cocci_menhir.mly"
4435 ( Ast0.wrap
4436 (Ast0.Assignment
4437 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4438 # 4439 "parser_cocci_menhir.ml"
4439 in
4440 _menhir_env.MenhirLib.EngineTypes.stack <- {
4441 MenhirLib.EngineTypes.state = _menhir_s;
4442 MenhirLib.EngineTypes.semv = Obj.repr _v;
4443 MenhirLib.EngineTypes.startp = _startpos;
4444 MenhirLib.EngineTypes.endp = _endpos;
4445 MenhirLib.EngineTypes.next = _menhir_stack;
4446 });
4447 (fun _menhir_env ->
4448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4449 let {
4450 MenhirLib.EngineTypes.state = _menhir_s;
4451 MenhirLib.EngineTypes.semv = _1;
4452 MenhirLib.EngineTypes.startp = _startpos__1_;
4453 MenhirLib.EngineTypes.endp = _endpos__1_;
4454 MenhirLib.EngineTypes.next = _menhir_stack;
4455 } = _menhir_stack in
4456 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4457 let _startpos = _startpos__1_ in
4458 let _endpos = _endpos__1_ in
4459 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
4460 # 1229 "parser_cocci_menhir.mly"
4461 ( _1 )
4462 # 4463 "parser_cocci_menhir.ml"
4463 in
4464 _menhir_env.MenhirLib.EngineTypes.stack <- {
4465 MenhirLib.EngineTypes.state = _menhir_s;
4466 MenhirLib.EngineTypes.semv = Obj.repr _v;
4467 MenhirLib.EngineTypes.startp = _startpos;
4468 MenhirLib.EngineTypes.endp = _endpos;
4469 MenhirLib.EngineTypes.next = _menhir_stack;
4470 });
4471 (fun _menhir_env ->
4472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4473 let {
4474 MenhirLib.EngineTypes.state = _menhir_s;
4475 MenhirLib.EngineTypes.semv = _1;
4476 MenhirLib.EngineTypes.startp = _startpos__1_;
4477 MenhirLib.EngineTypes.endp = _endpos__1_;
4478 MenhirLib.EngineTypes.next = _menhir_stack;
4479 } = _menhir_stack in
4480 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4481 let _startpos = _startpos__1_ in
4482 let _endpos = _endpos__1_ in
4483 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
4484 # 1229 "parser_cocci_menhir.mly"
4485 ( _1 )
4486 # 4487 "parser_cocci_menhir.ml"
4487 in
4488 _menhir_env.MenhirLib.EngineTypes.stack <- {
4489 MenhirLib.EngineTypes.state = _menhir_s;
4490 MenhirLib.EngineTypes.semv = Obj.repr _v;
4491 MenhirLib.EngineTypes.startp = _startpos;
4492 MenhirLib.EngineTypes.endp = _endpos;
4493 MenhirLib.EngineTypes.next = _menhir_stack;
4494 });
4495 (fun _menhir_env ->
4496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4497 let {
4498 MenhirLib.EngineTypes.state = _menhir_s;
4499 MenhirLib.EngineTypes.semv = _1;
4500 MenhirLib.EngineTypes.startp = _startpos__1_;
4501 MenhirLib.EngineTypes.endp = _endpos__1_;
4502 MenhirLib.EngineTypes.next = _menhir_stack;
4503 } = _menhir_stack in
4504 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
4505 let _startpos = _startpos__1_ in
4506 let _endpos = _endpos__1_ in
4507 let _v : 'tv_basic_expr_expr_invalid_ =
4508 # 1229 "parser_cocci_menhir.mly"
4509 ( _1 )
4510 # 4511 "parser_cocci_menhir.ml"
4511 in
4512 _menhir_env.MenhirLib.EngineTypes.stack <- {
4513 MenhirLib.EngineTypes.state = _menhir_s;
4514 MenhirLib.EngineTypes.semv = Obj.repr _v;
4515 MenhirLib.EngineTypes.startp = _startpos;
4516 MenhirLib.EngineTypes.endp = _endpos;
4517 MenhirLib.EngineTypes.next = _menhir_stack;
4518 });
4519 (fun _menhir_env ->
4520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4521 let {
4522 MenhirLib.EngineTypes.semv = _3;
4523 MenhirLib.EngineTypes.startp = _startpos__3_;
4524 MenhirLib.EngineTypes.endp = _endpos__3_;
4525 MenhirLib.EngineTypes.next = {
4526 MenhirLib.EngineTypes.semv = _2;
4527 MenhirLib.EngineTypes.startp = _startpos__2_;
4528 MenhirLib.EngineTypes.endp = _endpos__2_;
4529 MenhirLib.EngineTypes.next = {
4530 MenhirLib.EngineTypes.state = _menhir_s;
4531 MenhirLib.EngineTypes.semv = _1;
4532 MenhirLib.EngineTypes.startp = _startpos__1_;
4533 MenhirLib.EngineTypes.endp = _endpos__1_;
4534 MenhirLib.EngineTypes.next = _menhir_stack;
4535 };
4536 };
4537 } = _menhir_stack in
4538 let _3 : 'tv_fun_start = Obj.magic _3 in
4539 let _2 : (
4540 # 76 "parser_cocci_menhir.mly"
4541 (Data.clt)
4542 # 4543 "parser_cocci_menhir.ml"
4543 ) = Obj.magic _2 in
4544 let _1 : (
4545 # 57 "parser_cocci_menhir.mly"
4546 (Data.clt)
4547 # 4548 "parser_cocci_menhir.ml"
4548 ) = Obj.magic _1 in
4549 let _startpos = _startpos__1_ in
4550 let _endpos = _endpos__3_ in
4551 let _v : 'tv_case_line =
4552 # 931 "parser_cocci_menhir.mly"
4553 ( Ast0.wrap
4554 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
4555 # 4556 "parser_cocci_menhir.ml"
4556 in
4557 _menhir_env.MenhirLib.EngineTypes.stack <- {
4558 MenhirLib.EngineTypes.state = _menhir_s;
4559 MenhirLib.EngineTypes.semv = Obj.repr _v;
4560 MenhirLib.EngineTypes.startp = _startpos;
4561 MenhirLib.EngineTypes.endp = _endpos;
4562 MenhirLib.EngineTypes.next = _menhir_stack;
4563 });
4564 (fun _menhir_env ->
4565 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4566 let {
4567 MenhirLib.EngineTypes.semv = _4;
4568 MenhirLib.EngineTypes.startp = _startpos__4_;
4569 MenhirLib.EngineTypes.endp = _endpos__4_;
4570 MenhirLib.EngineTypes.next = {
4571 MenhirLib.EngineTypes.semv = _3;
4572 MenhirLib.EngineTypes.startp = _startpos__3_;
4573 MenhirLib.EngineTypes.endp = _endpos__3_;
4574 MenhirLib.EngineTypes.next = {
4575 MenhirLib.EngineTypes.semv = _2;
4576 MenhirLib.EngineTypes.startp = _startpos__2_;
4577 MenhirLib.EngineTypes.endp = _endpos__2_;
4578 MenhirLib.EngineTypes.next = {
4579 MenhirLib.EngineTypes.state = _menhir_s;
4580 MenhirLib.EngineTypes.semv = _1;
4581 MenhirLib.EngineTypes.startp = _startpos__1_;
4582 MenhirLib.EngineTypes.endp = _endpos__1_;
4583 MenhirLib.EngineTypes.next = _menhir_stack;
4584 };
4585 };
4586 };
4587 } = _menhir_stack in
4588 let _4 : 'tv_fun_start = Obj.magic _4 in
4589 let _3 : (
4590 # 76 "parser_cocci_menhir.mly"
4591 (Data.clt)
4592 # 4593 "parser_cocci_menhir.ml"
4593 ) = Obj.magic _3 in
4594 let _2 : 'tv_eexpr = Obj.magic _2 in
4595 let _1 : (
4596 # 57 "parser_cocci_menhir.mly"
4597 (Data.clt)
4598 # 4599 "parser_cocci_menhir.ml"
4599 ) = Obj.magic _1 in
4600 let _startpos = _startpos__1_ in
4601 let _endpos = _endpos__4_ in
4602 let _v : 'tv_case_line =
4603 # 934 "parser_cocci_menhir.mly"
4604 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
4605 # 4606 "parser_cocci_menhir.ml"
4606 in
4607 _menhir_env.MenhirLib.EngineTypes.stack <- {
4608 MenhirLib.EngineTypes.state = _menhir_s;
4609 MenhirLib.EngineTypes.semv = Obj.repr _v;
4610 MenhirLib.EngineTypes.startp = _startpos;
4611 MenhirLib.EngineTypes.endp = _endpos;
4612 MenhirLib.EngineTypes.next = _menhir_stack;
4613 });
4614 (fun _menhir_env ->
4615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4616 let {
4617 MenhirLib.EngineTypes.state = _menhir_s;
4618 MenhirLib.EngineTypes.semv = _1;
4619 MenhirLib.EngineTypes.startp = _startpos__1_;
4620 MenhirLib.EngineTypes.endp = _endpos__1_;
4621 MenhirLib.EngineTypes.next = _menhir_stack;
4622 } = _menhir_stack in
4623 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4624 let _startpos = _startpos__1_ in
4625 let _endpos = _endpos__1_ in
4626 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4627 # 1289 "parser_cocci_menhir.mly"
4628 ( _1 )
4629 # 4630 "parser_cocci_menhir.ml"
4630 in
4631 _menhir_env.MenhirLib.EngineTypes.stack <- {
4632 MenhirLib.EngineTypes.state = _menhir_s;
4633 MenhirLib.EngineTypes.semv = Obj.repr _v;
4634 MenhirLib.EngineTypes.startp = _startpos;
4635 MenhirLib.EngineTypes.endp = _endpos;
4636 MenhirLib.EngineTypes.next = _menhir_stack;
4637 });
4638 (fun _menhir_env ->
4639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4640 let {
4641 MenhirLib.EngineTypes.semv = e;
4642 MenhirLib.EngineTypes.startp = _startpos_e_;
4643 MenhirLib.EngineTypes.endp = _endpos_e_;
4644 MenhirLib.EngineTypes.next = {
4645 MenhirLib.EngineTypes.semv = rp;
4646 MenhirLib.EngineTypes.startp = _startpos_rp_;
4647 MenhirLib.EngineTypes.endp = _endpos_rp_;
4648 MenhirLib.EngineTypes.next = {
4649 MenhirLib.EngineTypes.semv = t;
4650 MenhirLib.EngineTypes.startp = _startpos_t_;
4651 MenhirLib.EngineTypes.endp = _endpos_t_;
4652 MenhirLib.EngineTypes.next = {
4653 MenhirLib.EngineTypes.state = _menhir_s;
4654 MenhirLib.EngineTypes.semv = lp;
4655 MenhirLib.EngineTypes.startp = _startpos_lp_;
4656 MenhirLib.EngineTypes.endp = _endpos_lp_;
4657 MenhirLib.EngineTypes.next = _menhir_stack;
4658 };
4659 };
4660 };
4661 } = _menhir_stack in
4662 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
4663 let rp : (
4664 # 77 "parser_cocci_menhir.mly"
4665 (Data.clt)
4666 # 4667 "parser_cocci_menhir.ml"
4667 ) = Obj.magic rp in
4668 let t : 'tv_ctype = Obj.magic t in
4669 let lp : (
4670 # 76 "parser_cocci_menhir.mly"
4671 (Data.clt)
4672 # 4673 "parser_cocci_menhir.ml"
4673 ) = Obj.magic lp in
4674 let _startpos = _startpos_lp_ in
4675 let _endpos = _endpos_e_ in
4676 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4677 # 1291 "parser_cocci_menhir.mly"
4678 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4679 P.clt2mcode ")" rp, e)) )
4680 # 4681 "parser_cocci_menhir.ml"
4681 in
4682 _menhir_env.MenhirLib.EngineTypes.stack <- {
4683 MenhirLib.EngineTypes.state = _menhir_s;
4684 MenhirLib.EngineTypes.semv = Obj.repr _v;
4685 MenhirLib.EngineTypes.startp = _startpos;
4686 MenhirLib.EngineTypes.endp = _endpos;
4687 MenhirLib.EngineTypes.next = _menhir_stack;
4688 });
4689 (fun _menhir_env ->
4690 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4691 let {
4692 MenhirLib.EngineTypes.state = _menhir_s;
4693 MenhirLib.EngineTypes.semv = _1;
4694 MenhirLib.EngineTypes.startp = _startpos__1_;
4695 MenhirLib.EngineTypes.endp = _endpos__1_;
4696 MenhirLib.EngineTypes.next = _menhir_stack;
4697 } = _menhir_stack in
4698 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
4699 let _startpos = _startpos__1_ in
4700 let _endpos = _endpos__1_ in
4701 let _v : 'tv_cast_expr_eexpr_invalid_ =
4702 # 1289 "parser_cocci_menhir.mly"
4703 ( _1 )
4704 # 4705 "parser_cocci_menhir.ml"
4705 in
4706 _menhir_env.MenhirLib.EngineTypes.stack <- {
4707 MenhirLib.EngineTypes.state = _menhir_s;
4708 MenhirLib.EngineTypes.semv = Obj.repr _v;
4709 MenhirLib.EngineTypes.startp = _startpos;
4710 MenhirLib.EngineTypes.endp = _endpos;
4711 MenhirLib.EngineTypes.next = _menhir_stack;
4712 });
4713 (fun _menhir_env ->
4714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4715 let {
4716 MenhirLib.EngineTypes.semv = e;
4717 MenhirLib.EngineTypes.startp = _startpos_e_;
4718 MenhirLib.EngineTypes.endp = _endpos_e_;
4719 MenhirLib.EngineTypes.next = {
4720 MenhirLib.EngineTypes.semv = rp;
4721 MenhirLib.EngineTypes.startp = _startpos_rp_;
4722 MenhirLib.EngineTypes.endp = _endpos_rp_;
4723 MenhirLib.EngineTypes.next = {
4724 MenhirLib.EngineTypes.semv = t;
4725 MenhirLib.EngineTypes.startp = _startpos_t_;
4726 MenhirLib.EngineTypes.endp = _endpos_t_;
4727 MenhirLib.EngineTypes.next = {
4728 MenhirLib.EngineTypes.state = _menhir_s;
4729 MenhirLib.EngineTypes.semv = lp;
4730 MenhirLib.EngineTypes.startp = _startpos_lp_;
4731 MenhirLib.EngineTypes.endp = _endpos_lp_;
4732 MenhirLib.EngineTypes.next = _menhir_stack;
4733 };
4734 };
4735 };
4736 } = _menhir_stack in
4737 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
4738 let rp : (
4739 # 77 "parser_cocci_menhir.mly"
4740 (Data.clt)
4741 # 4742 "parser_cocci_menhir.ml"
4742 ) = Obj.magic rp in
4743 let t : 'tv_ctype = Obj.magic t in
4744 let lp : (
4745 # 76 "parser_cocci_menhir.mly"
4746 (Data.clt)
4747 # 4748 "parser_cocci_menhir.ml"
4748 ) = Obj.magic lp in
4749 let _startpos = _startpos_lp_ in
4750 let _endpos = _endpos_e_ in
4751 let _v : 'tv_cast_expr_eexpr_invalid_ =
4752 # 1291 "parser_cocci_menhir.mly"
4753 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4754 P.clt2mcode ")" rp, e)) )
4755 # 4756 "parser_cocci_menhir.ml"
4756 in
4757 _menhir_env.MenhirLib.EngineTypes.stack <- {
4758 MenhirLib.EngineTypes.state = _menhir_s;
4759 MenhirLib.EngineTypes.semv = Obj.repr _v;
4760 MenhirLib.EngineTypes.startp = _startpos;
4761 MenhirLib.EngineTypes.endp = _endpos;
4762 MenhirLib.EngineTypes.next = _menhir_stack;
4763 });
4764 (fun _menhir_env ->
4765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4766 let {
4767 MenhirLib.EngineTypes.state = _menhir_s;
4768 MenhirLib.EngineTypes.semv = _1;
4769 MenhirLib.EngineTypes.startp = _startpos__1_;
4770 MenhirLib.EngineTypes.endp = _endpos__1_;
4771 MenhirLib.EngineTypes.next = _menhir_stack;
4772 } = _menhir_stack in
4773 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4774 let _startpos = _startpos__1_ in
4775 let _endpos = _endpos__1_ in
4776 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4777 # 1289 "parser_cocci_menhir.mly"
4778 ( _1 )
4779 # 4780 "parser_cocci_menhir.ml"
4780 in
4781 _menhir_env.MenhirLib.EngineTypes.stack <- {
4782 MenhirLib.EngineTypes.state = _menhir_s;
4783 MenhirLib.EngineTypes.semv = Obj.repr _v;
4784 MenhirLib.EngineTypes.startp = _startpos;
4785 MenhirLib.EngineTypes.endp = _endpos;
4786 MenhirLib.EngineTypes.next = _menhir_stack;
4787 });
4788 (fun _menhir_env ->
4789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4790 let {
4791 MenhirLib.EngineTypes.semv = e;
4792 MenhirLib.EngineTypes.startp = _startpos_e_;
4793 MenhirLib.EngineTypes.endp = _endpos_e_;
4794 MenhirLib.EngineTypes.next = {
4795 MenhirLib.EngineTypes.semv = rp;
4796 MenhirLib.EngineTypes.startp = _startpos_rp_;
4797 MenhirLib.EngineTypes.endp = _endpos_rp_;
4798 MenhirLib.EngineTypes.next = {
4799 MenhirLib.EngineTypes.semv = t;
4800 MenhirLib.EngineTypes.startp = _startpos_t_;
4801 MenhirLib.EngineTypes.endp = _endpos_t_;
4802 MenhirLib.EngineTypes.next = {
4803 MenhirLib.EngineTypes.state = _menhir_s;
4804 MenhirLib.EngineTypes.semv = lp;
4805 MenhirLib.EngineTypes.startp = _startpos_lp_;
4806 MenhirLib.EngineTypes.endp = _endpos_lp_;
4807 MenhirLib.EngineTypes.next = _menhir_stack;
4808 };
4809 };
4810 };
4811 } = _menhir_stack in
4812 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
4813 let rp : (
4814 # 77 "parser_cocci_menhir.mly"
4815 (Data.clt)
4816 # 4817 "parser_cocci_menhir.ml"
4817 ) = Obj.magic rp in
4818 let t : 'tv_ctype = Obj.magic t in
4819 let lp : (
4820 # 76 "parser_cocci_menhir.mly"
4821 (Data.clt)
4822 # 4823 "parser_cocci_menhir.ml"
4823 ) = Obj.magic lp in
4824 let _startpos = _startpos_lp_ in
4825 let _endpos = _endpos_e_ in
4826 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4827 # 1291 "parser_cocci_menhir.mly"
4828 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4829 P.clt2mcode ")" rp, e)) )
4830 # 4831 "parser_cocci_menhir.ml"
4831 in
4832 _menhir_env.MenhirLib.EngineTypes.stack <- {
4833 MenhirLib.EngineTypes.state = _menhir_s;
4834 MenhirLib.EngineTypes.semv = Obj.repr _v;
4835 MenhirLib.EngineTypes.startp = _startpos;
4836 MenhirLib.EngineTypes.endp = _endpos;
4837 MenhirLib.EngineTypes.next = _menhir_stack;
4838 });
4839 (fun _menhir_env ->
4840 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4841 let {
4842 MenhirLib.EngineTypes.state = _menhir_s;
4843 MenhirLib.EngineTypes.semv = _1;
4844 MenhirLib.EngineTypes.startp = _startpos__1_;
4845 MenhirLib.EngineTypes.endp = _endpos__1_;
4846 MenhirLib.EngineTypes.next = _menhir_stack;
4847 } = _menhir_stack in
4848 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4849 let _startpos = _startpos__1_ in
4850 let _endpos = _endpos__1_ in
4851 let _v : 'tv_cast_expr_expr_invalid_ =
4852 # 1289 "parser_cocci_menhir.mly"
4853 ( _1 )
4854 # 4855 "parser_cocci_menhir.ml"
4855 in
4856 _menhir_env.MenhirLib.EngineTypes.stack <- {
4857 MenhirLib.EngineTypes.state = _menhir_s;
4858 MenhirLib.EngineTypes.semv = Obj.repr _v;
4859 MenhirLib.EngineTypes.startp = _startpos;
4860 MenhirLib.EngineTypes.endp = _endpos;
4861 MenhirLib.EngineTypes.next = _menhir_stack;
4862 });
4863 (fun _menhir_env ->
4864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4865 let {
4866 MenhirLib.EngineTypes.semv = e;
4867 MenhirLib.EngineTypes.startp = _startpos_e_;
4868 MenhirLib.EngineTypes.endp = _endpos_e_;
4869 MenhirLib.EngineTypes.next = {
4870 MenhirLib.EngineTypes.semv = rp;
4871 MenhirLib.EngineTypes.startp = _startpos_rp_;
4872 MenhirLib.EngineTypes.endp = _endpos_rp_;
4873 MenhirLib.EngineTypes.next = {
4874 MenhirLib.EngineTypes.semv = t;
4875 MenhirLib.EngineTypes.startp = _startpos_t_;
4876 MenhirLib.EngineTypes.endp = _endpos_t_;
4877 MenhirLib.EngineTypes.next = {
4878 MenhirLib.EngineTypes.state = _menhir_s;
4879 MenhirLib.EngineTypes.semv = lp;
4880 MenhirLib.EngineTypes.startp = _startpos_lp_;
4881 MenhirLib.EngineTypes.endp = _endpos_lp_;
4882 MenhirLib.EngineTypes.next = _menhir_stack;
4883 };
4884 };
4885 };
4886 } = _menhir_stack in
4887 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
4888 let rp : (
4889 # 77 "parser_cocci_menhir.mly"
4890 (Data.clt)
4891 # 4892 "parser_cocci_menhir.ml"
4892 ) = Obj.magic rp in
4893 let t : 'tv_ctype = Obj.magic t in
4894 let lp : (
4895 # 76 "parser_cocci_menhir.mly"
4896 (Data.clt)
4897 # 4898 "parser_cocci_menhir.ml"
4898 ) = Obj.magic lp in
4899 let _startpos = _startpos_lp_ in
4900 let _endpos = _endpos_e_ in
4901 let _v : 'tv_cast_expr_expr_invalid_ =
4902 # 1291 "parser_cocci_menhir.mly"
4903 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4904 P.clt2mcode ")" rp, e)) )
4905 # 4906 "parser_cocci_menhir.ml"
4906 in
4907 _menhir_env.MenhirLib.EngineTypes.stack <- {
4908 MenhirLib.EngineTypes.state = _menhir_s;
4909 MenhirLib.EngineTypes.semv = Obj.repr _v;
4910 MenhirLib.EngineTypes.startp = _startpos;
4911 MenhirLib.EngineTypes.endp = _endpos;
4912 MenhirLib.EngineTypes.next = _menhir_stack;
4913 });
4914 (fun _menhir_env ->
4915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4916 let {
4917 MenhirLib.EngineTypes.semv = _2;
4918 MenhirLib.EngineTypes.startp = _startpos__2_;
4919 MenhirLib.EngineTypes.endp = _endpos__2_;
4920 MenhirLib.EngineTypes.next = {
4921 MenhirLib.EngineTypes.state = _menhir_s;
4922 MenhirLib.EngineTypes.startp = _startpos__1_;
4923 MenhirLib.EngineTypes.endp = _endpos__1_;
4924 MenhirLib.EngineTypes.next = _menhir_stack;
4925 };
4926 } = _menhir_stack in
4927 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
4928 let _startpos = _startpos__1_ in
4929 let _endpos = _endpos__2_ in
4930 let _v : 'tv_choose_iso =
4931 # 237 "parser_cocci_menhir.mly"
4932 ( List.map P.id2name _2 )
4933 # 4934 "parser_cocci_menhir.ml"
4934 in
4935 _menhir_env.MenhirLib.EngineTypes.stack <- {
4936 MenhirLib.EngineTypes.state = _menhir_s;
4937 MenhirLib.EngineTypes.semv = Obj.repr _v;
4938 MenhirLib.EngineTypes.startp = _startpos;
4939 MenhirLib.EngineTypes.endp = _endpos;
4940 MenhirLib.EngineTypes.next = _menhir_stack;
4941 });
4942 (fun _menhir_env ->
4943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4944 let {
4945 MenhirLib.EngineTypes.semv = _2;
4946 MenhirLib.EngineTypes.startp = _startpos__2_;
4947 MenhirLib.EngineTypes.endp = _endpos__2_;
4948 MenhirLib.EngineTypes.next = {
4949 MenhirLib.EngineTypes.state = _menhir_s;
4950 MenhirLib.EngineTypes.semv = _1;
4951 MenhirLib.EngineTypes.startp = _startpos__1_;
4952 MenhirLib.EngineTypes.endp = _endpos__1_;
4953 MenhirLib.EngineTypes.next = _menhir_stack;
4954 };
4955 } = _menhir_stack in
4956 let _2 : (
4957 # 73 "parser_cocci_menhir.mly"
4958 (Data.clt)
4959 # 4960 "parser_cocci_menhir.ml"
4960 ) = Obj.magic _2 in
4961 let _1 : (
4962 # 107 "parser_cocci_menhir.mly"
4963 (Data.clt)
4964 # 4965 "parser_cocci_menhir.ml"
4965 ) = Obj.magic _1 in
4966 let _startpos = _startpos__1_ in
4967 let _endpos = _endpos__2_ in
4968 let _v : 'tv_comma_decls_TEllipsis_decl_ =
4969 # 1640 "parser_cocci_menhir.mly"
4970 ( function dot_builder ->
4971 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
4972 dot_builder _2] )
4973 # 4974 "parser_cocci_menhir.ml"
4974 in
4975 _menhir_env.MenhirLib.EngineTypes.stack <- {
4976 MenhirLib.EngineTypes.state = _menhir_s;
4977 MenhirLib.EngineTypes.semv = Obj.repr _v;
4978 MenhirLib.EngineTypes.startp = _startpos;
4979 MenhirLib.EngineTypes.endp = _endpos;
4980 MenhirLib.EngineTypes.next = _menhir_stack;
4981 });
4982 (fun _menhir_env ->
4983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4984 let {
4985 MenhirLib.EngineTypes.semv = _2;
4986 MenhirLib.EngineTypes.startp = _startpos__2_;
4987 MenhirLib.EngineTypes.endp = _endpos__2_;
4988 MenhirLib.EngineTypes.next = {
4989 MenhirLib.EngineTypes.state = _menhir_s;
4990 MenhirLib.EngineTypes.semv = _1;
4991 MenhirLib.EngineTypes.startp = _startpos__1_;
4992 MenhirLib.EngineTypes.endp = _endpos__1_;
4993 MenhirLib.EngineTypes.next = _menhir_stack;
4994 };
4995 } = _menhir_stack in
4996 let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
4997 let _1 : (
4998 # 107 "parser_cocci_menhir.mly"
4999 (Data.clt)
5000 # 5001 "parser_cocci_menhir.ml"
5001 ) = Obj.magic _1 in
5002 let _startpos = _startpos__1_ in
5003 let _endpos = _endpos__2_ in
5004 let _v : 'tv_comma_decls_TEllipsis_decl_ =
5005 # 1644 "parser_cocci_menhir.mly"
5006 ( function dot_builder ->
5007 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5008 # 5009 "parser_cocci_menhir.ml"
5009 in
5010 _menhir_env.MenhirLib.EngineTypes.stack <- {
5011 MenhirLib.EngineTypes.state = _menhir_s;
5012 MenhirLib.EngineTypes.semv = Obj.repr _v;
5013 MenhirLib.EngineTypes.startp = _startpos;
5014 MenhirLib.EngineTypes.endp = _endpos;
5015 MenhirLib.EngineTypes.next = _menhir_stack;
5016 });
5017 (fun _menhir_env ->
5018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5019 let {
5020 MenhirLib.EngineTypes.semv = _2;
5021 MenhirLib.EngineTypes.startp = _startpos__2_;
5022 MenhirLib.EngineTypes.endp = _endpos__2_;
5023 MenhirLib.EngineTypes.next = {
5024 MenhirLib.EngineTypes.state = _menhir_s;
5025 MenhirLib.EngineTypes.semv = _1;
5026 MenhirLib.EngineTypes.startp = _startpos__1_;
5027 MenhirLib.EngineTypes.endp = _endpos__1_;
5028 MenhirLib.EngineTypes.next = _menhir_stack;
5029 };
5030 } = _menhir_stack in
5031 let _2 : (
5032 # 73 "parser_cocci_menhir.mly"
5033 (Data.clt)
5034 # 5035 "parser_cocci_menhir.ml"
5035 ) = Obj.magic _2 in
5036 let _1 : (
5037 # 107 "parser_cocci_menhir.mly"
5038 (Data.clt)
5039 # 5040 "parser_cocci_menhir.ml"
5040 ) = Obj.magic _1 in
5041 let _startpos = _startpos__1_ in
5042 let _endpos = _endpos__2_ in
5043 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5044 # 1640 "parser_cocci_menhir.mly"
5045 ( function dot_builder ->
5046 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
5047 dot_builder _2] )
5048 # 5049 "parser_cocci_menhir.ml"
5049 in
5050 _menhir_env.MenhirLib.EngineTypes.stack <- {
5051 MenhirLib.EngineTypes.state = _menhir_s;
5052 MenhirLib.EngineTypes.semv = Obj.repr _v;
5053 MenhirLib.EngineTypes.startp = _startpos;
5054 MenhirLib.EngineTypes.endp = _endpos;
5055 MenhirLib.EngineTypes.next = _menhir_stack;
5056 });
5057 (fun _menhir_env ->
5058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5059 let {
5060 MenhirLib.EngineTypes.semv = _2;
5061 MenhirLib.EngineTypes.startp = _startpos__2_;
5062 MenhirLib.EngineTypes.endp = _endpos__2_;
5063 MenhirLib.EngineTypes.next = {
5064 MenhirLib.EngineTypes.state = _menhir_s;
5065 MenhirLib.EngineTypes.semv = _1;
5066 MenhirLib.EngineTypes.startp = _startpos__1_;
5067 MenhirLib.EngineTypes.endp = _endpos__1_;
5068 MenhirLib.EngineTypes.next = _menhir_stack;
5069 };
5070 } = _menhir_stack in
5071 let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
5072 let _1 : (
5073 # 107 "parser_cocci_menhir.mly"
5074 (Data.clt)
5075 # 5076 "parser_cocci_menhir.ml"
5076 ) = Obj.magic _1 in
5077 let _startpos = _startpos__1_ in
5078 let _endpos = _endpos__2_ in
5079 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5080 # 1644 "parser_cocci_menhir.mly"
5081 ( function dot_builder ->
5082 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5083 # 5084 "parser_cocci_menhir.ml"
5084 in
5085 _menhir_env.MenhirLib.EngineTypes.stack <- {
5086 MenhirLib.EngineTypes.state = _menhir_s;
5087 MenhirLib.EngineTypes.semv = Obj.repr _v;
5088 MenhirLib.EngineTypes.startp = _startpos;
5089 MenhirLib.EngineTypes.endp = _endpos;
5090 MenhirLib.EngineTypes.next = _menhir_stack;
5091 });
5092 (fun _menhir_env ->
5093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5094 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5095 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5096 let _endpos = _startpos in
5097 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5098 # 1120 "parser_cocci_menhir.mly"
5099 ( [] )
5100 # 5101 "parser_cocci_menhir.ml"
5101 in
5102 _menhir_env.MenhirLib.EngineTypes.stack <- {
5103 MenhirLib.EngineTypes.state = _menhir_s;
5104 MenhirLib.EngineTypes.semv = Obj.repr _v;
5105 MenhirLib.EngineTypes.startp = _startpos;
5106 MenhirLib.EngineTypes.endp = _endpos;
5107 MenhirLib.EngineTypes.next = _menhir_stack;
5108 });
5109 (fun _menhir_env ->
5110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5111 let {
5112 MenhirLib.EngineTypes.semv = r;
5113 MenhirLib.EngineTypes.startp = _startpos_r_;
5114 MenhirLib.EngineTypes.endp = _endpos_r_;
5115 MenhirLib.EngineTypes.next = {
5116 MenhirLib.EngineTypes.state = _menhir_s;
5117 MenhirLib.EngineTypes.semv = d;
5118 MenhirLib.EngineTypes.startp = _startpos_d_;
5119 MenhirLib.EngineTypes.endp = _endpos_d_;
5120 MenhirLib.EngineTypes.next = _menhir_stack;
5121 };
5122 } = _menhir_stack in
5123 let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
5124 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
5125 let _startpos = _startpos_d_ in
5126 let _endpos = _endpos_r_ in
5127 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5128 # 1122 "parser_cocci_menhir.mly"
5129 ( (function dot_builder -> [dot_builder d])::r )
5130 # 5131 "parser_cocci_menhir.ml"
5131 in
5132 _menhir_env.MenhirLib.EngineTypes.stack <- {
5133 MenhirLib.EngineTypes.state = _menhir_s;
5134 MenhirLib.EngineTypes.semv = Obj.repr _v;
5135 MenhirLib.EngineTypes.startp = _startpos;
5136 MenhirLib.EngineTypes.endp = _endpos;
5137 MenhirLib.EngineTypes.next = _menhir_stack;
5138 });
5139 (fun _menhir_env ->
5140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5141 let {
5142 MenhirLib.EngineTypes.semv = r;
5143 MenhirLib.EngineTypes.startp = _startpos_r_;
5144 MenhirLib.EngineTypes.endp = _endpos_r_;
5145 MenhirLib.EngineTypes.next = {
5146 MenhirLib.EngineTypes.semv = c;
5147 MenhirLib.EngineTypes.startp = _startpos_c_;
5148 MenhirLib.EngineTypes.endp = _endpos_c_;
5149 MenhirLib.EngineTypes.next = {
5150 MenhirLib.EngineTypes.state = _menhir_s;
5151 MenhirLib.EngineTypes.semv = i;
5152 MenhirLib.EngineTypes.startp = _startpos_i_;
5153 MenhirLib.EngineTypes.endp = _endpos_i_;
5154 MenhirLib.EngineTypes.next = _menhir_stack;
5155 };
5156 };
5157 } = _menhir_stack in
5158 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5159 let c : (
5160 # 107 "parser_cocci_menhir.mly"
5161 (Data.clt)
5162 # 5163 "parser_cocci_menhir.ml"
5163 ) = Obj.magic c in
5164 let i : 'tv_initialize2 = Obj.magic i in
5165 let _startpos = _startpos_i_ in
5166 let _endpos = _endpos_r_ in
5167 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5168 # 1124 "parser_cocci_menhir.mly"
5169 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5170 r )
5171 # 5172 "parser_cocci_menhir.ml"
5172 in
5173 _menhir_env.MenhirLib.EngineTypes.stack <- {
5174 MenhirLib.EngineTypes.state = _menhir_s;
5175 MenhirLib.EngineTypes.semv = Obj.repr _v;
5176 MenhirLib.EngineTypes.startp = _startpos;
5177 MenhirLib.EngineTypes.endp = _endpos;
5178 MenhirLib.EngineTypes.next = _menhir_stack;
5179 });
5180 (fun _menhir_env ->
5181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5182 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5183 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5184 let _endpos = _startpos in
5185 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5186 # 1128 "parser_cocci_menhir.mly"
5187 ( [] )
5188 # 5189 "parser_cocci_menhir.ml"
5189 in
5190 _menhir_env.MenhirLib.EngineTypes.stack <- {
5191 MenhirLib.EngineTypes.state = _menhir_s;
5192 MenhirLib.EngineTypes.semv = Obj.repr _v;
5193 MenhirLib.EngineTypes.startp = _startpos;
5194 MenhirLib.EngineTypes.endp = _endpos;
5195 MenhirLib.EngineTypes.next = _menhir_stack;
5196 });
5197 (fun _menhir_env ->
5198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5199 let {
5200 MenhirLib.EngineTypes.semv = r;
5201 MenhirLib.EngineTypes.startp = _startpos_r_;
5202 MenhirLib.EngineTypes.endp = _endpos_r_;
5203 MenhirLib.EngineTypes.next = {
5204 MenhirLib.EngineTypes.semv = c;
5205 MenhirLib.EngineTypes.startp = _startpos_c_;
5206 MenhirLib.EngineTypes.endp = _endpos_c_;
5207 MenhirLib.EngineTypes.next = {
5208 MenhirLib.EngineTypes.state = _menhir_s;
5209 MenhirLib.EngineTypes.semv = i;
5210 MenhirLib.EngineTypes.startp = _startpos_i_;
5211 MenhirLib.EngineTypes.endp = _endpos_i_;
5212 MenhirLib.EngineTypes.next = _menhir_stack;
5213 };
5214 };
5215 } = _menhir_stack in
5216 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5217 let c : (
5218 # 107 "parser_cocci_menhir.mly"
5219 (Data.clt)
5220 # 5221 "parser_cocci_menhir.ml"
5221 ) = Obj.magic c in
5222 let i : 'tv_initialize2 = Obj.magic i in
5223 let _startpos = _startpos_i_ in
5224 let _endpos = _endpos_r_ in
5225 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5226 # 1130 "parser_cocci_menhir.mly"
5227 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5228 r )
5229 # 5230 "parser_cocci_menhir.ml"
5230 in
5231 _menhir_env.MenhirLib.EngineTypes.stack <- {
5232 MenhirLib.EngineTypes.state = _menhir_s;
5233 MenhirLib.EngineTypes.semv = Obj.repr _v;
5234 MenhirLib.EngineTypes.startp = _startpos;
5235 MenhirLib.EngineTypes.endp = _endpos;
5236 MenhirLib.EngineTypes.next = _menhir_stack;
5237 });
5238 (fun _menhir_env ->
5239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5240 let {
5241 MenhirLib.EngineTypes.state = _menhir_s;
5242 MenhirLib.EngineTypes.semv = _1;
5243 MenhirLib.EngineTypes.startp = _startpos__1_;
5244 MenhirLib.EngineTypes.endp = _endpos__1_;
5245 MenhirLib.EngineTypes.next = _menhir_stack;
5246 } = _menhir_stack in
5247 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5248 let _startpos = _startpos__1_ in
5249 let _endpos = _endpos__1_ in
5250 let _v : 'tv_comma_list_any_strict_ =
5251 # 1877 "parser_cocci_menhir.mly"
5252 ( _1 )
5253 # 5254 "parser_cocci_menhir.ml"
5254 in
5255 _menhir_env.MenhirLib.EngineTypes.stack <- {
5256 MenhirLib.EngineTypes.state = _menhir_s;
5257 MenhirLib.EngineTypes.semv = Obj.repr _v;
5258 MenhirLib.EngineTypes.startp = _startpos;
5259 MenhirLib.EngineTypes.endp = _endpos;
5260 MenhirLib.EngineTypes.next = _menhir_stack;
5261 });
5262 (fun _menhir_env ->
5263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5264 let {
5265 MenhirLib.EngineTypes.state = _menhir_s;
5266 MenhirLib.EngineTypes.semv = _1;
5267 MenhirLib.EngineTypes.startp = _startpos__1_;
5268 MenhirLib.EngineTypes.endp = _endpos__1_;
5269 MenhirLib.EngineTypes.next = _menhir_stack;
5270 } = _menhir_stack in
5271 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5272 let _startpos = _startpos__1_ in
5273 let _endpos = _endpos__1_ in
5274 let _v : 'tv_comma_list_ctype_ =
5275 # 1877 "parser_cocci_menhir.mly"
5276 ( _1 )
5277 # 5278 "parser_cocci_menhir.ml"
5278 in
5279 _menhir_env.MenhirLib.EngineTypes.stack <- {
5280 MenhirLib.EngineTypes.state = _menhir_s;
5281 MenhirLib.EngineTypes.semv = Obj.repr _v;
5282 MenhirLib.EngineTypes.startp = _startpos;
5283 MenhirLib.EngineTypes.endp = _endpos;
5284 MenhirLib.EngineTypes.next = _menhir_stack;
5285 });
5286 (fun _menhir_env ->
5287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5288 let {
5289 MenhirLib.EngineTypes.state = _menhir_s;
5290 MenhirLib.EngineTypes.semv = _1;
5291 MenhirLib.EngineTypes.startp = _startpos__1_;
5292 MenhirLib.EngineTypes.endp = _endpos__1_;
5293 MenhirLib.EngineTypes.next = _menhir_stack;
5294 } = _menhir_stack in
5295 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5296 let _startpos = _startpos__1_ in
5297 let _endpos = _endpos__1_ in
5298 let _v : 'tv_comma_list_d_ident_ =
5299 # 1877 "parser_cocci_menhir.mly"
5300 ( _1 )
5301 # 5302 "parser_cocci_menhir.ml"
5302 in
5303 _menhir_env.MenhirLib.EngineTypes.stack <- {
5304 MenhirLib.EngineTypes.state = _menhir_s;
5305 MenhirLib.EngineTypes.semv = Obj.repr _v;
5306 MenhirLib.EngineTypes.startp = _startpos;
5307 MenhirLib.EngineTypes.endp = _endpos;
5308 MenhirLib.EngineTypes.next = _menhir_stack;
5309 });
5310 (fun _menhir_env ->
5311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5312 let {
5313 MenhirLib.EngineTypes.state = _menhir_s;
5314 MenhirLib.EngineTypes.semv = _1;
5315 MenhirLib.EngineTypes.startp = _startpos__1_;
5316 MenhirLib.EngineTypes.endp = _endpos__1_;
5317 MenhirLib.EngineTypes.next = _menhir_stack;
5318 } = _menhir_stack in
5319 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5320 let _startpos = _startpos__1_ in
5321 let _endpos = _endpos__1_ in
5322 let _v : 'tv_comma_list_ident_or_const_ =
5323 # 1877 "parser_cocci_menhir.mly"
5324 ( _1 )
5325 # 5326 "parser_cocci_menhir.ml"
5326 in
5327 _menhir_env.MenhirLib.EngineTypes.stack <- {
5328 MenhirLib.EngineTypes.state = _menhir_s;
5329 MenhirLib.EngineTypes.semv = Obj.repr _v;
5330 MenhirLib.EngineTypes.startp = _startpos;
5331 MenhirLib.EngineTypes.endp = _endpos;
5332 MenhirLib.EngineTypes.next = _menhir_stack;
5333 });
5334 (fun _menhir_env ->
5335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5336 let {
5337 MenhirLib.EngineTypes.state = _menhir_s;
5338 MenhirLib.EngineTypes.semv = _1;
5339 MenhirLib.EngineTypes.startp = _startpos__1_;
5340 MenhirLib.EngineTypes.endp = _endpos__1_;
5341 MenhirLib.EngineTypes.next = _menhir_stack;
5342 } = _menhir_stack in
5343 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5344 let _startpos = _startpos__1_ in
5345 let _endpos = _endpos__1_ in
5346 let _v : 'tv_comma_list_meta_ident_ =
5347 # 1877 "parser_cocci_menhir.mly"
5348 ( _1 )
5349 # 5350 "parser_cocci_menhir.ml"
5350 in
5351 _menhir_env.MenhirLib.EngineTypes.stack <- {
5352 MenhirLib.EngineTypes.state = _menhir_s;
5353 MenhirLib.EngineTypes.semv = Obj.repr _v;
5354 MenhirLib.EngineTypes.startp = _startpos;
5355 MenhirLib.EngineTypes.endp = _endpos;
5356 MenhirLib.EngineTypes.next = _menhir_stack;
5357 });
5358 (fun _menhir_env ->
5359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5360 let {
5361 MenhirLib.EngineTypes.state = _menhir_s;
5362 MenhirLib.EngineTypes.semv = _1;
5363 MenhirLib.EngineTypes.startp = _startpos__1_;
5364 MenhirLib.EngineTypes.endp = _endpos__1_;
5365 MenhirLib.EngineTypes.next = _menhir_stack;
5366 } = _menhir_stack in
5367 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5368 let _startpos = _startpos__1_ in
5369 let _endpos = _endpos__1_ in
5370 let _v : 'tv_comma_list_pure_ident_ =
5371 # 1877 "parser_cocci_menhir.mly"
5372 ( _1 )
5373 # 5374 "parser_cocci_menhir.ml"
5374 in
5375 _menhir_env.MenhirLib.EngineTypes.stack <- {
5376 MenhirLib.EngineTypes.state = _menhir_s;
5377 MenhirLib.EngineTypes.semv = Obj.repr _v;
5378 MenhirLib.EngineTypes.startp = _startpos;
5379 MenhirLib.EngineTypes.endp = _endpos;
5380 MenhirLib.EngineTypes.next = _menhir_stack;
5381 });
5382 (fun _menhir_env ->
5383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5384 let {
5385 MenhirLib.EngineTypes.state = _menhir_s;
5386 MenhirLib.EngineTypes.semv = _1;
5387 MenhirLib.EngineTypes.startp = _startpos__1_;
5388 MenhirLib.EngineTypes.endp = _endpos__1_;
5389 MenhirLib.EngineTypes.next = _menhir_stack;
5390 } = _menhir_stack in
5391 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5392 let _startpos = _startpos__1_ in
5393 let _endpos = _endpos__1_ in
5394 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5395 # 1877 "parser_cocci_menhir.mly"
5396 ( _1 )
5397 # 5398 "parser_cocci_menhir.ml"
5398 in
5399 _menhir_env.MenhirLib.EngineTypes.stack <- {
5400 MenhirLib.EngineTypes.state = _menhir_s;
5401 MenhirLib.EngineTypes.semv = Obj.repr _v;
5402 MenhirLib.EngineTypes.startp = _startpos;
5403 MenhirLib.EngineTypes.endp = _endpos;
5404 MenhirLib.EngineTypes.next = _menhir_stack;
5405 });
5406 (fun _menhir_env ->
5407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5408 let {
5409 MenhirLib.EngineTypes.state = _menhir_s;
5410 MenhirLib.EngineTypes.semv = _1;
5411 MenhirLib.EngineTypes.startp = _startpos__1_;
5412 MenhirLib.EngineTypes.endp = _endpos__1_;
5413 MenhirLib.EngineTypes.next = _menhir_stack;
5414 } = _menhir_stack in
5415 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic _1 in
5416 let _startpos = _startpos__1_ in
5417 let _endpos = _endpos__1_ in
5418 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
5419 # 1877 "parser_cocci_menhir.mly"
5420 ( _1 )
5421 # 5422 "parser_cocci_menhir.ml"
5422 in
5423 _menhir_env.MenhirLib.EngineTypes.stack <- {
5424 MenhirLib.EngineTypes.state = _menhir_s;
5425 MenhirLib.EngineTypes.semv = Obj.repr _v;
5426 MenhirLib.EngineTypes.startp = _startpos;
5427 MenhirLib.EngineTypes.endp = _endpos;
5428 MenhirLib.EngineTypes.next = _menhir_stack;
5429 });
5430 (fun _menhir_env ->
5431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5432 let {
5433 MenhirLib.EngineTypes.state = _menhir_s;
5434 MenhirLib.EngineTypes.semv = _1;
5435 MenhirLib.EngineTypes.startp = _startpos__1_;
5436 MenhirLib.EngineTypes.endp = _endpos__1_;
5437 MenhirLib.EngineTypes.next = _menhir_stack;
5438 } = _menhir_stack in
5439 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
5440 let _startpos = _startpos__1_ in
5441 let _endpos = _endpos__1_ in
5442 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
5443 # 1877 "parser_cocci_menhir.mly"
5444 ( _1 )
5445 # 5446 "parser_cocci_menhir.ml"
5446 in
5447 _menhir_env.MenhirLib.EngineTypes.stack <- {
5448 MenhirLib.EngineTypes.state = _menhir_s;
5449 MenhirLib.EngineTypes.semv = Obj.repr _v;
5450 MenhirLib.EngineTypes.startp = _startpos;
5451 MenhirLib.EngineTypes.endp = _endpos;
5452 MenhirLib.EngineTypes.next = _menhir_stack;
5453 });
5454 (fun _menhir_env ->
5455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5456 let {
5457 MenhirLib.EngineTypes.state = _menhir_s;
5458 MenhirLib.EngineTypes.semv = _1;
5459 MenhirLib.EngineTypes.startp = _startpos__1_;
5460 MenhirLib.EngineTypes.endp = _endpos__1_;
5461 MenhirLib.EngineTypes.next = _menhir_stack;
5462 } = _menhir_stack in
5463 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
5464 let _startpos = _startpos__1_ in
5465 let _endpos = _endpos__1_ in
5466 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
5467 # 1877 "parser_cocci_menhir.mly"
5468 ( _1 )
5469 # 5470 "parser_cocci_menhir.ml"
5470 in
5471 _menhir_env.MenhirLib.EngineTypes.stack <- {
5472 MenhirLib.EngineTypes.state = _menhir_s;
5473 MenhirLib.EngineTypes.semv = Obj.repr _v;
5474 MenhirLib.EngineTypes.startp = _startpos;
5475 MenhirLib.EngineTypes.endp = _endpos;
5476 MenhirLib.EngineTypes.next = _menhir_stack;
5477 });
5478 (fun _menhir_env ->
5479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5480 let {
5481 MenhirLib.EngineTypes.state = _menhir_s;
5482 MenhirLib.EngineTypes.semv = _1;
5483 MenhirLib.EngineTypes.startp = _startpos__1_;
5484 MenhirLib.EngineTypes.endp = _endpos__1_;
5485 MenhirLib.EngineTypes.next = _menhir_stack;
5486 } = _menhir_stack in
5487 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic _1 in
5488 let _startpos = _startpos__1_ in
5489 let _endpos = _endpos__1_ in
5490 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
5491 # 1877 "parser_cocci_menhir.mly"
5492 ( _1 )
5493 # 5494 "parser_cocci_menhir.ml"
5494 in
5495 _menhir_env.MenhirLib.EngineTypes.stack <- {
5496 MenhirLib.EngineTypes.state = _menhir_s;
5497 MenhirLib.EngineTypes.semv = Obj.repr _v;
5498 MenhirLib.EngineTypes.startp = _startpos;
5499 MenhirLib.EngineTypes.endp = _endpos;
5500 MenhirLib.EngineTypes.next = _menhir_stack;
5501 });
5502 (fun _menhir_env ->
5503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5504 let {
5505 MenhirLib.EngineTypes.state = _menhir_s;
5506 MenhirLib.EngineTypes.semv = _1;
5507 MenhirLib.EngineTypes.startp = _startpos__1_;
5508 MenhirLib.EngineTypes.endp = _endpos__1_;
5509 MenhirLib.EngineTypes.next = _menhir_stack;
5510 } = _menhir_stack in
5511 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
5512 let _startpos = _startpos__1_ in
5513 let _endpos = _endpos__1_ in
5514 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
5515 # 1877 "parser_cocci_menhir.mly"
5516 ( _1 )
5517 # 5518 "parser_cocci_menhir.ml"
5518 in
5519 _menhir_env.MenhirLib.EngineTypes.stack <- {
5520 MenhirLib.EngineTypes.state = _menhir_s;
5521 MenhirLib.EngineTypes.semv = Obj.repr _v;
5522 MenhirLib.EngineTypes.startp = _startpos;
5523 MenhirLib.EngineTypes.endp = _endpos;
5524 MenhirLib.EngineTypes.next = _menhir_stack;
5525 });
5526 (fun _menhir_env ->
5527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5528 let {
5529 MenhirLib.EngineTypes.state = _menhir_s;
5530 MenhirLib.EngineTypes.semv = _1;
5531 MenhirLib.EngineTypes.startp = _startpos__1_;
5532 MenhirLib.EngineTypes.endp = _endpos__1_;
5533 MenhirLib.EngineTypes.next = _menhir_stack;
5534 } = _menhir_stack in
5535 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
5536 let _startpos = _startpos__1_ in
5537 let _endpos = _endpos__1_ in
5538 let _v : 'tv_comma_list_typedef_ident_ =
5539 # 1877 "parser_cocci_menhir.mly"
5540 ( _1 )
5541 # 5542 "parser_cocci_menhir.ml"
5542 in
5543 _menhir_env.MenhirLib.EngineTypes.stack <- {
5544 MenhirLib.EngineTypes.state = _menhir_s;
5545 MenhirLib.EngineTypes.semv = Obj.repr _v;
5546 MenhirLib.EngineTypes.startp = _startpos;
5547 MenhirLib.EngineTypes.endp = _endpos;
5548 MenhirLib.EngineTypes.next = _menhir_stack;
5549 });
5550 (fun _menhir_env ->
5551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5552 let {
5553 MenhirLib.EngineTypes.state = _menhir_s;
5554 MenhirLib.EngineTypes.semv = _1;
5555 MenhirLib.EngineTypes.startp = _startpos__1_;
5556 MenhirLib.EngineTypes.endp = _endpos__1_;
5557 MenhirLib.EngineTypes.next = _menhir_stack;
5558 } = _menhir_stack in
5559 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5560 let _startpos = _startpos__1_ in
5561 let _endpos = _endpos__1_ in
5562 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5563 # 1254 "parser_cocci_menhir.mly"
5564 ( _1 )
5565 # 5566 "parser_cocci_menhir.ml"
5566 in
5567 _menhir_env.MenhirLib.EngineTypes.stack <- {
5568 MenhirLib.EngineTypes.state = _menhir_s;
5569 MenhirLib.EngineTypes.semv = Obj.repr _v;
5570 MenhirLib.EngineTypes.startp = _startpos;
5571 MenhirLib.EngineTypes.endp = _endpos;
5572 MenhirLib.EngineTypes.next = _menhir_stack;
5573 });
5574 (fun _menhir_env ->
5575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5576 let {
5577 MenhirLib.EngineTypes.semv = r;
5578 MenhirLib.EngineTypes.startp = _startpos_r_;
5579 MenhirLib.EngineTypes.endp = _endpos_r_;
5580 MenhirLib.EngineTypes.next = {
5581 MenhirLib.EngineTypes.semv = dd;
5582 MenhirLib.EngineTypes.startp = _startpos_dd_;
5583 MenhirLib.EngineTypes.endp = _endpos_dd_;
5584 MenhirLib.EngineTypes.next = {
5585 MenhirLib.EngineTypes.semv = t;
5586 MenhirLib.EngineTypes.startp = _startpos_t_;
5587 MenhirLib.EngineTypes.endp = _endpos_t_;
5588 MenhirLib.EngineTypes.next = {
5589 MenhirLib.EngineTypes.semv = w;
5590 MenhirLib.EngineTypes.startp = _startpos_w_;
5591 MenhirLib.EngineTypes.endp = _endpos_w_;
5592 MenhirLib.EngineTypes.next = {
5593 MenhirLib.EngineTypes.state = _menhir_s;
5594 MenhirLib.EngineTypes.semv = l;
5595 MenhirLib.EngineTypes.startp = _startpos_l_;
5596 MenhirLib.EngineTypes.endp = _endpos_l_;
5597 MenhirLib.EngineTypes.next = _menhir_stack;
5598 };
5599 };
5600 };
5601 };
5602 } = _menhir_stack in
5603 let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
5604 let dd : (
5605 # 76 "parser_cocci_menhir.mly"
5606 (Data.clt)
5607 # 5608 "parser_cocci_menhir.ml"
5608 ) = Obj.magic dd in
5609 let t : 'tv_option_eexpr_ = Obj.magic t in
5610 let w : (
5611 # 76 "parser_cocci_menhir.mly"
5612 (Data.clt)
5613 # 5614 "parser_cocci_menhir.ml"
5614 ) = Obj.magic w in
5615 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
5616 let _startpos = _startpos_l_ in
5617 let _endpos = _endpos_r_ in
5618 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5619 # 1256 "parser_cocci_menhir.mly"
5620 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5621 P.clt2mcode ":" dd, r)) )
5622 # 5623 "parser_cocci_menhir.ml"
5623 in
5624 _menhir_env.MenhirLib.EngineTypes.stack <- {
5625 MenhirLib.EngineTypes.state = _menhir_s;
5626 MenhirLib.EngineTypes.semv = Obj.repr _v;
5627 MenhirLib.EngineTypes.startp = _startpos;
5628 MenhirLib.EngineTypes.endp = _endpos;
5629 MenhirLib.EngineTypes.next = _menhir_stack;
5630 });
5631 (fun _menhir_env ->
5632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5633 let {
5634 MenhirLib.EngineTypes.state = _menhir_s;
5635 MenhirLib.EngineTypes.semv = _1;
5636 MenhirLib.EngineTypes.startp = _startpos__1_;
5637 MenhirLib.EngineTypes.endp = _endpos__1_;
5638 MenhirLib.EngineTypes.next = _menhir_stack;
5639 } = _menhir_stack in
5640 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5641 let _startpos = _startpos__1_ in
5642 let _endpos = _endpos__1_ in
5643 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5644 # 1254 "parser_cocci_menhir.mly"
5645 ( _1 )
5646 # 5647 "parser_cocci_menhir.ml"
5647 in
5648 _menhir_env.MenhirLib.EngineTypes.stack <- {
5649 MenhirLib.EngineTypes.state = _menhir_s;
5650 MenhirLib.EngineTypes.semv = Obj.repr _v;
5651 MenhirLib.EngineTypes.startp = _startpos;
5652 MenhirLib.EngineTypes.endp = _endpos;
5653 MenhirLib.EngineTypes.next = _menhir_stack;
5654 });
5655 (fun _menhir_env ->
5656 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5657 let {
5658 MenhirLib.EngineTypes.semv = r;
5659 MenhirLib.EngineTypes.startp = _startpos_r_;
5660 MenhirLib.EngineTypes.endp = _endpos_r_;
5661 MenhirLib.EngineTypes.next = {
5662 MenhirLib.EngineTypes.semv = dd;
5663 MenhirLib.EngineTypes.startp = _startpos_dd_;
5664 MenhirLib.EngineTypes.endp = _endpos_dd_;
5665 MenhirLib.EngineTypes.next = {
5666 MenhirLib.EngineTypes.semv = t;
5667 MenhirLib.EngineTypes.startp = _startpos_t_;
5668 MenhirLib.EngineTypes.endp = _endpos_t_;
5669 MenhirLib.EngineTypes.next = {
5670 MenhirLib.EngineTypes.semv = w;
5671 MenhirLib.EngineTypes.startp = _startpos_w_;
5672 MenhirLib.EngineTypes.endp = _endpos_w_;
5673 MenhirLib.EngineTypes.next = {
5674 MenhirLib.EngineTypes.state = _menhir_s;
5675 MenhirLib.EngineTypes.semv = l;
5676 MenhirLib.EngineTypes.startp = _startpos_l_;
5677 MenhirLib.EngineTypes.endp = _endpos_l_;
5678 MenhirLib.EngineTypes.next = _menhir_stack;
5679 };
5680 };
5681 };
5682 };
5683 } = _menhir_stack in
5684 let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
5685 let dd : (
5686 # 76 "parser_cocci_menhir.mly"
5687 (Data.clt)
5688 # 5689 "parser_cocci_menhir.ml"
5689 ) = Obj.magic dd in
5690 let t : 'tv_option_eexpr_ = Obj.magic t in
5691 let w : (
5692 # 76 "parser_cocci_menhir.mly"
5693 (Data.clt)
5694 # 5695 "parser_cocci_menhir.ml"
5695 ) = Obj.magic w in
5696 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
5697 let _startpos = _startpos_l_ in
5698 let _endpos = _endpos_r_ in
5699 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5700 # 1256 "parser_cocci_menhir.mly"
5701 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5702 P.clt2mcode ":" dd, r)) )
5703 # 5704 "parser_cocci_menhir.ml"
5704 in
5705 _menhir_env.MenhirLib.EngineTypes.stack <- {
5706 MenhirLib.EngineTypes.state = _menhir_s;
5707 MenhirLib.EngineTypes.semv = Obj.repr _v;
5708 MenhirLib.EngineTypes.startp = _startpos;
5709 MenhirLib.EngineTypes.endp = _endpos;
5710 MenhirLib.EngineTypes.next = _menhir_stack;
5711 });
5712 (fun _menhir_env ->
5713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5714 let {
5715 MenhirLib.EngineTypes.state = _menhir_s;
5716 MenhirLib.EngineTypes.semv = _1;
5717 MenhirLib.EngineTypes.startp = _startpos__1_;
5718 MenhirLib.EngineTypes.endp = _endpos__1_;
5719 MenhirLib.EngineTypes.next = _menhir_stack;
5720 } = _menhir_stack in
5721 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
5722 let _startpos = _startpos__1_ in
5723 let _endpos = _endpos__1_ in
5724 let _v : 'tv_cond_expr_expr_invalid_ =
5725 # 1254 "parser_cocci_menhir.mly"
5726 ( _1 )
5727 # 5728 "parser_cocci_menhir.ml"
5728 in
5729 _menhir_env.MenhirLib.EngineTypes.stack <- {
5730 MenhirLib.EngineTypes.state = _menhir_s;
5731 MenhirLib.EngineTypes.semv = Obj.repr _v;
5732 MenhirLib.EngineTypes.startp = _startpos;
5733 MenhirLib.EngineTypes.endp = _endpos;
5734 MenhirLib.EngineTypes.next = _menhir_stack;
5735 });
5736 (fun _menhir_env ->
5737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5738 let {
5739 MenhirLib.EngineTypes.semv = r;
5740 MenhirLib.EngineTypes.startp = _startpos_r_;
5741 MenhirLib.EngineTypes.endp = _endpos_r_;
5742 MenhirLib.EngineTypes.next = {
5743 MenhirLib.EngineTypes.semv = dd;
5744 MenhirLib.EngineTypes.startp = _startpos_dd_;
5745 MenhirLib.EngineTypes.endp = _endpos_dd_;
5746 MenhirLib.EngineTypes.next = {
5747 MenhirLib.EngineTypes.semv = t;
5748 MenhirLib.EngineTypes.startp = _startpos_t_;
5749 MenhirLib.EngineTypes.endp = _endpos_t_;
5750 MenhirLib.EngineTypes.next = {
5751 MenhirLib.EngineTypes.semv = w;
5752 MenhirLib.EngineTypes.startp = _startpos_w_;
5753 MenhirLib.EngineTypes.endp = _endpos_w_;
5754 MenhirLib.EngineTypes.next = {
5755 MenhirLib.EngineTypes.state = _menhir_s;
5756 MenhirLib.EngineTypes.semv = l;
5757 MenhirLib.EngineTypes.startp = _startpos_l_;
5758 MenhirLib.EngineTypes.endp = _endpos_l_;
5759 MenhirLib.EngineTypes.next = _menhir_stack;
5760 };
5761 };
5762 };
5763 };
5764 } = _menhir_stack in
5765 let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
5766 let dd : (
5767 # 76 "parser_cocci_menhir.mly"
5768 (Data.clt)
5769 # 5770 "parser_cocci_menhir.ml"
5770 ) = Obj.magic dd in
5771 let t : 'tv_option_eexpr_ = Obj.magic t in
5772 let w : (
5773 # 76 "parser_cocci_menhir.mly"
5774 (Data.clt)
5775 # 5776 "parser_cocci_menhir.ml"
5776 ) = Obj.magic w in
5777 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
5778 let _startpos = _startpos_l_ in
5779 let _endpos = _endpos_r_ in
5780 let _v : 'tv_cond_expr_expr_invalid_ =
5781 # 1256 "parser_cocci_menhir.mly"
5782 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5783 P.clt2mcode ":" dd, r)) )
5784 # 5785 "parser_cocci_menhir.ml"
5785 in
5786 _menhir_env.MenhirLib.EngineTypes.stack <- {
5787 MenhirLib.EngineTypes.state = _menhir_s;
5788 MenhirLib.EngineTypes.semv = Obj.repr _v;
5789 MenhirLib.EngineTypes.startp = _startpos;
5790 MenhirLib.EngineTypes.endp = _endpos;
5791 MenhirLib.EngineTypes.next = _menhir_stack;
5792 });
5793 (fun _menhir_env ->
5794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5795 let {
5796 MenhirLib.EngineTypes.state = _menhir_s;
5797 MenhirLib.EngineTypes.semv = _1;
5798 MenhirLib.EngineTypes.startp = _startpos__1_;
5799 MenhirLib.EngineTypes.endp = _endpos__1_;
5800 MenhirLib.EngineTypes.next = _menhir_stack;
5801 } = _menhir_stack in
5802 let _1 : (
5803 # 54 "parser_cocci_menhir.mly"
5804 (Data.clt)
5805 # 5806 "parser_cocci_menhir.ml"
5806 ) = Obj.magic _1 in
5807 let _startpos = _startpos__1_ in
5808 let _endpos = _endpos__1_ in
5809 let _v : 'tv_const_vol =
5810 # 840 "parser_cocci_menhir.mly"
5811 ( P.clt2mcode Ast.Const _1 )
5812 # 5813 "parser_cocci_menhir.ml"
5813 in
5814 _menhir_env.MenhirLib.EngineTypes.stack <- {
5815 MenhirLib.EngineTypes.state = _menhir_s;
5816 MenhirLib.EngineTypes.semv = Obj.repr _v;
5817 MenhirLib.EngineTypes.startp = _startpos;
5818 MenhirLib.EngineTypes.endp = _endpos;
5819 MenhirLib.EngineTypes.next = _menhir_stack;
5820 });
5821 (fun _menhir_env ->
5822 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5823 let {
5824 MenhirLib.EngineTypes.state = _menhir_s;
5825 MenhirLib.EngineTypes.semv = _1;
5826 MenhirLib.EngineTypes.startp = _startpos__1_;
5827 MenhirLib.EngineTypes.endp = _endpos__1_;
5828 MenhirLib.EngineTypes.next = _menhir_stack;
5829 } = _menhir_stack in
5830 let _1 : (
5831 # 54 "parser_cocci_menhir.mly"
5832 (Data.clt)
5833 # 5834 "parser_cocci_menhir.ml"
5834 ) = Obj.magic _1 in
5835 let _startpos = _startpos__1_ in
5836 let _endpos = _endpos__1_ in
5837 let _v : 'tv_const_vol =
5838 # 841 "parser_cocci_menhir.mly"
5839 ( P.clt2mcode Ast.Volatile _1 )
5840 # 5841 "parser_cocci_menhir.ml"
5841 in
5842 _menhir_env.MenhirLib.EngineTypes.stack <- {
5843 MenhirLib.EngineTypes.state = _menhir_s;
5844 MenhirLib.EngineTypes.semv = Obj.repr _v;
5845 MenhirLib.EngineTypes.startp = _startpos;
5846 MenhirLib.EngineTypes.endp = _endpos;
5847 MenhirLib.EngineTypes.next = _menhir_stack;
5848 });
5849 (fun _menhir_env ->
5850 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5851 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5852 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5853 let _endpos = _startpos in
5854 let _v : 'tv_continue_struct_decl_list =
5855 # 592 "parser_cocci_menhir.mly"
5856 ( [] )
5857 # 5858 "parser_cocci_menhir.ml"
5858 in
5859 _menhir_env.MenhirLib.EngineTypes.stack <- {
5860 MenhirLib.EngineTypes.state = _menhir_s;
5861 MenhirLib.EngineTypes.semv = Obj.repr _v;
5862 MenhirLib.EngineTypes.startp = _startpos;
5863 MenhirLib.EngineTypes.endp = _endpos;
5864 MenhirLib.EngineTypes.next = _menhir_stack;
5865 });
5866 (fun _menhir_env ->
5867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5868 let {
5869 MenhirLib.EngineTypes.semv = _2;
5870 MenhirLib.EngineTypes.startp = _startpos__2_;
5871 MenhirLib.EngineTypes.endp = _endpos__2_;
5872 MenhirLib.EngineTypes.next = {
5873 MenhirLib.EngineTypes.state = _menhir_s;
5874 MenhirLib.EngineTypes.semv = _1;
5875 MenhirLib.EngineTypes.startp = _startpos__1_;
5876 MenhirLib.EngineTypes.endp = _endpos__1_;
5877 MenhirLib.EngineTypes.next = _menhir_stack;
5878 };
5879 } = _menhir_stack in
5880 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
5881 let _1 : 'tv_struct_decl = Obj.magic _1 in
5882 let _startpos = _startpos__1_ in
5883 let _endpos = _endpos__2_ in
5884 let _v : 'tv_continue_struct_decl_list =
5885 # 593 "parser_cocci_menhir.mly"
5886 ( _1@_2 )
5887 # 5888 "parser_cocci_menhir.ml"
5888 in
5889 _menhir_env.MenhirLib.EngineTypes.stack <- {
5890 MenhirLib.EngineTypes.state = _menhir_s;
5891 MenhirLib.EngineTypes.semv = Obj.repr _v;
5892 MenhirLib.EngineTypes.startp = _startpos;
5893 MenhirLib.EngineTypes.endp = _endpos;
5894 MenhirLib.EngineTypes.next = _menhir_stack;
5895 });
5896 (fun _menhir_env ->
5897 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5898 let {
5899 MenhirLib.EngineTypes.state = _menhir_s;
5900 MenhirLib.EngineTypes.semv = _1;
5901 MenhirLib.EngineTypes.startp = _startpos__1_;
5902 MenhirLib.EngineTypes.endp = _endpos__1_;
5903 MenhirLib.EngineTypes.next = _menhir_stack;
5904 } = _menhir_stack in
5905 let _1 : 'tv_struct_decl = Obj.magic _1 in
5906 let _startpos = _startpos__1_ in
5907 let _endpos = _endpos__1_ in
5908 let _v : 'tv_continue_struct_decl_list =
5909 # 594 "parser_cocci_menhir.mly"
5910 ( _1 )
5911 # 5912 "parser_cocci_menhir.ml"
5912 in
5913 _menhir_env.MenhirLib.EngineTypes.stack <- {
5914 MenhirLib.EngineTypes.state = _menhir_s;
5915 MenhirLib.EngineTypes.semv = Obj.repr _v;
5916 MenhirLib.EngineTypes.startp = _startpos;
5917 MenhirLib.EngineTypes.endp = _endpos;
5918 MenhirLib.EngineTypes.next = _menhir_stack;
5919 });
5920 (fun _menhir_env ->
5921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5922 let {
5923 MenhirLib.EngineTypes.semv = m;
5924 MenhirLib.EngineTypes.startp = _startpos_m_;
5925 MenhirLib.EngineTypes.endp = _endpos_m_;
5926 MenhirLib.EngineTypes.next = {
5927 MenhirLib.EngineTypes.semv = ty00;
5928 MenhirLib.EngineTypes.startp = _startpos_ty00_;
5929 MenhirLib.EngineTypes.endp = _endpos_ty00_;
5930 MenhirLib.EngineTypes.next = {
5931 MenhirLib.EngineTypes.state = _menhir_s;
5932 MenhirLib.EngineTypes.semv = r0;
5933 MenhirLib.EngineTypes.startp = _startpos_r0_;
5934 MenhirLib.EngineTypes.endp = _endpos_r0_;
5935 MenhirLib.EngineTypes.next = _menhir_stack;
5936 };
5937 };
5938 } = _menhir_stack in
5939 let m : 'tv_list_TMul_ = Obj.magic m in
5940 let ty00 : (
5941 # 49 "parser_cocci_menhir.mly"
5942 (Data.clt)
5943 # 5944 "parser_cocci_menhir.ml"
5944 ) = Obj.magic ty00 in
5945 let r0 : (
5946 # 51 "parser_cocci_menhir.mly"
5947 (Data.clt)
5948 # 5949 "parser_cocci_menhir.ml"
5949 ) = Obj.magic r0 in
5950 let _startpos = _startpos_r0_ in
5951 let _endpos = _endpos_m_ in
5952 let _v : 'tv_ctype = let ty =
5953 let ty0 = ty00 in
5954 let r = r0 in
5955 let ty =
5956 let ty = ty0 in
5957
5958 # 478 "parser_cocci_menhir.mly"
5959 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
5960 # 5961 "parser_cocci_menhir.ml"
5961
5962 in
5963
5964 # 530 "parser_cocci_menhir.mly"
5965 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
5966 # 5967 "parser_cocci_menhir.ml"
5967
5968 in
5969 let cv =
5970
5971 # 39 "standard.mly"
5972 ( None )
5973 # 5974 "parser_cocci_menhir.ml"
5974
5975 in
5976
5977 # 538 "parser_cocci_menhir.mly"
5978 ( P.pointerify (P.make_cv cv ty) m )
5979 # 5980 "parser_cocci_menhir.ml"
5980 in
5981 _menhir_env.MenhirLib.EngineTypes.stack <- {
5982 MenhirLib.EngineTypes.state = _menhir_s;
5983 MenhirLib.EngineTypes.semv = Obj.repr _v;
5984 MenhirLib.EngineTypes.startp = _startpos;
5985 MenhirLib.EngineTypes.endp = _endpos;
5986 MenhirLib.EngineTypes.next = _menhir_stack;
5987 });
5988 (fun _menhir_env ->
5989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5990 let {
5991 MenhirLib.EngineTypes.semv = m;
5992 MenhirLib.EngineTypes.startp = _startpos_m_;
5993 MenhirLib.EngineTypes.endp = _endpos_m_;
5994 MenhirLib.EngineTypes.next = {
5995 MenhirLib.EngineTypes.semv = ty00;
5996 MenhirLib.EngineTypes.startp = _startpos_ty00_;
5997 MenhirLib.EngineTypes.endp = _endpos_ty00_;
5998 MenhirLib.EngineTypes.next = {
5999 MenhirLib.EngineTypes.state = _menhir_s;
6000 MenhirLib.EngineTypes.semv = r0;
6001 MenhirLib.EngineTypes.startp = _startpos_r0_;
6002 MenhirLib.EngineTypes.endp = _endpos_r0_;
6003 MenhirLib.EngineTypes.next = _menhir_stack;
6004 };
6005 };
6006 } = _menhir_stack in
6007 let m : 'tv_list_TMul_ = Obj.magic m in
6008 let ty00 : (
6009 # 49 "parser_cocci_menhir.mly"
6010 (Data.clt)
6011 # 6012 "parser_cocci_menhir.ml"
6012 ) = Obj.magic ty00 in
6013 let r0 : (
6014 # 51 "parser_cocci_menhir.mly"
6015 (Data.clt)
6016 # 6017 "parser_cocci_menhir.ml"
6017 ) = Obj.magic r0 in
6018 let _startpos = _startpos_r0_ in
6019 let _endpos = _endpos_m_ in
6020 let _v : 'tv_ctype = let ty =
6021 let ty0 = ty00 in
6022 let r = r0 in
6023 let ty =
6024 let ty = ty0 in
6025
6026 # 480 "parser_cocci_menhir.mly"
6027 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6028 # 6029 "parser_cocci_menhir.ml"
6029
6030 in
6031
6032 # 530 "parser_cocci_menhir.mly"
6033 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6034 # 6035 "parser_cocci_menhir.ml"
6035
6036 in
6037 let cv =
6038
6039 # 39 "standard.mly"
6040 ( None )
6041 # 6042 "parser_cocci_menhir.ml"
6042
6043 in
6044
6045 # 538 "parser_cocci_menhir.mly"
6046 ( P.pointerify (P.make_cv cv ty) m )
6047 # 6048 "parser_cocci_menhir.ml"
6048 in
6049 _menhir_env.MenhirLib.EngineTypes.stack <- {
6050 MenhirLib.EngineTypes.state = _menhir_s;
6051 MenhirLib.EngineTypes.semv = Obj.repr _v;
6052 MenhirLib.EngineTypes.startp = _startpos;
6053 MenhirLib.EngineTypes.endp = _endpos;
6054 MenhirLib.EngineTypes.next = _menhir_stack;
6055 });
6056 (fun _menhir_env ->
6057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6058 let {
6059 MenhirLib.EngineTypes.semv = m;
6060 MenhirLib.EngineTypes.startp = _startpos_m_;
6061 MenhirLib.EngineTypes.endp = _endpos_m_;
6062 MenhirLib.EngineTypes.next = {
6063 MenhirLib.EngineTypes.semv = ty00;
6064 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6065 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6066 MenhirLib.EngineTypes.next = {
6067 MenhirLib.EngineTypes.state = _menhir_s;
6068 MenhirLib.EngineTypes.semv = r0;
6069 MenhirLib.EngineTypes.startp = _startpos_r0_;
6070 MenhirLib.EngineTypes.endp = _endpos_r0_;
6071 MenhirLib.EngineTypes.next = _menhir_stack;
6072 };
6073 };
6074 } = _menhir_stack in
6075 let m : 'tv_list_TMul_ = Obj.magic m in
6076 let ty00 : (
6077 # 49 "parser_cocci_menhir.mly"
6078 (Data.clt)
6079 # 6080 "parser_cocci_menhir.ml"
6080 ) = Obj.magic ty00 in
6081 let r0 : (
6082 # 51 "parser_cocci_menhir.mly"
6083 (Data.clt)
6084 # 6085 "parser_cocci_menhir.ml"
6085 ) = Obj.magic r0 in
6086 let _startpos = _startpos_r0_ in
6087 let _endpos = _endpos_m_ in
6088 let _v : 'tv_ctype = let ty =
6089 let ty0 = ty00 in
6090 let r = r0 in
6091 let ty =
6092 let ty = ty0 in
6093
6094 # 482 "parser_cocci_menhir.mly"
6095 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6096 # 6097 "parser_cocci_menhir.ml"
6097
6098 in
6099
6100 # 530 "parser_cocci_menhir.mly"
6101 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6102 # 6103 "parser_cocci_menhir.ml"
6103
6104 in
6105 let cv =
6106
6107 # 39 "standard.mly"
6108 ( None )
6109 # 6110 "parser_cocci_menhir.ml"
6110
6111 in
6112
6113 # 538 "parser_cocci_menhir.mly"
6114 ( P.pointerify (P.make_cv cv ty) m )
6115 # 6116 "parser_cocci_menhir.ml"
6116 in
6117 _menhir_env.MenhirLib.EngineTypes.stack <- {
6118 MenhirLib.EngineTypes.state = _menhir_s;
6119 MenhirLib.EngineTypes.semv = Obj.repr _v;
6120 MenhirLib.EngineTypes.startp = _startpos;
6121 MenhirLib.EngineTypes.endp = _endpos;
6122 MenhirLib.EngineTypes.next = _menhir_stack;
6123 });
6124 (fun _menhir_env ->
6125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6126 let {
6127 MenhirLib.EngineTypes.semv = m;
6128 MenhirLib.EngineTypes.startp = _startpos_m_;
6129 MenhirLib.EngineTypes.endp = _endpos_m_;
6130 MenhirLib.EngineTypes.next = {
6131 MenhirLib.EngineTypes.semv = p00;
6132 MenhirLib.EngineTypes.startp = _startpos_p00_;
6133 MenhirLib.EngineTypes.endp = _endpos_p00_;
6134 MenhirLib.EngineTypes.next = {
6135 MenhirLib.EngineTypes.state = _menhir_s;
6136 MenhirLib.EngineTypes.semv = r0;
6137 MenhirLib.EngineTypes.startp = _startpos_r0_;
6138 MenhirLib.EngineTypes.endp = _endpos_r0_;
6139 MenhirLib.EngineTypes.next = _menhir_stack;
6140 };
6141 };
6142 } = _menhir_stack in
6143 let m : 'tv_list_TMul_ = Obj.magic m in
6144 let p00 : (
6145 # 64 "parser_cocci_menhir.mly"
6146 (Parse_aux.info)
6147 # 6148 "parser_cocci_menhir.ml"
6148 ) = Obj.magic p00 in
6149 let r0 : (
6150 # 51 "parser_cocci_menhir.mly"
6151 (Data.clt)
6152 # 6153 "parser_cocci_menhir.ml"
6153 ) = Obj.magic r0 in
6154 let _startpos = _startpos_r0_ in
6155 let _endpos = _endpos_m_ in
6156 let _v : 'tv_ctype = let ty =
6157 let p0 = p00 in
6158 let r = r0 in
6159 let ty =
6160 let p = p0 in
6161
6162 # 484 "parser_cocci_menhir.mly"
6163 ( let (nm,pure,clt) = p in
6164 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6165 # 6166 "parser_cocci_menhir.ml"
6166
6167 in
6168
6169 # 530 "parser_cocci_menhir.mly"
6170 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6171 # 6172 "parser_cocci_menhir.ml"
6172
6173 in
6174 let cv =
6175
6176 # 39 "standard.mly"
6177 ( None )
6178 # 6179 "parser_cocci_menhir.ml"
6179
6180 in
6181
6182 # 538 "parser_cocci_menhir.mly"
6183 ( P.pointerify (P.make_cv cv ty) m )
6184 # 6185 "parser_cocci_menhir.ml"
6185 in
6186 _menhir_env.MenhirLib.EngineTypes.stack <- {
6187 MenhirLib.EngineTypes.state = _menhir_s;
6188 MenhirLib.EngineTypes.semv = Obj.repr _v;
6189 MenhirLib.EngineTypes.startp = _startpos;
6190 MenhirLib.EngineTypes.endp = _endpos;
6191 MenhirLib.EngineTypes.next = _menhir_stack;
6192 });
6193 (fun _menhir_env ->
6194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6195 let {
6196 MenhirLib.EngineTypes.semv = m;
6197 MenhirLib.EngineTypes.startp = _startpos_m_;
6198 MenhirLib.EngineTypes.endp = _endpos_m_;
6199 MenhirLib.EngineTypes.next = {
6200 MenhirLib.EngineTypes.semv = p00;
6201 MenhirLib.EngineTypes.startp = _startpos_p00_;
6202 MenhirLib.EngineTypes.endp = _endpos_p00_;
6203 MenhirLib.EngineTypes.next = {
6204 MenhirLib.EngineTypes.startp = _startpos__3_;
6205 MenhirLib.EngineTypes.endp = _endpos__3_;
6206 MenhirLib.EngineTypes.next = {
6207 MenhirLib.EngineTypes.semv = r00;
6208 MenhirLib.EngineTypes.startp = _startpos_r00_;
6209 MenhirLib.EngineTypes.endp = _endpos_r00_;
6210 MenhirLib.EngineTypes.next = {
6211 MenhirLib.EngineTypes.state = _menhir_s;
6212 MenhirLib.EngineTypes.semv = r1;
6213 MenhirLib.EngineTypes.startp = _startpos_r1_;
6214 MenhirLib.EngineTypes.endp = _endpos_r1_;
6215 MenhirLib.EngineTypes.next = _menhir_stack;
6216 };
6217 };
6218 };
6219 };
6220 } = _menhir_stack in
6221 let m : 'tv_list_TMul_ = Obj.magic m in
6222 let p00 : (
6223 # 59 "parser_cocci_menhir.mly"
6224 (string * Data.clt)
6225 # 6226 "parser_cocci_menhir.ml"
6226 ) = Obj.magic p00 in
6227 let r00 : (
6228 # 47 "parser_cocci_menhir.mly"
6229 (string)
6230 # 6231 "parser_cocci_menhir.ml"
6231 ) = Obj.magic r00 in
6232 let r1 : (
6233 # 51 "parser_cocci_menhir.mly"
6234 (Data.clt)
6235 # 6236 "parser_cocci_menhir.ml"
6236 ) = Obj.magic r1 in
6237 let _startpos = _startpos_r1_ in
6238 let _endpos = _endpos_m_ in
6239 let _v : 'tv_ctype = let ty =
6240 let p0 = p00 in
6241 let r0 = r00 in
6242 let r = r1 in
6243 let ty =
6244 let p = p0 in
6245 let r = r0 in
6246
6247 # 487 "parser_cocci_menhir.mly"
6248 ( let nm = (r,P.id2name p) in
6249 (* this is only possible when we are in a metavar decl. Otherwise,
6250 it will be represented already as a MetaType *)
6251 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6252 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6253 Ast0.Impure (*will be ignored*))) )
6254 # 6255 "parser_cocci_menhir.ml"
6255
6256 in
6257
6258 # 530 "parser_cocci_menhir.mly"
6259 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6260 # 6261 "parser_cocci_menhir.ml"
6261
6262 in
6263 let cv =
6264
6265 # 39 "standard.mly"
6266 ( None )
6267 # 6268 "parser_cocci_menhir.ml"
6268
6269 in
6270
6271 # 538 "parser_cocci_menhir.mly"
6272 ( P.pointerify (P.make_cv cv ty) m )
6273 # 6274 "parser_cocci_menhir.ml"
6274 in
6275 _menhir_env.MenhirLib.EngineTypes.stack <- {
6276 MenhirLib.EngineTypes.state = _menhir_s;
6277 MenhirLib.EngineTypes.semv = Obj.repr _v;
6278 MenhirLib.EngineTypes.startp = _startpos;
6279 MenhirLib.EngineTypes.endp = _endpos;
6280 MenhirLib.EngineTypes.next = _menhir_stack;
6281 });
6282 (fun _menhir_env ->
6283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6284 let {
6285 MenhirLib.EngineTypes.semv = m;
6286 MenhirLib.EngineTypes.startp = _startpos_m_;
6287 MenhirLib.EngineTypes.endp = _endpos_m_;
6288 MenhirLib.EngineTypes.next = {
6289 MenhirLib.EngineTypes.semv = ty00;
6290 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6291 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6292 MenhirLib.EngineTypes.next = {
6293 MenhirLib.EngineTypes.state = _menhir_s;
6294 MenhirLib.EngineTypes.semv = r0;
6295 MenhirLib.EngineTypes.startp = _startpos_r0_;
6296 MenhirLib.EngineTypes.endp = _endpos_r0_;
6297 MenhirLib.EngineTypes.next = _menhir_stack;
6298 };
6299 };
6300 } = _menhir_stack in
6301 let m : 'tv_list_TMul_ = Obj.magic m in
6302 let ty00 : (
6303 # 49 "parser_cocci_menhir.mly"
6304 (Data.clt)
6305 # 6306 "parser_cocci_menhir.ml"
6306 ) = Obj.magic ty00 in
6307 let r0 : (
6308 # 51 "parser_cocci_menhir.mly"
6309 (Data.clt)
6310 # 6311 "parser_cocci_menhir.ml"
6311 ) = Obj.magic r0 in
6312 let _startpos = _startpos_r0_ in
6313 let _endpos = _endpos_m_ in
6314 let _v : 'tv_ctype = let ty =
6315 let ty0 = ty00 in
6316 let r = r0 in
6317 let ty =
6318 let ty = ty0 in
6319
6320 # 494 "parser_cocci_menhir.mly"
6321 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6322 # 6323 "parser_cocci_menhir.ml"
6323
6324 in
6325
6326 # 530 "parser_cocci_menhir.mly"
6327 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6328 # 6329 "parser_cocci_menhir.ml"
6329
6330 in
6331 let cv =
6332
6333 # 39 "standard.mly"
6334 ( None )
6335 # 6336 "parser_cocci_menhir.ml"
6336
6337 in
6338
6339 # 538 "parser_cocci_menhir.mly"
6340 ( P.pointerify (P.make_cv cv ty) m )
6341 # 6342 "parser_cocci_menhir.ml"
6342 in
6343 _menhir_env.MenhirLib.EngineTypes.stack <- {
6344 MenhirLib.EngineTypes.state = _menhir_s;
6345 MenhirLib.EngineTypes.semv = Obj.repr _v;
6346 MenhirLib.EngineTypes.startp = _startpos;
6347 MenhirLib.EngineTypes.endp = _endpos;
6348 MenhirLib.EngineTypes.next = _menhir_stack;
6349 });
6350 (fun _menhir_env ->
6351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6352 let {
6353 MenhirLib.EngineTypes.semv = m;
6354 MenhirLib.EngineTypes.startp = _startpos_m_;
6355 MenhirLib.EngineTypes.endp = _endpos_m_;
6356 MenhirLib.EngineTypes.next = {
6357 MenhirLib.EngineTypes.semv = ty200;
6358 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6359 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6360 MenhirLib.EngineTypes.next = {
6361 MenhirLib.EngineTypes.semv = ty100;
6362 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6363 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6364 MenhirLib.EngineTypes.next = {
6365 MenhirLib.EngineTypes.state = _menhir_s;
6366 MenhirLib.EngineTypes.semv = r0;
6367 MenhirLib.EngineTypes.startp = _startpos_r0_;
6368 MenhirLib.EngineTypes.endp = _endpos_r0_;
6369 MenhirLib.EngineTypes.next = _menhir_stack;
6370 };
6371 };
6372 };
6373 } = _menhir_stack in
6374 let m : 'tv_list_TMul_ = Obj.magic m in
6375 let ty200 : (
6376 # 49 "parser_cocci_menhir.mly"
6377 (Data.clt)
6378 # 6379 "parser_cocci_menhir.ml"
6379 ) = Obj.magic ty200 in
6380 let ty100 : (
6381 # 49 "parser_cocci_menhir.mly"
6382 (Data.clt)
6383 # 6384 "parser_cocci_menhir.ml"
6384 ) = Obj.magic ty100 in
6385 let r0 : (
6386 # 51 "parser_cocci_menhir.mly"
6387 (Data.clt)
6388 # 6389 "parser_cocci_menhir.ml"
6389 ) = Obj.magic r0 in
6390 let _startpos = _startpos_r0_ in
6391 let _endpos = _endpos_m_ in
6392 let _v : 'tv_ctype = let ty =
6393 let ty20 = ty200 in
6394 let ty10 = ty100 in
6395 let r = r0 in
6396 let ty =
6397 let ty2 = ty20 in
6398 let ty1 = ty10 in
6399
6400 # 496 "parser_cocci_menhir.mly"
6401 ( Ast0.wrap
6402 (Ast0.BaseType
6403 (Ast.LongLongType,
6404 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6405 # 6406 "parser_cocci_menhir.ml"
6406
6407 in
6408
6409 # 530 "parser_cocci_menhir.mly"
6410 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6411 # 6412 "parser_cocci_menhir.ml"
6412
6413 in
6414 let cv =
6415
6416 # 39 "standard.mly"
6417 ( None )
6418 # 6419 "parser_cocci_menhir.ml"
6419
6420 in
6421
6422 # 538 "parser_cocci_menhir.mly"
6423 ( P.pointerify (P.make_cv cv ty) m )
6424 # 6425 "parser_cocci_menhir.ml"
6425 in
6426 _menhir_env.MenhirLib.EngineTypes.stack <- {
6427 MenhirLib.EngineTypes.state = _menhir_s;
6428 MenhirLib.EngineTypes.semv = Obj.repr _v;
6429 MenhirLib.EngineTypes.startp = _startpos;
6430 MenhirLib.EngineTypes.endp = _endpos;
6431 MenhirLib.EngineTypes.next = _menhir_stack;
6432 });
6433 (fun _menhir_env ->
6434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6435 let {
6436 MenhirLib.EngineTypes.semv = m;
6437 MenhirLib.EngineTypes.startp = _startpos_m_;
6438 MenhirLib.EngineTypes.endp = _endpos_m_;
6439 MenhirLib.EngineTypes.next = {
6440 MenhirLib.EngineTypes.semv = ty00;
6441 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6442 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6443 MenhirLib.EngineTypes.next = {
6444 MenhirLib.EngineTypes.state = _menhir_s;
6445 MenhirLib.EngineTypes.semv = r0;
6446 MenhirLib.EngineTypes.startp = _startpos_r0_;
6447 MenhirLib.EngineTypes.endp = _endpos_r0_;
6448 MenhirLib.EngineTypes.next = _menhir_stack;
6449 };
6450 };
6451 } = _menhir_stack in
6452 let m : 'tv_list_TMul_ = Obj.magic m in
6453 let ty00 : (
6454 # 49 "parser_cocci_menhir.mly"
6455 (Data.clt)
6456 # 6457 "parser_cocci_menhir.ml"
6457 ) = Obj.magic ty00 in
6458 let r0 : (
6459 # 51 "parser_cocci_menhir.mly"
6460 (Data.clt)
6461 # 6462 "parser_cocci_menhir.ml"
6462 ) = Obj.magic r0 in
6463 let _startpos = _startpos_r0_ in
6464 let _endpos = _endpos_m_ in
6465 let _v : 'tv_ctype = let ty =
6466 let ty0 = ty00 in
6467 let r = r0 in
6468 let ty =
6469 let ty = ty0 in
6470
6471 # 478 "parser_cocci_menhir.mly"
6472 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6473 # 6474 "parser_cocci_menhir.ml"
6474
6475 in
6476
6477 # 532 "parser_cocci_menhir.mly"
6478 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6479 # 6480 "parser_cocci_menhir.ml"
6480
6481 in
6482 let cv =
6483
6484 # 39 "standard.mly"
6485 ( None )
6486 # 6487 "parser_cocci_menhir.ml"
6487
6488 in
6489
6490 # 538 "parser_cocci_menhir.mly"
6491 ( P.pointerify (P.make_cv cv ty) m )
6492 # 6493 "parser_cocci_menhir.ml"
6493 in
6494 _menhir_env.MenhirLib.EngineTypes.stack <- {
6495 MenhirLib.EngineTypes.state = _menhir_s;
6496 MenhirLib.EngineTypes.semv = Obj.repr _v;
6497 MenhirLib.EngineTypes.startp = _startpos;
6498 MenhirLib.EngineTypes.endp = _endpos;
6499 MenhirLib.EngineTypes.next = _menhir_stack;
6500 });
6501 (fun _menhir_env ->
6502 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6503 let {
6504 MenhirLib.EngineTypes.semv = m;
6505 MenhirLib.EngineTypes.startp = _startpos_m_;
6506 MenhirLib.EngineTypes.endp = _endpos_m_;
6507 MenhirLib.EngineTypes.next = {
6508 MenhirLib.EngineTypes.semv = ty00;
6509 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6510 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6511 MenhirLib.EngineTypes.next = {
6512 MenhirLib.EngineTypes.state = _menhir_s;
6513 MenhirLib.EngineTypes.semv = r0;
6514 MenhirLib.EngineTypes.startp = _startpos_r0_;
6515 MenhirLib.EngineTypes.endp = _endpos_r0_;
6516 MenhirLib.EngineTypes.next = _menhir_stack;
6517 };
6518 };
6519 } = _menhir_stack in
6520 let m : 'tv_list_TMul_ = Obj.magic m in
6521 let ty00 : (
6522 # 49 "parser_cocci_menhir.mly"
6523 (Data.clt)
6524 # 6525 "parser_cocci_menhir.ml"
6525 ) = Obj.magic ty00 in
6526 let r0 : (
6527 # 51 "parser_cocci_menhir.mly"
6528 (Data.clt)
6529 # 6530 "parser_cocci_menhir.ml"
6530 ) = Obj.magic r0 in
6531 let _startpos = _startpos_r0_ in
6532 let _endpos = _endpos_m_ in
6533 let _v : 'tv_ctype = let ty =
6534 let ty0 = ty00 in
6535 let r = r0 in
6536 let ty =
6537 let ty = ty0 in
6538
6539 # 480 "parser_cocci_menhir.mly"
6540 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6541 # 6542 "parser_cocci_menhir.ml"
6542
6543 in
6544
6545 # 532 "parser_cocci_menhir.mly"
6546 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6547 # 6548 "parser_cocci_menhir.ml"
6548
6549 in
6550 let cv =
6551
6552 # 39 "standard.mly"
6553 ( None )
6554 # 6555 "parser_cocci_menhir.ml"
6555
6556 in
6557
6558 # 538 "parser_cocci_menhir.mly"
6559 ( P.pointerify (P.make_cv cv ty) m )
6560 # 6561 "parser_cocci_menhir.ml"
6561 in
6562 _menhir_env.MenhirLib.EngineTypes.stack <- {
6563 MenhirLib.EngineTypes.state = _menhir_s;
6564 MenhirLib.EngineTypes.semv = Obj.repr _v;
6565 MenhirLib.EngineTypes.startp = _startpos;
6566 MenhirLib.EngineTypes.endp = _endpos;
6567 MenhirLib.EngineTypes.next = _menhir_stack;
6568 });
6569 (fun _menhir_env ->
6570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6571 let {
6572 MenhirLib.EngineTypes.semv = m;
6573 MenhirLib.EngineTypes.startp = _startpos_m_;
6574 MenhirLib.EngineTypes.endp = _endpos_m_;
6575 MenhirLib.EngineTypes.next = {
6576 MenhirLib.EngineTypes.semv = ty00;
6577 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6578 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6579 MenhirLib.EngineTypes.next = {
6580 MenhirLib.EngineTypes.state = _menhir_s;
6581 MenhirLib.EngineTypes.semv = r0;
6582 MenhirLib.EngineTypes.startp = _startpos_r0_;
6583 MenhirLib.EngineTypes.endp = _endpos_r0_;
6584 MenhirLib.EngineTypes.next = _menhir_stack;
6585 };
6586 };
6587 } = _menhir_stack in
6588 let m : 'tv_list_TMul_ = Obj.magic m in
6589 let ty00 : (
6590 # 49 "parser_cocci_menhir.mly"
6591 (Data.clt)
6592 # 6593 "parser_cocci_menhir.ml"
6593 ) = Obj.magic ty00 in
6594 let r0 : (
6595 # 51 "parser_cocci_menhir.mly"
6596 (Data.clt)
6597 # 6598 "parser_cocci_menhir.ml"
6598 ) = Obj.magic r0 in
6599 let _startpos = _startpos_r0_ in
6600 let _endpos = _endpos_m_ in
6601 let _v : 'tv_ctype = let ty =
6602 let ty0 = ty00 in
6603 let r = r0 in
6604 let ty =
6605 let ty = ty0 in
6606
6607 # 482 "parser_cocci_menhir.mly"
6608 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6609 # 6610 "parser_cocci_menhir.ml"
6610
6611 in
6612
6613 # 532 "parser_cocci_menhir.mly"
6614 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6615 # 6616 "parser_cocci_menhir.ml"
6616
6617 in
6618 let cv =
6619
6620 # 39 "standard.mly"
6621 ( None )
6622 # 6623 "parser_cocci_menhir.ml"
6623
6624 in
6625
6626 # 538 "parser_cocci_menhir.mly"
6627 ( P.pointerify (P.make_cv cv ty) m )
6628 # 6629 "parser_cocci_menhir.ml"
6629 in
6630 _menhir_env.MenhirLib.EngineTypes.stack <- {
6631 MenhirLib.EngineTypes.state = _menhir_s;
6632 MenhirLib.EngineTypes.semv = Obj.repr _v;
6633 MenhirLib.EngineTypes.startp = _startpos;
6634 MenhirLib.EngineTypes.endp = _endpos;
6635 MenhirLib.EngineTypes.next = _menhir_stack;
6636 });
6637 (fun _menhir_env ->
6638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6639 let {
6640 MenhirLib.EngineTypes.semv = m;
6641 MenhirLib.EngineTypes.startp = _startpos_m_;
6642 MenhirLib.EngineTypes.endp = _endpos_m_;
6643 MenhirLib.EngineTypes.next = {
6644 MenhirLib.EngineTypes.semv = p00;
6645 MenhirLib.EngineTypes.startp = _startpos_p00_;
6646 MenhirLib.EngineTypes.endp = _endpos_p00_;
6647 MenhirLib.EngineTypes.next = {
6648 MenhirLib.EngineTypes.state = _menhir_s;
6649 MenhirLib.EngineTypes.semv = r0;
6650 MenhirLib.EngineTypes.startp = _startpos_r0_;
6651 MenhirLib.EngineTypes.endp = _endpos_r0_;
6652 MenhirLib.EngineTypes.next = _menhir_stack;
6653 };
6654 };
6655 } = _menhir_stack in
6656 let m : 'tv_list_TMul_ = Obj.magic m in
6657 let p00 : (
6658 # 64 "parser_cocci_menhir.mly"
6659 (Parse_aux.info)
6660 # 6661 "parser_cocci_menhir.ml"
6661 ) = Obj.magic p00 in
6662 let r0 : (
6663 # 51 "parser_cocci_menhir.mly"
6664 (Data.clt)
6665 # 6666 "parser_cocci_menhir.ml"
6666 ) = Obj.magic r0 in
6667 let _startpos = _startpos_r0_ in
6668 let _endpos = _endpos_m_ in
6669 let _v : 'tv_ctype = let ty =
6670 let p0 = p00 in
6671 let r = r0 in
6672 let ty =
6673 let p = p0 in
6674
6675 # 484 "parser_cocci_menhir.mly"
6676 ( let (nm,pure,clt) = p in
6677 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6678 # 6679 "parser_cocci_menhir.ml"
6679
6680 in
6681
6682 # 532 "parser_cocci_menhir.mly"
6683 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6684 # 6685 "parser_cocci_menhir.ml"
6685
6686 in
6687 let cv =
6688
6689 # 39 "standard.mly"
6690 ( None )
6691 # 6692 "parser_cocci_menhir.ml"
6692
6693 in
6694
6695 # 538 "parser_cocci_menhir.mly"
6696 ( P.pointerify (P.make_cv cv ty) m )
6697 # 6698 "parser_cocci_menhir.ml"
6698 in
6699 _menhir_env.MenhirLib.EngineTypes.stack <- {
6700 MenhirLib.EngineTypes.state = _menhir_s;
6701 MenhirLib.EngineTypes.semv = Obj.repr _v;
6702 MenhirLib.EngineTypes.startp = _startpos;
6703 MenhirLib.EngineTypes.endp = _endpos;
6704 MenhirLib.EngineTypes.next = _menhir_stack;
6705 });
6706 (fun _menhir_env ->
6707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6708 let {
6709 MenhirLib.EngineTypes.semv = m;
6710 MenhirLib.EngineTypes.startp = _startpos_m_;
6711 MenhirLib.EngineTypes.endp = _endpos_m_;
6712 MenhirLib.EngineTypes.next = {
6713 MenhirLib.EngineTypes.semv = p00;
6714 MenhirLib.EngineTypes.startp = _startpos_p00_;
6715 MenhirLib.EngineTypes.endp = _endpos_p00_;
6716 MenhirLib.EngineTypes.next = {
6717 MenhirLib.EngineTypes.startp = _startpos__3_;
6718 MenhirLib.EngineTypes.endp = _endpos__3_;
6719 MenhirLib.EngineTypes.next = {
6720 MenhirLib.EngineTypes.semv = r00;
6721 MenhirLib.EngineTypes.startp = _startpos_r00_;
6722 MenhirLib.EngineTypes.endp = _endpos_r00_;
6723 MenhirLib.EngineTypes.next = {
6724 MenhirLib.EngineTypes.state = _menhir_s;
6725 MenhirLib.EngineTypes.semv = r1;
6726 MenhirLib.EngineTypes.startp = _startpos_r1_;
6727 MenhirLib.EngineTypes.endp = _endpos_r1_;
6728 MenhirLib.EngineTypes.next = _menhir_stack;
6729 };
6730 };
6731 };
6732 };
6733 } = _menhir_stack in
6734 let m : 'tv_list_TMul_ = Obj.magic m in
6735 let p00 : (
6736 # 59 "parser_cocci_menhir.mly"
6737 (string * Data.clt)
6738 # 6739 "parser_cocci_menhir.ml"
6739 ) = Obj.magic p00 in
6740 let r00 : (
6741 # 47 "parser_cocci_menhir.mly"
6742 (string)
6743 # 6744 "parser_cocci_menhir.ml"
6744 ) = Obj.magic r00 in
6745 let r1 : (
6746 # 51 "parser_cocci_menhir.mly"
6747 (Data.clt)
6748 # 6749 "parser_cocci_menhir.ml"
6749 ) = Obj.magic r1 in
6750 let _startpos = _startpos_r1_ in
6751 let _endpos = _endpos_m_ in
6752 let _v : 'tv_ctype = let ty =
6753 let p0 = p00 in
6754 let r0 = r00 in
6755 let r = r1 in
6756 let ty =
6757 let p = p0 in
6758 let r = r0 in
6759
6760 # 487 "parser_cocci_menhir.mly"
6761 ( let nm = (r,P.id2name p) in
6762 (* this is only possible when we are in a metavar decl. Otherwise,
6763 it will be represented already as a MetaType *)
6764 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6765 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6766 Ast0.Impure (*will be ignored*))) )
6767 # 6768 "parser_cocci_menhir.ml"
6768
6769 in
6770
6771 # 532 "parser_cocci_menhir.mly"
6772 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6773 # 6774 "parser_cocci_menhir.ml"
6774
6775 in
6776 let cv =
6777
6778 # 39 "standard.mly"
6779 ( None )
6780 # 6781 "parser_cocci_menhir.ml"
6781
6782 in
6783
6784 # 538 "parser_cocci_menhir.mly"
6785 ( P.pointerify (P.make_cv cv ty) m )
6786 # 6787 "parser_cocci_menhir.ml"
6787 in
6788 _menhir_env.MenhirLib.EngineTypes.stack <- {
6789 MenhirLib.EngineTypes.state = _menhir_s;
6790 MenhirLib.EngineTypes.semv = Obj.repr _v;
6791 MenhirLib.EngineTypes.startp = _startpos;
6792 MenhirLib.EngineTypes.endp = _endpos;
6793 MenhirLib.EngineTypes.next = _menhir_stack;
6794 });
6795 (fun _menhir_env ->
6796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6797 let {
6798 MenhirLib.EngineTypes.semv = m;
6799 MenhirLib.EngineTypes.startp = _startpos_m_;
6800 MenhirLib.EngineTypes.endp = _endpos_m_;
6801 MenhirLib.EngineTypes.next = {
6802 MenhirLib.EngineTypes.semv = ty00;
6803 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6804 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6805 MenhirLib.EngineTypes.next = {
6806 MenhirLib.EngineTypes.state = _menhir_s;
6807 MenhirLib.EngineTypes.semv = r0;
6808 MenhirLib.EngineTypes.startp = _startpos_r0_;
6809 MenhirLib.EngineTypes.endp = _endpos_r0_;
6810 MenhirLib.EngineTypes.next = _menhir_stack;
6811 };
6812 };
6813 } = _menhir_stack in
6814 let m : 'tv_list_TMul_ = Obj.magic m in
6815 let ty00 : (
6816 # 49 "parser_cocci_menhir.mly"
6817 (Data.clt)
6818 # 6819 "parser_cocci_menhir.ml"
6819 ) = Obj.magic ty00 in
6820 let r0 : (
6821 # 51 "parser_cocci_menhir.mly"
6822 (Data.clt)
6823 # 6824 "parser_cocci_menhir.ml"
6824 ) = Obj.magic r0 in
6825 let _startpos = _startpos_r0_ in
6826 let _endpos = _endpos_m_ in
6827 let _v : 'tv_ctype = let ty =
6828 let ty0 = ty00 in
6829 let r = r0 in
6830 let ty =
6831 let ty = ty0 in
6832
6833 # 494 "parser_cocci_menhir.mly"
6834 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6835 # 6836 "parser_cocci_menhir.ml"
6836
6837 in
6838
6839 # 532 "parser_cocci_menhir.mly"
6840 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6841 # 6842 "parser_cocci_menhir.ml"
6842
6843 in
6844 let cv =
6845
6846 # 39 "standard.mly"
6847 ( None )
6848 # 6849 "parser_cocci_menhir.ml"
6849
6850 in
6851
6852 # 538 "parser_cocci_menhir.mly"
6853 ( P.pointerify (P.make_cv cv ty) m )
6854 # 6855 "parser_cocci_menhir.ml"
6855 in
6856 _menhir_env.MenhirLib.EngineTypes.stack <- {
6857 MenhirLib.EngineTypes.state = _menhir_s;
6858 MenhirLib.EngineTypes.semv = Obj.repr _v;
6859 MenhirLib.EngineTypes.startp = _startpos;
6860 MenhirLib.EngineTypes.endp = _endpos;
6861 MenhirLib.EngineTypes.next = _menhir_stack;
6862 });
6863 (fun _menhir_env ->
6864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6865 let {
6866 MenhirLib.EngineTypes.semv = m;
6867 MenhirLib.EngineTypes.startp = _startpos_m_;
6868 MenhirLib.EngineTypes.endp = _endpos_m_;
6869 MenhirLib.EngineTypes.next = {
6870 MenhirLib.EngineTypes.semv = ty200;
6871 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6872 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6873 MenhirLib.EngineTypes.next = {
6874 MenhirLib.EngineTypes.semv = ty100;
6875 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6876 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6877 MenhirLib.EngineTypes.next = {
6878 MenhirLib.EngineTypes.state = _menhir_s;
6879 MenhirLib.EngineTypes.semv = r0;
6880 MenhirLib.EngineTypes.startp = _startpos_r0_;
6881 MenhirLib.EngineTypes.endp = _endpos_r0_;
6882 MenhirLib.EngineTypes.next = _menhir_stack;
6883 };
6884 };
6885 };
6886 } = _menhir_stack in
6887 let m : 'tv_list_TMul_ = Obj.magic m in
6888 let ty200 : (
6889 # 49 "parser_cocci_menhir.mly"
6890 (Data.clt)
6891 # 6892 "parser_cocci_menhir.ml"
6892 ) = Obj.magic ty200 in
6893 let ty100 : (
6894 # 49 "parser_cocci_menhir.mly"
6895 (Data.clt)
6896 # 6897 "parser_cocci_menhir.ml"
6897 ) = Obj.magic ty100 in
6898 let r0 : (
6899 # 51 "parser_cocci_menhir.mly"
6900 (Data.clt)
6901 # 6902 "parser_cocci_menhir.ml"
6902 ) = Obj.magic r0 in
6903 let _startpos = _startpos_r0_ in
6904 let _endpos = _endpos_m_ in
6905 let _v : 'tv_ctype = let ty =
6906 let ty20 = ty200 in
6907 let ty10 = ty100 in
6908 let r = r0 in
6909 let ty =
6910 let ty2 = ty20 in
6911 let ty1 = ty10 in
6912
6913 # 496 "parser_cocci_menhir.mly"
6914 ( Ast0.wrap
6915 (Ast0.BaseType
6916 (Ast.LongLongType,
6917 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6918 # 6919 "parser_cocci_menhir.ml"
6919
6920 in
6921
6922 # 532 "parser_cocci_menhir.mly"
6923 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6924 # 6925 "parser_cocci_menhir.ml"
6925
6926 in
6927 let cv =
6928
6929 # 39 "standard.mly"
6930 ( None )
6931 # 6932 "parser_cocci_menhir.ml"
6932
6933 in
6934
6935 # 538 "parser_cocci_menhir.mly"
6936 ( P.pointerify (P.make_cv cv ty) m )
6937 # 6938 "parser_cocci_menhir.ml"
6938 in
6939 _menhir_env.MenhirLib.EngineTypes.stack <- {
6940 MenhirLib.EngineTypes.state = _menhir_s;
6941 MenhirLib.EngineTypes.semv = Obj.repr _v;
6942 MenhirLib.EngineTypes.startp = _startpos;
6943 MenhirLib.EngineTypes.endp = _endpos;
6944 MenhirLib.EngineTypes.next = _menhir_stack;
6945 });
6946 (fun _menhir_env ->
6947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6948 let {
6949 MenhirLib.EngineTypes.semv = m;
6950 MenhirLib.EngineTypes.startp = _startpos_m_;
6951 MenhirLib.EngineTypes.endp = _endpos_m_;
6952 MenhirLib.EngineTypes.next = {
6953 MenhirLib.EngineTypes.state = _menhir_s;
6954 MenhirLib.EngineTypes.semv = ty00;
6955 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6956 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6957 MenhirLib.EngineTypes.next = _menhir_stack;
6958 };
6959 } = _menhir_stack in
6960 let m : 'tv_list_TMul_ = Obj.magic m in
6961 let ty00 : (
6962 # 49 "parser_cocci_menhir.mly"
6963 (Data.clt)
6964 # 6965 "parser_cocci_menhir.ml"
6965 ) = Obj.magic ty00 in
6966 let _startpos = _startpos_ty00_ in
6967 let _endpos = _endpos_m_ in
6968 let _v : 'tv_ctype = let ty =
6969 let ty0 = ty00 in
6970 let ty =
6971 let ty = ty0 in
6972
6973 # 478 "parser_cocci_menhir.mly"
6974 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6975 # 6976 "parser_cocci_menhir.ml"
6976
6977 in
6978
6979 # 533 "parser_cocci_menhir.mly"
6980 ( ty )
6981 # 6982 "parser_cocci_menhir.ml"
6982
6983 in
6984 let cv =
6985
6986 # 39 "standard.mly"
6987 ( None )
6988 # 6989 "parser_cocci_menhir.ml"
6989
6990 in
6991
6992 # 538 "parser_cocci_menhir.mly"
6993 ( P.pointerify (P.make_cv cv ty) m )
6994 # 6995 "parser_cocci_menhir.ml"
6995 in
6996 _menhir_env.MenhirLib.EngineTypes.stack <- {
6997 MenhirLib.EngineTypes.state = _menhir_s;
6998 MenhirLib.EngineTypes.semv = Obj.repr _v;
6999 MenhirLib.EngineTypes.startp = _startpos;
7000 MenhirLib.EngineTypes.endp = _endpos;
7001 MenhirLib.EngineTypes.next = _menhir_stack;
7002 });
7003 (fun _menhir_env ->
7004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7005 let {
7006 MenhirLib.EngineTypes.semv = m;
7007 MenhirLib.EngineTypes.startp = _startpos_m_;
7008 MenhirLib.EngineTypes.endp = _endpos_m_;
7009 MenhirLib.EngineTypes.next = {
7010 MenhirLib.EngineTypes.state = _menhir_s;
7011 MenhirLib.EngineTypes.semv = ty00;
7012 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7013 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7014 MenhirLib.EngineTypes.next = _menhir_stack;
7015 };
7016 } = _menhir_stack in
7017 let m : 'tv_list_TMul_ = Obj.magic m in
7018 let ty00 : (
7019 # 49 "parser_cocci_menhir.mly"
7020 (Data.clt)
7021 # 7022 "parser_cocci_menhir.ml"
7022 ) = Obj.magic ty00 in
7023 let _startpos = _startpos_ty00_ in
7024 let _endpos = _endpos_m_ in
7025 let _v : 'tv_ctype = let ty =
7026 let ty0 = ty00 in
7027 let ty =
7028 let ty = ty0 in
7029
7030 # 480 "parser_cocci_menhir.mly"
7031 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7032 # 7033 "parser_cocci_menhir.ml"
7033
7034 in
7035
7036 # 533 "parser_cocci_menhir.mly"
7037 ( ty )
7038 # 7039 "parser_cocci_menhir.ml"
7039
7040 in
7041 let cv =
7042
7043 # 39 "standard.mly"
7044 ( None )
7045 # 7046 "parser_cocci_menhir.ml"
7046
7047 in
7048
7049 # 538 "parser_cocci_menhir.mly"
7050 ( P.pointerify (P.make_cv cv ty) m )
7051 # 7052 "parser_cocci_menhir.ml"
7052 in
7053 _menhir_env.MenhirLib.EngineTypes.stack <- {
7054 MenhirLib.EngineTypes.state = _menhir_s;
7055 MenhirLib.EngineTypes.semv = Obj.repr _v;
7056 MenhirLib.EngineTypes.startp = _startpos;
7057 MenhirLib.EngineTypes.endp = _endpos;
7058 MenhirLib.EngineTypes.next = _menhir_stack;
7059 });
7060 (fun _menhir_env ->
7061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7062 let {
7063 MenhirLib.EngineTypes.semv = m;
7064 MenhirLib.EngineTypes.startp = _startpos_m_;
7065 MenhirLib.EngineTypes.endp = _endpos_m_;
7066 MenhirLib.EngineTypes.next = {
7067 MenhirLib.EngineTypes.state = _menhir_s;
7068 MenhirLib.EngineTypes.semv = ty00;
7069 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7070 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7071 MenhirLib.EngineTypes.next = _menhir_stack;
7072 };
7073 } = _menhir_stack in
7074 let m : 'tv_list_TMul_ = Obj.magic m in
7075 let ty00 : (
7076 # 49 "parser_cocci_menhir.mly"
7077 (Data.clt)
7078 # 7079 "parser_cocci_menhir.ml"
7079 ) = Obj.magic ty00 in
7080 let _startpos = _startpos_ty00_ in
7081 let _endpos = _endpos_m_ in
7082 let _v : 'tv_ctype = let ty =
7083 let ty0 = ty00 in
7084 let ty =
7085 let ty = ty0 in
7086
7087 # 482 "parser_cocci_menhir.mly"
7088 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7089 # 7090 "parser_cocci_menhir.ml"
7090
7091 in
7092
7093 # 533 "parser_cocci_menhir.mly"
7094 ( ty )
7095 # 7096 "parser_cocci_menhir.ml"
7096
7097 in
7098 let cv =
7099
7100 # 39 "standard.mly"
7101 ( None )
7102 # 7103 "parser_cocci_menhir.ml"
7103
7104 in
7105
7106 # 538 "parser_cocci_menhir.mly"
7107 ( P.pointerify (P.make_cv cv ty) m )
7108 # 7109 "parser_cocci_menhir.ml"
7109 in
7110 _menhir_env.MenhirLib.EngineTypes.stack <- {
7111 MenhirLib.EngineTypes.state = _menhir_s;
7112 MenhirLib.EngineTypes.semv = Obj.repr _v;
7113 MenhirLib.EngineTypes.startp = _startpos;
7114 MenhirLib.EngineTypes.endp = _endpos;
7115 MenhirLib.EngineTypes.next = _menhir_stack;
7116 });
7117 (fun _menhir_env ->
7118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7119 let {
7120 MenhirLib.EngineTypes.semv = m;
7121 MenhirLib.EngineTypes.startp = _startpos_m_;
7122 MenhirLib.EngineTypes.endp = _endpos_m_;
7123 MenhirLib.EngineTypes.next = {
7124 MenhirLib.EngineTypes.state = _menhir_s;
7125 MenhirLib.EngineTypes.semv = p00;
7126 MenhirLib.EngineTypes.startp = _startpos_p00_;
7127 MenhirLib.EngineTypes.endp = _endpos_p00_;
7128 MenhirLib.EngineTypes.next = _menhir_stack;
7129 };
7130 } = _menhir_stack in
7131 let m : 'tv_list_TMul_ = Obj.magic m in
7132 let p00 : (
7133 # 64 "parser_cocci_menhir.mly"
7134 (Parse_aux.info)
7135 # 7136 "parser_cocci_menhir.ml"
7136 ) = Obj.magic p00 in
7137 let _startpos = _startpos_p00_ in
7138 let _endpos = _endpos_m_ in
7139 let _v : 'tv_ctype = let ty =
7140 let p0 = p00 in
7141 let ty =
7142 let p = p0 in
7143
7144 # 484 "parser_cocci_menhir.mly"
7145 ( let (nm,pure,clt) = p in
7146 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7147 # 7148 "parser_cocci_menhir.ml"
7148
7149 in
7150
7151 # 533 "parser_cocci_menhir.mly"
7152 ( ty )
7153 # 7154 "parser_cocci_menhir.ml"
7154
7155 in
7156 let cv =
7157
7158 # 39 "standard.mly"
7159 ( None )
7160 # 7161 "parser_cocci_menhir.ml"
7161
7162 in
7163
7164 # 538 "parser_cocci_menhir.mly"
7165 ( P.pointerify (P.make_cv cv ty) m )
7166 # 7167 "parser_cocci_menhir.ml"
7167 in
7168 _menhir_env.MenhirLib.EngineTypes.stack <- {
7169 MenhirLib.EngineTypes.state = _menhir_s;
7170 MenhirLib.EngineTypes.semv = Obj.repr _v;
7171 MenhirLib.EngineTypes.startp = _startpos;
7172 MenhirLib.EngineTypes.endp = _endpos;
7173 MenhirLib.EngineTypes.next = _menhir_stack;
7174 });
7175 (fun _menhir_env ->
7176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7177 let {
7178 MenhirLib.EngineTypes.semv = m;
7179 MenhirLib.EngineTypes.startp = _startpos_m_;
7180 MenhirLib.EngineTypes.endp = _endpos_m_;
7181 MenhirLib.EngineTypes.next = {
7182 MenhirLib.EngineTypes.semv = p00;
7183 MenhirLib.EngineTypes.startp = _startpos_p00_;
7184 MenhirLib.EngineTypes.endp = _endpos_p00_;
7185 MenhirLib.EngineTypes.next = {
7186 MenhirLib.EngineTypes.startp = _startpos__2_;
7187 MenhirLib.EngineTypes.endp = _endpos__2_;
7188 MenhirLib.EngineTypes.next = {
7189 MenhirLib.EngineTypes.state = _menhir_s;
7190 MenhirLib.EngineTypes.semv = r00;
7191 MenhirLib.EngineTypes.startp = _startpos_r00_;
7192 MenhirLib.EngineTypes.endp = _endpos_r00_;
7193 MenhirLib.EngineTypes.next = _menhir_stack;
7194 };
7195 };
7196 };
7197 } = _menhir_stack in
7198 let m : 'tv_list_TMul_ = Obj.magic m in
7199 let p00 : (
7200 # 59 "parser_cocci_menhir.mly"
7201 (string * Data.clt)
7202 # 7203 "parser_cocci_menhir.ml"
7203 ) = Obj.magic p00 in
7204 let r00 : (
7205 # 47 "parser_cocci_menhir.mly"
7206 (string)
7207 # 7208 "parser_cocci_menhir.ml"
7208 ) = Obj.magic r00 in
7209 let _startpos = _startpos_r00_ in
7210 let _endpos = _endpos_m_ in
7211 let _v : 'tv_ctype = let ty =
7212 let p0 = p00 in
7213 let r0 = r00 in
7214 let ty =
7215 let p = p0 in
7216 let r = r0 in
7217
7218 # 487 "parser_cocci_menhir.mly"
7219 ( let nm = (r,P.id2name p) in
7220 (* this is only possible when we are in a metavar decl. Otherwise,
7221 it will be represented already as a MetaType *)
7222 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7223 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7224 Ast0.Impure (*will be ignored*))) )
7225 # 7226 "parser_cocci_menhir.ml"
7226
7227 in
7228
7229 # 533 "parser_cocci_menhir.mly"
7230 ( ty )
7231 # 7232 "parser_cocci_menhir.ml"
7232
7233 in
7234 let cv =
7235
7236 # 39 "standard.mly"
7237 ( None )
7238 # 7239 "parser_cocci_menhir.ml"
7239
7240 in
7241
7242 # 538 "parser_cocci_menhir.mly"
7243 ( P.pointerify (P.make_cv cv ty) m )
7244 # 7245 "parser_cocci_menhir.ml"
7245 in
7246 _menhir_env.MenhirLib.EngineTypes.stack <- {
7247 MenhirLib.EngineTypes.state = _menhir_s;
7248 MenhirLib.EngineTypes.semv = Obj.repr _v;
7249 MenhirLib.EngineTypes.startp = _startpos;
7250 MenhirLib.EngineTypes.endp = _endpos;
7251 MenhirLib.EngineTypes.next = _menhir_stack;
7252 });
7253 (fun _menhir_env ->
7254 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7255 let {
7256 MenhirLib.EngineTypes.semv = m;
7257 MenhirLib.EngineTypes.startp = _startpos_m_;
7258 MenhirLib.EngineTypes.endp = _endpos_m_;
7259 MenhirLib.EngineTypes.next = {
7260 MenhirLib.EngineTypes.state = _menhir_s;
7261 MenhirLib.EngineTypes.semv = ty00;
7262 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7263 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7264 MenhirLib.EngineTypes.next = _menhir_stack;
7265 };
7266 } = _menhir_stack in
7267 let m : 'tv_list_TMul_ = Obj.magic m in
7268 let ty00 : (
7269 # 49 "parser_cocci_menhir.mly"
7270 (Data.clt)
7271 # 7272 "parser_cocci_menhir.ml"
7272 ) = Obj.magic ty00 in
7273 let _startpos = _startpos_ty00_ in
7274 let _endpos = _endpos_m_ in
7275 let _v : 'tv_ctype = let ty =
7276 let ty0 = ty00 in
7277 let ty =
7278 let ty = ty0 in
7279
7280 # 494 "parser_cocci_menhir.mly"
7281 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7282 # 7283 "parser_cocci_menhir.ml"
7283
7284 in
7285
7286 # 533 "parser_cocci_menhir.mly"
7287 ( ty )
7288 # 7289 "parser_cocci_menhir.ml"
7289
7290 in
7291 let cv =
7292
7293 # 39 "standard.mly"
7294 ( None )
7295 # 7296 "parser_cocci_menhir.ml"
7296
7297 in
7298
7299 # 538 "parser_cocci_menhir.mly"
7300 ( P.pointerify (P.make_cv cv ty) m )
7301 # 7302 "parser_cocci_menhir.ml"
7302 in
7303 _menhir_env.MenhirLib.EngineTypes.stack <- {
7304 MenhirLib.EngineTypes.state = _menhir_s;
7305 MenhirLib.EngineTypes.semv = Obj.repr _v;
7306 MenhirLib.EngineTypes.startp = _startpos;
7307 MenhirLib.EngineTypes.endp = _endpos;
7308 MenhirLib.EngineTypes.next = _menhir_stack;
7309 });
7310 (fun _menhir_env ->
7311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7312 let {
7313 MenhirLib.EngineTypes.semv = m;
7314 MenhirLib.EngineTypes.startp = _startpos_m_;
7315 MenhirLib.EngineTypes.endp = _endpos_m_;
7316 MenhirLib.EngineTypes.next = {
7317 MenhirLib.EngineTypes.semv = ty200;
7318 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7319 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7320 MenhirLib.EngineTypes.next = {
7321 MenhirLib.EngineTypes.state = _menhir_s;
7322 MenhirLib.EngineTypes.semv = ty100;
7323 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7324 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7325 MenhirLib.EngineTypes.next = _menhir_stack;
7326 };
7327 };
7328 } = _menhir_stack in
7329 let m : 'tv_list_TMul_ = Obj.magic m in
7330 let ty200 : (
7331 # 49 "parser_cocci_menhir.mly"
7332 (Data.clt)
7333 # 7334 "parser_cocci_menhir.ml"
7334 ) = Obj.magic ty200 in
7335 let ty100 : (
7336 # 49 "parser_cocci_menhir.mly"
7337 (Data.clt)
7338 # 7339 "parser_cocci_menhir.ml"
7339 ) = Obj.magic ty100 in
7340 let _startpos = _startpos_ty100_ in
7341 let _endpos = _endpos_m_ in
7342 let _v : 'tv_ctype = let ty =
7343 let ty20 = ty200 in
7344 let ty10 = ty100 in
7345 let ty =
7346 let ty2 = ty20 in
7347 let ty1 = ty10 in
7348
7349 # 496 "parser_cocci_menhir.mly"
7350 ( Ast0.wrap
7351 (Ast0.BaseType
7352 (Ast.LongLongType,
7353 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7354 # 7355 "parser_cocci_menhir.ml"
7355
7356 in
7357
7358 # 533 "parser_cocci_menhir.mly"
7359 ( ty )
7360 # 7361 "parser_cocci_menhir.ml"
7361
7362 in
7363 let cv =
7364
7365 # 39 "standard.mly"
7366 ( None )
7367 # 7368 "parser_cocci_menhir.ml"
7368
7369 in
7370
7371 # 538 "parser_cocci_menhir.mly"
7372 ( P.pointerify (P.make_cv cv ty) m )
7373 # 7374 "parser_cocci_menhir.ml"
7374 in
7375 _menhir_env.MenhirLib.EngineTypes.stack <- {
7376 MenhirLib.EngineTypes.state = _menhir_s;
7377 MenhirLib.EngineTypes.semv = Obj.repr _v;
7378 MenhirLib.EngineTypes.startp = _startpos;
7379 MenhirLib.EngineTypes.endp = _endpos;
7380 MenhirLib.EngineTypes.next = _menhir_stack;
7381 });
7382 (fun _menhir_env ->
7383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7384 let {
7385 MenhirLib.EngineTypes.semv = m;
7386 MenhirLib.EngineTypes.startp = _startpos_m_;
7387 MenhirLib.EngineTypes.endp = _endpos_m_;
7388 MenhirLib.EngineTypes.next = {
7389 MenhirLib.EngineTypes.state = _menhir_s;
7390 MenhirLib.EngineTypes.semv = ty00;
7391 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7392 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7393 MenhirLib.EngineTypes.next = _menhir_stack;
7394 };
7395 } = _menhir_stack in
7396 let m : 'tv_list_TMul_ = Obj.magic m in
7397 let ty00 : (
7398 # 50 "parser_cocci_menhir.mly"
7399 (Data.clt)
7400 # 7401 "parser_cocci_menhir.ml"
7401 ) = Obj.magic ty00 in
7402 let _startpos = _startpos_ty00_ in
7403 let _endpos = _endpos_m_ in
7404 let _v : 'tv_ctype = let ty =
7405 let ty0 = ty00 in
7406 let ty =
7407 let ty = ty0 in
7408
7409 # 504 "parser_cocci_menhir.mly"
7410 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
7411 # 7412 "parser_cocci_menhir.ml"
7412
7413 in
7414
7415 # 534 "parser_cocci_menhir.mly"
7416 ( ty )
7417 # 7418 "parser_cocci_menhir.ml"
7418
7419 in
7420 let cv =
7421
7422 # 39 "standard.mly"
7423 ( None )
7424 # 7425 "parser_cocci_menhir.ml"
7425
7426 in
7427
7428 # 538 "parser_cocci_menhir.mly"
7429 ( P.pointerify (P.make_cv cv ty) m )
7430 # 7431 "parser_cocci_menhir.ml"
7431 in
7432 _menhir_env.MenhirLib.EngineTypes.stack <- {
7433 MenhirLib.EngineTypes.state = _menhir_s;
7434 MenhirLib.EngineTypes.semv = Obj.repr _v;
7435 MenhirLib.EngineTypes.startp = _startpos;
7436 MenhirLib.EngineTypes.endp = _endpos;
7437 MenhirLib.EngineTypes.next = _menhir_stack;
7438 });
7439 (fun _menhir_env ->
7440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7441 let {
7442 MenhirLib.EngineTypes.semv = m;
7443 MenhirLib.EngineTypes.startp = _startpos_m_;
7444 MenhirLib.EngineTypes.endp = _endpos_m_;
7445 MenhirLib.EngineTypes.next = {
7446 MenhirLib.EngineTypes.state = _menhir_s;
7447 MenhirLib.EngineTypes.semv = ty00;
7448 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7449 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7450 MenhirLib.EngineTypes.next = _menhir_stack;
7451 };
7452 } = _menhir_stack in
7453 let m : 'tv_list_TMul_ = Obj.magic m in
7454 let ty00 : (
7455 # 49 "parser_cocci_menhir.mly"
7456 (Data.clt)
7457 # 7458 "parser_cocci_menhir.ml"
7458 ) = Obj.magic ty00 in
7459 let _startpos = _startpos_ty00_ in
7460 let _endpos = _endpos_m_ in
7461 let _v : 'tv_ctype = let ty =
7462 let ty0 = ty00 in
7463 let ty =
7464 let ty = ty0 in
7465
7466 # 506 "parser_cocci_menhir.mly"
7467 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
7468 # 7469 "parser_cocci_menhir.ml"
7469
7470 in
7471
7472 # 534 "parser_cocci_menhir.mly"
7473 ( ty )
7474 # 7475 "parser_cocci_menhir.ml"
7475
7476 in
7477 let cv =
7478
7479 # 39 "standard.mly"
7480 ( None )
7481 # 7482 "parser_cocci_menhir.ml"
7482
7483 in
7484
7485 # 538 "parser_cocci_menhir.mly"
7486 ( P.pointerify (P.make_cv cv ty) m )
7487 # 7488 "parser_cocci_menhir.ml"
7488 in
7489 _menhir_env.MenhirLib.EngineTypes.stack <- {
7490 MenhirLib.EngineTypes.state = _menhir_s;
7491 MenhirLib.EngineTypes.semv = Obj.repr _v;
7492 MenhirLib.EngineTypes.startp = _startpos;
7493 MenhirLib.EngineTypes.endp = _endpos;
7494 MenhirLib.EngineTypes.next = _menhir_stack;
7495 });
7496 (fun _menhir_env ->
7497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7498 let {
7499 MenhirLib.EngineTypes.semv = m;
7500 MenhirLib.EngineTypes.startp = _startpos_m_;
7501 MenhirLib.EngineTypes.endp = _endpos_m_;
7502 MenhirLib.EngineTypes.next = {
7503 MenhirLib.EngineTypes.state = _menhir_s;
7504 MenhirLib.EngineTypes.semv = ty00;
7505 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7506 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7507 MenhirLib.EngineTypes.next = _menhir_stack;
7508 };
7509 } = _menhir_stack in
7510 let m : 'tv_list_TMul_ = Obj.magic m in
7511 let ty00 : (
7512 # 49 "parser_cocci_menhir.mly"
7513 (Data.clt)
7514 # 7515 "parser_cocci_menhir.ml"
7515 ) = Obj.magic ty00 in
7516 let _startpos = _startpos_ty00_ in
7517 let _endpos = _endpos_m_ in
7518 let _v : 'tv_ctype = let ty =
7519 let ty0 = ty00 in
7520 let ty =
7521 let ty = ty0 in
7522
7523 # 508 "parser_cocci_menhir.mly"
7524 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
7525 # 7526 "parser_cocci_menhir.ml"
7526
7527 in
7528
7529 # 534 "parser_cocci_menhir.mly"
7530 ( ty )
7531 # 7532 "parser_cocci_menhir.ml"
7532
7533 in
7534 let cv =
7535
7536 # 39 "standard.mly"
7537 ( None )
7538 # 7539 "parser_cocci_menhir.ml"
7539
7540 in
7541
7542 # 538 "parser_cocci_menhir.mly"
7543 ( P.pointerify (P.make_cv cv ty) m )
7544 # 7545 "parser_cocci_menhir.ml"
7545 in
7546 _menhir_env.MenhirLib.EngineTypes.stack <- {
7547 MenhirLib.EngineTypes.state = _menhir_s;
7548 MenhirLib.EngineTypes.semv = Obj.repr _v;
7549 MenhirLib.EngineTypes.startp = _startpos;
7550 MenhirLib.EngineTypes.endp = _endpos;
7551 MenhirLib.EngineTypes.next = _menhir_stack;
7552 });
7553 (fun _menhir_env ->
7554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7555 let {
7556 MenhirLib.EngineTypes.semv = m;
7557 MenhirLib.EngineTypes.startp = _startpos_m_;
7558 MenhirLib.EngineTypes.endp = _endpos_m_;
7559 MenhirLib.EngineTypes.next = {
7560 MenhirLib.EngineTypes.semv = i00;
7561 MenhirLib.EngineTypes.startp = _startpos_i00_;
7562 MenhirLib.EngineTypes.endp = _endpos_i00_;
7563 MenhirLib.EngineTypes.next = {
7564 MenhirLib.EngineTypes.state = _menhir_s;
7565 MenhirLib.EngineTypes.semv = s00;
7566 MenhirLib.EngineTypes.startp = _startpos_s00_;
7567 MenhirLib.EngineTypes.endp = _endpos_s00_;
7568 MenhirLib.EngineTypes.next = _menhir_stack;
7569 };
7570 };
7571 } = _menhir_stack in
7572 let m : 'tv_list_TMul_ = Obj.magic m in
7573 let i00 : 'tv_ident = Obj.magic i00 in
7574 let s00 : (
7575 # 50 "parser_cocci_menhir.mly"
7576 (Data.clt)
7577 # 7578 "parser_cocci_menhir.ml"
7578 ) = Obj.magic s00 in
7579 let _startpos = _startpos_s00_ in
7580 let _endpos = _endpos_m_ in
7581 let _v : 'tv_ctype = let ty =
7582 let i0 = i00 in
7583 let s0 = s00 in
7584 let ty =
7585 let i = i0 in
7586 let s = s0 in
7587
7588 # 510 "parser_cocci_menhir.mly"
7589 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
7590 # 7591 "parser_cocci_menhir.ml"
7591
7592 in
7593
7594 # 534 "parser_cocci_menhir.mly"
7595 ( ty )
7596 # 7597 "parser_cocci_menhir.ml"
7597
7598 in
7599 let cv =
7600
7601 # 39 "standard.mly"
7602 ( None )
7603 # 7604 "parser_cocci_menhir.ml"
7604
7605 in
7606
7607 # 538 "parser_cocci_menhir.mly"
7608 ( P.pointerify (P.make_cv cv ty) m )
7609 # 7610 "parser_cocci_menhir.ml"
7610 in
7611 _menhir_env.MenhirLib.EngineTypes.stack <- {
7612 MenhirLib.EngineTypes.state = _menhir_s;
7613 MenhirLib.EngineTypes.semv = Obj.repr _v;
7614 MenhirLib.EngineTypes.startp = _startpos;
7615 MenhirLib.EngineTypes.endp = _endpos;
7616 MenhirLib.EngineTypes.next = _menhir_stack;
7617 });
7618 (fun _menhir_env ->
7619 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7620 let {
7621 MenhirLib.EngineTypes.semv = m;
7622 MenhirLib.EngineTypes.startp = _startpos_m_;
7623 MenhirLib.EngineTypes.endp = _endpos_m_;
7624 MenhirLib.EngineTypes.next = {
7625 MenhirLib.EngineTypes.semv = i00;
7626 MenhirLib.EngineTypes.startp = _startpos_i00_;
7627 MenhirLib.EngineTypes.endp = _endpos_i00_;
7628 MenhirLib.EngineTypes.next = {
7629 MenhirLib.EngineTypes.state = _menhir_s;
7630 MenhirLib.EngineTypes.semv = s00;
7631 MenhirLib.EngineTypes.startp = _startpos_s00_;
7632 MenhirLib.EngineTypes.endp = _endpos_s00_;
7633 MenhirLib.EngineTypes.next = _menhir_stack;
7634 };
7635 };
7636 } = _menhir_stack in
7637 let m : 'tv_list_TMul_ = Obj.magic m in
7638 let i00 : 'tv_ident = Obj.magic i00 in
7639 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7640 let _startpos = _startpos_s00_ in
7641 let _endpos = _endpos_m_ in
7642 let _v : 'tv_ctype = let ty =
7643 let i0 = i00 in
7644 let s0 = s00 in
7645 let ty =
7646 let i = i0 in
7647 let s = s0 in
7648
7649 # 512 "parser_cocci_menhir.mly"
7650 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
7651 # 7652 "parser_cocci_menhir.ml"
7652
7653 in
7654
7655 # 534 "parser_cocci_menhir.mly"
7656 ( ty )
7657 # 7658 "parser_cocci_menhir.ml"
7658
7659 in
7660 let cv =
7661
7662 # 39 "standard.mly"
7663 ( None )
7664 # 7665 "parser_cocci_menhir.ml"
7665
7666 in
7667
7668 # 538 "parser_cocci_menhir.mly"
7669 ( P.pointerify (P.make_cv cv ty) m )
7670 # 7671 "parser_cocci_menhir.ml"
7671 in
7672 _menhir_env.MenhirLib.EngineTypes.stack <- {
7673 MenhirLib.EngineTypes.state = _menhir_s;
7674 MenhirLib.EngineTypes.semv = Obj.repr _v;
7675 MenhirLib.EngineTypes.startp = _startpos;
7676 MenhirLib.EngineTypes.endp = _endpos;
7677 MenhirLib.EngineTypes.next = _menhir_stack;
7678 });
7679 (fun _menhir_env ->
7680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7681 let {
7682 MenhirLib.EngineTypes.semv = m;
7683 MenhirLib.EngineTypes.startp = _startpos_m_;
7684 MenhirLib.EngineTypes.endp = _endpos_m_;
7685 MenhirLib.EngineTypes.next = {
7686 MenhirLib.EngineTypes.semv = r00;
7687 MenhirLib.EngineTypes.startp = _startpos_r00_;
7688 MenhirLib.EngineTypes.endp = _endpos_r00_;
7689 MenhirLib.EngineTypes.next = {
7690 MenhirLib.EngineTypes.semv = d00;
7691 MenhirLib.EngineTypes.startp = _startpos_d00_;
7692 MenhirLib.EngineTypes.endp = _endpos_d00_;
7693 MenhirLib.EngineTypes.next = {
7694 MenhirLib.EngineTypes.semv = l00;
7695 MenhirLib.EngineTypes.startp = _startpos_l00_;
7696 MenhirLib.EngineTypes.endp = _endpos_l00_;
7697 MenhirLib.EngineTypes.next = {
7698 MenhirLib.EngineTypes.state = _menhir_s;
7699 MenhirLib.EngineTypes.semv = s00;
7700 MenhirLib.EngineTypes.startp = _startpos_s00_;
7701 MenhirLib.EngineTypes.endp = _endpos_s00_;
7702 MenhirLib.EngineTypes.next = _menhir_stack;
7703 };
7704 };
7705 };
7706 };
7707 } = _menhir_stack in
7708 let m : 'tv_list_TMul_ = Obj.magic m in
7709 let r00 : (
7710 # 101 "parser_cocci_menhir.mly"
7711 (Data.clt)
7712 # 7713 "parser_cocci_menhir.ml"
7713 ) = Obj.magic r00 in
7714 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7715 let l00 : (
7716 # 101 "parser_cocci_menhir.mly"
7717 (Data.clt)
7718 # 7719 "parser_cocci_menhir.ml"
7719 ) = Obj.magic l00 in
7720 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7721 let _startpos = _startpos_s00_ in
7722 let _endpos = _endpos_m_ in
7723 let _v : 'tv_ctype = let ty =
7724 let r0 = r00 in
7725 let d0 = d00 in
7726 let l0 = l00 in
7727 let s0 = s00 in
7728 let ty =
7729 let r = r0 in
7730 let d = d0 in
7731 let l = l0 in
7732 let s = s0 in
7733 let i =
7734
7735 # 39 "standard.mly"
7736 ( None )
7737 # 7738 "parser_cocci_menhir.ml"
7738
7739 in
7740
7741 # 515 "parser_cocci_menhir.mly"
7742 ( (if i = None && !Data.in_iso
7743 then failwith "structures must be named in the iso file");
7744 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7745 P.clt2mcode "{" l,
7746 d, P.clt2mcode "}" r)) )
7747 # 7748 "parser_cocci_menhir.ml"
7748
7749 in
7750
7751 # 534 "parser_cocci_menhir.mly"
7752 ( ty )
7753 # 7754 "parser_cocci_menhir.ml"
7754
7755 in
7756 let cv =
7757
7758 # 39 "standard.mly"
7759 ( None )
7760 # 7761 "parser_cocci_menhir.ml"
7761
7762 in
7763
7764 # 538 "parser_cocci_menhir.mly"
7765 ( P.pointerify (P.make_cv cv ty) m )
7766 # 7767 "parser_cocci_menhir.ml"
7767 in
7768 _menhir_env.MenhirLib.EngineTypes.stack <- {
7769 MenhirLib.EngineTypes.state = _menhir_s;
7770 MenhirLib.EngineTypes.semv = Obj.repr _v;
7771 MenhirLib.EngineTypes.startp = _startpos;
7772 MenhirLib.EngineTypes.endp = _endpos;
7773 MenhirLib.EngineTypes.next = _menhir_stack;
7774 });
7775 (fun _menhir_env ->
7776 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7777 let {
7778 MenhirLib.EngineTypes.semv = m;
7779 MenhirLib.EngineTypes.startp = _startpos_m_;
7780 MenhirLib.EngineTypes.endp = _endpos_m_;
7781 MenhirLib.EngineTypes.next = {
7782 MenhirLib.EngineTypes.semv = r00;
7783 MenhirLib.EngineTypes.startp = _startpos_r00_;
7784 MenhirLib.EngineTypes.endp = _endpos_r00_;
7785 MenhirLib.EngineTypes.next = {
7786 MenhirLib.EngineTypes.semv = d00;
7787 MenhirLib.EngineTypes.startp = _startpos_d00_;
7788 MenhirLib.EngineTypes.endp = _endpos_d00_;
7789 MenhirLib.EngineTypes.next = {
7790 MenhirLib.EngineTypes.semv = l00;
7791 MenhirLib.EngineTypes.startp = _startpos_l00_;
7792 MenhirLib.EngineTypes.endp = _endpos_l00_;
7793 MenhirLib.EngineTypes.next = {
7794 MenhirLib.EngineTypes.semv = x000;
7795 MenhirLib.EngineTypes.startp = _startpos_x000_;
7796 MenhirLib.EngineTypes.endp = _endpos_x000_;
7797 MenhirLib.EngineTypes.next = {
7798 MenhirLib.EngineTypes.state = _menhir_s;
7799 MenhirLib.EngineTypes.semv = s00;
7800 MenhirLib.EngineTypes.startp = _startpos_s00_;
7801 MenhirLib.EngineTypes.endp = _endpos_s00_;
7802 MenhirLib.EngineTypes.next = _menhir_stack;
7803 };
7804 };
7805 };
7806 };
7807 };
7808 } = _menhir_stack in
7809 let m : 'tv_list_TMul_ = Obj.magic m in
7810 let r00 : (
7811 # 101 "parser_cocci_menhir.mly"
7812 (Data.clt)
7813 # 7814 "parser_cocci_menhir.ml"
7814 ) = Obj.magic r00 in
7815 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7816 let l00 : (
7817 # 101 "parser_cocci_menhir.mly"
7818 (Data.clt)
7819 # 7820 "parser_cocci_menhir.ml"
7820 ) = Obj.magic l00 in
7821 let x000 : 'tv_ident = Obj.magic x000 in
7822 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7823 let _startpos = _startpos_s00_ in
7824 let _endpos = _endpos_m_ in
7825 let _v : 'tv_ctype = let ty =
7826 let r0 = r00 in
7827 let d0 = d00 in
7828 let l0 = l00 in
7829 let x00 = x000 in
7830 let s0 = s00 in
7831 let ty =
7832 let r = r0 in
7833 let d = d0 in
7834 let l = l0 in
7835 let x0 = x00 in
7836 let s = s0 in
7837 let i =
7838 let x = x0 in
7839
7840 # 41 "standard.mly"
7841 ( Some x )
7842 # 7843 "parser_cocci_menhir.ml"
7843
7844 in
7845
7846 # 515 "parser_cocci_menhir.mly"
7847 ( (if i = None && !Data.in_iso
7848 then failwith "structures must be named in the iso file");
7849 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7850 P.clt2mcode "{" l,
7851 d, P.clt2mcode "}" r)) )
7852 # 7853 "parser_cocci_menhir.ml"
7853
7854 in
7855
7856 # 534 "parser_cocci_menhir.mly"
7857 ( ty )
7858 # 7859 "parser_cocci_menhir.ml"
7859
7860 in
7861 let cv =
7862
7863 # 39 "standard.mly"
7864 ( None )
7865 # 7866 "parser_cocci_menhir.ml"
7866
7867 in
7868
7869 # 538 "parser_cocci_menhir.mly"
7870 ( P.pointerify (P.make_cv cv ty) m )
7871 # 7872 "parser_cocci_menhir.ml"
7872 in
7873 _menhir_env.MenhirLib.EngineTypes.stack <- {
7874 MenhirLib.EngineTypes.state = _menhir_s;
7875 MenhirLib.EngineTypes.semv = Obj.repr _v;
7876 MenhirLib.EngineTypes.startp = _startpos;
7877 MenhirLib.EngineTypes.endp = _endpos;
7878 MenhirLib.EngineTypes.next = _menhir_stack;
7879 });
7880 (fun _menhir_env ->
7881 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7882 let {
7883 MenhirLib.EngineTypes.semv = m;
7884 MenhirLib.EngineTypes.startp = _startpos_m_;
7885 MenhirLib.EngineTypes.endp = _endpos_m_;
7886 MenhirLib.EngineTypes.next = {
7887 MenhirLib.EngineTypes.semv = r00;
7888 MenhirLib.EngineTypes.startp = _startpos_r00_;
7889 MenhirLib.EngineTypes.endp = _endpos_r00_;
7890 MenhirLib.EngineTypes.next = {
7891 MenhirLib.EngineTypes.semv = d00;
7892 MenhirLib.EngineTypes.startp = _startpos_d00_;
7893 MenhirLib.EngineTypes.endp = _endpos_d00_;
7894 MenhirLib.EngineTypes.next = {
7895 MenhirLib.EngineTypes.semv = l00;
7896 MenhirLib.EngineTypes.startp = _startpos_l00_;
7897 MenhirLib.EngineTypes.endp = _endpos_l00_;
7898 MenhirLib.EngineTypes.next = {
7899 MenhirLib.EngineTypes.state = _menhir_s;
7900 MenhirLib.EngineTypes.semv = s00;
7901 MenhirLib.EngineTypes.startp = _startpos_s00_;
7902 MenhirLib.EngineTypes.endp = _endpos_s00_;
7903 MenhirLib.EngineTypes.next = _menhir_stack;
7904 };
7905 };
7906 };
7907 };
7908 } = _menhir_stack in
7909 let m : 'tv_list_TMul_ = Obj.magic m in
7910 let r00 : (
7911 # 101 "parser_cocci_menhir.mly"
7912 (Data.clt)
7913 # 7914 "parser_cocci_menhir.ml"
7914 ) = Obj.magic r00 in
7915 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7916 let l00 : (
7917 # 101 "parser_cocci_menhir.mly"
7918 (Data.clt)
7919 # 7920 "parser_cocci_menhir.ml"
7920 ) = Obj.magic l00 in
7921 let s00 : (
7922 # 64 "parser_cocci_menhir.mly"
7923 (Parse_aux.info)
7924 # 7925 "parser_cocci_menhir.ml"
7925 ) = Obj.magic s00 in
7926 let _startpos = _startpos_s00_ in
7927 let _endpos = _endpos_m_ in
7928 let _v : 'tv_ctype = let ty =
7929 let r0 = r00 in
7930 let d0 = d00 in
7931 let l0 = l00 in
7932 let s0 = s00 in
7933 let ty =
7934 let r = r0 in
7935 let d = d0 in
7936 let l = l0 in
7937 let s = s0 in
7938
7939 # 521 "parser_cocci_menhir.mly"
7940 ( let (nm,pure,clt) = s in
7941 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
7942 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
7943 # 7944 "parser_cocci_menhir.ml"
7944
7945 in
7946
7947 # 534 "parser_cocci_menhir.mly"
7948 ( ty )
7949 # 7950 "parser_cocci_menhir.ml"
7950
7951 in
7952 let cv =
7953
7954 # 39 "standard.mly"
7955 ( None )
7956 # 7957 "parser_cocci_menhir.ml"
7957
7958 in
7959
7960 # 538 "parser_cocci_menhir.mly"
7961 ( P.pointerify (P.make_cv cv ty) m )
7962 # 7963 "parser_cocci_menhir.ml"
7963 in
7964 _menhir_env.MenhirLib.EngineTypes.stack <- {
7965 MenhirLib.EngineTypes.state = _menhir_s;
7966 MenhirLib.EngineTypes.semv = Obj.repr _v;
7967 MenhirLib.EngineTypes.startp = _startpos;
7968 MenhirLib.EngineTypes.endp = _endpos;
7969 MenhirLib.EngineTypes.next = _menhir_stack;
7970 });
7971 (fun _menhir_env ->
7972 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7973 let {
7974 MenhirLib.EngineTypes.semv = m;
7975 MenhirLib.EngineTypes.startp = _startpos_m_;
7976 MenhirLib.EngineTypes.endp = _endpos_m_;
7977 MenhirLib.EngineTypes.next = {
7978 MenhirLib.EngineTypes.state = _menhir_s;
7979 MenhirLib.EngineTypes.semv = p00;
7980 MenhirLib.EngineTypes.startp = _startpos_p00_;
7981 MenhirLib.EngineTypes.endp = _endpos_p00_;
7982 MenhirLib.EngineTypes.next = _menhir_stack;
7983 };
7984 } = _menhir_stack in
7985 let m : 'tv_list_TMul_ = Obj.magic m in
7986 let p00 : (
7987 # 59 "parser_cocci_menhir.mly"
7988 (string * Data.clt)
7989 # 7990 "parser_cocci_menhir.ml"
7990 ) = Obj.magic p00 in
7991 let _startpos = _startpos_p00_ in
7992 let _endpos = _endpos_m_ in
7993 let _v : 'tv_ctype = let ty =
7994 let p0 = p00 in
7995 let ty =
7996 let p = p0 in
7997
7998 # 525 "parser_cocci_menhir.mly"
7999 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
8000 # 8001 "parser_cocci_menhir.ml"
8001
8002 in
8003
8004 # 534 "parser_cocci_menhir.mly"
8005 ( ty )
8006 # 8007 "parser_cocci_menhir.ml"
8007
8008 in
8009 let cv =
8010
8011 # 39 "standard.mly"
8012 ( None )
8013 # 8014 "parser_cocci_menhir.ml"
8014
8015 in
8016
8017 # 538 "parser_cocci_menhir.mly"
8018 ( P.pointerify (P.make_cv cv ty) m )
8019 # 8020 "parser_cocci_menhir.ml"
8020 in
8021 _menhir_env.MenhirLib.EngineTypes.stack <- {
8022 MenhirLib.EngineTypes.state = _menhir_s;
8023 MenhirLib.EngineTypes.semv = Obj.repr _v;
8024 MenhirLib.EngineTypes.startp = _startpos;
8025 MenhirLib.EngineTypes.endp = _endpos;
8026 MenhirLib.EngineTypes.next = _menhir_stack;
8027 });
8028 (fun _menhir_env ->
8029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8030 let {
8031 MenhirLib.EngineTypes.semv = m;
8032 MenhirLib.EngineTypes.startp = _startpos_m_;
8033 MenhirLib.EngineTypes.endp = _endpos_m_;
8034 MenhirLib.EngineTypes.next = {
8035 MenhirLib.EngineTypes.semv = ty00;
8036 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8037 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8038 MenhirLib.EngineTypes.next = {
8039 MenhirLib.EngineTypes.semv = r0;
8040 MenhirLib.EngineTypes.startp = _startpos_r0_;
8041 MenhirLib.EngineTypes.endp = _endpos_r0_;
8042 MenhirLib.EngineTypes.next = {
8043 MenhirLib.EngineTypes.state = _menhir_s;
8044 MenhirLib.EngineTypes.semv = x0;
8045 MenhirLib.EngineTypes.startp = _startpos_x0_;
8046 MenhirLib.EngineTypes.endp = _endpos_x0_;
8047 MenhirLib.EngineTypes.next = _menhir_stack;
8048 };
8049 };
8050 };
8051 } = _menhir_stack in
8052 let m : 'tv_list_TMul_ = Obj.magic m in
8053 let ty00 : (
8054 # 49 "parser_cocci_menhir.mly"
8055 (Data.clt)
8056 # 8057 "parser_cocci_menhir.ml"
8057 ) = Obj.magic ty00 in
8058 let r0 : (
8059 # 51 "parser_cocci_menhir.mly"
8060 (Data.clt)
8061 # 8062 "parser_cocci_menhir.ml"
8062 ) = Obj.magic r0 in
8063 let x0 : 'tv_const_vol = Obj.magic x0 in
8064 let _startpos = _startpos_x0_ in
8065 let _endpos = _endpos_m_ in
8066 let _v : 'tv_ctype = let ty =
8067 let ty0 = ty00 in
8068 let r = r0 in
8069 let ty =
8070 let ty = ty0 in
8071
8072 # 478 "parser_cocci_menhir.mly"
8073 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8074 # 8075 "parser_cocci_menhir.ml"
8075
8076 in
8077
8078 # 530 "parser_cocci_menhir.mly"
8079 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8080 # 8081 "parser_cocci_menhir.ml"
8081
8082 in
8083 let cv =
8084 let x = x0 in
8085
8086 # 41 "standard.mly"
8087 ( Some x )
8088 # 8089 "parser_cocci_menhir.ml"
8089
8090 in
8091
8092 # 538 "parser_cocci_menhir.mly"
8093 ( P.pointerify (P.make_cv cv ty) m )
8094 # 8095 "parser_cocci_menhir.ml"
8095 in
8096 _menhir_env.MenhirLib.EngineTypes.stack <- {
8097 MenhirLib.EngineTypes.state = _menhir_s;
8098 MenhirLib.EngineTypes.semv = Obj.repr _v;
8099 MenhirLib.EngineTypes.startp = _startpos;
8100 MenhirLib.EngineTypes.endp = _endpos;
8101 MenhirLib.EngineTypes.next = _menhir_stack;
8102 });
8103 (fun _menhir_env ->
8104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8105 let {
8106 MenhirLib.EngineTypes.semv = m;
8107 MenhirLib.EngineTypes.startp = _startpos_m_;
8108 MenhirLib.EngineTypes.endp = _endpos_m_;
8109 MenhirLib.EngineTypes.next = {
8110 MenhirLib.EngineTypes.semv = ty00;
8111 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8112 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8113 MenhirLib.EngineTypes.next = {
8114 MenhirLib.EngineTypes.semv = r0;
8115 MenhirLib.EngineTypes.startp = _startpos_r0_;
8116 MenhirLib.EngineTypes.endp = _endpos_r0_;
8117 MenhirLib.EngineTypes.next = {
8118 MenhirLib.EngineTypes.state = _menhir_s;
8119 MenhirLib.EngineTypes.semv = x0;
8120 MenhirLib.EngineTypes.startp = _startpos_x0_;
8121 MenhirLib.EngineTypes.endp = _endpos_x0_;
8122 MenhirLib.EngineTypes.next = _menhir_stack;
8123 };
8124 };
8125 };
8126 } = _menhir_stack in
8127 let m : 'tv_list_TMul_ = Obj.magic m in
8128 let ty00 : (
8129 # 49 "parser_cocci_menhir.mly"
8130 (Data.clt)
8131 # 8132 "parser_cocci_menhir.ml"
8132 ) = Obj.magic ty00 in
8133 let r0 : (
8134 # 51 "parser_cocci_menhir.mly"
8135 (Data.clt)
8136 # 8137 "parser_cocci_menhir.ml"
8137 ) = Obj.magic r0 in
8138 let x0 : 'tv_const_vol = Obj.magic x0 in
8139 let _startpos = _startpos_x0_ in
8140 let _endpos = _endpos_m_ in
8141 let _v : 'tv_ctype = let ty =
8142 let ty0 = ty00 in
8143 let r = r0 in
8144 let ty =
8145 let ty = ty0 in
8146
8147 # 480 "parser_cocci_menhir.mly"
8148 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8149 # 8150 "parser_cocci_menhir.ml"
8150
8151 in
8152
8153 # 530 "parser_cocci_menhir.mly"
8154 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8155 # 8156 "parser_cocci_menhir.ml"
8156
8157 in
8158 let cv =
8159 let x = x0 in
8160
8161 # 41 "standard.mly"
8162 ( Some x )
8163 # 8164 "parser_cocci_menhir.ml"
8164
8165 in
8166
8167 # 538 "parser_cocci_menhir.mly"
8168 ( P.pointerify (P.make_cv cv ty) m )
8169 # 8170 "parser_cocci_menhir.ml"
8170 in
8171 _menhir_env.MenhirLib.EngineTypes.stack <- {
8172 MenhirLib.EngineTypes.state = _menhir_s;
8173 MenhirLib.EngineTypes.semv = Obj.repr _v;
8174 MenhirLib.EngineTypes.startp = _startpos;
8175 MenhirLib.EngineTypes.endp = _endpos;
8176 MenhirLib.EngineTypes.next = _menhir_stack;
8177 });
8178 (fun _menhir_env ->
8179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8180 let {
8181 MenhirLib.EngineTypes.semv = m;
8182 MenhirLib.EngineTypes.startp = _startpos_m_;
8183 MenhirLib.EngineTypes.endp = _endpos_m_;
8184 MenhirLib.EngineTypes.next = {
8185 MenhirLib.EngineTypes.semv = ty00;
8186 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8187 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8188 MenhirLib.EngineTypes.next = {
8189 MenhirLib.EngineTypes.semv = r0;
8190 MenhirLib.EngineTypes.startp = _startpos_r0_;
8191 MenhirLib.EngineTypes.endp = _endpos_r0_;
8192 MenhirLib.EngineTypes.next = {
8193 MenhirLib.EngineTypes.state = _menhir_s;
8194 MenhirLib.EngineTypes.semv = x0;
8195 MenhirLib.EngineTypes.startp = _startpos_x0_;
8196 MenhirLib.EngineTypes.endp = _endpos_x0_;
8197 MenhirLib.EngineTypes.next = _menhir_stack;
8198 };
8199 };
8200 };
8201 } = _menhir_stack in
8202 let m : 'tv_list_TMul_ = Obj.magic m in
8203 let ty00 : (
8204 # 49 "parser_cocci_menhir.mly"
8205 (Data.clt)
8206 # 8207 "parser_cocci_menhir.ml"
8207 ) = Obj.magic ty00 in
8208 let r0 : (
8209 # 51 "parser_cocci_menhir.mly"
8210 (Data.clt)
8211 # 8212 "parser_cocci_menhir.ml"
8212 ) = Obj.magic r0 in
8213 let x0 : 'tv_const_vol = Obj.magic x0 in
8214 let _startpos = _startpos_x0_ in
8215 let _endpos = _endpos_m_ in
8216 let _v : 'tv_ctype = let ty =
8217 let ty0 = ty00 in
8218 let r = r0 in
8219 let ty =
8220 let ty = ty0 in
8221
8222 # 482 "parser_cocci_menhir.mly"
8223 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8224 # 8225 "parser_cocci_menhir.ml"
8225
8226 in
8227
8228 # 530 "parser_cocci_menhir.mly"
8229 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8230 # 8231 "parser_cocci_menhir.ml"
8231
8232 in
8233 let cv =
8234 let x = x0 in
8235
8236 # 41 "standard.mly"
8237 ( Some x )
8238 # 8239 "parser_cocci_menhir.ml"
8239
8240 in
8241
8242 # 538 "parser_cocci_menhir.mly"
8243 ( P.pointerify (P.make_cv cv ty) m )
8244 # 8245 "parser_cocci_menhir.ml"
8245 in
8246 _menhir_env.MenhirLib.EngineTypes.stack <- {
8247 MenhirLib.EngineTypes.state = _menhir_s;
8248 MenhirLib.EngineTypes.semv = Obj.repr _v;
8249 MenhirLib.EngineTypes.startp = _startpos;
8250 MenhirLib.EngineTypes.endp = _endpos;
8251 MenhirLib.EngineTypes.next = _menhir_stack;
8252 });
8253 (fun _menhir_env ->
8254 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8255 let {
8256 MenhirLib.EngineTypes.semv = m;
8257 MenhirLib.EngineTypes.startp = _startpos_m_;
8258 MenhirLib.EngineTypes.endp = _endpos_m_;
8259 MenhirLib.EngineTypes.next = {
8260 MenhirLib.EngineTypes.semv = p00;
8261 MenhirLib.EngineTypes.startp = _startpos_p00_;
8262 MenhirLib.EngineTypes.endp = _endpos_p00_;
8263 MenhirLib.EngineTypes.next = {
8264 MenhirLib.EngineTypes.semv = r0;
8265 MenhirLib.EngineTypes.startp = _startpos_r0_;
8266 MenhirLib.EngineTypes.endp = _endpos_r0_;
8267 MenhirLib.EngineTypes.next = {
8268 MenhirLib.EngineTypes.state = _menhir_s;
8269 MenhirLib.EngineTypes.semv = x0;
8270 MenhirLib.EngineTypes.startp = _startpos_x0_;
8271 MenhirLib.EngineTypes.endp = _endpos_x0_;
8272 MenhirLib.EngineTypes.next = _menhir_stack;
8273 };
8274 };
8275 };
8276 } = _menhir_stack in
8277 let m : 'tv_list_TMul_ = Obj.magic m in
8278 let p00 : (
8279 # 64 "parser_cocci_menhir.mly"
8280 (Parse_aux.info)
8281 # 8282 "parser_cocci_menhir.ml"
8282 ) = Obj.magic p00 in
8283 let r0 : (
8284 # 51 "parser_cocci_menhir.mly"
8285 (Data.clt)
8286 # 8287 "parser_cocci_menhir.ml"
8287 ) = Obj.magic r0 in
8288 let x0 : 'tv_const_vol = Obj.magic x0 in
8289 let _startpos = _startpos_x0_ in
8290 let _endpos = _endpos_m_ in
8291 let _v : 'tv_ctype = let ty =
8292 let p0 = p00 in
8293 let r = r0 in
8294 let ty =
8295 let p = p0 in
8296
8297 # 484 "parser_cocci_menhir.mly"
8298 ( let (nm,pure,clt) = p in
8299 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8300 # 8301 "parser_cocci_menhir.ml"
8301
8302 in
8303
8304 # 530 "parser_cocci_menhir.mly"
8305 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8306 # 8307 "parser_cocci_menhir.ml"
8307
8308 in
8309 let cv =
8310 let x = x0 in
8311
8312 # 41 "standard.mly"
8313 ( Some x )
8314 # 8315 "parser_cocci_menhir.ml"
8315
8316 in
8317
8318 # 538 "parser_cocci_menhir.mly"
8319 ( P.pointerify (P.make_cv cv ty) m )
8320 # 8321 "parser_cocci_menhir.ml"
8321 in
8322 _menhir_env.MenhirLib.EngineTypes.stack <- {
8323 MenhirLib.EngineTypes.state = _menhir_s;
8324 MenhirLib.EngineTypes.semv = Obj.repr _v;
8325 MenhirLib.EngineTypes.startp = _startpos;
8326 MenhirLib.EngineTypes.endp = _endpos;
8327 MenhirLib.EngineTypes.next = _menhir_stack;
8328 });
8329 (fun _menhir_env ->
8330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8331 let {
8332 MenhirLib.EngineTypes.semv = m;
8333 MenhirLib.EngineTypes.startp = _startpos_m_;
8334 MenhirLib.EngineTypes.endp = _endpos_m_;
8335 MenhirLib.EngineTypes.next = {
8336 MenhirLib.EngineTypes.semv = p00;
8337 MenhirLib.EngineTypes.startp = _startpos_p00_;
8338 MenhirLib.EngineTypes.endp = _endpos_p00_;
8339 MenhirLib.EngineTypes.next = {
8340 MenhirLib.EngineTypes.startp = _startpos__4_;
8341 MenhirLib.EngineTypes.endp = _endpos__4_;
8342 MenhirLib.EngineTypes.next = {
8343 MenhirLib.EngineTypes.semv = r00;
8344 MenhirLib.EngineTypes.startp = _startpos_r00_;
8345 MenhirLib.EngineTypes.endp = _endpos_r00_;
8346 MenhirLib.EngineTypes.next = {
8347 MenhirLib.EngineTypes.semv = r1;
8348 MenhirLib.EngineTypes.startp = _startpos_r1_;
8349 MenhirLib.EngineTypes.endp = _endpos_r1_;
8350 MenhirLib.EngineTypes.next = {
8351 MenhirLib.EngineTypes.state = _menhir_s;
8352 MenhirLib.EngineTypes.semv = x0;
8353 MenhirLib.EngineTypes.startp = _startpos_x0_;
8354 MenhirLib.EngineTypes.endp = _endpos_x0_;
8355 MenhirLib.EngineTypes.next = _menhir_stack;
8356 };
8357 };
8358 };
8359 };
8360 };
8361 } = _menhir_stack in
8362 let m : 'tv_list_TMul_ = Obj.magic m in
8363 let p00 : (
8364 # 59 "parser_cocci_menhir.mly"
8365 (string * Data.clt)
8366 # 8367 "parser_cocci_menhir.ml"
8367 ) = Obj.magic p00 in
8368 let r00 : (
8369 # 47 "parser_cocci_menhir.mly"
8370 (string)
8371 # 8372 "parser_cocci_menhir.ml"
8372 ) = Obj.magic r00 in
8373 let r1 : (
8374 # 51 "parser_cocci_menhir.mly"
8375 (Data.clt)
8376 # 8377 "parser_cocci_menhir.ml"
8377 ) = Obj.magic r1 in
8378 let x0 : 'tv_const_vol = Obj.magic x0 in
8379 let _startpos = _startpos_x0_ in
8380 let _endpos = _endpos_m_ in
8381 let _v : 'tv_ctype = let ty =
8382 let p0 = p00 in
8383 let r0 = r00 in
8384 let r = r1 in
8385 let ty =
8386 let p = p0 in
8387 let r = r0 in
8388
8389 # 487 "parser_cocci_menhir.mly"
8390 ( let nm = (r,P.id2name p) in
8391 (* this is only possible when we are in a metavar decl. Otherwise,
8392 it will be represented already as a MetaType *)
8393 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8394 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8395 Ast0.Impure (*will be ignored*))) )
8396 # 8397 "parser_cocci_menhir.ml"
8397
8398 in
8399
8400 # 530 "parser_cocci_menhir.mly"
8401 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8402 # 8403 "parser_cocci_menhir.ml"
8403
8404 in
8405 let cv =
8406 let x = x0 in
8407
8408 # 41 "standard.mly"
8409 ( Some x )
8410 # 8411 "parser_cocci_menhir.ml"
8411
8412 in
8413
8414 # 538 "parser_cocci_menhir.mly"
8415 ( P.pointerify (P.make_cv cv ty) m )
8416 # 8417 "parser_cocci_menhir.ml"
8417 in
8418 _menhir_env.MenhirLib.EngineTypes.stack <- {
8419 MenhirLib.EngineTypes.state = _menhir_s;
8420 MenhirLib.EngineTypes.semv = Obj.repr _v;
8421 MenhirLib.EngineTypes.startp = _startpos;
8422 MenhirLib.EngineTypes.endp = _endpos;
8423 MenhirLib.EngineTypes.next = _menhir_stack;
8424 });
8425 (fun _menhir_env ->
8426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8427 let {
8428 MenhirLib.EngineTypes.semv = m;
8429 MenhirLib.EngineTypes.startp = _startpos_m_;
8430 MenhirLib.EngineTypes.endp = _endpos_m_;
8431 MenhirLib.EngineTypes.next = {
8432 MenhirLib.EngineTypes.semv = ty00;
8433 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8434 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8435 MenhirLib.EngineTypes.next = {
8436 MenhirLib.EngineTypes.semv = r0;
8437 MenhirLib.EngineTypes.startp = _startpos_r0_;
8438 MenhirLib.EngineTypes.endp = _endpos_r0_;
8439 MenhirLib.EngineTypes.next = {
8440 MenhirLib.EngineTypes.state = _menhir_s;
8441 MenhirLib.EngineTypes.semv = x0;
8442 MenhirLib.EngineTypes.startp = _startpos_x0_;
8443 MenhirLib.EngineTypes.endp = _endpos_x0_;
8444 MenhirLib.EngineTypes.next = _menhir_stack;
8445 };
8446 };
8447 };
8448 } = _menhir_stack in
8449 let m : 'tv_list_TMul_ = Obj.magic m in
8450 let ty00 : (
8451 # 49 "parser_cocci_menhir.mly"
8452 (Data.clt)
8453 # 8454 "parser_cocci_menhir.ml"
8454 ) = Obj.magic ty00 in
8455 let r0 : (
8456 # 51 "parser_cocci_menhir.mly"
8457 (Data.clt)
8458 # 8459 "parser_cocci_menhir.ml"
8459 ) = Obj.magic r0 in
8460 let x0 : 'tv_const_vol = Obj.magic x0 in
8461 let _startpos = _startpos_x0_ in
8462 let _endpos = _endpos_m_ in
8463 let _v : 'tv_ctype = let ty =
8464 let ty0 = ty00 in
8465 let r = r0 in
8466 let ty =
8467 let ty = ty0 in
8468
8469 # 494 "parser_cocci_menhir.mly"
8470 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8471 # 8472 "parser_cocci_menhir.ml"
8472
8473 in
8474
8475 # 530 "parser_cocci_menhir.mly"
8476 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8477 # 8478 "parser_cocci_menhir.ml"
8478
8479 in
8480 let cv =
8481 let x = x0 in
8482
8483 # 41 "standard.mly"
8484 ( Some x )
8485 # 8486 "parser_cocci_menhir.ml"
8486
8487 in
8488
8489 # 538 "parser_cocci_menhir.mly"
8490 ( P.pointerify (P.make_cv cv ty) m )
8491 # 8492 "parser_cocci_menhir.ml"
8492 in
8493 _menhir_env.MenhirLib.EngineTypes.stack <- {
8494 MenhirLib.EngineTypes.state = _menhir_s;
8495 MenhirLib.EngineTypes.semv = Obj.repr _v;
8496 MenhirLib.EngineTypes.startp = _startpos;
8497 MenhirLib.EngineTypes.endp = _endpos;
8498 MenhirLib.EngineTypes.next = _menhir_stack;
8499 });
8500 (fun _menhir_env ->
8501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8502 let {
8503 MenhirLib.EngineTypes.semv = m;
8504 MenhirLib.EngineTypes.startp = _startpos_m_;
8505 MenhirLib.EngineTypes.endp = _endpos_m_;
8506 MenhirLib.EngineTypes.next = {
8507 MenhirLib.EngineTypes.semv = ty200;
8508 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8509 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8510 MenhirLib.EngineTypes.next = {
8511 MenhirLib.EngineTypes.semv = ty100;
8512 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8513 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8514 MenhirLib.EngineTypes.next = {
8515 MenhirLib.EngineTypes.semv = r0;
8516 MenhirLib.EngineTypes.startp = _startpos_r0_;
8517 MenhirLib.EngineTypes.endp = _endpos_r0_;
8518 MenhirLib.EngineTypes.next = {
8519 MenhirLib.EngineTypes.state = _menhir_s;
8520 MenhirLib.EngineTypes.semv = x0;
8521 MenhirLib.EngineTypes.startp = _startpos_x0_;
8522 MenhirLib.EngineTypes.endp = _endpos_x0_;
8523 MenhirLib.EngineTypes.next = _menhir_stack;
8524 };
8525 };
8526 };
8527 };
8528 } = _menhir_stack in
8529 let m : 'tv_list_TMul_ = Obj.magic m in
8530 let ty200 : (
8531 # 49 "parser_cocci_menhir.mly"
8532 (Data.clt)
8533 # 8534 "parser_cocci_menhir.ml"
8534 ) = Obj.magic ty200 in
8535 let ty100 : (
8536 # 49 "parser_cocci_menhir.mly"
8537 (Data.clt)
8538 # 8539 "parser_cocci_menhir.ml"
8539 ) = Obj.magic ty100 in
8540 let r0 : (
8541 # 51 "parser_cocci_menhir.mly"
8542 (Data.clt)
8543 # 8544 "parser_cocci_menhir.ml"
8544 ) = Obj.magic r0 in
8545 let x0 : 'tv_const_vol = Obj.magic x0 in
8546 let _startpos = _startpos_x0_ in
8547 let _endpos = _endpos_m_ in
8548 let _v : 'tv_ctype = let ty =
8549 let ty20 = ty200 in
8550 let ty10 = ty100 in
8551 let r = r0 in
8552 let ty =
8553 let ty2 = ty20 in
8554 let ty1 = ty10 in
8555
8556 # 496 "parser_cocci_menhir.mly"
8557 ( Ast0.wrap
8558 (Ast0.BaseType
8559 (Ast.LongLongType,
8560 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8561 # 8562 "parser_cocci_menhir.ml"
8562
8563 in
8564
8565 # 530 "parser_cocci_menhir.mly"
8566 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8567 # 8568 "parser_cocci_menhir.ml"
8568
8569 in
8570 let cv =
8571 let x = x0 in
8572
8573 # 41 "standard.mly"
8574 ( Some x )
8575 # 8576 "parser_cocci_menhir.ml"
8576
8577 in
8578
8579 # 538 "parser_cocci_menhir.mly"
8580 ( P.pointerify (P.make_cv cv ty) m )
8581 # 8582 "parser_cocci_menhir.ml"
8582 in
8583 _menhir_env.MenhirLib.EngineTypes.stack <- {
8584 MenhirLib.EngineTypes.state = _menhir_s;
8585 MenhirLib.EngineTypes.semv = Obj.repr _v;
8586 MenhirLib.EngineTypes.startp = _startpos;
8587 MenhirLib.EngineTypes.endp = _endpos;
8588 MenhirLib.EngineTypes.next = _menhir_stack;
8589 });
8590 (fun _menhir_env ->
8591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8592 let {
8593 MenhirLib.EngineTypes.semv = m;
8594 MenhirLib.EngineTypes.startp = _startpos_m_;
8595 MenhirLib.EngineTypes.endp = _endpos_m_;
8596 MenhirLib.EngineTypes.next = {
8597 MenhirLib.EngineTypes.semv = ty00;
8598 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8599 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8600 MenhirLib.EngineTypes.next = {
8601 MenhirLib.EngineTypes.semv = r0;
8602 MenhirLib.EngineTypes.startp = _startpos_r0_;
8603 MenhirLib.EngineTypes.endp = _endpos_r0_;
8604 MenhirLib.EngineTypes.next = {
8605 MenhirLib.EngineTypes.state = _menhir_s;
8606 MenhirLib.EngineTypes.semv = x0;
8607 MenhirLib.EngineTypes.startp = _startpos_x0_;
8608 MenhirLib.EngineTypes.endp = _endpos_x0_;
8609 MenhirLib.EngineTypes.next = _menhir_stack;
8610 };
8611 };
8612 };
8613 } = _menhir_stack in
8614 let m : 'tv_list_TMul_ = Obj.magic m in
8615 let ty00 : (
8616 # 49 "parser_cocci_menhir.mly"
8617 (Data.clt)
8618 # 8619 "parser_cocci_menhir.ml"
8619 ) = Obj.magic ty00 in
8620 let r0 : (
8621 # 51 "parser_cocci_menhir.mly"
8622 (Data.clt)
8623 # 8624 "parser_cocci_menhir.ml"
8624 ) = Obj.magic r0 in
8625 let x0 : 'tv_const_vol = Obj.magic x0 in
8626 let _startpos = _startpos_x0_ in
8627 let _endpos = _endpos_m_ in
8628 let _v : 'tv_ctype = let ty =
8629 let ty0 = ty00 in
8630 let r = r0 in
8631 let ty =
8632 let ty = ty0 in
8633
8634 # 478 "parser_cocci_menhir.mly"
8635 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8636 # 8637 "parser_cocci_menhir.ml"
8637
8638 in
8639
8640 # 532 "parser_cocci_menhir.mly"
8641 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8642 # 8643 "parser_cocci_menhir.ml"
8643
8644 in
8645 let cv =
8646 let x = x0 in
8647
8648 # 41 "standard.mly"
8649 ( Some x )
8650 # 8651 "parser_cocci_menhir.ml"
8651
8652 in
8653
8654 # 538 "parser_cocci_menhir.mly"
8655 ( P.pointerify (P.make_cv cv ty) m )
8656 # 8657 "parser_cocci_menhir.ml"
8657 in
8658 _menhir_env.MenhirLib.EngineTypes.stack <- {
8659 MenhirLib.EngineTypes.state = _menhir_s;
8660 MenhirLib.EngineTypes.semv = Obj.repr _v;
8661 MenhirLib.EngineTypes.startp = _startpos;
8662 MenhirLib.EngineTypes.endp = _endpos;
8663 MenhirLib.EngineTypes.next = _menhir_stack;
8664 });
8665 (fun _menhir_env ->
8666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8667 let {
8668 MenhirLib.EngineTypes.semv = m;
8669 MenhirLib.EngineTypes.startp = _startpos_m_;
8670 MenhirLib.EngineTypes.endp = _endpos_m_;
8671 MenhirLib.EngineTypes.next = {
8672 MenhirLib.EngineTypes.semv = ty00;
8673 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8674 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8675 MenhirLib.EngineTypes.next = {
8676 MenhirLib.EngineTypes.semv = r0;
8677 MenhirLib.EngineTypes.startp = _startpos_r0_;
8678 MenhirLib.EngineTypes.endp = _endpos_r0_;
8679 MenhirLib.EngineTypes.next = {
8680 MenhirLib.EngineTypes.state = _menhir_s;
8681 MenhirLib.EngineTypes.semv = x0;
8682 MenhirLib.EngineTypes.startp = _startpos_x0_;
8683 MenhirLib.EngineTypes.endp = _endpos_x0_;
8684 MenhirLib.EngineTypes.next = _menhir_stack;
8685 };
8686 };
8687 };
8688 } = _menhir_stack in
8689 let m : 'tv_list_TMul_ = Obj.magic m in
8690 let ty00 : (
8691 # 49 "parser_cocci_menhir.mly"
8692 (Data.clt)
8693 # 8694 "parser_cocci_menhir.ml"
8694 ) = Obj.magic ty00 in
8695 let r0 : (
8696 # 51 "parser_cocci_menhir.mly"
8697 (Data.clt)
8698 # 8699 "parser_cocci_menhir.ml"
8699 ) = Obj.magic r0 in
8700 let x0 : 'tv_const_vol = Obj.magic x0 in
8701 let _startpos = _startpos_x0_ in
8702 let _endpos = _endpos_m_ in
8703 let _v : 'tv_ctype = let ty =
8704 let ty0 = ty00 in
8705 let r = r0 in
8706 let ty =
8707 let ty = ty0 in
8708
8709 # 480 "parser_cocci_menhir.mly"
8710 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8711 # 8712 "parser_cocci_menhir.ml"
8712
8713 in
8714
8715 # 532 "parser_cocci_menhir.mly"
8716 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8717 # 8718 "parser_cocci_menhir.ml"
8718
8719 in
8720 let cv =
8721 let x = x0 in
8722
8723 # 41 "standard.mly"
8724 ( Some x )
8725 # 8726 "parser_cocci_menhir.ml"
8726
8727 in
8728
8729 # 538 "parser_cocci_menhir.mly"
8730 ( P.pointerify (P.make_cv cv ty) m )
8731 # 8732 "parser_cocci_menhir.ml"
8732 in
8733 _menhir_env.MenhirLib.EngineTypes.stack <- {
8734 MenhirLib.EngineTypes.state = _menhir_s;
8735 MenhirLib.EngineTypes.semv = Obj.repr _v;
8736 MenhirLib.EngineTypes.startp = _startpos;
8737 MenhirLib.EngineTypes.endp = _endpos;
8738 MenhirLib.EngineTypes.next = _menhir_stack;
8739 });
8740 (fun _menhir_env ->
8741 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8742 let {
8743 MenhirLib.EngineTypes.semv = m;
8744 MenhirLib.EngineTypes.startp = _startpos_m_;
8745 MenhirLib.EngineTypes.endp = _endpos_m_;
8746 MenhirLib.EngineTypes.next = {
8747 MenhirLib.EngineTypes.semv = ty00;
8748 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8749 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8750 MenhirLib.EngineTypes.next = {
8751 MenhirLib.EngineTypes.semv = r0;
8752 MenhirLib.EngineTypes.startp = _startpos_r0_;
8753 MenhirLib.EngineTypes.endp = _endpos_r0_;
8754 MenhirLib.EngineTypes.next = {
8755 MenhirLib.EngineTypes.state = _menhir_s;
8756 MenhirLib.EngineTypes.semv = x0;
8757 MenhirLib.EngineTypes.startp = _startpos_x0_;
8758 MenhirLib.EngineTypes.endp = _endpos_x0_;
8759 MenhirLib.EngineTypes.next = _menhir_stack;
8760 };
8761 };
8762 };
8763 } = _menhir_stack in
8764 let m : 'tv_list_TMul_ = Obj.magic m in
8765 let ty00 : (
8766 # 49 "parser_cocci_menhir.mly"
8767 (Data.clt)
8768 # 8769 "parser_cocci_menhir.ml"
8769 ) = Obj.magic ty00 in
8770 let r0 : (
8771 # 51 "parser_cocci_menhir.mly"
8772 (Data.clt)
8773 # 8774 "parser_cocci_menhir.ml"
8774 ) = Obj.magic r0 in
8775 let x0 : 'tv_const_vol = Obj.magic x0 in
8776 let _startpos = _startpos_x0_ in
8777 let _endpos = _endpos_m_ in
8778 let _v : 'tv_ctype = let ty =
8779 let ty0 = ty00 in
8780 let r = r0 in
8781 let ty =
8782 let ty = ty0 in
8783
8784 # 482 "parser_cocci_menhir.mly"
8785 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8786 # 8787 "parser_cocci_menhir.ml"
8787
8788 in
8789
8790 # 532 "parser_cocci_menhir.mly"
8791 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8792 # 8793 "parser_cocci_menhir.ml"
8793
8794 in
8795 let cv =
8796 let x = x0 in
8797
8798 # 41 "standard.mly"
8799 ( Some x )
8800 # 8801 "parser_cocci_menhir.ml"
8801
8802 in
8803
8804 # 538 "parser_cocci_menhir.mly"
8805 ( P.pointerify (P.make_cv cv ty) m )
8806 # 8807 "parser_cocci_menhir.ml"
8807 in
8808 _menhir_env.MenhirLib.EngineTypes.stack <- {
8809 MenhirLib.EngineTypes.state = _menhir_s;
8810 MenhirLib.EngineTypes.semv = Obj.repr _v;
8811 MenhirLib.EngineTypes.startp = _startpos;
8812 MenhirLib.EngineTypes.endp = _endpos;
8813 MenhirLib.EngineTypes.next = _menhir_stack;
8814 });
8815 (fun _menhir_env ->
8816 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8817 let {
8818 MenhirLib.EngineTypes.semv = m;
8819 MenhirLib.EngineTypes.startp = _startpos_m_;
8820 MenhirLib.EngineTypes.endp = _endpos_m_;
8821 MenhirLib.EngineTypes.next = {
8822 MenhirLib.EngineTypes.semv = p00;
8823 MenhirLib.EngineTypes.startp = _startpos_p00_;
8824 MenhirLib.EngineTypes.endp = _endpos_p00_;
8825 MenhirLib.EngineTypes.next = {
8826 MenhirLib.EngineTypes.semv = r0;
8827 MenhirLib.EngineTypes.startp = _startpos_r0_;
8828 MenhirLib.EngineTypes.endp = _endpos_r0_;
8829 MenhirLib.EngineTypes.next = {
8830 MenhirLib.EngineTypes.state = _menhir_s;
8831 MenhirLib.EngineTypes.semv = x0;
8832 MenhirLib.EngineTypes.startp = _startpos_x0_;
8833 MenhirLib.EngineTypes.endp = _endpos_x0_;
8834 MenhirLib.EngineTypes.next = _menhir_stack;
8835 };
8836 };
8837 };
8838 } = _menhir_stack in
8839 let m : 'tv_list_TMul_ = Obj.magic m in
8840 let p00 : (
8841 # 64 "parser_cocci_menhir.mly"
8842 (Parse_aux.info)
8843 # 8844 "parser_cocci_menhir.ml"
8844 ) = Obj.magic p00 in
8845 let r0 : (
8846 # 51 "parser_cocci_menhir.mly"
8847 (Data.clt)
8848 # 8849 "parser_cocci_menhir.ml"
8849 ) = Obj.magic r0 in
8850 let x0 : 'tv_const_vol = Obj.magic x0 in
8851 let _startpos = _startpos_x0_ in
8852 let _endpos = _endpos_m_ in
8853 let _v : 'tv_ctype = let ty =
8854 let p0 = p00 in
8855 let r = r0 in
8856 let ty =
8857 let p = p0 in
8858
8859 # 484 "parser_cocci_menhir.mly"
8860 ( let (nm,pure,clt) = p in
8861 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8862 # 8863 "parser_cocci_menhir.ml"
8863
8864 in
8865
8866 # 532 "parser_cocci_menhir.mly"
8867 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8868 # 8869 "parser_cocci_menhir.ml"
8869
8870 in
8871 let cv =
8872 let x = x0 in
8873
8874 # 41 "standard.mly"
8875 ( Some x )
8876 # 8877 "parser_cocci_menhir.ml"
8877
8878 in
8879
8880 # 538 "parser_cocci_menhir.mly"
8881 ( P.pointerify (P.make_cv cv ty) m )
8882 # 8883 "parser_cocci_menhir.ml"
8883 in
8884 _menhir_env.MenhirLib.EngineTypes.stack <- {
8885 MenhirLib.EngineTypes.state = _menhir_s;
8886 MenhirLib.EngineTypes.semv = Obj.repr _v;
8887 MenhirLib.EngineTypes.startp = _startpos;
8888 MenhirLib.EngineTypes.endp = _endpos;
8889 MenhirLib.EngineTypes.next = _menhir_stack;
8890 });
8891 (fun _menhir_env ->
8892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8893 let {
8894 MenhirLib.EngineTypes.semv = m;
8895 MenhirLib.EngineTypes.startp = _startpos_m_;
8896 MenhirLib.EngineTypes.endp = _endpos_m_;
8897 MenhirLib.EngineTypes.next = {
8898 MenhirLib.EngineTypes.semv = p00;
8899 MenhirLib.EngineTypes.startp = _startpos_p00_;
8900 MenhirLib.EngineTypes.endp = _endpos_p00_;
8901 MenhirLib.EngineTypes.next = {
8902 MenhirLib.EngineTypes.startp = _startpos__4_;
8903 MenhirLib.EngineTypes.endp = _endpos__4_;
8904 MenhirLib.EngineTypes.next = {
8905 MenhirLib.EngineTypes.semv = r00;
8906 MenhirLib.EngineTypes.startp = _startpos_r00_;
8907 MenhirLib.EngineTypes.endp = _endpos_r00_;
8908 MenhirLib.EngineTypes.next = {
8909 MenhirLib.EngineTypes.semv = r1;
8910 MenhirLib.EngineTypes.startp = _startpos_r1_;
8911 MenhirLib.EngineTypes.endp = _endpos_r1_;
8912 MenhirLib.EngineTypes.next = {
8913 MenhirLib.EngineTypes.state = _menhir_s;
8914 MenhirLib.EngineTypes.semv = x0;
8915 MenhirLib.EngineTypes.startp = _startpos_x0_;
8916 MenhirLib.EngineTypes.endp = _endpos_x0_;
8917 MenhirLib.EngineTypes.next = _menhir_stack;
8918 };
8919 };
8920 };
8921 };
8922 };
8923 } = _menhir_stack in
8924 let m : 'tv_list_TMul_ = Obj.magic m in
8925 let p00 : (
8926 # 59 "parser_cocci_menhir.mly"
8927 (string * Data.clt)
8928 # 8929 "parser_cocci_menhir.ml"
8929 ) = Obj.magic p00 in
8930 let r00 : (
8931 # 47 "parser_cocci_menhir.mly"
8932 (string)
8933 # 8934 "parser_cocci_menhir.ml"
8934 ) = Obj.magic r00 in
8935 let r1 : (
8936 # 51 "parser_cocci_menhir.mly"
8937 (Data.clt)
8938 # 8939 "parser_cocci_menhir.ml"
8939 ) = Obj.magic r1 in
8940 let x0 : 'tv_const_vol = Obj.magic x0 in
8941 let _startpos = _startpos_x0_ in
8942 let _endpos = _endpos_m_ in
8943 let _v : 'tv_ctype = let ty =
8944 let p0 = p00 in
8945 let r0 = r00 in
8946 let r = r1 in
8947 let ty =
8948 let p = p0 in
8949 let r = r0 in
8950
8951 # 487 "parser_cocci_menhir.mly"
8952 ( let nm = (r,P.id2name p) in
8953 (* this is only possible when we are in a metavar decl. Otherwise,
8954 it will be represented already as a MetaType *)
8955 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8956 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8957 Ast0.Impure (*will be ignored*))) )
8958 # 8959 "parser_cocci_menhir.ml"
8959
8960 in
8961
8962 # 532 "parser_cocci_menhir.mly"
8963 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8964 # 8965 "parser_cocci_menhir.ml"
8965
8966 in
8967 let cv =
8968 let x = x0 in
8969
8970 # 41 "standard.mly"
8971 ( Some x )
8972 # 8973 "parser_cocci_menhir.ml"
8973
8974 in
8975
8976 # 538 "parser_cocci_menhir.mly"
8977 ( P.pointerify (P.make_cv cv ty) m )
8978 # 8979 "parser_cocci_menhir.ml"
8979 in
8980 _menhir_env.MenhirLib.EngineTypes.stack <- {
8981 MenhirLib.EngineTypes.state = _menhir_s;
8982 MenhirLib.EngineTypes.semv = Obj.repr _v;
8983 MenhirLib.EngineTypes.startp = _startpos;
8984 MenhirLib.EngineTypes.endp = _endpos;
8985 MenhirLib.EngineTypes.next = _menhir_stack;
8986 });
8987 (fun _menhir_env ->
8988 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8989 let {
8990 MenhirLib.EngineTypes.semv = m;
8991 MenhirLib.EngineTypes.startp = _startpos_m_;
8992 MenhirLib.EngineTypes.endp = _endpos_m_;
8993 MenhirLib.EngineTypes.next = {
8994 MenhirLib.EngineTypes.semv = ty00;
8995 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8996 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8997 MenhirLib.EngineTypes.next = {
8998 MenhirLib.EngineTypes.semv = r0;
8999 MenhirLib.EngineTypes.startp = _startpos_r0_;
9000 MenhirLib.EngineTypes.endp = _endpos_r0_;
9001 MenhirLib.EngineTypes.next = {
9002 MenhirLib.EngineTypes.state = _menhir_s;
9003 MenhirLib.EngineTypes.semv = x0;
9004 MenhirLib.EngineTypes.startp = _startpos_x0_;
9005 MenhirLib.EngineTypes.endp = _endpos_x0_;
9006 MenhirLib.EngineTypes.next = _menhir_stack;
9007 };
9008 };
9009 };
9010 } = _menhir_stack in
9011 let m : 'tv_list_TMul_ = Obj.magic m in
9012 let ty00 : (
9013 # 49 "parser_cocci_menhir.mly"
9014 (Data.clt)
9015 # 9016 "parser_cocci_menhir.ml"
9016 ) = Obj.magic ty00 in
9017 let r0 : (
9018 # 51 "parser_cocci_menhir.mly"
9019 (Data.clt)
9020 # 9021 "parser_cocci_menhir.ml"
9021 ) = Obj.magic r0 in
9022 let x0 : 'tv_const_vol = Obj.magic x0 in
9023 let _startpos = _startpos_x0_ in
9024 let _endpos = _endpos_m_ in
9025 let _v : 'tv_ctype = let ty =
9026 let ty0 = ty00 in
9027 let r = r0 in
9028 let ty =
9029 let ty = ty0 in
9030
9031 # 494 "parser_cocci_menhir.mly"
9032 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9033 # 9034 "parser_cocci_menhir.ml"
9034
9035 in
9036
9037 # 532 "parser_cocci_menhir.mly"
9038 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9039 # 9040 "parser_cocci_menhir.ml"
9040
9041 in
9042 let cv =
9043 let x = x0 in
9044
9045 # 41 "standard.mly"
9046 ( Some x )
9047 # 9048 "parser_cocci_menhir.ml"
9048
9049 in
9050
9051 # 538 "parser_cocci_menhir.mly"
9052 ( P.pointerify (P.make_cv cv ty) m )
9053 # 9054 "parser_cocci_menhir.ml"
9054 in
9055 _menhir_env.MenhirLib.EngineTypes.stack <- {
9056 MenhirLib.EngineTypes.state = _menhir_s;
9057 MenhirLib.EngineTypes.semv = Obj.repr _v;
9058 MenhirLib.EngineTypes.startp = _startpos;
9059 MenhirLib.EngineTypes.endp = _endpos;
9060 MenhirLib.EngineTypes.next = _menhir_stack;
9061 });
9062 (fun _menhir_env ->
9063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9064 let {
9065 MenhirLib.EngineTypes.semv = m;
9066 MenhirLib.EngineTypes.startp = _startpos_m_;
9067 MenhirLib.EngineTypes.endp = _endpos_m_;
9068 MenhirLib.EngineTypes.next = {
9069 MenhirLib.EngineTypes.semv = ty200;
9070 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9071 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9072 MenhirLib.EngineTypes.next = {
9073 MenhirLib.EngineTypes.semv = ty100;
9074 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9075 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9076 MenhirLib.EngineTypes.next = {
9077 MenhirLib.EngineTypes.semv = r0;
9078 MenhirLib.EngineTypes.startp = _startpos_r0_;
9079 MenhirLib.EngineTypes.endp = _endpos_r0_;
9080 MenhirLib.EngineTypes.next = {
9081 MenhirLib.EngineTypes.state = _menhir_s;
9082 MenhirLib.EngineTypes.semv = x0;
9083 MenhirLib.EngineTypes.startp = _startpos_x0_;
9084 MenhirLib.EngineTypes.endp = _endpos_x0_;
9085 MenhirLib.EngineTypes.next = _menhir_stack;
9086 };
9087 };
9088 };
9089 };
9090 } = _menhir_stack in
9091 let m : 'tv_list_TMul_ = Obj.magic m in
9092 let ty200 : (
9093 # 49 "parser_cocci_menhir.mly"
9094 (Data.clt)
9095 # 9096 "parser_cocci_menhir.ml"
9096 ) = Obj.magic ty200 in
9097 let ty100 : (
9098 # 49 "parser_cocci_menhir.mly"
9099 (Data.clt)
9100 # 9101 "parser_cocci_menhir.ml"
9101 ) = Obj.magic ty100 in
9102 let r0 : (
9103 # 51 "parser_cocci_menhir.mly"
9104 (Data.clt)
9105 # 9106 "parser_cocci_menhir.ml"
9106 ) = Obj.magic r0 in
9107 let x0 : 'tv_const_vol = Obj.magic x0 in
9108 let _startpos = _startpos_x0_ in
9109 let _endpos = _endpos_m_ in
9110 let _v : 'tv_ctype = let ty =
9111 let ty20 = ty200 in
9112 let ty10 = ty100 in
9113 let r = r0 in
9114 let ty =
9115 let ty2 = ty20 in
9116 let ty1 = ty10 in
9117
9118 # 496 "parser_cocci_menhir.mly"
9119 ( Ast0.wrap
9120 (Ast0.BaseType
9121 (Ast.LongLongType,
9122 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9123 # 9124 "parser_cocci_menhir.ml"
9124
9125 in
9126
9127 # 532 "parser_cocci_menhir.mly"
9128 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9129 # 9130 "parser_cocci_menhir.ml"
9130
9131 in
9132 let cv =
9133 let x = x0 in
9134
9135 # 41 "standard.mly"
9136 ( Some x )
9137 # 9138 "parser_cocci_menhir.ml"
9138
9139 in
9140
9141 # 538 "parser_cocci_menhir.mly"
9142 ( P.pointerify (P.make_cv cv ty) m )
9143 # 9144 "parser_cocci_menhir.ml"
9144 in
9145 _menhir_env.MenhirLib.EngineTypes.stack <- {
9146 MenhirLib.EngineTypes.state = _menhir_s;
9147 MenhirLib.EngineTypes.semv = Obj.repr _v;
9148 MenhirLib.EngineTypes.startp = _startpos;
9149 MenhirLib.EngineTypes.endp = _endpos;
9150 MenhirLib.EngineTypes.next = _menhir_stack;
9151 });
9152 (fun _menhir_env ->
9153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9154 let {
9155 MenhirLib.EngineTypes.semv = m;
9156 MenhirLib.EngineTypes.startp = _startpos_m_;
9157 MenhirLib.EngineTypes.endp = _endpos_m_;
9158 MenhirLib.EngineTypes.next = {
9159 MenhirLib.EngineTypes.semv = ty00;
9160 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9161 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9162 MenhirLib.EngineTypes.next = {
9163 MenhirLib.EngineTypes.state = _menhir_s;
9164 MenhirLib.EngineTypes.semv = x0;
9165 MenhirLib.EngineTypes.startp = _startpos_x0_;
9166 MenhirLib.EngineTypes.endp = _endpos_x0_;
9167 MenhirLib.EngineTypes.next = _menhir_stack;
9168 };
9169 };
9170 } = _menhir_stack in
9171 let m : 'tv_list_TMul_ = Obj.magic m in
9172 let ty00 : (
9173 # 49 "parser_cocci_menhir.mly"
9174 (Data.clt)
9175 # 9176 "parser_cocci_menhir.ml"
9176 ) = Obj.magic ty00 in
9177 let x0 : 'tv_const_vol = Obj.magic x0 in
9178 let _startpos = _startpos_x0_ in
9179 let _endpos = _endpos_m_ in
9180 let _v : 'tv_ctype = let ty =
9181 let ty0 = ty00 in
9182 let ty =
9183 let ty = ty0 in
9184
9185 # 478 "parser_cocci_menhir.mly"
9186 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9187 # 9188 "parser_cocci_menhir.ml"
9188
9189 in
9190
9191 # 533 "parser_cocci_menhir.mly"
9192 ( ty )
9193 # 9194 "parser_cocci_menhir.ml"
9194
9195 in
9196 let cv =
9197 let x = x0 in
9198
9199 # 41 "standard.mly"
9200 ( Some x )
9201 # 9202 "parser_cocci_menhir.ml"
9202
9203 in
9204
9205 # 538 "parser_cocci_menhir.mly"
9206 ( P.pointerify (P.make_cv cv ty) m )
9207 # 9208 "parser_cocci_menhir.ml"
9208 in
9209 _menhir_env.MenhirLib.EngineTypes.stack <- {
9210 MenhirLib.EngineTypes.state = _menhir_s;
9211 MenhirLib.EngineTypes.semv = Obj.repr _v;
9212 MenhirLib.EngineTypes.startp = _startpos;
9213 MenhirLib.EngineTypes.endp = _endpos;
9214 MenhirLib.EngineTypes.next = _menhir_stack;
9215 });
9216 (fun _menhir_env ->
9217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9218 let {
9219 MenhirLib.EngineTypes.semv = m;
9220 MenhirLib.EngineTypes.startp = _startpos_m_;
9221 MenhirLib.EngineTypes.endp = _endpos_m_;
9222 MenhirLib.EngineTypes.next = {
9223 MenhirLib.EngineTypes.semv = ty00;
9224 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9225 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9226 MenhirLib.EngineTypes.next = {
9227 MenhirLib.EngineTypes.state = _menhir_s;
9228 MenhirLib.EngineTypes.semv = x0;
9229 MenhirLib.EngineTypes.startp = _startpos_x0_;
9230 MenhirLib.EngineTypes.endp = _endpos_x0_;
9231 MenhirLib.EngineTypes.next = _menhir_stack;
9232 };
9233 };
9234 } = _menhir_stack in
9235 let m : 'tv_list_TMul_ = Obj.magic m in
9236 let ty00 : (
9237 # 49 "parser_cocci_menhir.mly"
9238 (Data.clt)
9239 # 9240 "parser_cocci_menhir.ml"
9240 ) = Obj.magic ty00 in
9241 let x0 : 'tv_const_vol = Obj.magic x0 in
9242 let _startpos = _startpos_x0_ in
9243 let _endpos = _endpos_m_ in
9244 let _v : 'tv_ctype = let ty =
9245 let ty0 = ty00 in
9246 let ty =
9247 let ty = ty0 in
9248
9249 # 480 "parser_cocci_menhir.mly"
9250 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9251 # 9252 "parser_cocci_menhir.ml"
9252
9253 in
9254
9255 # 533 "parser_cocci_menhir.mly"
9256 ( ty )
9257 # 9258 "parser_cocci_menhir.ml"
9258
9259 in
9260 let cv =
9261 let x = x0 in
9262
9263 # 41 "standard.mly"
9264 ( Some x )
9265 # 9266 "parser_cocci_menhir.ml"
9266
9267 in
9268
9269 # 538 "parser_cocci_menhir.mly"
9270 ( P.pointerify (P.make_cv cv ty) m )
9271 # 9272 "parser_cocci_menhir.ml"
9272 in
9273 _menhir_env.MenhirLib.EngineTypes.stack <- {
9274 MenhirLib.EngineTypes.state = _menhir_s;
9275 MenhirLib.EngineTypes.semv = Obj.repr _v;
9276 MenhirLib.EngineTypes.startp = _startpos;
9277 MenhirLib.EngineTypes.endp = _endpos;
9278 MenhirLib.EngineTypes.next = _menhir_stack;
9279 });
9280 (fun _menhir_env ->
9281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9282 let {
9283 MenhirLib.EngineTypes.semv = m;
9284 MenhirLib.EngineTypes.startp = _startpos_m_;
9285 MenhirLib.EngineTypes.endp = _endpos_m_;
9286 MenhirLib.EngineTypes.next = {
9287 MenhirLib.EngineTypes.semv = ty00;
9288 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9289 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9290 MenhirLib.EngineTypes.next = {
9291 MenhirLib.EngineTypes.state = _menhir_s;
9292 MenhirLib.EngineTypes.semv = x0;
9293 MenhirLib.EngineTypes.startp = _startpos_x0_;
9294 MenhirLib.EngineTypes.endp = _endpos_x0_;
9295 MenhirLib.EngineTypes.next = _menhir_stack;
9296 };
9297 };
9298 } = _menhir_stack in
9299 let m : 'tv_list_TMul_ = Obj.magic m in
9300 let ty00 : (
9301 # 49 "parser_cocci_menhir.mly"
9302 (Data.clt)
9303 # 9304 "parser_cocci_menhir.ml"
9304 ) = Obj.magic ty00 in
9305 let x0 : 'tv_const_vol = Obj.magic x0 in
9306 let _startpos = _startpos_x0_ in
9307 let _endpos = _endpos_m_ in
9308 let _v : 'tv_ctype = let ty =
9309 let ty0 = ty00 in
9310 let ty =
9311 let ty = ty0 in
9312
9313 # 482 "parser_cocci_menhir.mly"
9314 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9315 # 9316 "parser_cocci_menhir.ml"
9316
9317 in
9318
9319 # 533 "parser_cocci_menhir.mly"
9320 ( ty )
9321 # 9322 "parser_cocci_menhir.ml"
9322
9323 in
9324 let cv =
9325 let x = x0 in
9326
9327 # 41 "standard.mly"
9328 ( Some x )
9329 # 9330 "parser_cocci_menhir.ml"
9330
9331 in
9332
9333 # 538 "parser_cocci_menhir.mly"
9334 ( P.pointerify (P.make_cv cv ty) m )
9335 # 9336 "parser_cocci_menhir.ml"
9336 in
9337 _menhir_env.MenhirLib.EngineTypes.stack <- {
9338 MenhirLib.EngineTypes.state = _menhir_s;
9339 MenhirLib.EngineTypes.semv = Obj.repr _v;
9340 MenhirLib.EngineTypes.startp = _startpos;
9341 MenhirLib.EngineTypes.endp = _endpos;
9342 MenhirLib.EngineTypes.next = _menhir_stack;
9343 });
9344 (fun _menhir_env ->
9345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9346 let {
9347 MenhirLib.EngineTypes.semv = m;
9348 MenhirLib.EngineTypes.startp = _startpos_m_;
9349 MenhirLib.EngineTypes.endp = _endpos_m_;
9350 MenhirLib.EngineTypes.next = {
9351 MenhirLib.EngineTypes.semv = p00;
9352 MenhirLib.EngineTypes.startp = _startpos_p00_;
9353 MenhirLib.EngineTypes.endp = _endpos_p00_;
9354 MenhirLib.EngineTypes.next = {
9355 MenhirLib.EngineTypes.state = _menhir_s;
9356 MenhirLib.EngineTypes.semv = x0;
9357 MenhirLib.EngineTypes.startp = _startpos_x0_;
9358 MenhirLib.EngineTypes.endp = _endpos_x0_;
9359 MenhirLib.EngineTypes.next = _menhir_stack;
9360 };
9361 };
9362 } = _menhir_stack in
9363 let m : 'tv_list_TMul_ = Obj.magic m in
9364 let p00 : (
9365 # 64 "parser_cocci_menhir.mly"
9366 (Parse_aux.info)
9367 # 9368 "parser_cocci_menhir.ml"
9368 ) = Obj.magic p00 in
9369 let x0 : 'tv_const_vol = Obj.magic x0 in
9370 let _startpos = _startpos_x0_ in
9371 let _endpos = _endpos_m_ in
9372 let _v : 'tv_ctype = let ty =
9373 let p0 = p00 in
9374 let ty =
9375 let p = p0 in
9376
9377 # 484 "parser_cocci_menhir.mly"
9378 ( let (nm,pure,clt) = p in
9379 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9380 # 9381 "parser_cocci_menhir.ml"
9381
9382 in
9383
9384 # 533 "parser_cocci_menhir.mly"
9385 ( ty )
9386 # 9387 "parser_cocci_menhir.ml"
9387
9388 in
9389 let cv =
9390 let x = x0 in
9391
9392 # 41 "standard.mly"
9393 ( Some x )
9394 # 9395 "parser_cocci_menhir.ml"
9395
9396 in
9397
9398 # 538 "parser_cocci_menhir.mly"
9399 ( P.pointerify (P.make_cv cv ty) m )
9400 # 9401 "parser_cocci_menhir.ml"
9401 in
9402 _menhir_env.MenhirLib.EngineTypes.stack <- {
9403 MenhirLib.EngineTypes.state = _menhir_s;
9404 MenhirLib.EngineTypes.semv = Obj.repr _v;
9405 MenhirLib.EngineTypes.startp = _startpos;
9406 MenhirLib.EngineTypes.endp = _endpos;
9407 MenhirLib.EngineTypes.next = _menhir_stack;
9408 });
9409 (fun _menhir_env ->
9410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9411 let {
9412 MenhirLib.EngineTypes.semv = m;
9413 MenhirLib.EngineTypes.startp = _startpos_m_;
9414 MenhirLib.EngineTypes.endp = _endpos_m_;
9415 MenhirLib.EngineTypes.next = {
9416 MenhirLib.EngineTypes.semv = p00;
9417 MenhirLib.EngineTypes.startp = _startpos_p00_;
9418 MenhirLib.EngineTypes.endp = _endpos_p00_;
9419 MenhirLib.EngineTypes.next = {
9420 MenhirLib.EngineTypes.startp = _startpos__3_;
9421 MenhirLib.EngineTypes.endp = _endpos__3_;
9422 MenhirLib.EngineTypes.next = {
9423 MenhirLib.EngineTypes.semv = r00;
9424 MenhirLib.EngineTypes.startp = _startpos_r00_;
9425 MenhirLib.EngineTypes.endp = _endpos_r00_;
9426 MenhirLib.EngineTypes.next = {
9427 MenhirLib.EngineTypes.state = _menhir_s;
9428 MenhirLib.EngineTypes.semv = x0;
9429 MenhirLib.EngineTypes.startp = _startpos_x0_;
9430 MenhirLib.EngineTypes.endp = _endpos_x0_;
9431 MenhirLib.EngineTypes.next = _menhir_stack;
9432 };
9433 };
9434 };
9435 };
9436 } = _menhir_stack in
9437 let m : 'tv_list_TMul_ = Obj.magic m in
9438 let p00 : (
9439 # 59 "parser_cocci_menhir.mly"
9440 (string * Data.clt)
9441 # 9442 "parser_cocci_menhir.ml"
9442 ) = Obj.magic p00 in
9443 let r00 : (
9444 # 47 "parser_cocci_menhir.mly"
9445 (string)
9446 # 9447 "parser_cocci_menhir.ml"
9447 ) = Obj.magic r00 in
9448 let x0 : 'tv_const_vol = Obj.magic x0 in
9449 let _startpos = _startpos_x0_ in
9450 let _endpos = _endpos_m_ in
9451 let _v : 'tv_ctype = let ty =
9452 let p0 = p00 in
9453 let r0 = r00 in
9454 let ty =
9455 let p = p0 in
9456 let r = r0 in
9457
9458 # 487 "parser_cocci_menhir.mly"
9459 ( let nm = (r,P.id2name p) in
9460 (* this is only possible when we are in a metavar decl. Otherwise,
9461 it will be represented already as a MetaType *)
9462 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9463 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9464 Ast0.Impure (*will be ignored*))) )
9465 # 9466 "parser_cocci_menhir.ml"
9466
9467 in
9468
9469 # 533 "parser_cocci_menhir.mly"
9470 ( ty )
9471 # 9472 "parser_cocci_menhir.ml"
9472
9473 in
9474 let cv =
9475 let x = x0 in
9476
9477 # 41 "standard.mly"
9478 ( Some x )
9479 # 9480 "parser_cocci_menhir.ml"
9480
9481 in
9482
9483 # 538 "parser_cocci_menhir.mly"
9484 ( P.pointerify (P.make_cv cv ty) m )
9485 # 9486 "parser_cocci_menhir.ml"
9486 in
9487 _menhir_env.MenhirLib.EngineTypes.stack <- {
9488 MenhirLib.EngineTypes.state = _menhir_s;
9489 MenhirLib.EngineTypes.semv = Obj.repr _v;
9490 MenhirLib.EngineTypes.startp = _startpos;
9491 MenhirLib.EngineTypes.endp = _endpos;
9492 MenhirLib.EngineTypes.next = _menhir_stack;
9493 });
9494 (fun _menhir_env ->
9495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9496 let {
9497 MenhirLib.EngineTypes.semv = m;
9498 MenhirLib.EngineTypes.startp = _startpos_m_;
9499 MenhirLib.EngineTypes.endp = _endpos_m_;
9500 MenhirLib.EngineTypes.next = {
9501 MenhirLib.EngineTypes.semv = ty00;
9502 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9503 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9504 MenhirLib.EngineTypes.next = {
9505 MenhirLib.EngineTypes.state = _menhir_s;
9506 MenhirLib.EngineTypes.semv = x0;
9507 MenhirLib.EngineTypes.startp = _startpos_x0_;
9508 MenhirLib.EngineTypes.endp = _endpos_x0_;
9509 MenhirLib.EngineTypes.next = _menhir_stack;
9510 };
9511 };
9512 } = _menhir_stack in
9513 let m : 'tv_list_TMul_ = Obj.magic m in
9514 let ty00 : (
9515 # 49 "parser_cocci_menhir.mly"
9516 (Data.clt)
9517 # 9518 "parser_cocci_menhir.ml"
9518 ) = Obj.magic ty00 in
9519 let x0 : 'tv_const_vol = Obj.magic x0 in
9520 let _startpos = _startpos_x0_ in
9521 let _endpos = _endpos_m_ in
9522 let _v : 'tv_ctype = let ty =
9523 let ty0 = ty00 in
9524 let ty =
9525 let ty = ty0 in
9526
9527 # 494 "parser_cocci_menhir.mly"
9528 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9529 # 9530 "parser_cocci_menhir.ml"
9530
9531 in
9532
9533 # 533 "parser_cocci_menhir.mly"
9534 ( ty )
9535 # 9536 "parser_cocci_menhir.ml"
9536
9537 in
9538 let cv =
9539 let x = x0 in
9540
9541 # 41 "standard.mly"
9542 ( Some x )
9543 # 9544 "parser_cocci_menhir.ml"
9544
9545 in
9546
9547 # 538 "parser_cocci_menhir.mly"
9548 ( P.pointerify (P.make_cv cv ty) m )
9549 # 9550 "parser_cocci_menhir.ml"
9550 in
9551 _menhir_env.MenhirLib.EngineTypes.stack <- {
9552 MenhirLib.EngineTypes.state = _menhir_s;
9553 MenhirLib.EngineTypes.semv = Obj.repr _v;
9554 MenhirLib.EngineTypes.startp = _startpos;
9555 MenhirLib.EngineTypes.endp = _endpos;
9556 MenhirLib.EngineTypes.next = _menhir_stack;
9557 });
9558 (fun _menhir_env ->
9559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9560 let {
9561 MenhirLib.EngineTypes.semv = m;
9562 MenhirLib.EngineTypes.startp = _startpos_m_;
9563 MenhirLib.EngineTypes.endp = _endpos_m_;
9564 MenhirLib.EngineTypes.next = {
9565 MenhirLib.EngineTypes.semv = ty200;
9566 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9567 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9568 MenhirLib.EngineTypes.next = {
9569 MenhirLib.EngineTypes.semv = ty100;
9570 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9571 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9572 MenhirLib.EngineTypes.next = {
9573 MenhirLib.EngineTypes.state = _menhir_s;
9574 MenhirLib.EngineTypes.semv = x0;
9575 MenhirLib.EngineTypes.startp = _startpos_x0_;
9576 MenhirLib.EngineTypes.endp = _endpos_x0_;
9577 MenhirLib.EngineTypes.next = _menhir_stack;
9578 };
9579 };
9580 };
9581 } = _menhir_stack in
9582 let m : 'tv_list_TMul_ = Obj.magic m in
9583 let ty200 : (
9584 # 49 "parser_cocci_menhir.mly"
9585 (Data.clt)
9586 # 9587 "parser_cocci_menhir.ml"
9587 ) = Obj.magic ty200 in
9588 let ty100 : (
9589 # 49 "parser_cocci_menhir.mly"
9590 (Data.clt)
9591 # 9592 "parser_cocci_menhir.ml"
9592 ) = Obj.magic ty100 in
9593 let x0 : 'tv_const_vol = Obj.magic x0 in
9594 let _startpos = _startpos_x0_ in
9595 let _endpos = _endpos_m_ in
9596 let _v : 'tv_ctype = let ty =
9597 let ty20 = ty200 in
9598 let ty10 = ty100 in
9599 let ty =
9600 let ty2 = ty20 in
9601 let ty1 = ty10 in
9602
9603 # 496 "parser_cocci_menhir.mly"
9604 ( Ast0.wrap
9605 (Ast0.BaseType
9606 (Ast.LongLongType,
9607 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9608 # 9609 "parser_cocci_menhir.ml"
9609
9610 in
9611
9612 # 533 "parser_cocci_menhir.mly"
9613 ( ty )
9614 # 9615 "parser_cocci_menhir.ml"
9615
9616 in
9617 let cv =
9618 let x = x0 in
9619
9620 # 41 "standard.mly"
9621 ( Some x )
9622 # 9623 "parser_cocci_menhir.ml"
9623
9624 in
9625
9626 # 538 "parser_cocci_menhir.mly"
9627 ( P.pointerify (P.make_cv cv ty) m )
9628 # 9629 "parser_cocci_menhir.ml"
9629 in
9630 _menhir_env.MenhirLib.EngineTypes.stack <- {
9631 MenhirLib.EngineTypes.state = _menhir_s;
9632 MenhirLib.EngineTypes.semv = Obj.repr _v;
9633 MenhirLib.EngineTypes.startp = _startpos;
9634 MenhirLib.EngineTypes.endp = _endpos;
9635 MenhirLib.EngineTypes.next = _menhir_stack;
9636 });
9637 (fun _menhir_env ->
9638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9639 let {
9640 MenhirLib.EngineTypes.semv = m;
9641 MenhirLib.EngineTypes.startp = _startpos_m_;
9642 MenhirLib.EngineTypes.endp = _endpos_m_;
9643 MenhirLib.EngineTypes.next = {
9644 MenhirLib.EngineTypes.semv = ty00;
9645 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9646 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9647 MenhirLib.EngineTypes.next = {
9648 MenhirLib.EngineTypes.state = _menhir_s;
9649 MenhirLib.EngineTypes.semv = x0;
9650 MenhirLib.EngineTypes.startp = _startpos_x0_;
9651 MenhirLib.EngineTypes.endp = _endpos_x0_;
9652 MenhirLib.EngineTypes.next = _menhir_stack;
9653 };
9654 };
9655 } = _menhir_stack in
9656 let m : 'tv_list_TMul_ = Obj.magic m in
9657 let ty00 : (
9658 # 50 "parser_cocci_menhir.mly"
9659 (Data.clt)
9660 # 9661 "parser_cocci_menhir.ml"
9661 ) = Obj.magic ty00 in
9662 let x0 : 'tv_const_vol = Obj.magic x0 in
9663 let _startpos = _startpos_x0_ in
9664 let _endpos = _endpos_m_ in
9665 let _v : 'tv_ctype = let ty =
9666 let ty0 = ty00 in
9667 let ty =
9668 let ty = ty0 in
9669
9670 # 504 "parser_cocci_menhir.mly"
9671 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
9672 # 9673 "parser_cocci_menhir.ml"
9673
9674 in
9675
9676 # 534 "parser_cocci_menhir.mly"
9677 ( ty )
9678 # 9679 "parser_cocci_menhir.ml"
9679
9680 in
9681 let cv =
9682 let x = x0 in
9683
9684 # 41 "standard.mly"
9685 ( Some x )
9686 # 9687 "parser_cocci_menhir.ml"
9687
9688 in
9689
9690 # 538 "parser_cocci_menhir.mly"
9691 ( P.pointerify (P.make_cv cv ty) m )
9692 # 9693 "parser_cocci_menhir.ml"
9693 in
9694 _menhir_env.MenhirLib.EngineTypes.stack <- {
9695 MenhirLib.EngineTypes.state = _menhir_s;
9696 MenhirLib.EngineTypes.semv = Obj.repr _v;
9697 MenhirLib.EngineTypes.startp = _startpos;
9698 MenhirLib.EngineTypes.endp = _endpos;
9699 MenhirLib.EngineTypes.next = _menhir_stack;
9700 });
9701 (fun _menhir_env ->
9702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9703 let {
9704 MenhirLib.EngineTypes.semv = m;
9705 MenhirLib.EngineTypes.startp = _startpos_m_;
9706 MenhirLib.EngineTypes.endp = _endpos_m_;
9707 MenhirLib.EngineTypes.next = {
9708 MenhirLib.EngineTypes.semv = ty00;
9709 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9710 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9711 MenhirLib.EngineTypes.next = {
9712 MenhirLib.EngineTypes.state = _menhir_s;
9713 MenhirLib.EngineTypes.semv = x0;
9714 MenhirLib.EngineTypes.startp = _startpos_x0_;
9715 MenhirLib.EngineTypes.endp = _endpos_x0_;
9716 MenhirLib.EngineTypes.next = _menhir_stack;
9717 };
9718 };
9719 } = _menhir_stack in
9720 let m : 'tv_list_TMul_ = Obj.magic m in
9721 let ty00 : (
9722 # 49 "parser_cocci_menhir.mly"
9723 (Data.clt)
9724 # 9725 "parser_cocci_menhir.ml"
9725 ) = Obj.magic ty00 in
9726 let x0 : 'tv_const_vol = Obj.magic x0 in
9727 let _startpos = _startpos_x0_ in
9728 let _endpos = _endpos_m_ in
9729 let _v : 'tv_ctype = let ty =
9730 let ty0 = ty00 in
9731 let ty =
9732 let ty = ty0 in
9733
9734 # 506 "parser_cocci_menhir.mly"
9735 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
9736 # 9737 "parser_cocci_menhir.ml"
9737
9738 in
9739
9740 # 534 "parser_cocci_menhir.mly"
9741 ( ty )
9742 # 9743 "parser_cocci_menhir.ml"
9743
9744 in
9745 let cv =
9746 let x = x0 in
9747
9748 # 41 "standard.mly"
9749 ( Some x )
9750 # 9751 "parser_cocci_menhir.ml"
9751
9752 in
9753
9754 # 538 "parser_cocci_menhir.mly"
9755 ( P.pointerify (P.make_cv cv ty) m )
9756 # 9757 "parser_cocci_menhir.ml"
9757 in
9758 _menhir_env.MenhirLib.EngineTypes.stack <- {
9759 MenhirLib.EngineTypes.state = _menhir_s;
9760 MenhirLib.EngineTypes.semv = Obj.repr _v;
9761 MenhirLib.EngineTypes.startp = _startpos;
9762 MenhirLib.EngineTypes.endp = _endpos;
9763 MenhirLib.EngineTypes.next = _menhir_stack;
9764 });
9765 (fun _menhir_env ->
9766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9767 let {
9768 MenhirLib.EngineTypes.semv = m;
9769 MenhirLib.EngineTypes.startp = _startpos_m_;
9770 MenhirLib.EngineTypes.endp = _endpos_m_;
9771 MenhirLib.EngineTypes.next = {
9772 MenhirLib.EngineTypes.semv = ty00;
9773 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9774 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9775 MenhirLib.EngineTypes.next = {
9776 MenhirLib.EngineTypes.state = _menhir_s;
9777 MenhirLib.EngineTypes.semv = x0;
9778 MenhirLib.EngineTypes.startp = _startpos_x0_;
9779 MenhirLib.EngineTypes.endp = _endpos_x0_;
9780 MenhirLib.EngineTypes.next = _menhir_stack;
9781 };
9782 };
9783 } = _menhir_stack in
9784 let m : 'tv_list_TMul_ = Obj.magic m in
9785 let ty00 : (
9786 # 49 "parser_cocci_menhir.mly"
9787 (Data.clt)
9788 # 9789 "parser_cocci_menhir.ml"
9789 ) = Obj.magic ty00 in
9790 let x0 : 'tv_const_vol = Obj.magic x0 in
9791 let _startpos = _startpos_x0_ in
9792 let _endpos = _endpos_m_ in
9793 let _v : 'tv_ctype = let ty =
9794 let ty0 = ty00 in
9795 let ty =
9796 let ty = ty0 in
9797
9798 # 508 "parser_cocci_menhir.mly"
9799 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
9800 # 9801 "parser_cocci_menhir.ml"
9801
9802 in
9803
9804 # 534 "parser_cocci_menhir.mly"
9805 ( ty )
9806 # 9807 "parser_cocci_menhir.ml"
9807
9808 in
9809 let cv =
9810 let x = x0 in
9811
9812 # 41 "standard.mly"
9813 ( Some x )
9814 # 9815 "parser_cocci_menhir.ml"
9815
9816 in
9817
9818 # 538 "parser_cocci_menhir.mly"
9819 ( P.pointerify (P.make_cv cv ty) m )
9820 # 9821 "parser_cocci_menhir.ml"
9821 in
9822 _menhir_env.MenhirLib.EngineTypes.stack <- {
9823 MenhirLib.EngineTypes.state = _menhir_s;
9824 MenhirLib.EngineTypes.semv = Obj.repr _v;
9825 MenhirLib.EngineTypes.startp = _startpos;
9826 MenhirLib.EngineTypes.endp = _endpos;
9827 MenhirLib.EngineTypes.next = _menhir_stack;
9828 });
9829 (fun _menhir_env ->
9830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9831 let {
9832 MenhirLib.EngineTypes.semv = m;
9833 MenhirLib.EngineTypes.startp = _startpos_m_;
9834 MenhirLib.EngineTypes.endp = _endpos_m_;
9835 MenhirLib.EngineTypes.next = {
9836 MenhirLib.EngineTypes.semv = i00;
9837 MenhirLib.EngineTypes.startp = _startpos_i00_;
9838 MenhirLib.EngineTypes.endp = _endpos_i00_;
9839 MenhirLib.EngineTypes.next = {
9840 MenhirLib.EngineTypes.semv = s00;
9841 MenhirLib.EngineTypes.startp = _startpos_s00_;
9842 MenhirLib.EngineTypes.endp = _endpos_s00_;
9843 MenhirLib.EngineTypes.next = {
9844 MenhirLib.EngineTypes.state = _menhir_s;
9845 MenhirLib.EngineTypes.semv = x0;
9846 MenhirLib.EngineTypes.startp = _startpos_x0_;
9847 MenhirLib.EngineTypes.endp = _endpos_x0_;
9848 MenhirLib.EngineTypes.next = _menhir_stack;
9849 };
9850 };
9851 };
9852 } = _menhir_stack in
9853 let m : 'tv_list_TMul_ = Obj.magic m in
9854 let i00 : 'tv_ident = Obj.magic i00 in
9855 let s00 : (
9856 # 50 "parser_cocci_menhir.mly"
9857 (Data.clt)
9858 # 9859 "parser_cocci_menhir.ml"
9859 ) = Obj.magic s00 in
9860 let x0 : 'tv_const_vol = Obj.magic x0 in
9861 let _startpos = _startpos_x0_ in
9862 let _endpos = _endpos_m_ in
9863 let _v : 'tv_ctype = let ty =
9864 let i0 = i00 in
9865 let s0 = s00 in
9866 let ty =
9867 let i = i0 in
9868 let s = s0 in
9869
9870 # 510 "parser_cocci_menhir.mly"
9871 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
9872 # 9873 "parser_cocci_menhir.ml"
9873
9874 in
9875
9876 # 534 "parser_cocci_menhir.mly"
9877 ( ty )
9878 # 9879 "parser_cocci_menhir.ml"
9879
9880 in
9881 let cv =
9882 let x = x0 in
9883
9884 # 41 "standard.mly"
9885 ( Some x )
9886 # 9887 "parser_cocci_menhir.ml"
9887
9888 in
9889
9890 # 538 "parser_cocci_menhir.mly"
9891 ( P.pointerify (P.make_cv cv ty) m )
9892 # 9893 "parser_cocci_menhir.ml"
9893 in
9894 _menhir_env.MenhirLib.EngineTypes.stack <- {
9895 MenhirLib.EngineTypes.state = _menhir_s;
9896 MenhirLib.EngineTypes.semv = Obj.repr _v;
9897 MenhirLib.EngineTypes.startp = _startpos;
9898 MenhirLib.EngineTypes.endp = _endpos;
9899 MenhirLib.EngineTypes.next = _menhir_stack;
9900 });
9901 (fun _menhir_env ->
9902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9903 let {
9904 MenhirLib.EngineTypes.semv = m;
9905 MenhirLib.EngineTypes.startp = _startpos_m_;
9906 MenhirLib.EngineTypes.endp = _endpos_m_;
9907 MenhirLib.EngineTypes.next = {
9908 MenhirLib.EngineTypes.semv = i00;
9909 MenhirLib.EngineTypes.startp = _startpos_i00_;
9910 MenhirLib.EngineTypes.endp = _endpos_i00_;
9911 MenhirLib.EngineTypes.next = {
9912 MenhirLib.EngineTypes.semv = s00;
9913 MenhirLib.EngineTypes.startp = _startpos_s00_;
9914 MenhirLib.EngineTypes.endp = _endpos_s00_;
9915 MenhirLib.EngineTypes.next = {
9916 MenhirLib.EngineTypes.state = _menhir_s;
9917 MenhirLib.EngineTypes.semv = x0;
9918 MenhirLib.EngineTypes.startp = _startpos_x0_;
9919 MenhirLib.EngineTypes.endp = _endpos_x0_;
9920 MenhirLib.EngineTypes.next = _menhir_stack;
9921 };
9922 };
9923 };
9924 } = _menhir_stack in
9925 let m : 'tv_list_TMul_ = Obj.magic m in
9926 let i00 : 'tv_ident = Obj.magic i00 in
9927 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9928 let x0 : 'tv_const_vol = Obj.magic x0 in
9929 let _startpos = _startpos_x0_ in
9930 let _endpos = _endpos_m_ in
9931 let _v : 'tv_ctype = let ty =
9932 let i0 = i00 in
9933 let s0 = s00 in
9934 let ty =
9935 let i = i0 in
9936 let s = s0 in
9937
9938 # 512 "parser_cocci_menhir.mly"
9939 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
9940 # 9941 "parser_cocci_menhir.ml"
9941
9942 in
9943
9944 # 534 "parser_cocci_menhir.mly"
9945 ( ty )
9946 # 9947 "parser_cocci_menhir.ml"
9947
9948 in
9949 let cv =
9950 let x = x0 in
9951
9952 # 41 "standard.mly"
9953 ( Some x )
9954 # 9955 "parser_cocci_menhir.ml"
9955
9956 in
9957
9958 # 538 "parser_cocci_menhir.mly"
9959 ( P.pointerify (P.make_cv cv ty) m )
9960 # 9961 "parser_cocci_menhir.ml"
9961 in
9962 _menhir_env.MenhirLib.EngineTypes.stack <- {
9963 MenhirLib.EngineTypes.state = _menhir_s;
9964 MenhirLib.EngineTypes.semv = Obj.repr _v;
9965 MenhirLib.EngineTypes.startp = _startpos;
9966 MenhirLib.EngineTypes.endp = _endpos;
9967 MenhirLib.EngineTypes.next = _menhir_stack;
9968 });
9969 (fun _menhir_env ->
9970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9971 let {
9972 MenhirLib.EngineTypes.semv = m;
9973 MenhirLib.EngineTypes.startp = _startpos_m_;
9974 MenhirLib.EngineTypes.endp = _endpos_m_;
9975 MenhirLib.EngineTypes.next = {
9976 MenhirLib.EngineTypes.semv = r00;
9977 MenhirLib.EngineTypes.startp = _startpos_r00_;
9978 MenhirLib.EngineTypes.endp = _endpos_r00_;
9979 MenhirLib.EngineTypes.next = {
9980 MenhirLib.EngineTypes.semv = d00;
9981 MenhirLib.EngineTypes.startp = _startpos_d00_;
9982 MenhirLib.EngineTypes.endp = _endpos_d00_;
9983 MenhirLib.EngineTypes.next = {
9984 MenhirLib.EngineTypes.semv = l00;
9985 MenhirLib.EngineTypes.startp = _startpos_l00_;
9986 MenhirLib.EngineTypes.endp = _endpos_l00_;
9987 MenhirLib.EngineTypes.next = {
9988 MenhirLib.EngineTypes.semv = s00;
9989 MenhirLib.EngineTypes.startp = _startpos_s00_;
9990 MenhirLib.EngineTypes.endp = _endpos_s00_;
9991 MenhirLib.EngineTypes.next = {
9992 MenhirLib.EngineTypes.state = _menhir_s;
9993 MenhirLib.EngineTypes.semv = x0;
9994 MenhirLib.EngineTypes.startp = _startpos_x0_;
9995 MenhirLib.EngineTypes.endp = _endpos_x0_;
9996 MenhirLib.EngineTypes.next = _menhir_stack;
9997 };
9998 };
9999 };
10000 };
10001 };
10002 } = _menhir_stack in
10003 let m : 'tv_list_TMul_ = Obj.magic m in
10004 let r00 : (
10005 # 101 "parser_cocci_menhir.mly"
10006 (Data.clt)
10007 # 10008 "parser_cocci_menhir.ml"
10008 ) = Obj.magic r00 in
10009 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10010 let l00 : (
10011 # 101 "parser_cocci_menhir.mly"
10012 (Data.clt)
10013 # 10014 "parser_cocci_menhir.ml"
10014 ) = Obj.magic l00 in
10015 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10016 let x0 : 'tv_const_vol = Obj.magic x0 in
10017 let _startpos = _startpos_x0_ in
10018 let _endpos = _endpos_m_ in
10019 let _v : 'tv_ctype = let ty =
10020 let r0 = r00 in
10021 let d0 = d00 in
10022 let l0 = l00 in
10023 let s0 = s00 in
10024 let ty =
10025 let r = r0 in
10026 let d = d0 in
10027 let l = l0 in
10028 let s = s0 in
10029 let i =
10030
10031 # 39 "standard.mly"
10032 ( None )
10033 # 10034 "parser_cocci_menhir.ml"
10034
10035 in
10036
10037 # 515 "parser_cocci_menhir.mly"
10038 ( (if i = None && !Data.in_iso
10039 then failwith "structures must be named in the iso file");
10040 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10041 P.clt2mcode "{" l,
10042 d, P.clt2mcode "}" r)) )
10043 # 10044 "parser_cocci_menhir.ml"
10044
10045 in
10046
10047 # 534 "parser_cocci_menhir.mly"
10048 ( ty )
10049 # 10050 "parser_cocci_menhir.ml"
10050
10051 in
10052 let cv =
10053 let x = x0 in
10054
10055 # 41 "standard.mly"
10056 ( Some x )
10057 # 10058 "parser_cocci_menhir.ml"
10058
10059 in
10060
10061 # 538 "parser_cocci_menhir.mly"
10062 ( P.pointerify (P.make_cv cv ty) m )
10063 # 10064 "parser_cocci_menhir.ml"
10064 in
10065 _menhir_env.MenhirLib.EngineTypes.stack <- {
10066 MenhirLib.EngineTypes.state = _menhir_s;
10067 MenhirLib.EngineTypes.semv = Obj.repr _v;
10068 MenhirLib.EngineTypes.startp = _startpos;
10069 MenhirLib.EngineTypes.endp = _endpos;
10070 MenhirLib.EngineTypes.next = _menhir_stack;
10071 });
10072 (fun _menhir_env ->
10073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10074 let {
10075 MenhirLib.EngineTypes.semv = m;
10076 MenhirLib.EngineTypes.startp = _startpos_m_;
10077 MenhirLib.EngineTypes.endp = _endpos_m_;
10078 MenhirLib.EngineTypes.next = {
10079 MenhirLib.EngineTypes.semv = r00;
10080 MenhirLib.EngineTypes.startp = _startpos_r00_;
10081 MenhirLib.EngineTypes.endp = _endpos_r00_;
10082 MenhirLib.EngineTypes.next = {
10083 MenhirLib.EngineTypes.semv = d00;
10084 MenhirLib.EngineTypes.startp = _startpos_d00_;
10085 MenhirLib.EngineTypes.endp = _endpos_d00_;
10086 MenhirLib.EngineTypes.next = {
10087 MenhirLib.EngineTypes.semv = l00;
10088 MenhirLib.EngineTypes.startp = _startpos_l00_;
10089 MenhirLib.EngineTypes.endp = _endpos_l00_;
10090 MenhirLib.EngineTypes.next = {
10091 MenhirLib.EngineTypes.semv = x000;
10092 MenhirLib.EngineTypes.startp = _startpos_x000_;
10093 MenhirLib.EngineTypes.endp = _endpos_x000_;
10094 MenhirLib.EngineTypes.next = {
10095 MenhirLib.EngineTypes.semv = s00;
10096 MenhirLib.EngineTypes.startp = _startpos_s00_;
10097 MenhirLib.EngineTypes.endp = _endpos_s00_;
10098 MenhirLib.EngineTypes.next = {
10099 MenhirLib.EngineTypes.state = _menhir_s;
10100 MenhirLib.EngineTypes.semv = x0;
10101 MenhirLib.EngineTypes.startp = _startpos_x0_;
10102 MenhirLib.EngineTypes.endp = _endpos_x0_;
10103 MenhirLib.EngineTypes.next = _menhir_stack;
10104 };
10105 };
10106 };
10107 };
10108 };
10109 };
10110 } = _menhir_stack in
10111 let m : 'tv_list_TMul_ = Obj.magic m in
10112 let r00 : (
10113 # 101 "parser_cocci_menhir.mly"
10114 (Data.clt)
10115 # 10116 "parser_cocci_menhir.ml"
10116 ) = Obj.magic r00 in
10117 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10118 let l00 : (
10119 # 101 "parser_cocci_menhir.mly"
10120 (Data.clt)
10121 # 10122 "parser_cocci_menhir.ml"
10122 ) = Obj.magic l00 in
10123 let x000 : 'tv_ident = Obj.magic x000 in
10124 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10125 let x0 : 'tv_const_vol = Obj.magic x0 in
10126 let _startpos = _startpos_x0_ in
10127 let _endpos = _endpos_m_ in
10128 let _v : 'tv_ctype = let ty =
10129 let r0 = r00 in
10130 let d0 = d00 in
10131 let l0 = l00 in
10132 let x00 = x000 in
10133 let s0 = s00 in
10134 let ty =
10135 let r = r0 in
10136 let d = d0 in
10137 let l = l0 in
10138 let x0 = x00 in
10139 let s = s0 in
10140 let i =
10141 let x = x0 in
10142
10143 # 41 "standard.mly"
10144 ( Some x )
10145 # 10146 "parser_cocci_menhir.ml"
10146
10147 in
10148
10149 # 515 "parser_cocci_menhir.mly"
10150 ( (if i = None && !Data.in_iso
10151 then failwith "structures must be named in the iso file");
10152 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10153 P.clt2mcode "{" l,
10154 d, P.clt2mcode "}" r)) )
10155 # 10156 "parser_cocci_menhir.ml"
10156
10157 in
10158
10159 # 534 "parser_cocci_menhir.mly"
10160 ( ty )
10161 # 10162 "parser_cocci_menhir.ml"
10162
10163 in
10164 let cv =
10165 let x = x0 in
10166
10167 # 41 "standard.mly"
10168 ( Some x )
10169 # 10170 "parser_cocci_menhir.ml"
10170
10171 in
10172
10173 # 538 "parser_cocci_menhir.mly"
10174 ( P.pointerify (P.make_cv cv ty) m )
10175 # 10176 "parser_cocci_menhir.ml"
10176 in
10177 _menhir_env.MenhirLib.EngineTypes.stack <- {
10178 MenhirLib.EngineTypes.state = _menhir_s;
10179 MenhirLib.EngineTypes.semv = Obj.repr _v;
10180 MenhirLib.EngineTypes.startp = _startpos;
10181 MenhirLib.EngineTypes.endp = _endpos;
10182 MenhirLib.EngineTypes.next = _menhir_stack;
10183 });
10184 (fun _menhir_env ->
10185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10186 let {
10187 MenhirLib.EngineTypes.semv = m;
10188 MenhirLib.EngineTypes.startp = _startpos_m_;
10189 MenhirLib.EngineTypes.endp = _endpos_m_;
10190 MenhirLib.EngineTypes.next = {
10191 MenhirLib.EngineTypes.semv = r00;
10192 MenhirLib.EngineTypes.startp = _startpos_r00_;
10193 MenhirLib.EngineTypes.endp = _endpos_r00_;
10194 MenhirLib.EngineTypes.next = {
10195 MenhirLib.EngineTypes.semv = d00;
10196 MenhirLib.EngineTypes.startp = _startpos_d00_;
10197 MenhirLib.EngineTypes.endp = _endpos_d00_;
10198 MenhirLib.EngineTypes.next = {
10199 MenhirLib.EngineTypes.semv = l00;
10200 MenhirLib.EngineTypes.startp = _startpos_l00_;
10201 MenhirLib.EngineTypes.endp = _endpos_l00_;
10202 MenhirLib.EngineTypes.next = {
10203 MenhirLib.EngineTypes.semv = s00;
10204 MenhirLib.EngineTypes.startp = _startpos_s00_;
10205 MenhirLib.EngineTypes.endp = _endpos_s00_;
10206 MenhirLib.EngineTypes.next = {
10207 MenhirLib.EngineTypes.state = _menhir_s;
10208 MenhirLib.EngineTypes.semv = x0;
10209 MenhirLib.EngineTypes.startp = _startpos_x0_;
10210 MenhirLib.EngineTypes.endp = _endpos_x0_;
10211 MenhirLib.EngineTypes.next = _menhir_stack;
10212 };
10213 };
10214 };
10215 };
10216 };
10217 } = _menhir_stack in
10218 let m : 'tv_list_TMul_ = Obj.magic m in
10219 let r00 : (
10220 # 101 "parser_cocci_menhir.mly"
10221 (Data.clt)
10222 # 10223 "parser_cocci_menhir.ml"
10223 ) = Obj.magic r00 in
10224 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10225 let l00 : (
10226 # 101 "parser_cocci_menhir.mly"
10227 (Data.clt)
10228 # 10229 "parser_cocci_menhir.ml"
10229 ) = Obj.magic l00 in
10230 let s00 : (
10231 # 64 "parser_cocci_menhir.mly"
10232 (Parse_aux.info)
10233 # 10234 "parser_cocci_menhir.ml"
10234 ) = Obj.magic s00 in
10235 let x0 : 'tv_const_vol = Obj.magic x0 in
10236 let _startpos = _startpos_x0_ in
10237 let _endpos = _endpos_m_ in
10238 let _v : 'tv_ctype = let ty =
10239 let r0 = r00 in
10240 let d0 = d00 in
10241 let l0 = l00 in
10242 let s0 = s00 in
10243 let ty =
10244 let r = r0 in
10245 let d = d0 in
10246 let l = l0 in
10247 let s = s0 in
10248
10249 # 521 "parser_cocci_menhir.mly"
10250 ( let (nm,pure,clt) = s in
10251 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
10252 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
10253 # 10254 "parser_cocci_menhir.ml"
10254
10255 in
10256
10257 # 534 "parser_cocci_menhir.mly"
10258 ( ty )
10259 # 10260 "parser_cocci_menhir.ml"
10260
10261 in
10262 let cv =
10263 let x = x0 in
10264
10265 # 41 "standard.mly"
10266 ( Some x )
10267 # 10268 "parser_cocci_menhir.ml"
10268
10269 in
10270
10271 # 538 "parser_cocci_menhir.mly"
10272 ( P.pointerify (P.make_cv cv ty) m )
10273 # 10274 "parser_cocci_menhir.ml"
10274 in
10275 _menhir_env.MenhirLib.EngineTypes.stack <- {
10276 MenhirLib.EngineTypes.state = _menhir_s;
10277 MenhirLib.EngineTypes.semv = Obj.repr _v;
10278 MenhirLib.EngineTypes.startp = _startpos;
10279 MenhirLib.EngineTypes.endp = _endpos;
10280 MenhirLib.EngineTypes.next = _menhir_stack;
10281 });
10282 (fun _menhir_env ->
10283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10284 let {
10285 MenhirLib.EngineTypes.semv = m;
10286 MenhirLib.EngineTypes.startp = _startpos_m_;
10287 MenhirLib.EngineTypes.endp = _endpos_m_;
10288 MenhirLib.EngineTypes.next = {
10289 MenhirLib.EngineTypes.semv = p00;
10290 MenhirLib.EngineTypes.startp = _startpos_p00_;
10291 MenhirLib.EngineTypes.endp = _endpos_p00_;
10292 MenhirLib.EngineTypes.next = {
10293 MenhirLib.EngineTypes.state = _menhir_s;
10294 MenhirLib.EngineTypes.semv = x0;
10295 MenhirLib.EngineTypes.startp = _startpos_x0_;
10296 MenhirLib.EngineTypes.endp = _endpos_x0_;
10297 MenhirLib.EngineTypes.next = _menhir_stack;
10298 };
10299 };
10300 } = _menhir_stack in
10301 let m : 'tv_list_TMul_ = Obj.magic m in
10302 let p00 : (
10303 # 59 "parser_cocci_menhir.mly"
10304 (string * Data.clt)
10305 # 10306 "parser_cocci_menhir.ml"
10306 ) = Obj.magic p00 in
10307 let x0 : 'tv_const_vol = Obj.magic x0 in
10308 let _startpos = _startpos_x0_ in
10309 let _endpos = _endpos_m_ in
10310 let _v : 'tv_ctype = let ty =
10311 let p0 = p00 in
10312 let ty =
10313 let p = p0 in
10314
10315 # 525 "parser_cocci_menhir.mly"
10316 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
10317 # 10318 "parser_cocci_menhir.ml"
10318
10319 in
10320
10321 # 534 "parser_cocci_menhir.mly"
10322 ( ty )
10323 # 10324 "parser_cocci_menhir.ml"
10324
10325 in
10326 let cv =
10327 let x = x0 in
10328
10329 # 41 "standard.mly"
10330 ( Some x )
10331 # 10332 "parser_cocci_menhir.ml"
10332
10333 in
10334
10335 # 538 "parser_cocci_menhir.mly"
10336 ( P.pointerify (P.make_cv cv ty) m )
10337 # 10338 "parser_cocci_menhir.ml"
10338 in
10339 _menhir_env.MenhirLib.EngineTypes.stack <- {
10340 MenhirLib.EngineTypes.state = _menhir_s;
10341 MenhirLib.EngineTypes.semv = Obj.repr _v;
10342 MenhirLib.EngineTypes.startp = _startpos;
10343 MenhirLib.EngineTypes.endp = _endpos;
10344 MenhirLib.EngineTypes.next = _menhir_stack;
10345 });
10346 (fun _menhir_env ->
10347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10348 let {
10349 MenhirLib.EngineTypes.state = _menhir_s;
10350 MenhirLib.EngineTypes.semv = r;
10351 MenhirLib.EngineTypes.startp = _startpos_r_;
10352 MenhirLib.EngineTypes.endp = _endpos_r_;
10353 MenhirLib.EngineTypes.next = _menhir_stack;
10354 } = _menhir_stack in
10355 let r : (
10356 # 51 "parser_cocci_menhir.mly"
10357 (Data.clt)
10358 # 10359 "parser_cocci_menhir.ml"
10359 ) = Obj.magic r in
10360 let _startpos = _startpos_r_ in
10361 let _endpos = _endpos_r_ in
10362 let _v : 'tv_ctype =
10363 # 540 "parser_cocci_menhir.mly"
10364 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
10365 # 10366 "parser_cocci_menhir.ml"
10366 in
10367 _menhir_env.MenhirLib.EngineTypes.stack <- {
10368 MenhirLib.EngineTypes.state = _menhir_s;
10369 MenhirLib.EngineTypes.semv = Obj.repr _v;
10370 MenhirLib.EngineTypes.startp = _startpos;
10371 MenhirLib.EngineTypes.endp = _endpos;
10372 MenhirLib.EngineTypes.next = _menhir_stack;
10373 });
10374 (fun _menhir_env ->
10375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10376 let {
10377 MenhirLib.EngineTypes.state = _menhir_s;
10378 MenhirLib.EngineTypes.semv = r;
10379 MenhirLib.EngineTypes.startp = _startpos_r_;
10380 MenhirLib.EngineTypes.endp = _endpos_r_;
10381 MenhirLib.EngineTypes.next = _menhir_stack;
10382 } = _menhir_stack in
10383 let r : (
10384 # 51 "parser_cocci_menhir.mly"
10385 (Data.clt)
10386 # 10387 "parser_cocci_menhir.ml"
10387 ) = Obj.magic r in
10388 let _startpos = _startpos_r_ in
10389 let _endpos = _endpos_r_ in
10390 let _v : 'tv_ctype =
10391 # 542 "parser_cocci_menhir.mly"
10392 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
10393 # 10394 "parser_cocci_menhir.ml"
10394 in
10395 _menhir_env.MenhirLib.EngineTypes.stack <- {
10396 MenhirLib.EngineTypes.state = _menhir_s;
10397 MenhirLib.EngineTypes.semv = Obj.repr _v;
10398 MenhirLib.EngineTypes.startp = _startpos;
10399 MenhirLib.EngineTypes.endp = _endpos;
10400 MenhirLib.EngineTypes.next = _menhir_stack;
10401 });
10402 (fun _menhir_env ->
10403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10404 let {
10405 MenhirLib.EngineTypes.semv = rp;
10406 MenhirLib.EngineTypes.startp = _startpos_rp_;
10407 MenhirLib.EngineTypes.endp = _endpos_rp_;
10408 MenhirLib.EngineTypes.next = {
10409 MenhirLib.EngineTypes.semv = t;
10410 MenhirLib.EngineTypes.startp = _startpos_t_;
10411 MenhirLib.EngineTypes.endp = _endpos_t_;
10412 MenhirLib.EngineTypes.next = {
10413 MenhirLib.EngineTypes.state = _menhir_s;
10414 MenhirLib.EngineTypes.semv = lp;
10415 MenhirLib.EngineTypes.startp = _startpos_lp_;
10416 MenhirLib.EngineTypes.endp = _endpos_lp_;
10417 MenhirLib.EngineTypes.next = _menhir_stack;
10418 };
10419 };
10420 } = _menhir_stack in
10421 let rp : (
10422 # 77 "parser_cocci_menhir.mly"
10423 (Data.clt)
10424 # 10425 "parser_cocci_menhir.ml"
10425 ) = Obj.magic rp in
10426 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
10427 let lp : (
10428 # 76 "parser_cocci_menhir.mly"
10429 (Data.clt)
10430 # 10431 "parser_cocci_menhir.ml"
10431 ) = Obj.magic lp in
10432 let _startpos = _startpos_lp_ in
10433 let _endpos = _endpos_rp_ in
10434 let _v : 'tv_ctype =
10435 # 544 "parser_cocci_menhir.mly"
10436 ( let (mids,code) = t in
10437 Ast0.wrap
10438 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
10439 # 10440 "parser_cocci_menhir.ml"
10440 in
10441 _menhir_env.MenhirLib.EngineTypes.stack <- {
10442 MenhirLib.EngineTypes.state = _menhir_s;
10443 MenhirLib.EngineTypes.semv = Obj.repr _v;
10444 MenhirLib.EngineTypes.startp = _startpos;
10445 MenhirLib.EngineTypes.endp = _endpos;
10446 MenhirLib.EngineTypes.next = _menhir_stack;
10447 });
10448 (fun _menhir_env ->
10449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10450 let {
10451 MenhirLib.EngineTypes.semv = _2;
10452 MenhirLib.EngineTypes.startp = _startpos__2_;
10453 MenhirLib.EngineTypes.endp = _endpos__2_;
10454 MenhirLib.EngineTypes.next = {
10455 MenhirLib.EngineTypes.state = _menhir_s;
10456 MenhirLib.EngineTypes.semv = _1;
10457 MenhirLib.EngineTypes.startp = _startpos__1_;
10458 MenhirLib.EngineTypes.endp = _endpos__1_;
10459 MenhirLib.EngineTypes.next = _menhir_stack;
10460 };
10461 } = _menhir_stack in
10462 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
10463 let _1 : 'tv_ident = Obj.magic _1 in
10464 let _startpos = _startpos__1_ in
10465 let _endpos = _endpos__2_ in
10466 let _v : 'tv_d_ident =
10467 # 1058 "parser_cocci_menhir.mly"
10468 ( (_1,
10469 function t ->
10470 List.fold_right
10471 (function (l,i,r) ->
10472 function rest ->
10473 Ast0.wrap
10474 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
10475 _2 t) )
10476 # 10477 "parser_cocci_menhir.ml"
10477 in
10478 _menhir_env.MenhirLib.EngineTypes.stack <- {
10479 MenhirLib.EngineTypes.state = _menhir_s;
10480 MenhirLib.EngineTypes.semv = Obj.repr _v;
10481 MenhirLib.EngineTypes.startp = _startpos;
10482 MenhirLib.EngineTypes.endp = _endpos;
10483 MenhirLib.EngineTypes.next = _menhir_stack;
10484 });
10485 (fun _menhir_env ->
10486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10487 let {
10488 MenhirLib.EngineTypes.semv = i;
10489 MenhirLib.EngineTypes.startp = _startpos_i_;
10490 MenhirLib.EngineTypes.endp = _endpos_i_;
10491 MenhirLib.EngineTypes.next = {
10492 MenhirLib.EngineTypes.state = _menhir_s;
10493 MenhirLib.EngineTypes.semv = t;
10494 MenhirLib.EngineTypes.startp = _startpos_t_;
10495 MenhirLib.EngineTypes.endp = _endpos_t_;
10496 MenhirLib.EngineTypes.next = _menhir_stack;
10497 };
10498 } = _menhir_stack in
10499 let i : 'tv_ident = Obj.magic i in
10500 let t : 'tv_ctype = Obj.magic t in
10501 let _startpos = _startpos_t_ in
10502 let _endpos = _endpos_i_ in
10503 let _v : 'tv_decl =
10504 # 814 "parser_cocci_menhir.mly"
10505 ( Ast0.wrap(Ast0.Param(t, Some i)) )
10506 # 10507 "parser_cocci_menhir.ml"
10507 in
10508 _menhir_env.MenhirLib.EngineTypes.stack <- {
10509 MenhirLib.EngineTypes.state = _menhir_s;
10510 MenhirLib.EngineTypes.semv = Obj.repr _v;
10511 MenhirLib.EngineTypes.startp = _startpos;
10512 MenhirLib.EngineTypes.endp = _endpos;
10513 MenhirLib.EngineTypes.next = _menhir_stack;
10514 });
10515 (fun _menhir_env ->
10516 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10517 let {
10518 MenhirLib.EngineTypes.state = _menhir_s;
10519 MenhirLib.EngineTypes.semv = t;
10520 MenhirLib.EngineTypes.startp = _startpos_t_;
10521 MenhirLib.EngineTypes.endp = _endpos_t_;
10522 MenhirLib.EngineTypes.next = _menhir_stack;
10523 } = _menhir_stack in
10524 let t : 'tv_ctype = Obj.magic t in
10525 let _startpos = _startpos_t_ in
10526 let _endpos = _endpos_t_ in
10527 let _v : 'tv_decl =
10528 # 815 "parser_cocci_menhir.mly"
10529 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
10530 # 10531 "parser_cocci_menhir.ml"
10531 in
10532 _menhir_env.MenhirLib.EngineTypes.stack <- {
10533 MenhirLib.EngineTypes.state = _menhir_s;
10534 MenhirLib.EngineTypes.semv = Obj.repr _v;
10535 MenhirLib.EngineTypes.startp = _startpos;
10536 MenhirLib.EngineTypes.endp = _endpos;
10537 MenhirLib.EngineTypes.next = _menhir_stack;
10538 });
10539 (fun _menhir_env ->
10540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10541 let {
10542 MenhirLib.EngineTypes.semv = rp1;
10543 MenhirLib.EngineTypes.startp = _startpos_rp1_;
10544 MenhirLib.EngineTypes.endp = _endpos_rp1_;
10545 MenhirLib.EngineTypes.next = {
10546 MenhirLib.EngineTypes.semv = d;
10547 MenhirLib.EngineTypes.startp = _startpos_d_;
10548 MenhirLib.EngineTypes.endp = _endpos_d_;
10549 MenhirLib.EngineTypes.next = {
10550 MenhirLib.EngineTypes.semv = lp1;
10551 MenhirLib.EngineTypes.startp = _startpos_lp1_;
10552 MenhirLib.EngineTypes.endp = _endpos_lp1_;
10553 MenhirLib.EngineTypes.next = {
10554 MenhirLib.EngineTypes.semv = rp;
10555 MenhirLib.EngineTypes.startp = _startpos_rp_;
10556 MenhirLib.EngineTypes.endp = _endpos_rp_;
10557 MenhirLib.EngineTypes.next = {
10558 MenhirLib.EngineTypes.semv = i;
10559 MenhirLib.EngineTypes.startp = _startpos_i_;
10560 MenhirLib.EngineTypes.endp = _endpos_i_;
10561 MenhirLib.EngineTypes.next = {
10562 MenhirLib.EngineTypes.semv = s;
10563 MenhirLib.EngineTypes.startp = _startpos_s_;
10564 MenhirLib.EngineTypes.endp = _endpos_s_;
10565 MenhirLib.EngineTypes.next = {
10566 MenhirLib.EngineTypes.semv = lp;
10567 MenhirLib.EngineTypes.startp = _startpos_lp_;
10568 MenhirLib.EngineTypes.endp = _endpos_lp_;
10569 MenhirLib.EngineTypes.next = {
10570 MenhirLib.EngineTypes.state = _menhir_s;
10571 MenhirLib.EngineTypes.semv = t;
10572 MenhirLib.EngineTypes.startp = _startpos_t_;
10573 MenhirLib.EngineTypes.endp = _endpos_t_;
10574 MenhirLib.EngineTypes.next = _menhir_stack;
10575 };
10576 };
10577 };
10578 };
10579 };
10580 };
10581 };
10582 } = _menhir_stack in
10583 let rp1 : (
10584 # 77 "parser_cocci_menhir.mly"
10585 (Data.clt)
10586 # 10587 "parser_cocci_menhir.ml"
10587 ) = Obj.magic rp1 in
10588 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
10589 let lp1 : (
10590 # 76 "parser_cocci_menhir.mly"
10591 (Data.clt)
10592 # 10593 "parser_cocci_menhir.ml"
10593 ) = Obj.magic lp1 in
10594 let rp : (
10595 # 77 "parser_cocci_menhir.mly"
10596 (Data.clt)
10597 # 10598 "parser_cocci_menhir.ml"
10598 ) = Obj.magic rp in
10599 let i : 'tv_ident = Obj.magic i in
10600 let s : (
10601 # 99 "parser_cocci_menhir.mly"
10602 (Data.clt)
10603 # 10604 "parser_cocci_menhir.ml"
10604 ) = Obj.magic s in
10605 let lp : (
10606 # 76 "parser_cocci_menhir.mly"
10607 (Data.clt)
10608 # 10609 "parser_cocci_menhir.ml"
10609 ) = Obj.magic lp in
10610 let t : 'tv_ctype = Obj.magic t in
10611 let _startpos = _startpos_t_ in
10612 let _endpos = _endpos_rp1_ in
10613 let _v : 'tv_decl =
10614 # 818 "parser_cocci_menhir.mly"
10615 ( let fnptr =
10616 Ast0.wrap
10617 (Ast0.FunctionPointer
10618 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
10619 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
10620 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
10621 # 10622 "parser_cocci_menhir.ml"
10622 in
10623 _menhir_env.MenhirLib.EngineTypes.stack <- {
10624 MenhirLib.EngineTypes.state = _menhir_s;
10625 MenhirLib.EngineTypes.semv = Obj.repr _v;
10626 MenhirLib.EngineTypes.startp = _startpos;
10627 MenhirLib.EngineTypes.endp = _endpos;
10628 MenhirLib.EngineTypes.next = _menhir_stack;
10629 });
10630 (fun _menhir_env ->
10631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10632 let {
10633 MenhirLib.EngineTypes.state = _menhir_s;
10634 MenhirLib.EngineTypes.semv = _1;
10635 MenhirLib.EngineTypes.startp = _startpos__1_;
10636 MenhirLib.EngineTypes.endp = _endpos__1_;
10637 MenhirLib.EngineTypes.next = _menhir_stack;
10638 } = _menhir_stack in
10639 let _1 : (
10640 # 64 "parser_cocci_menhir.mly"
10641 (Parse_aux.info)
10642 # 10643 "parser_cocci_menhir.ml"
10643 ) = Obj.magic _1 in
10644 let _startpos = _startpos__1_ in
10645 let _endpos = _endpos__1_ in
10646 let _v : 'tv_decl =
10647 # 825 "parser_cocci_menhir.mly"
10648 ( let (nm,pure,clt) = _1 in
10649 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
10650 # 10651 "parser_cocci_menhir.ml"
10651 in
10652 _menhir_env.MenhirLib.EngineTypes.stack <- {
10653 MenhirLib.EngineTypes.state = _menhir_s;
10654 MenhirLib.EngineTypes.semv = Obj.repr _v;
10655 MenhirLib.EngineTypes.startp = _startpos;
10656 MenhirLib.EngineTypes.endp = _endpos;
10657 MenhirLib.EngineTypes.next = _menhir_stack;
10658 });
10659 (fun _menhir_env ->
10660 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10661 let {
10662 MenhirLib.EngineTypes.state = _menhir_s;
10663 MenhirLib.EngineTypes.semv = _1;
10664 MenhirLib.EngineTypes.startp = _startpos__1_;
10665 MenhirLib.EngineTypes.endp = _endpos__1_;
10666 MenhirLib.EngineTypes.next = _menhir_stack;
10667 } = _menhir_stack in
10668 let _1 : (
10669 # 59 "parser_cocci_menhir.mly"
10670 (string * Data.clt)
10671 # 10672 "parser_cocci_menhir.ml"
10672 ) = Obj.magic _1 in
10673 let _startpos = _startpos__1_ in
10674 let _endpos = _endpos__1_ in
10675 let _v : 'tv_decl_ident =
10676 # 1589 "parser_cocci_menhir.mly"
10677 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
10678 # 10679 "parser_cocci_menhir.ml"
10679 in
10680 _menhir_env.MenhirLib.EngineTypes.stack <- {
10681 MenhirLib.EngineTypes.state = _menhir_s;
10682 MenhirLib.EngineTypes.semv = Obj.repr _v;
10683 MenhirLib.EngineTypes.startp = _startpos;
10684 MenhirLib.EngineTypes.endp = _endpos;
10685 MenhirLib.EngineTypes.next = _menhir_stack;
10686 });
10687 (fun _menhir_env ->
10688 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10689 let {
10690 MenhirLib.EngineTypes.state = _menhir_s;
10691 MenhirLib.EngineTypes.semv = _1;
10692 MenhirLib.EngineTypes.startp = _startpos__1_;
10693 MenhirLib.EngineTypes.endp = _endpos__1_;
10694 MenhirLib.EngineTypes.next = _menhir_stack;
10695 } = _menhir_stack in
10696 let _1 : (
10697 # 62 "parser_cocci_menhir.mly"
10698 (Parse_aux.idinfo)
10699 # 10700 "parser_cocci_menhir.ml"
10700 ) = Obj.magic _1 in
10701 let _startpos = _startpos__1_ in
10702 let _endpos = _endpos__1_ in
10703 let _v : 'tv_decl_ident =
10704 # 1591 "parser_cocci_menhir.mly"
10705 ( let (nm,constraints,pure,clt) = _1 in
10706 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
10707 # 10708 "parser_cocci_menhir.ml"
10708 in
10709 _menhir_env.MenhirLib.EngineTypes.stack <- {
10710 MenhirLib.EngineTypes.state = _menhir_s;
10711 MenhirLib.EngineTypes.semv = Obj.repr _v;
10712 MenhirLib.EngineTypes.startp = _startpos;
10713 MenhirLib.EngineTypes.endp = _endpos;
10714 MenhirLib.EngineTypes.next = _menhir_stack;
10715 });
10716 (fun _menhir_env ->
10717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10718 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10719 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10720 let _endpos = _startpos in
10721 let _v : 'tv_decl_list_decl_ =
10722 # 1611 "parser_cocci_menhir.mly"
10723 ( Ast0.wrap(Ast0.DOTS([])) )
10724 # 10725 "parser_cocci_menhir.ml"
10725 in
10726 _menhir_env.MenhirLib.EngineTypes.stack <- {
10727 MenhirLib.EngineTypes.state = _menhir_s;
10728 MenhirLib.EngineTypes.semv = Obj.repr _v;
10729 MenhirLib.EngineTypes.startp = _startpos;
10730 MenhirLib.EngineTypes.endp = _endpos;
10731 MenhirLib.EngineTypes.next = _menhir_stack;
10732 });
10733 (fun _menhir_env ->
10734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10735 let {
10736 MenhirLib.EngineTypes.state = _menhir_s;
10737 MenhirLib.EngineTypes.semv = _1;
10738 MenhirLib.EngineTypes.startp = _startpos__1_;
10739 MenhirLib.EngineTypes.endp = _endpos__1_;
10740 MenhirLib.EngineTypes.next = _menhir_stack;
10741 } = _menhir_stack in
10742 let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
10743 let _startpos = _startpos__1_ in
10744 let _endpos = _endpos__1_ in
10745 let _v : 'tv_decl_list_decl_ =
10746 # 1613 "parser_cocci_menhir.mly"
10747 (let circle x =
10748 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10749 if List.exists circle _1
10750 then Ast0.wrap(Ast0.CIRCLES(_1))
10751 else Ast0.wrap(Ast0.DOTS(_1)) )
10752 # 10753 "parser_cocci_menhir.ml"
10753 in
10754 _menhir_env.MenhirLib.EngineTypes.stack <- {
10755 MenhirLib.EngineTypes.state = _menhir_s;
10756 MenhirLib.EngineTypes.semv = Obj.repr _v;
10757 MenhirLib.EngineTypes.startp = _startpos;
10758 MenhirLib.EngineTypes.endp = _endpos;
10759 MenhirLib.EngineTypes.next = _menhir_stack;
10760 });
10761 (fun _menhir_env ->
10762 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10763 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10764 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10765 let _endpos = _startpos in
10766 let _v : 'tv_decl_list_name_opt_decl_ =
10767 # 1611 "parser_cocci_menhir.mly"
10768 ( Ast0.wrap(Ast0.DOTS([])) )
10769 # 10770 "parser_cocci_menhir.ml"
10770 in
10771 _menhir_env.MenhirLib.EngineTypes.stack <- {
10772 MenhirLib.EngineTypes.state = _menhir_s;
10773 MenhirLib.EngineTypes.semv = Obj.repr _v;
10774 MenhirLib.EngineTypes.startp = _startpos;
10775 MenhirLib.EngineTypes.endp = _endpos;
10776 MenhirLib.EngineTypes.next = _menhir_stack;
10777 });
10778 (fun _menhir_env ->
10779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10780 let {
10781 MenhirLib.EngineTypes.state = _menhir_s;
10782 MenhirLib.EngineTypes.semv = _1;
10783 MenhirLib.EngineTypes.startp = _startpos__1_;
10784 MenhirLib.EngineTypes.endp = _endpos__1_;
10785 MenhirLib.EngineTypes.next = _menhir_stack;
10786 } = _menhir_stack in
10787 let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
10788 let _startpos = _startpos__1_ in
10789 let _endpos = _endpos__1_ in
10790 let _v : 'tv_decl_list_name_opt_decl_ =
10791 # 1613 "parser_cocci_menhir.mly"
10792 (let circle x =
10793 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10794 if List.exists circle _1
10795 then Ast0.wrap(Ast0.CIRCLES(_1))
10796 else Ast0.wrap(Ast0.DOTS(_1)) )
10797 # 10798 "parser_cocci_menhir.ml"
10798 in
10799 _menhir_env.MenhirLib.EngineTypes.stack <- {
10800 MenhirLib.EngineTypes.state = _menhir_s;
10801 MenhirLib.EngineTypes.semv = Obj.repr _v;
10802 MenhirLib.EngineTypes.startp = _startpos;
10803 MenhirLib.EngineTypes.endp = _endpos;
10804 MenhirLib.EngineTypes.next = _menhir_stack;
10805 });
10806 (fun _menhir_env ->
10807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10808 let {
10809 MenhirLib.EngineTypes.state = _menhir_s;
10810 MenhirLib.EngineTypes.semv = _1;
10811 MenhirLib.EngineTypes.startp = _startpos__1_;
10812 MenhirLib.EngineTypes.endp = _endpos__1_;
10813 MenhirLib.EngineTypes.next = _menhir_stack;
10814 } = _menhir_stack in
10815 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10816 let _startpos = _startpos__1_ in
10817 let _endpos = _endpos__1_ in
10818 let _v : 'tv_decl_list_start_decl_ =
10819 # 1620 "parser_cocci_menhir.mly"
10820 ( [_1] )
10821 # 10822 "parser_cocci_menhir.ml"
10822 in
10823 _menhir_env.MenhirLib.EngineTypes.stack <- {
10824 MenhirLib.EngineTypes.state = _menhir_s;
10825 MenhirLib.EngineTypes.semv = Obj.repr _v;
10826 MenhirLib.EngineTypes.startp = _startpos;
10827 MenhirLib.EngineTypes.endp = _endpos;
10828 MenhirLib.EngineTypes.next = _menhir_stack;
10829 });
10830 (fun _menhir_env ->
10831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10832 let {
10833 MenhirLib.EngineTypes.semv = _3;
10834 MenhirLib.EngineTypes.startp = _startpos__3_;
10835 MenhirLib.EngineTypes.endp = _endpos__3_;
10836 MenhirLib.EngineTypes.next = {
10837 MenhirLib.EngineTypes.semv = _2;
10838 MenhirLib.EngineTypes.startp = _startpos__2_;
10839 MenhirLib.EngineTypes.endp = _endpos__2_;
10840 MenhirLib.EngineTypes.next = {
10841 MenhirLib.EngineTypes.state = _menhir_s;
10842 MenhirLib.EngineTypes.semv = _1;
10843 MenhirLib.EngineTypes.startp = _startpos__1_;
10844 MenhirLib.EngineTypes.endp = _endpos__1_;
10845 MenhirLib.EngineTypes.next = _menhir_stack;
10846 };
10847 };
10848 } = _menhir_stack in
10849 let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
10850 let _2 : (
10851 # 107 "parser_cocci_menhir.mly"
10852 (Data.clt)
10853 # 10854 "parser_cocci_menhir.ml"
10854 ) = Obj.magic _2 in
10855 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10856 let _startpos = _startpos__1_ in
10857 let _endpos = _endpos__3_ in
10858 let _v : 'tv_decl_list_start_decl_ =
10859 # 1622 "parser_cocci_menhir.mly"
10860 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10861 # 10862 "parser_cocci_menhir.ml"
10862 in
10863 _menhir_env.MenhirLib.EngineTypes.stack <- {
10864 MenhirLib.EngineTypes.state = _menhir_s;
10865 MenhirLib.EngineTypes.semv = Obj.repr _v;
10866 MenhirLib.EngineTypes.startp = _startpos;
10867 MenhirLib.EngineTypes.endp = _endpos;
10868 MenhirLib.EngineTypes.next = _menhir_stack;
10869 });
10870 (fun _menhir_env ->
10871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10872 let {
10873 MenhirLib.EngineTypes.semv = _2;
10874 MenhirLib.EngineTypes.startp = _startpos__2_;
10875 MenhirLib.EngineTypes.endp = _endpos__2_;
10876 MenhirLib.EngineTypes.next = {
10877 MenhirLib.EngineTypes.state = _menhir_s;
10878 MenhirLib.EngineTypes.semv = _1;
10879 MenhirLib.EngineTypes.startp = _startpos__1_;
10880 MenhirLib.EngineTypes.endp = _endpos__1_;
10881 MenhirLib.EngineTypes.next = _menhir_stack;
10882 };
10883 } = _menhir_stack in
10884 let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
10885 let _1 : (
10886 # 73 "parser_cocci_menhir.mly"
10887 (Data.clt)
10888 # 10889 "parser_cocci_menhir.ml"
10889 ) = Obj.magic _1 in
10890 let _startpos = _startpos__1_ in
10891 let _endpos = _endpos__2_ in
10892 let _v : 'tv_decl_list_start_decl_ =
10893 # 1624 "parser_cocci_menhir.mly"
10894 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
10895 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
10896 # 10897 "parser_cocci_menhir.ml"
10897 in
10898 _menhir_env.MenhirLib.EngineTypes.stack <- {
10899 MenhirLib.EngineTypes.state = _menhir_s;
10900 MenhirLib.EngineTypes.semv = Obj.repr _v;
10901 MenhirLib.EngineTypes.startp = _startpos;
10902 MenhirLib.EngineTypes.endp = _endpos;
10903 MenhirLib.EngineTypes.next = _menhir_stack;
10904 });
10905 (fun _menhir_env ->
10906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10907 let {
10908 MenhirLib.EngineTypes.state = _menhir_s;
10909 MenhirLib.EngineTypes.semv = _1;
10910 MenhirLib.EngineTypes.startp = _startpos__1_;
10911 MenhirLib.EngineTypes.endp = _endpos__1_;
10912 MenhirLib.EngineTypes.next = _menhir_stack;
10913 } = _menhir_stack in
10914 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
10915 let _startpos = _startpos__1_ in
10916 let _endpos = _endpos__1_ in
10917 let _v : 'tv_decl_list_start_name_opt_decl_ =
10918 # 1620 "parser_cocci_menhir.mly"
10919 ( [_1] )
10920 # 10921 "parser_cocci_menhir.ml"
10921 in
10922 _menhir_env.MenhirLib.EngineTypes.stack <- {
10923 MenhirLib.EngineTypes.state = _menhir_s;
10924 MenhirLib.EngineTypes.semv = Obj.repr _v;
10925 MenhirLib.EngineTypes.startp = _startpos;
10926 MenhirLib.EngineTypes.endp = _endpos;
10927 MenhirLib.EngineTypes.next = _menhir_stack;
10928 });
10929 (fun _menhir_env ->
10930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10931 let {
10932 MenhirLib.EngineTypes.semv = _3;
10933 MenhirLib.EngineTypes.startp = _startpos__3_;
10934 MenhirLib.EngineTypes.endp = _endpos__3_;
10935 MenhirLib.EngineTypes.next = {
10936 MenhirLib.EngineTypes.semv = _2;
10937 MenhirLib.EngineTypes.startp = _startpos__2_;
10938 MenhirLib.EngineTypes.endp = _endpos__2_;
10939 MenhirLib.EngineTypes.next = {
10940 MenhirLib.EngineTypes.state = _menhir_s;
10941 MenhirLib.EngineTypes.semv = _1;
10942 MenhirLib.EngineTypes.startp = _startpos__1_;
10943 MenhirLib.EngineTypes.endp = _endpos__1_;
10944 MenhirLib.EngineTypes.next = _menhir_stack;
10945 };
10946 };
10947 } = _menhir_stack in
10948 let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
10949 let _2 : (
10950 # 107 "parser_cocci_menhir.mly"
10951 (Data.clt)
10952 # 10953 "parser_cocci_menhir.ml"
10953 ) = Obj.magic _2 in
10954 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
10955 let _startpos = _startpos__1_ in
10956 let _endpos = _endpos__3_ in
10957 let _v : 'tv_decl_list_start_name_opt_decl_ =
10958 # 1622 "parser_cocci_menhir.mly"
10959 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10960 # 10961 "parser_cocci_menhir.ml"
10961 in
10962 _menhir_env.MenhirLib.EngineTypes.stack <- {
10963 MenhirLib.EngineTypes.state = _menhir_s;
10964 MenhirLib.EngineTypes.semv = Obj.repr _v;
10965 MenhirLib.EngineTypes.startp = _startpos;
10966 MenhirLib.EngineTypes.endp = _endpos;
10967 MenhirLib.EngineTypes.next = _menhir_stack;
10968 });
10969 (fun _menhir_env ->
10970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10971 let {
10972 MenhirLib.EngineTypes.semv = _2;
10973 MenhirLib.EngineTypes.startp = _startpos__2_;
10974 MenhirLib.EngineTypes.endp = _endpos__2_;
10975 MenhirLib.EngineTypes.next = {
10976 MenhirLib.EngineTypes.state = _menhir_s;
10977 MenhirLib.EngineTypes.semv = _1;
10978 MenhirLib.EngineTypes.startp = _startpos__1_;
10979 MenhirLib.EngineTypes.endp = _endpos__1_;
10980 MenhirLib.EngineTypes.next = _menhir_stack;
10981 };
10982 } = _menhir_stack in
10983 let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
10984 let _1 : (
10985 # 73 "parser_cocci_menhir.mly"
10986 (Data.clt)
10987 # 10988 "parser_cocci_menhir.ml"
10988 ) = Obj.magic _1 in
10989 let _startpos = _startpos__1_ in
10990 let _endpos = _endpos__2_ in
10991 let _v : 'tv_decl_list_start_name_opt_decl_ =
10992 # 1624 "parser_cocci_menhir.mly"
10993 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
10994 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
10995 # 10996 "parser_cocci_menhir.ml"
10996 in
10997 _menhir_env.MenhirLib.EngineTypes.stack <- {
10998 MenhirLib.EngineTypes.state = _menhir_s;
10999 MenhirLib.EngineTypes.semv = Obj.repr _v;
11000 MenhirLib.EngineTypes.startp = _startpos;
11001 MenhirLib.EngineTypes.endp = _endpos;
11002 MenhirLib.EngineTypes.next = _menhir_stack;
11003 });
11004 (fun _menhir_env ->
11005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11006 let {
11007 MenhirLib.EngineTypes.state = _menhir_s;
11008 MenhirLib.EngineTypes.semv = _1;
11009 MenhirLib.EngineTypes.startp = _startpos__1_;
11010 MenhirLib.EngineTypes.endp = _endpos__1_;
11011 MenhirLib.EngineTypes.next = _menhir_stack;
11012 } = _menhir_stack in
11013 let _1 : (
11014 # 64 "parser_cocci_menhir.mly"
11015 (Parse_aux.info)
11016 # 11017 "parser_cocci_menhir.ml"
11017 ) = Obj.magic _1 in
11018 let _startpos = _startpos__1_ in
11019 let _endpos = _endpos__1_ in
11020 let _v : 'tv_decl_statement =
11021 # 1136 "parser_cocci_menhir.mly"
11022 ( let (nm,pure,clt) = _1 in
11023 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11024 # 11025 "parser_cocci_menhir.ml"
11025 in
11026 _menhir_env.MenhirLib.EngineTypes.stack <- {
11027 MenhirLib.EngineTypes.state = _menhir_s;
11028 MenhirLib.EngineTypes.semv = Obj.repr _v;
11029 MenhirLib.EngineTypes.startp = _startpos;
11030 MenhirLib.EngineTypes.endp = _endpos;
11031 MenhirLib.EngineTypes.next = _menhir_stack;
11032 });
11033 (fun _menhir_env ->
11034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11035 let {
11036 MenhirLib.EngineTypes.state = _menhir_s;
11037 MenhirLib.EngineTypes.semv = _1;
11038 MenhirLib.EngineTypes.startp = _startpos__1_;
11039 MenhirLib.EngineTypes.endp = _endpos__1_;
11040 MenhirLib.EngineTypes.next = _menhir_stack;
11041 } = _menhir_stack in
11042 let _1 : 'tv_decl_var = Obj.magic _1 in
11043 let _startpos = _startpos__1_ in
11044 let _endpos = _endpos__1_ in
11045 let _v : 'tv_decl_statement =
11046 # 1139 "parser_cocci_menhir.mly"
11047 ( List.map
11048 (function x ->
11049 Ast0.wrap
11050 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11051 _1 )
11052 # 11053 "parser_cocci_menhir.ml"
11053 in
11054 _menhir_env.MenhirLib.EngineTypes.stack <- {
11055 MenhirLib.EngineTypes.state = _menhir_s;
11056 MenhirLib.EngineTypes.semv = Obj.repr _v;
11057 MenhirLib.EngineTypes.startp = _startpos;
11058 MenhirLib.EngineTypes.endp = _endpos;
11059 MenhirLib.EngineTypes.next = _menhir_stack;
11060 });
11061 (fun _menhir_env ->
11062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11063 let {
11064 MenhirLib.EngineTypes.state = _menhir_s;
11065 MenhirLib.EngineTypes.semv = _1;
11066 MenhirLib.EngineTypes.startp = _startpos__1_;
11067 MenhirLib.EngineTypes.endp = _endpos__1_;
11068 MenhirLib.EngineTypes.next = _menhir_stack;
11069 } = _menhir_stack in
11070 let _1 : 'tv_statement = Obj.magic _1 in
11071 let _startpos = _startpos__1_ in
11072 let _endpos = _endpos__1_ in
11073 let _v : 'tv_decl_statement =
11074 # 1144 "parser_cocci_menhir.mly"
11075 ( [_1] )
11076 # 11077 "parser_cocci_menhir.ml"
11077 in
11078 _menhir_env.MenhirLib.EngineTypes.stack <- {
11079 MenhirLib.EngineTypes.state = _menhir_s;
11080 MenhirLib.EngineTypes.semv = Obj.repr _v;
11081 MenhirLib.EngineTypes.startp = _startpos;
11082 MenhirLib.EngineTypes.endp = _endpos;
11083 MenhirLib.EngineTypes.next = _menhir_stack;
11084 });
11085 (fun _menhir_env ->
11086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11087 let {
11088 MenhirLib.EngineTypes.semv = _3;
11089 MenhirLib.EngineTypes.startp = _startpos__3_;
11090 MenhirLib.EngineTypes.endp = _endpos__3_;
11091 MenhirLib.EngineTypes.next = {
11092 MenhirLib.EngineTypes.semv = t;
11093 MenhirLib.EngineTypes.startp = _startpos_t_;
11094 MenhirLib.EngineTypes.endp = _endpos_t_;
11095 MenhirLib.EngineTypes.next = {
11096 MenhirLib.EngineTypes.state = _menhir_s;
11097 MenhirLib.EngineTypes.semv = _1;
11098 MenhirLib.EngineTypes.startp = _startpos__1_;
11099 MenhirLib.EngineTypes.endp = _endpos__1_;
11100 MenhirLib.EngineTypes.next = _menhir_stack;
11101 };
11102 };
11103 } = _menhir_stack in
11104 let _3 : (
11105 # 77 "parser_cocci_menhir.mly"
11106 (Data.clt)
11107 # 11108 "parser_cocci_menhir.ml"
11108 ) = Obj.magic _3 in
11109 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
11110 let _1 : (
11111 # 76 "parser_cocci_menhir.mly"
11112 (Data.clt)
11113 # 11114 "parser_cocci_menhir.ml"
11114 ) = Obj.magic _1 in
11115 let _startpos = _startpos__1_ in
11116 let _endpos = _endpos__3_ in
11117 let _v : 'tv_decl_statement =
11118 # 1153 "parser_cocci_menhir.mly"
11119 ( let (mids,code) = t in
11120 if List.for_all
11121 (function x ->
11122 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
11123 code
11124 then []
11125 else
11126 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
11127 P.clt2mcode ")" _3))] )
11128 # 11129 "parser_cocci_menhir.ml"
11129 in
11130 _menhir_env.MenhirLib.EngineTypes.stack <- {
11131 MenhirLib.EngineTypes.state = _menhir_s;
11132 MenhirLib.EngineTypes.semv = Obj.repr _v;
11133 MenhirLib.EngineTypes.startp = _startpos;
11134 MenhirLib.EngineTypes.endp = _endpos;
11135 MenhirLib.EngineTypes.next = _menhir_stack;
11136 });
11137 (fun _menhir_env ->
11138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11139 let {
11140 MenhirLib.EngineTypes.state = _menhir_s;
11141 MenhirLib.EngineTypes.semv = _1;
11142 MenhirLib.EngineTypes.startp = _startpos__1_;
11143 MenhirLib.EngineTypes.endp = _endpos__1_;
11144 MenhirLib.EngineTypes.next = _menhir_stack;
11145 } = _menhir_stack in
11146 let _1 : (
11147 # 64 "parser_cocci_menhir.mly"
11148 (Parse_aux.info)
11149 # 11150 "parser_cocci_menhir.ml"
11150 ) = Obj.magic _1 in
11151 let _startpos = _startpos__1_ in
11152 let _endpos = _endpos__1_ in
11153 let _v : 'tv_decl_statement_expr =
11154 # 1166 "parser_cocci_menhir.mly"
11155 ( let (nm,pure,clt) = _1 in
11156 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11157 # 11158 "parser_cocci_menhir.ml"
11158 in
11159 _menhir_env.MenhirLib.EngineTypes.stack <- {
11160 MenhirLib.EngineTypes.state = _menhir_s;
11161 MenhirLib.EngineTypes.semv = Obj.repr _v;
11162 MenhirLib.EngineTypes.startp = _startpos;
11163 MenhirLib.EngineTypes.endp = _endpos;
11164 MenhirLib.EngineTypes.next = _menhir_stack;
11165 });
11166 (fun _menhir_env ->
11167 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11168 let {
11169 MenhirLib.EngineTypes.state = _menhir_s;
11170 MenhirLib.EngineTypes.semv = _1;
11171 MenhirLib.EngineTypes.startp = _startpos__1_;
11172 MenhirLib.EngineTypes.endp = _endpos__1_;
11173 MenhirLib.EngineTypes.next = _menhir_stack;
11174 } = _menhir_stack in
11175 let _1 : 'tv_decl_var = Obj.magic _1 in
11176 let _startpos = _startpos__1_ in
11177 let _endpos = _endpos__1_ in
11178 let _v : 'tv_decl_statement_expr =
11179 # 1169 "parser_cocci_menhir.mly"
11180 ( List.map
11181 (function x ->
11182 Ast0.wrap
11183 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11184 _1 )
11185 # 11186 "parser_cocci_menhir.ml"
11186 in
11187 _menhir_env.MenhirLib.EngineTypes.stack <- {
11188 MenhirLib.EngineTypes.state = _menhir_s;
11189 MenhirLib.EngineTypes.semv = Obj.repr _v;
11190 MenhirLib.EngineTypes.startp = _startpos;
11191 MenhirLib.EngineTypes.endp = _endpos;
11192 MenhirLib.EngineTypes.next = _menhir_stack;
11193 });
11194 (fun _menhir_env ->
11195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11196 let {
11197 MenhirLib.EngineTypes.state = _menhir_s;
11198 MenhirLib.EngineTypes.semv = _1;
11199 MenhirLib.EngineTypes.startp = _startpos__1_;
11200 MenhirLib.EngineTypes.endp = _endpos__1_;
11201 MenhirLib.EngineTypes.next = _menhir_stack;
11202 } = _menhir_stack in
11203 let _1 : 'tv_statement = Obj.magic _1 in
11204 let _startpos = _startpos__1_ in
11205 let _endpos = _endpos__1_ in
11206 let _v : 'tv_decl_statement_expr =
11207 # 1174 "parser_cocci_menhir.mly"
11208 ( [_1] )
11209 # 11210 "parser_cocci_menhir.ml"
11210 in
11211 _menhir_env.MenhirLib.EngineTypes.stack <- {
11212 MenhirLib.EngineTypes.state = _menhir_s;
11213 MenhirLib.EngineTypes.semv = Obj.repr _v;
11214 MenhirLib.EngineTypes.startp = _startpos;
11215 MenhirLib.EngineTypes.endp = _endpos;
11216 MenhirLib.EngineTypes.next = _menhir_stack;
11217 });
11218 (fun _menhir_env ->
11219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11220 let {
11221 MenhirLib.EngineTypes.semv = _3;
11222 MenhirLib.EngineTypes.startp = _startpos__3_;
11223 MenhirLib.EngineTypes.endp = _endpos__3_;
11224 MenhirLib.EngineTypes.next = {
11225 MenhirLib.EngineTypes.semv = t;
11226 MenhirLib.EngineTypes.startp = _startpos_t_;
11227 MenhirLib.EngineTypes.endp = _endpos_t_;
11228 MenhirLib.EngineTypes.next = {
11229 MenhirLib.EngineTypes.state = _menhir_s;
11230 MenhirLib.EngineTypes.semv = _1;
11231 MenhirLib.EngineTypes.startp = _startpos__1_;
11232 MenhirLib.EngineTypes.endp = _endpos__1_;
11233 MenhirLib.EngineTypes.next = _menhir_stack;
11234 };
11235 };
11236 } = _menhir_stack in
11237 let _3 : (
11238 # 77 "parser_cocci_menhir.mly"
11239 (Data.clt)
11240 # 11241 "parser_cocci_menhir.ml"
11241 ) = Obj.magic _3 in
11242 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
11243 let _1 : (
11244 # 76 "parser_cocci_menhir.mly"
11245 (Data.clt)
11246 # 11247 "parser_cocci_menhir.ml"
11247 ) = Obj.magic _1 in
11248 let _startpos = _startpos__1_ in
11249 let _endpos = _endpos__3_ in
11250 let _v : 'tv_decl_statement_expr =
11251 # 1183 "parser_cocci_menhir.mly"
11252 ( let (mids,code) = t in
11253 if List.for_all (function [] -> true | _ -> false) code
11254 then []
11255 else
11256 let dot_code =
11257 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
11258 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
11259 P.clt2mcode ")" _3))] )
11260 # 11261 "parser_cocci_menhir.ml"
11261 in
11262 _menhir_env.MenhirLib.EngineTypes.stack <- {
11263 MenhirLib.EngineTypes.state = _menhir_s;
11264 MenhirLib.EngineTypes.semv = Obj.repr _v;
11265 MenhirLib.EngineTypes.startp = _startpos;
11266 MenhirLib.EngineTypes.endp = _endpos;
11267 MenhirLib.EngineTypes.next = _menhir_stack;
11268 });
11269 (fun _menhir_env ->
11270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11271 let {
11272 MenhirLib.EngineTypes.semv = pv;
11273 MenhirLib.EngineTypes.startp = _startpos_pv_;
11274 MenhirLib.EngineTypes.endp = _endpos_pv_;
11275 MenhirLib.EngineTypes.next = {
11276 MenhirLib.EngineTypes.state = _menhir_s;
11277 MenhirLib.EngineTypes.semv = t;
11278 MenhirLib.EngineTypes.startp = _startpos_t_;
11279 MenhirLib.EngineTypes.endp = _endpos_t_;
11280 MenhirLib.EngineTypes.next = _menhir_stack;
11281 };
11282 } = _menhir_stack in
11283 let pv : (
11284 # 107 "parser_cocci_menhir.mly"
11285 (Data.clt)
11286 # 11287 "parser_cocci_menhir.ml"
11287 ) = Obj.magic pv in
11288 let t : 'tv_ctype = Obj.magic t in
11289 let _startpos = _startpos_t_ in
11290 let _endpos = _endpos_pv_ in
11291 let _v : 'tv_decl_var =
11292 # 946 "parser_cocci_menhir.mly"
11293 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
11294 # 11295 "parser_cocci_menhir.ml"
11295 in
11296 _menhir_env.MenhirLib.EngineTypes.stack <- {
11297 MenhirLib.EngineTypes.state = _menhir_s;
11298 MenhirLib.EngineTypes.semv = Obj.repr _v;
11299 MenhirLib.EngineTypes.startp = _startpos;
11300 MenhirLib.EngineTypes.endp = _endpos;
11301 MenhirLib.EngineTypes.next = _menhir_stack;
11302 });
11303 (fun _menhir_env ->
11304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11305 let {
11306 MenhirLib.EngineTypes.semv = pv;
11307 MenhirLib.EngineTypes.startp = _startpos_pv_;
11308 MenhirLib.EngineTypes.endp = _endpos_pv_;
11309 MenhirLib.EngineTypes.next = {
11310 MenhirLib.EngineTypes.semv = d;
11311 MenhirLib.EngineTypes.startp = _startpos_d_;
11312 MenhirLib.EngineTypes.endp = _endpos_d_;
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 };
11321 } = _menhir_stack in
11322 let pv : (
11323 # 107 "parser_cocci_menhir.mly"
11324 (Data.clt)
11325 # 11326 "parser_cocci_menhir.ml"
11326 ) = Obj.magic pv in
11327 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11328 let t : 'tv_ctype = Obj.magic t in
11329 let _startpos = _startpos_t_ in
11330 let _endpos = _endpos_pv_ in
11331 let _v : 'tv_decl_var = let s =
11332
11333 # 39 "standard.mly"
11334 ( None )
11335 # 11336 "parser_cocci_menhir.ml"
11336
11337 in
11338
11339 # 948 "parser_cocci_menhir.mly"
11340 ( List.map
11341 (function (id,fn) ->
11342 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11343 d )
11344 # 11345 "parser_cocci_menhir.ml"
11345 in
11346 _menhir_env.MenhirLib.EngineTypes.stack <- {
11347 MenhirLib.EngineTypes.state = _menhir_s;
11348 MenhirLib.EngineTypes.semv = Obj.repr _v;
11349 MenhirLib.EngineTypes.startp = _startpos;
11350 MenhirLib.EngineTypes.endp = _endpos;
11351 MenhirLib.EngineTypes.next = _menhir_stack;
11352 });
11353 (fun _menhir_env ->
11354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11355 let {
11356 MenhirLib.EngineTypes.semv = pv;
11357 MenhirLib.EngineTypes.startp = _startpos_pv_;
11358 MenhirLib.EngineTypes.endp = _endpos_pv_;
11359 MenhirLib.EngineTypes.next = {
11360 MenhirLib.EngineTypes.semv = d;
11361 MenhirLib.EngineTypes.startp = _startpos_d_;
11362 MenhirLib.EngineTypes.endp = _endpos_d_;
11363 MenhirLib.EngineTypes.next = {
11364 MenhirLib.EngineTypes.semv = t;
11365 MenhirLib.EngineTypes.startp = _startpos_t_;
11366 MenhirLib.EngineTypes.endp = _endpos_t_;
11367 MenhirLib.EngineTypes.next = {
11368 MenhirLib.EngineTypes.state = _menhir_s;
11369 MenhirLib.EngineTypes.semv = x0;
11370 MenhirLib.EngineTypes.startp = _startpos_x0_;
11371 MenhirLib.EngineTypes.endp = _endpos_x0_;
11372 MenhirLib.EngineTypes.next = _menhir_stack;
11373 };
11374 };
11375 };
11376 } = _menhir_stack in
11377 let pv : (
11378 # 107 "parser_cocci_menhir.mly"
11379 (Data.clt)
11380 # 11381 "parser_cocci_menhir.ml"
11381 ) = Obj.magic pv in
11382 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11383 let t : 'tv_ctype = Obj.magic t in
11384 let x0 : 'tv_storage = Obj.magic x0 in
11385 let _startpos = _startpos_x0_ in
11386 let _endpos = _endpos_pv_ in
11387 let _v : 'tv_decl_var = let s =
11388 let x = x0 in
11389
11390 # 41 "standard.mly"
11391 ( Some x )
11392 # 11393 "parser_cocci_menhir.ml"
11393
11394 in
11395
11396 # 948 "parser_cocci_menhir.mly"
11397 ( List.map
11398 (function (id,fn) ->
11399 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11400 d )
11401 # 11402 "parser_cocci_menhir.ml"
11402 in
11403 _menhir_env.MenhirLib.EngineTypes.stack <- {
11404 MenhirLib.EngineTypes.state = _menhir_s;
11405 MenhirLib.EngineTypes.semv = Obj.repr _v;
11406 MenhirLib.EngineTypes.startp = _startpos;
11407 MenhirLib.EngineTypes.endp = _endpos;
11408 MenhirLib.EngineTypes.next = _menhir_stack;
11409 });
11410 (fun _menhir_env ->
11411 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11412 let {
11413 MenhirLib.EngineTypes.state = _menhir_s;
11414 MenhirLib.EngineTypes.semv = f;
11415 MenhirLib.EngineTypes.startp = _startpos_f_;
11416 MenhirLib.EngineTypes.endp = _endpos_f_;
11417 MenhirLib.EngineTypes.next = _menhir_stack;
11418 } = _menhir_stack in
11419 let f : 'tv_funproto = Obj.magic f in
11420 let _startpos = _startpos_f_ in
11421 let _endpos = _endpos_f_ in
11422 let _v : 'tv_decl_var =
11423 # 952 "parser_cocci_menhir.mly"
11424 ( [f] )
11425 # 11426 "parser_cocci_menhir.ml"
11426 in
11427 _menhir_env.MenhirLib.EngineTypes.stack <- {
11428 MenhirLib.EngineTypes.state = _menhir_s;
11429 MenhirLib.EngineTypes.semv = Obj.repr _v;
11430 MenhirLib.EngineTypes.startp = _startpos;
11431 MenhirLib.EngineTypes.endp = _endpos;
11432 MenhirLib.EngineTypes.next = _menhir_stack;
11433 });
11434 (fun _menhir_env ->
11435 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11436 let {
11437 MenhirLib.EngineTypes.semv = pv;
11438 MenhirLib.EngineTypes.startp = _startpos_pv_;
11439 MenhirLib.EngineTypes.endp = _endpos_pv_;
11440 MenhirLib.EngineTypes.next = {
11441 MenhirLib.EngineTypes.semv = e;
11442 MenhirLib.EngineTypes.startp = _startpos_e_;
11443 MenhirLib.EngineTypes.endp = _endpos_e_;
11444 MenhirLib.EngineTypes.next = {
11445 MenhirLib.EngineTypes.semv = q;
11446 MenhirLib.EngineTypes.startp = _startpos_q_;
11447 MenhirLib.EngineTypes.endp = _endpos_q_;
11448 MenhirLib.EngineTypes.next = {
11449 MenhirLib.EngineTypes.semv = d;
11450 MenhirLib.EngineTypes.startp = _startpos_d_;
11451 MenhirLib.EngineTypes.endp = _endpos_d_;
11452 MenhirLib.EngineTypes.next = {
11453 MenhirLib.EngineTypes.state = _menhir_s;
11454 MenhirLib.EngineTypes.semv = t;
11455 MenhirLib.EngineTypes.startp = _startpos_t_;
11456 MenhirLib.EngineTypes.endp = _endpos_t_;
11457 MenhirLib.EngineTypes.next = _menhir_stack;
11458 };
11459 };
11460 };
11461 };
11462 } = _menhir_stack in
11463 let pv : (
11464 # 107 "parser_cocci_menhir.mly"
11465 (Data.clt)
11466 # 11467 "parser_cocci_menhir.ml"
11467 ) = Obj.magic pv in
11468 let e : 'tv_initialize = Obj.magic e in
11469 let q : (
11470 # 107 "parser_cocci_menhir.mly"
11471 (Data.clt)
11472 # 11473 "parser_cocci_menhir.ml"
11473 ) = Obj.magic q in
11474 let d : 'tv_d_ident = Obj.magic d in
11475 let t : 'tv_ctype = Obj.magic t in
11476 let _startpos = _startpos_t_ in
11477 let _endpos = _endpos_pv_ in
11478 let _v : 'tv_decl_var = let s =
11479
11480 # 39 "standard.mly"
11481 ( None )
11482 # 11483 "parser_cocci_menhir.ml"
11483
11484 in
11485
11486 # 954 "parser_cocci_menhir.mly"
11487 (let (id,fn) = d in
11488 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11489 # 11490 "parser_cocci_menhir.ml"
11490 in
11491 _menhir_env.MenhirLib.EngineTypes.stack <- {
11492 MenhirLib.EngineTypes.state = _menhir_s;
11493 MenhirLib.EngineTypes.semv = Obj.repr _v;
11494 MenhirLib.EngineTypes.startp = _startpos;
11495 MenhirLib.EngineTypes.endp = _endpos;
11496 MenhirLib.EngineTypes.next = _menhir_stack;
11497 });
11498 (fun _menhir_env ->
11499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11500 let {
11501 MenhirLib.EngineTypes.semv = pv;
11502 MenhirLib.EngineTypes.startp = _startpos_pv_;
11503 MenhirLib.EngineTypes.endp = _endpos_pv_;
11504 MenhirLib.EngineTypes.next = {
11505 MenhirLib.EngineTypes.semv = e;
11506 MenhirLib.EngineTypes.startp = _startpos_e_;
11507 MenhirLib.EngineTypes.endp = _endpos_e_;
11508 MenhirLib.EngineTypes.next = {
11509 MenhirLib.EngineTypes.semv = q;
11510 MenhirLib.EngineTypes.startp = _startpos_q_;
11511 MenhirLib.EngineTypes.endp = _endpos_q_;
11512 MenhirLib.EngineTypes.next = {
11513 MenhirLib.EngineTypes.semv = d;
11514 MenhirLib.EngineTypes.startp = _startpos_d_;
11515 MenhirLib.EngineTypes.endp = _endpos_d_;
11516 MenhirLib.EngineTypes.next = {
11517 MenhirLib.EngineTypes.semv = t;
11518 MenhirLib.EngineTypes.startp = _startpos_t_;
11519 MenhirLib.EngineTypes.endp = _endpos_t_;
11520 MenhirLib.EngineTypes.next = {
11521 MenhirLib.EngineTypes.state = _menhir_s;
11522 MenhirLib.EngineTypes.semv = x0;
11523 MenhirLib.EngineTypes.startp = _startpos_x0_;
11524 MenhirLib.EngineTypes.endp = _endpos_x0_;
11525 MenhirLib.EngineTypes.next = _menhir_stack;
11526 };
11527 };
11528 };
11529 };
11530 };
11531 } = _menhir_stack in
11532 let pv : (
11533 # 107 "parser_cocci_menhir.mly"
11534 (Data.clt)
11535 # 11536 "parser_cocci_menhir.ml"
11536 ) = Obj.magic pv in
11537 let e : 'tv_initialize = Obj.magic e in
11538 let q : (
11539 # 107 "parser_cocci_menhir.mly"
11540 (Data.clt)
11541 # 11542 "parser_cocci_menhir.ml"
11542 ) = Obj.magic q in
11543 let d : 'tv_d_ident = Obj.magic d in
11544 let t : 'tv_ctype = Obj.magic t in
11545 let x0 : 'tv_storage = Obj.magic x0 in
11546 let _startpos = _startpos_x0_ in
11547 let _endpos = _endpos_pv_ in
11548 let _v : 'tv_decl_var = let s =
11549 let x = x0 in
11550
11551 # 41 "standard.mly"
11552 ( Some x )
11553 # 11554 "parser_cocci_menhir.ml"
11554
11555 in
11556
11557 # 954 "parser_cocci_menhir.mly"
11558 (let (id,fn) = d in
11559 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11560 # 11561 "parser_cocci_menhir.ml"
11561 in
11562 _menhir_env.MenhirLib.EngineTypes.stack <- {
11563 MenhirLib.EngineTypes.state = _menhir_s;
11564 MenhirLib.EngineTypes.semv = Obj.repr _v;
11565 MenhirLib.EngineTypes.startp = _startpos;
11566 MenhirLib.EngineTypes.endp = _endpos;
11567 MenhirLib.EngineTypes.next = _menhir_stack;
11568 });
11569 (fun _menhir_env ->
11570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11571 let {
11572 MenhirLib.EngineTypes.semv = pv;
11573 MenhirLib.EngineTypes.startp = _startpos_pv_;
11574 MenhirLib.EngineTypes.endp = _endpos_pv_;
11575 MenhirLib.EngineTypes.next = {
11576 MenhirLib.EngineTypes.semv = d;
11577 MenhirLib.EngineTypes.startp = _startpos_d_;
11578 MenhirLib.EngineTypes.endp = _endpos_d_;
11579 MenhirLib.EngineTypes.next = {
11580 MenhirLib.EngineTypes.state = _menhir_s;
11581 MenhirLib.EngineTypes.semv = i;
11582 MenhirLib.EngineTypes.startp = _startpos_i_;
11583 MenhirLib.EngineTypes.endp = _endpos_i_;
11584 MenhirLib.EngineTypes.next = _menhir_stack;
11585 };
11586 };
11587 } = _menhir_stack in
11588 let pv : (
11589 # 107 "parser_cocci_menhir.mly"
11590 (Data.clt)
11591 # 11592 "parser_cocci_menhir.ml"
11592 ) = Obj.magic pv in
11593 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11594 let i : 'tv_pure_ident = Obj.magic i in
11595 let _startpos = _startpos_i_ in
11596 let _endpos = _endpos_pv_ in
11597 let _v : 'tv_decl_var = let cv =
11598
11599 # 39 "standard.mly"
11600 ( None )
11601 # 11602 "parser_cocci_menhir.ml"
11602
11603 in
11604 let s =
11605
11606 # 39 "standard.mly"
11607 ( None )
11608 # 11609 "parser_cocci_menhir.ml"
11609
11610 in
11611
11612 # 959 "parser_cocci_menhir.mly"
11613 ( List.map
11614 (function (id,fn) ->
11615 let idtype =
11616 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11617 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11618 d )
11619 # 11620 "parser_cocci_menhir.ml"
11620 in
11621 _menhir_env.MenhirLib.EngineTypes.stack <- {
11622 MenhirLib.EngineTypes.state = _menhir_s;
11623 MenhirLib.EngineTypes.semv = Obj.repr _v;
11624 MenhirLib.EngineTypes.startp = _startpos;
11625 MenhirLib.EngineTypes.endp = _endpos;
11626 MenhirLib.EngineTypes.next = _menhir_stack;
11627 });
11628 (fun _menhir_env ->
11629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11630 let {
11631 MenhirLib.EngineTypes.semv = pv;
11632 MenhirLib.EngineTypes.startp = _startpos_pv_;
11633 MenhirLib.EngineTypes.endp = _endpos_pv_;
11634 MenhirLib.EngineTypes.next = {
11635 MenhirLib.EngineTypes.semv = d;
11636 MenhirLib.EngineTypes.startp = _startpos_d_;
11637 MenhirLib.EngineTypes.endp = _endpos_d_;
11638 MenhirLib.EngineTypes.next = {
11639 MenhirLib.EngineTypes.semv = i;
11640 MenhirLib.EngineTypes.startp = _startpos_i_;
11641 MenhirLib.EngineTypes.endp = _endpos_i_;
11642 MenhirLib.EngineTypes.next = {
11643 MenhirLib.EngineTypes.state = _menhir_s;
11644 MenhirLib.EngineTypes.semv = x0;
11645 MenhirLib.EngineTypes.startp = _startpos_x0_;
11646 MenhirLib.EngineTypes.endp = _endpos_x0_;
11647 MenhirLib.EngineTypes.next = _menhir_stack;
11648 };
11649 };
11650 };
11651 } = _menhir_stack in
11652 let pv : (
11653 # 107 "parser_cocci_menhir.mly"
11654 (Data.clt)
11655 # 11656 "parser_cocci_menhir.ml"
11656 ) = Obj.magic pv in
11657 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11658 let i : 'tv_pure_ident = Obj.magic i in
11659 let x0 : 'tv_const_vol = Obj.magic x0 in
11660 let _startpos = _startpos_x0_ in
11661 let _endpos = _endpos_pv_ in
11662 let _v : 'tv_decl_var = let cv =
11663 let x = x0 in
11664
11665 # 41 "standard.mly"
11666 ( Some x )
11667 # 11668 "parser_cocci_menhir.ml"
11668
11669 in
11670 let s =
11671
11672 # 39 "standard.mly"
11673 ( None )
11674 # 11675 "parser_cocci_menhir.ml"
11675
11676 in
11677
11678 # 959 "parser_cocci_menhir.mly"
11679 ( List.map
11680 (function (id,fn) ->
11681 let idtype =
11682 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11683 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11684 d )
11685 # 11686 "parser_cocci_menhir.ml"
11686 in
11687 _menhir_env.MenhirLib.EngineTypes.stack <- {
11688 MenhirLib.EngineTypes.state = _menhir_s;
11689 MenhirLib.EngineTypes.semv = Obj.repr _v;
11690 MenhirLib.EngineTypes.startp = _startpos;
11691 MenhirLib.EngineTypes.endp = _endpos;
11692 MenhirLib.EngineTypes.next = _menhir_stack;
11693 });
11694 (fun _menhir_env ->
11695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11696 let {
11697 MenhirLib.EngineTypes.semv = pv;
11698 MenhirLib.EngineTypes.startp = _startpos_pv_;
11699 MenhirLib.EngineTypes.endp = _endpos_pv_;
11700 MenhirLib.EngineTypes.next = {
11701 MenhirLib.EngineTypes.semv = d;
11702 MenhirLib.EngineTypes.startp = _startpos_d_;
11703 MenhirLib.EngineTypes.endp = _endpos_d_;
11704 MenhirLib.EngineTypes.next = {
11705 MenhirLib.EngineTypes.semv = i;
11706 MenhirLib.EngineTypes.startp = _startpos_i_;
11707 MenhirLib.EngineTypes.endp = _endpos_i_;
11708 MenhirLib.EngineTypes.next = {
11709 MenhirLib.EngineTypes.state = _menhir_s;
11710 MenhirLib.EngineTypes.semv = x0;
11711 MenhirLib.EngineTypes.startp = _startpos_x0_;
11712 MenhirLib.EngineTypes.endp = _endpos_x0_;
11713 MenhirLib.EngineTypes.next = _menhir_stack;
11714 };
11715 };
11716 };
11717 } = _menhir_stack in
11718 let pv : (
11719 # 107 "parser_cocci_menhir.mly"
11720 (Data.clt)
11721 # 11722 "parser_cocci_menhir.ml"
11722 ) = Obj.magic pv in
11723 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11724 let i : 'tv_pure_ident = Obj.magic i in
11725 let x0 : 'tv_storage = Obj.magic x0 in
11726 let _startpos = _startpos_x0_ in
11727 let _endpos = _endpos_pv_ in
11728 let _v : 'tv_decl_var = let cv =
11729
11730 # 39 "standard.mly"
11731 ( None )
11732 # 11733 "parser_cocci_menhir.ml"
11733
11734 in
11735 let s =
11736 let x = x0 in
11737
11738 # 41 "standard.mly"
11739 ( Some x )
11740 # 11741 "parser_cocci_menhir.ml"
11741
11742 in
11743
11744 # 959 "parser_cocci_menhir.mly"
11745 ( List.map
11746 (function (id,fn) ->
11747 let idtype =
11748 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11749 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11750 d )
11751 # 11752 "parser_cocci_menhir.ml"
11752 in
11753 _menhir_env.MenhirLib.EngineTypes.stack <- {
11754 MenhirLib.EngineTypes.state = _menhir_s;
11755 MenhirLib.EngineTypes.semv = Obj.repr _v;
11756 MenhirLib.EngineTypes.startp = _startpos;
11757 MenhirLib.EngineTypes.endp = _endpos;
11758 MenhirLib.EngineTypes.next = _menhir_stack;
11759 });
11760 (fun _menhir_env ->
11761 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11762 let {
11763 MenhirLib.EngineTypes.semv = pv;
11764 MenhirLib.EngineTypes.startp = _startpos_pv_;
11765 MenhirLib.EngineTypes.endp = _endpos_pv_;
11766 MenhirLib.EngineTypes.next = {
11767 MenhirLib.EngineTypes.semv = d;
11768 MenhirLib.EngineTypes.startp = _startpos_d_;
11769 MenhirLib.EngineTypes.endp = _endpos_d_;
11770 MenhirLib.EngineTypes.next = {
11771 MenhirLib.EngineTypes.semv = i;
11772 MenhirLib.EngineTypes.startp = _startpos_i_;
11773 MenhirLib.EngineTypes.endp = _endpos_i_;
11774 MenhirLib.EngineTypes.next = {
11775 MenhirLib.EngineTypes.semv = x1;
11776 MenhirLib.EngineTypes.startp = _startpos_x1_;
11777 MenhirLib.EngineTypes.endp = _endpos_x1_;
11778 MenhirLib.EngineTypes.next = {
11779 MenhirLib.EngineTypes.state = _menhir_s;
11780 MenhirLib.EngineTypes.semv = x0;
11781 MenhirLib.EngineTypes.startp = _startpos_x0_;
11782 MenhirLib.EngineTypes.endp = _endpos_x0_;
11783 MenhirLib.EngineTypes.next = _menhir_stack;
11784 };
11785 };
11786 };
11787 };
11788 } = _menhir_stack in
11789 let pv : (
11790 # 107 "parser_cocci_menhir.mly"
11791 (Data.clt)
11792 # 11793 "parser_cocci_menhir.ml"
11793 ) = Obj.magic pv in
11794 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11795 let i : 'tv_pure_ident = Obj.magic i in
11796 let x1 : 'tv_const_vol = Obj.magic x1 in
11797 let x0 : 'tv_storage = Obj.magic x0 in
11798 let _startpos = _startpos_x0_ in
11799 let _endpos = _endpos_pv_ in
11800 let _v : 'tv_decl_var = let cv =
11801 let x = x1 in
11802
11803 # 41 "standard.mly"
11804 ( Some x )
11805 # 11806 "parser_cocci_menhir.ml"
11806
11807 in
11808 let s =
11809 let x = x0 in
11810
11811 # 41 "standard.mly"
11812 ( Some x )
11813 # 11814 "parser_cocci_menhir.ml"
11814
11815 in
11816
11817 # 959 "parser_cocci_menhir.mly"
11818 ( List.map
11819 (function (id,fn) ->
11820 let idtype =
11821 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11822 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11823 d )
11824 # 11825 "parser_cocci_menhir.ml"
11825 in
11826 _menhir_env.MenhirLib.EngineTypes.stack <- {
11827 MenhirLib.EngineTypes.state = _menhir_s;
11828 MenhirLib.EngineTypes.semv = Obj.repr _v;
11829 MenhirLib.EngineTypes.startp = _startpos;
11830 MenhirLib.EngineTypes.endp = _endpos;
11831 MenhirLib.EngineTypes.next = _menhir_stack;
11832 });
11833 (fun _menhir_env ->
11834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11835 let {
11836 MenhirLib.EngineTypes.semv = pv;
11837 MenhirLib.EngineTypes.startp = _startpos_pv_;
11838 MenhirLib.EngineTypes.endp = _endpos_pv_;
11839 MenhirLib.EngineTypes.next = {
11840 MenhirLib.EngineTypes.semv = e;
11841 MenhirLib.EngineTypes.startp = _startpos_e_;
11842 MenhirLib.EngineTypes.endp = _endpos_e_;
11843 MenhirLib.EngineTypes.next = {
11844 MenhirLib.EngineTypes.semv = q;
11845 MenhirLib.EngineTypes.startp = _startpos_q_;
11846 MenhirLib.EngineTypes.endp = _endpos_q_;
11847 MenhirLib.EngineTypes.next = {
11848 MenhirLib.EngineTypes.semv = d;
11849 MenhirLib.EngineTypes.startp = _startpos_d_;
11850 MenhirLib.EngineTypes.endp = _endpos_d_;
11851 MenhirLib.EngineTypes.next = {
11852 MenhirLib.EngineTypes.state = _menhir_s;
11853 MenhirLib.EngineTypes.semv = i;
11854 MenhirLib.EngineTypes.startp = _startpos_i_;
11855 MenhirLib.EngineTypes.endp = _endpos_i_;
11856 MenhirLib.EngineTypes.next = _menhir_stack;
11857 };
11858 };
11859 };
11860 };
11861 } = _menhir_stack in
11862 let pv : (
11863 # 107 "parser_cocci_menhir.mly"
11864 (Data.clt)
11865 # 11866 "parser_cocci_menhir.ml"
11866 ) = Obj.magic pv in
11867 let e : 'tv_initialize = Obj.magic e in
11868 let q : (
11869 # 107 "parser_cocci_menhir.mly"
11870 (Data.clt)
11871 # 11872 "parser_cocci_menhir.ml"
11872 ) = Obj.magic q in
11873 let d : 'tv_d_ident = Obj.magic d in
11874 let i : 'tv_pure_ident = Obj.magic i in
11875 let _startpos = _startpos_i_ in
11876 let _endpos = _endpos_pv_ in
11877 let _v : 'tv_decl_var = let cv =
11878
11879 # 39 "standard.mly"
11880 ( None )
11881 # 11882 "parser_cocci_menhir.ml"
11882
11883 in
11884 let s =
11885
11886 # 39 "standard.mly"
11887 ( None )
11888 # 11889 "parser_cocci_menhir.ml"
11889
11890 in
11891
11892 # 967 "parser_cocci_menhir.mly"
11893 ( let (id,fn) = d in
11894 !Data.add_type_name (P.id2name i);
11895 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11896 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
11897 P.clt2mcode ";" pv))] )
11898 # 11899 "parser_cocci_menhir.ml"
11899 in
11900 _menhir_env.MenhirLib.EngineTypes.stack <- {
11901 MenhirLib.EngineTypes.state = _menhir_s;
11902 MenhirLib.EngineTypes.semv = Obj.repr _v;
11903 MenhirLib.EngineTypes.startp = _startpos;
11904 MenhirLib.EngineTypes.endp = _endpos;
11905 MenhirLib.EngineTypes.next = _menhir_stack;
11906 });
11907 (fun _menhir_env ->
11908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11909 let {
11910 MenhirLib.EngineTypes.semv = pv;
11911 MenhirLib.EngineTypes.startp = _startpos_pv_;
11912 MenhirLib.EngineTypes.endp = _endpos_pv_;
11913 MenhirLib.EngineTypes.next = {
11914 MenhirLib.EngineTypes.semv = e;
11915 MenhirLib.EngineTypes.startp = _startpos_e_;
11916 MenhirLib.EngineTypes.endp = _endpos_e_;
11917 MenhirLib.EngineTypes.next = {
11918 MenhirLib.EngineTypes.semv = q;
11919 MenhirLib.EngineTypes.startp = _startpos_q_;
11920 MenhirLib.EngineTypes.endp = _endpos_q_;
11921 MenhirLib.EngineTypes.next = {
11922 MenhirLib.EngineTypes.semv = d;
11923 MenhirLib.EngineTypes.startp = _startpos_d_;
11924 MenhirLib.EngineTypes.endp = _endpos_d_;
11925 MenhirLib.EngineTypes.next = {
11926 MenhirLib.EngineTypes.semv = i;
11927 MenhirLib.EngineTypes.startp = _startpos_i_;
11928 MenhirLib.EngineTypes.endp = _endpos_i_;
11929 MenhirLib.EngineTypes.next = {
11930 MenhirLib.EngineTypes.state = _menhir_s;
11931 MenhirLib.EngineTypes.semv = x0;
11932 MenhirLib.EngineTypes.startp = _startpos_x0_;
11933 MenhirLib.EngineTypes.endp = _endpos_x0_;
11934 MenhirLib.EngineTypes.next = _menhir_stack;
11935 };
11936 };
11937 };
11938 };
11939 };
11940 } = _menhir_stack in
11941 let pv : (
11942 # 107 "parser_cocci_menhir.mly"
11943 (Data.clt)
11944 # 11945 "parser_cocci_menhir.ml"
11945 ) = Obj.magic pv in
11946 let e : 'tv_initialize = Obj.magic e in
11947 let q : (
11948 # 107 "parser_cocci_menhir.mly"
11949 (Data.clt)
11950 # 11951 "parser_cocci_menhir.ml"
11951 ) = Obj.magic q in
11952 let d : 'tv_d_ident = Obj.magic d in
11953 let i : 'tv_pure_ident = Obj.magic i in
11954 let x0 : 'tv_const_vol = Obj.magic x0 in
11955 let _startpos = _startpos_x0_ in
11956 let _endpos = _endpos_pv_ in
11957 let _v : 'tv_decl_var = let cv =
11958 let x = x0 in
11959
11960 # 41 "standard.mly"
11961 ( Some x )
11962 # 11963 "parser_cocci_menhir.ml"
11963
11964 in
11965 let s =
11966
11967 # 39 "standard.mly"
11968 ( None )
11969 # 11970 "parser_cocci_menhir.ml"
11970
11971 in
11972
11973 # 967 "parser_cocci_menhir.mly"
11974 ( let (id,fn) = d in
11975 !Data.add_type_name (P.id2name i);
11976 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11977 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
11978 P.clt2mcode ";" pv))] )
11979 # 11980 "parser_cocci_menhir.ml"
11980 in
11981 _menhir_env.MenhirLib.EngineTypes.stack <- {
11982 MenhirLib.EngineTypes.state = _menhir_s;
11983 MenhirLib.EngineTypes.semv = Obj.repr _v;
11984 MenhirLib.EngineTypes.startp = _startpos;
11985 MenhirLib.EngineTypes.endp = _endpos;
11986 MenhirLib.EngineTypes.next = _menhir_stack;
11987 });
11988 (fun _menhir_env ->
11989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11990 let {
11991 MenhirLib.EngineTypes.semv = pv;
11992 MenhirLib.EngineTypes.startp = _startpos_pv_;
11993 MenhirLib.EngineTypes.endp = _endpos_pv_;
11994 MenhirLib.EngineTypes.next = {
11995 MenhirLib.EngineTypes.semv = e;
11996 MenhirLib.EngineTypes.startp = _startpos_e_;
11997 MenhirLib.EngineTypes.endp = _endpos_e_;
11998 MenhirLib.EngineTypes.next = {
11999 MenhirLib.EngineTypes.semv = q;
12000 MenhirLib.EngineTypes.startp = _startpos_q_;
12001 MenhirLib.EngineTypes.endp = _endpos_q_;
12002 MenhirLib.EngineTypes.next = {
12003 MenhirLib.EngineTypes.semv = d;
12004 MenhirLib.EngineTypes.startp = _startpos_d_;
12005 MenhirLib.EngineTypes.endp = _endpos_d_;
12006 MenhirLib.EngineTypes.next = {
12007 MenhirLib.EngineTypes.semv = i;
12008 MenhirLib.EngineTypes.startp = _startpos_i_;
12009 MenhirLib.EngineTypes.endp = _endpos_i_;
12010 MenhirLib.EngineTypes.next = {
12011 MenhirLib.EngineTypes.state = _menhir_s;
12012 MenhirLib.EngineTypes.semv = x0;
12013 MenhirLib.EngineTypes.startp = _startpos_x0_;
12014 MenhirLib.EngineTypes.endp = _endpos_x0_;
12015 MenhirLib.EngineTypes.next = _menhir_stack;
12016 };
12017 };
12018 };
12019 };
12020 };
12021 } = _menhir_stack in
12022 let pv : (
12023 # 107 "parser_cocci_menhir.mly"
12024 (Data.clt)
12025 # 12026 "parser_cocci_menhir.ml"
12026 ) = Obj.magic pv in
12027 let e : 'tv_initialize = Obj.magic e in
12028 let q : (
12029 # 107 "parser_cocci_menhir.mly"
12030 (Data.clt)
12031 # 12032 "parser_cocci_menhir.ml"
12032 ) = Obj.magic q in
12033 let d : 'tv_d_ident = Obj.magic d in
12034 let i : 'tv_pure_ident = Obj.magic i in
12035 let x0 : 'tv_storage = Obj.magic x0 in
12036 let _startpos = _startpos_x0_ in
12037 let _endpos = _endpos_pv_ in
12038 let _v : 'tv_decl_var = let cv =
12039
12040 # 39 "standard.mly"
12041 ( None )
12042 # 12043 "parser_cocci_menhir.ml"
12043
12044 in
12045 let s =
12046 let x = x0 in
12047
12048 # 41 "standard.mly"
12049 ( Some x )
12050 # 12051 "parser_cocci_menhir.ml"
12051
12052 in
12053
12054 # 967 "parser_cocci_menhir.mly"
12055 ( let (id,fn) = d in
12056 !Data.add_type_name (P.id2name i);
12057 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12058 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12059 P.clt2mcode ";" pv))] )
12060 # 12061 "parser_cocci_menhir.ml"
12061 in
12062 _menhir_env.MenhirLib.EngineTypes.stack <- {
12063 MenhirLib.EngineTypes.state = _menhir_s;
12064 MenhirLib.EngineTypes.semv = Obj.repr _v;
12065 MenhirLib.EngineTypes.startp = _startpos;
12066 MenhirLib.EngineTypes.endp = _endpos;
12067 MenhirLib.EngineTypes.next = _menhir_stack;
12068 });
12069 (fun _menhir_env ->
12070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12071 let {
12072 MenhirLib.EngineTypes.semv = pv;
12073 MenhirLib.EngineTypes.startp = _startpos_pv_;
12074 MenhirLib.EngineTypes.endp = _endpos_pv_;
12075 MenhirLib.EngineTypes.next = {
12076 MenhirLib.EngineTypes.semv = e;
12077 MenhirLib.EngineTypes.startp = _startpos_e_;
12078 MenhirLib.EngineTypes.endp = _endpos_e_;
12079 MenhirLib.EngineTypes.next = {
12080 MenhirLib.EngineTypes.semv = q;
12081 MenhirLib.EngineTypes.startp = _startpos_q_;
12082 MenhirLib.EngineTypes.endp = _endpos_q_;
12083 MenhirLib.EngineTypes.next = {
12084 MenhirLib.EngineTypes.semv = d;
12085 MenhirLib.EngineTypes.startp = _startpos_d_;
12086 MenhirLib.EngineTypes.endp = _endpos_d_;
12087 MenhirLib.EngineTypes.next = {
12088 MenhirLib.EngineTypes.semv = i;
12089 MenhirLib.EngineTypes.startp = _startpos_i_;
12090 MenhirLib.EngineTypes.endp = _endpos_i_;
12091 MenhirLib.EngineTypes.next = {
12092 MenhirLib.EngineTypes.semv = x1;
12093 MenhirLib.EngineTypes.startp = _startpos_x1_;
12094 MenhirLib.EngineTypes.endp = _endpos_x1_;
12095 MenhirLib.EngineTypes.next = {
12096 MenhirLib.EngineTypes.state = _menhir_s;
12097 MenhirLib.EngineTypes.semv = x0;
12098 MenhirLib.EngineTypes.startp = _startpos_x0_;
12099 MenhirLib.EngineTypes.endp = _endpos_x0_;
12100 MenhirLib.EngineTypes.next = _menhir_stack;
12101 };
12102 };
12103 };
12104 };
12105 };
12106 };
12107 } = _menhir_stack in
12108 let pv : (
12109 # 107 "parser_cocci_menhir.mly"
12110 (Data.clt)
12111 # 12112 "parser_cocci_menhir.ml"
12112 ) = Obj.magic pv in
12113 let e : 'tv_initialize = Obj.magic e in
12114 let q : (
12115 # 107 "parser_cocci_menhir.mly"
12116 (Data.clt)
12117 # 12118 "parser_cocci_menhir.ml"
12118 ) = Obj.magic q in
12119 let d : 'tv_d_ident = Obj.magic d in
12120 let i : 'tv_pure_ident = Obj.magic i in
12121 let x1 : 'tv_const_vol = Obj.magic x1 in
12122 let x0 : 'tv_storage = Obj.magic x0 in
12123 let _startpos = _startpos_x0_ in
12124 let _endpos = _endpos_pv_ in
12125 let _v : 'tv_decl_var = let cv =
12126 let x = x1 in
12127
12128 # 41 "standard.mly"
12129 ( Some x )
12130 # 12131 "parser_cocci_menhir.ml"
12131
12132 in
12133 let s =
12134 let x = x0 in
12135
12136 # 41 "standard.mly"
12137 ( Some x )
12138 # 12139 "parser_cocci_menhir.ml"
12139
12140 in
12141
12142 # 967 "parser_cocci_menhir.mly"
12143 ( let (id,fn) = d in
12144 !Data.add_type_name (P.id2name i);
12145 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12146 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12147 P.clt2mcode ";" pv))] )
12148 # 12149 "parser_cocci_menhir.ml"
12149 in
12150 _menhir_env.MenhirLib.EngineTypes.stack <- {
12151 MenhirLib.EngineTypes.state = _menhir_s;
12152 MenhirLib.EngineTypes.semv = Obj.repr _v;
12153 MenhirLib.EngineTypes.startp = _startpos;
12154 MenhirLib.EngineTypes.endp = _endpos;
12155 MenhirLib.EngineTypes.next = _menhir_stack;
12156 });
12157 (fun _menhir_env ->
12158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12159 let {
12160 MenhirLib.EngineTypes.semv = pv;
12161 MenhirLib.EngineTypes.startp = _startpos_pv_;
12162 MenhirLib.EngineTypes.endp = _endpos_pv_;
12163 MenhirLib.EngineTypes.next = {
12164 MenhirLib.EngineTypes.semv = rp2;
12165 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12166 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12167 MenhirLib.EngineTypes.next = {
12168 MenhirLib.EngineTypes.semv = p;
12169 MenhirLib.EngineTypes.startp = _startpos_p_;
12170 MenhirLib.EngineTypes.endp = _endpos_p_;
12171 MenhirLib.EngineTypes.next = {
12172 MenhirLib.EngineTypes.semv = lp2;
12173 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12174 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12175 MenhirLib.EngineTypes.next = {
12176 MenhirLib.EngineTypes.semv = rp1;
12177 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12178 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12179 MenhirLib.EngineTypes.next = {
12180 MenhirLib.EngineTypes.semv = d;
12181 MenhirLib.EngineTypes.startp = _startpos_d_;
12182 MenhirLib.EngineTypes.endp = _endpos_d_;
12183 MenhirLib.EngineTypes.next = {
12184 MenhirLib.EngineTypes.semv = st;
12185 MenhirLib.EngineTypes.startp = _startpos_st_;
12186 MenhirLib.EngineTypes.endp = _endpos_st_;
12187 MenhirLib.EngineTypes.next = {
12188 MenhirLib.EngineTypes.semv = lp1;
12189 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12190 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12191 MenhirLib.EngineTypes.next = {
12192 MenhirLib.EngineTypes.state = _menhir_s;
12193 MenhirLib.EngineTypes.semv = t;
12194 MenhirLib.EngineTypes.startp = _startpos_t_;
12195 MenhirLib.EngineTypes.endp = _endpos_t_;
12196 MenhirLib.EngineTypes.next = _menhir_stack;
12197 };
12198 };
12199 };
12200 };
12201 };
12202 };
12203 };
12204 };
12205 } = _menhir_stack in
12206 let pv : (
12207 # 107 "parser_cocci_menhir.mly"
12208 (Data.clt)
12209 # 12210 "parser_cocci_menhir.ml"
12210 ) = Obj.magic pv in
12211 let rp2 : (
12212 # 77 "parser_cocci_menhir.mly"
12213 (Data.clt)
12214 # 12215 "parser_cocci_menhir.ml"
12215 ) = Obj.magic rp2 in
12216 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12217 let lp2 : (
12218 # 76 "parser_cocci_menhir.mly"
12219 (Data.clt)
12220 # 12221 "parser_cocci_menhir.ml"
12221 ) = Obj.magic lp2 in
12222 let rp1 : (
12223 # 77 "parser_cocci_menhir.mly"
12224 (Data.clt)
12225 # 12226 "parser_cocci_menhir.ml"
12226 ) = Obj.magic rp1 in
12227 let d : 'tv_d_ident = Obj.magic d in
12228 let st : (
12229 # 99 "parser_cocci_menhir.mly"
12230 (Data.clt)
12231 # 12232 "parser_cocci_menhir.ml"
12232 ) = Obj.magic st in
12233 let lp1 : (
12234 # 76 "parser_cocci_menhir.mly"
12235 (Data.clt)
12236 # 12237 "parser_cocci_menhir.ml"
12237 ) = Obj.magic lp1 in
12238 let t : 'tv_ctype = Obj.magic t in
12239 let _startpos = _startpos_t_ in
12240 let _endpos = _endpos_pv_ in
12241 let _v : 'tv_decl_var = let s =
12242
12243 # 39 "standard.mly"
12244 ( None )
12245 # 12246 "parser_cocci_menhir.ml"
12246
12247 in
12248
12249 # 977 "parser_cocci_menhir.mly"
12250 ( let (id,fn) = d in
12251 let t =
12252 Ast0.wrap
12253 (Ast0.FunctionPointer
12254 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12255 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12256 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12257 # 12258 "parser_cocci_menhir.ml"
12258 in
12259 _menhir_env.MenhirLib.EngineTypes.stack <- {
12260 MenhirLib.EngineTypes.state = _menhir_s;
12261 MenhirLib.EngineTypes.semv = Obj.repr _v;
12262 MenhirLib.EngineTypes.startp = _startpos;
12263 MenhirLib.EngineTypes.endp = _endpos;
12264 MenhirLib.EngineTypes.next = _menhir_stack;
12265 });
12266 (fun _menhir_env ->
12267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12268 let {
12269 MenhirLib.EngineTypes.semv = pv;
12270 MenhirLib.EngineTypes.startp = _startpos_pv_;
12271 MenhirLib.EngineTypes.endp = _endpos_pv_;
12272 MenhirLib.EngineTypes.next = {
12273 MenhirLib.EngineTypes.semv = rp2;
12274 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12275 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12276 MenhirLib.EngineTypes.next = {
12277 MenhirLib.EngineTypes.semv = p;
12278 MenhirLib.EngineTypes.startp = _startpos_p_;
12279 MenhirLib.EngineTypes.endp = _endpos_p_;
12280 MenhirLib.EngineTypes.next = {
12281 MenhirLib.EngineTypes.semv = lp2;
12282 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12283 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12284 MenhirLib.EngineTypes.next = {
12285 MenhirLib.EngineTypes.semv = rp1;
12286 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12287 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12288 MenhirLib.EngineTypes.next = {
12289 MenhirLib.EngineTypes.semv = d;
12290 MenhirLib.EngineTypes.startp = _startpos_d_;
12291 MenhirLib.EngineTypes.endp = _endpos_d_;
12292 MenhirLib.EngineTypes.next = {
12293 MenhirLib.EngineTypes.semv = st;
12294 MenhirLib.EngineTypes.startp = _startpos_st_;
12295 MenhirLib.EngineTypes.endp = _endpos_st_;
12296 MenhirLib.EngineTypes.next = {
12297 MenhirLib.EngineTypes.semv = lp1;
12298 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12299 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12300 MenhirLib.EngineTypes.next = {
12301 MenhirLib.EngineTypes.semv = t;
12302 MenhirLib.EngineTypes.startp = _startpos_t_;
12303 MenhirLib.EngineTypes.endp = _endpos_t_;
12304 MenhirLib.EngineTypes.next = {
12305 MenhirLib.EngineTypes.state = _menhir_s;
12306 MenhirLib.EngineTypes.semv = x0;
12307 MenhirLib.EngineTypes.startp = _startpos_x0_;
12308 MenhirLib.EngineTypes.endp = _endpos_x0_;
12309 MenhirLib.EngineTypes.next = _menhir_stack;
12310 };
12311 };
12312 };
12313 };
12314 };
12315 };
12316 };
12317 };
12318 };
12319 } = _menhir_stack in
12320 let pv : (
12321 # 107 "parser_cocci_menhir.mly"
12322 (Data.clt)
12323 # 12324 "parser_cocci_menhir.ml"
12324 ) = Obj.magic pv in
12325 let rp2 : (
12326 # 77 "parser_cocci_menhir.mly"
12327 (Data.clt)
12328 # 12329 "parser_cocci_menhir.ml"
12329 ) = Obj.magic rp2 in
12330 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12331 let lp2 : (
12332 # 76 "parser_cocci_menhir.mly"
12333 (Data.clt)
12334 # 12335 "parser_cocci_menhir.ml"
12335 ) = Obj.magic lp2 in
12336 let rp1 : (
12337 # 77 "parser_cocci_menhir.mly"
12338 (Data.clt)
12339 # 12340 "parser_cocci_menhir.ml"
12340 ) = Obj.magic rp1 in
12341 let d : 'tv_d_ident = Obj.magic d in
12342 let st : (
12343 # 99 "parser_cocci_menhir.mly"
12344 (Data.clt)
12345 # 12346 "parser_cocci_menhir.ml"
12346 ) = Obj.magic st in
12347 let lp1 : (
12348 # 76 "parser_cocci_menhir.mly"
12349 (Data.clt)
12350 # 12351 "parser_cocci_menhir.ml"
12351 ) = Obj.magic lp1 in
12352 let t : 'tv_ctype = Obj.magic t in
12353 let x0 : 'tv_storage = Obj.magic x0 in
12354 let _startpos = _startpos_x0_ in
12355 let _endpos = _endpos_pv_ in
12356 let _v : 'tv_decl_var = let s =
12357 let x = x0 in
12358
12359 # 41 "standard.mly"
12360 ( Some x )
12361 # 12362 "parser_cocci_menhir.ml"
12362
12363 in
12364
12365 # 977 "parser_cocci_menhir.mly"
12366 ( let (id,fn) = d in
12367 let t =
12368 Ast0.wrap
12369 (Ast0.FunctionPointer
12370 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12371 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12372 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12373 # 12374 "parser_cocci_menhir.ml"
12374 in
12375 _menhir_env.MenhirLib.EngineTypes.stack <- {
12376 MenhirLib.EngineTypes.state = _menhir_s;
12377 MenhirLib.EngineTypes.semv = Obj.repr _v;
12378 MenhirLib.EngineTypes.startp = _startpos;
12379 MenhirLib.EngineTypes.endp = _endpos;
12380 MenhirLib.EngineTypes.next = _menhir_stack;
12381 });
12382 (fun _menhir_env ->
12383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12384 let {
12385 MenhirLib.EngineTypes.semv = _5;
12386 MenhirLib.EngineTypes.startp = _startpos__5_;
12387 MenhirLib.EngineTypes.endp = _endpos__5_;
12388 MenhirLib.EngineTypes.next = {
12389 MenhirLib.EngineTypes.semv = _4;
12390 MenhirLib.EngineTypes.startp = _startpos__4_;
12391 MenhirLib.EngineTypes.endp = _endpos__4_;
12392 MenhirLib.EngineTypes.next = {
12393 MenhirLib.EngineTypes.semv = _3;
12394 MenhirLib.EngineTypes.startp = _startpos__3_;
12395 MenhirLib.EngineTypes.endp = _endpos__3_;
12396 MenhirLib.EngineTypes.next = {
12397 MenhirLib.EngineTypes.semv = _2;
12398 MenhirLib.EngineTypes.startp = _startpos__2_;
12399 MenhirLib.EngineTypes.endp = _endpos__2_;
12400 MenhirLib.EngineTypes.next = {
12401 MenhirLib.EngineTypes.state = _menhir_s;
12402 MenhirLib.EngineTypes.semv = _1;
12403 MenhirLib.EngineTypes.startp = _startpos__1_;
12404 MenhirLib.EngineTypes.endp = _endpos__1_;
12405 MenhirLib.EngineTypes.next = _menhir_stack;
12406 };
12407 };
12408 };
12409 };
12410 } = _menhir_stack in
12411 let _5 : (
12412 # 107 "parser_cocci_menhir.mly"
12413 (Data.clt)
12414 # 12415 "parser_cocci_menhir.ml"
12415 ) = Obj.magic _5 in
12416 let _4 : (
12417 # 77 "parser_cocci_menhir.mly"
12418 (Data.clt)
12419 # 12420 "parser_cocci_menhir.ml"
12420 ) = Obj.magic _4 in
12421 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
12422 let _2 : (
12423 # 76 "parser_cocci_menhir.mly"
12424 (Data.clt)
12425 # 12426 "parser_cocci_menhir.ml"
12426 ) = Obj.magic _2 in
12427 let _1 : 'tv_decl_ident = Obj.magic _1 in
12428 let _startpos = _startpos__1_ in
12429 let _endpos = _endpos__5_ in
12430 let _v : 'tv_decl_var =
12431 # 985 "parser_cocci_menhir.mly"
12432 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
12433 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
12434 # 12435 "parser_cocci_menhir.ml"
12435 in
12436 _menhir_env.MenhirLib.EngineTypes.stack <- {
12437 MenhirLib.EngineTypes.state = _menhir_s;
12438 MenhirLib.EngineTypes.semv = Obj.repr _v;
12439 MenhirLib.EngineTypes.startp = _startpos;
12440 MenhirLib.EngineTypes.endp = _endpos;
12441 MenhirLib.EngineTypes.next = _menhir_stack;
12442 });
12443 (fun _menhir_env ->
12444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12445 let {
12446 MenhirLib.EngineTypes.semv = pv;
12447 MenhirLib.EngineTypes.startp = _startpos_pv_;
12448 MenhirLib.EngineTypes.endp = _endpos_pv_;
12449 MenhirLib.EngineTypes.next = {
12450 MenhirLib.EngineTypes.semv = e;
12451 MenhirLib.EngineTypes.startp = _startpos_e_;
12452 MenhirLib.EngineTypes.endp = _endpos_e_;
12453 MenhirLib.EngineTypes.next = {
12454 MenhirLib.EngineTypes.semv = q;
12455 MenhirLib.EngineTypes.startp = _startpos_q_;
12456 MenhirLib.EngineTypes.endp = _endpos_q_;
12457 MenhirLib.EngineTypes.next = {
12458 MenhirLib.EngineTypes.semv = rp2;
12459 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12460 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12461 MenhirLib.EngineTypes.next = {
12462 MenhirLib.EngineTypes.semv = p;
12463 MenhirLib.EngineTypes.startp = _startpos_p_;
12464 MenhirLib.EngineTypes.endp = _endpos_p_;
12465 MenhirLib.EngineTypes.next = {
12466 MenhirLib.EngineTypes.semv = lp2;
12467 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12468 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12469 MenhirLib.EngineTypes.next = {
12470 MenhirLib.EngineTypes.semv = rp1;
12471 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12472 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12473 MenhirLib.EngineTypes.next = {
12474 MenhirLib.EngineTypes.semv = d;
12475 MenhirLib.EngineTypes.startp = _startpos_d_;
12476 MenhirLib.EngineTypes.endp = _endpos_d_;
12477 MenhirLib.EngineTypes.next = {
12478 MenhirLib.EngineTypes.semv = st;
12479 MenhirLib.EngineTypes.startp = _startpos_st_;
12480 MenhirLib.EngineTypes.endp = _endpos_st_;
12481 MenhirLib.EngineTypes.next = {
12482 MenhirLib.EngineTypes.semv = lp1;
12483 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12484 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12485 MenhirLib.EngineTypes.next = {
12486 MenhirLib.EngineTypes.state = _menhir_s;
12487 MenhirLib.EngineTypes.semv = t;
12488 MenhirLib.EngineTypes.startp = _startpos_t_;
12489 MenhirLib.EngineTypes.endp = _endpos_t_;
12490 MenhirLib.EngineTypes.next = _menhir_stack;
12491 };
12492 };
12493 };
12494 };
12495 };
12496 };
12497 };
12498 };
12499 };
12500 };
12501 } = _menhir_stack in
12502 let pv : (
12503 # 107 "parser_cocci_menhir.mly"
12504 (Data.clt)
12505 # 12506 "parser_cocci_menhir.ml"
12506 ) = Obj.magic pv in
12507 let e : 'tv_initialize = Obj.magic e in
12508 let q : (
12509 # 107 "parser_cocci_menhir.mly"
12510 (Data.clt)
12511 # 12512 "parser_cocci_menhir.ml"
12512 ) = Obj.magic q in
12513 let rp2 : (
12514 # 77 "parser_cocci_menhir.mly"
12515 (Data.clt)
12516 # 12517 "parser_cocci_menhir.ml"
12517 ) = Obj.magic rp2 in
12518 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12519 let lp2 : (
12520 # 76 "parser_cocci_menhir.mly"
12521 (Data.clt)
12522 # 12523 "parser_cocci_menhir.ml"
12523 ) = Obj.magic lp2 in
12524 let rp1 : (
12525 # 77 "parser_cocci_menhir.mly"
12526 (Data.clt)
12527 # 12528 "parser_cocci_menhir.ml"
12528 ) = Obj.magic rp1 in
12529 let d : 'tv_d_ident = Obj.magic d in
12530 let st : (
12531 # 99 "parser_cocci_menhir.mly"
12532 (Data.clt)
12533 # 12534 "parser_cocci_menhir.ml"
12534 ) = Obj.magic st in
12535 let lp1 : (
12536 # 76 "parser_cocci_menhir.mly"
12537 (Data.clt)
12538 # 12539 "parser_cocci_menhir.ml"
12539 ) = Obj.magic lp1 in
12540 let t : 'tv_ctype = Obj.magic t in
12541 let _startpos = _startpos_t_ in
12542 let _endpos = _endpos_pv_ in
12543 let _v : 'tv_decl_var = let s =
12544
12545 # 39 "standard.mly"
12546 ( None )
12547 # 12548 "parser_cocci_menhir.ml"
12548
12549 in
12550
12551 # 991 "parser_cocci_menhir.mly"
12552 ( let (id,fn) = d in
12553 let t =
12554 Ast0.wrap
12555 (Ast0.FunctionPointer
12556 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12557 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12558 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12559 # 12560 "parser_cocci_menhir.ml"
12560 in
12561 _menhir_env.MenhirLib.EngineTypes.stack <- {
12562 MenhirLib.EngineTypes.state = _menhir_s;
12563 MenhirLib.EngineTypes.semv = Obj.repr _v;
12564 MenhirLib.EngineTypes.startp = _startpos;
12565 MenhirLib.EngineTypes.endp = _endpos;
12566 MenhirLib.EngineTypes.next = _menhir_stack;
12567 });
12568 (fun _menhir_env ->
12569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12570 let {
12571 MenhirLib.EngineTypes.semv = pv;
12572 MenhirLib.EngineTypes.startp = _startpos_pv_;
12573 MenhirLib.EngineTypes.endp = _endpos_pv_;
12574 MenhirLib.EngineTypes.next = {
12575 MenhirLib.EngineTypes.semv = e;
12576 MenhirLib.EngineTypes.startp = _startpos_e_;
12577 MenhirLib.EngineTypes.endp = _endpos_e_;
12578 MenhirLib.EngineTypes.next = {
12579 MenhirLib.EngineTypes.semv = q;
12580 MenhirLib.EngineTypes.startp = _startpos_q_;
12581 MenhirLib.EngineTypes.endp = _endpos_q_;
12582 MenhirLib.EngineTypes.next = {
12583 MenhirLib.EngineTypes.semv = rp2;
12584 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12585 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12586 MenhirLib.EngineTypes.next = {
12587 MenhirLib.EngineTypes.semv = p;
12588 MenhirLib.EngineTypes.startp = _startpos_p_;
12589 MenhirLib.EngineTypes.endp = _endpos_p_;
12590 MenhirLib.EngineTypes.next = {
12591 MenhirLib.EngineTypes.semv = lp2;
12592 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12593 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12594 MenhirLib.EngineTypes.next = {
12595 MenhirLib.EngineTypes.semv = rp1;
12596 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12597 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12598 MenhirLib.EngineTypes.next = {
12599 MenhirLib.EngineTypes.semv = d;
12600 MenhirLib.EngineTypes.startp = _startpos_d_;
12601 MenhirLib.EngineTypes.endp = _endpos_d_;
12602 MenhirLib.EngineTypes.next = {
12603 MenhirLib.EngineTypes.semv = st;
12604 MenhirLib.EngineTypes.startp = _startpos_st_;
12605 MenhirLib.EngineTypes.endp = _endpos_st_;
12606 MenhirLib.EngineTypes.next = {
12607 MenhirLib.EngineTypes.semv = lp1;
12608 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12609 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12610 MenhirLib.EngineTypes.next = {
12611 MenhirLib.EngineTypes.semv = t;
12612 MenhirLib.EngineTypes.startp = _startpos_t_;
12613 MenhirLib.EngineTypes.endp = _endpos_t_;
12614 MenhirLib.EngineTypes.next = {
12615 MenhirLib.EngineTypes.state = _menhir_s;
12616 MenhirLib.EngineTypes.semv = x0;
12617 MenhirLib.EngineTypes.startp = _startpos_x0_;
12618 MenhirLib.EngineTypes.endp = _endpos_x0_;
12619 MenhirLib.EngineTypes.next = _menhir_stack;
12620 };
12621 };
12622 };
12623 };
12624 };
12625 };
12626 };
12627 };
12628 };
12629 };
12630 };
12631 } = _menhir_stack in
12632 let pv : (
12633 # 107 "parser_cocci_menhir.mly"
12634 (Data.clt)
12635 # 12636 "parser_cocci_menhir.ml"
12636 ) = Obj.magic pv in
12637 let e : 'tv_initialize = Obj.magic e in
12638 let q : (
12639 # 107 "parser_cocci_menhir.mly"
12640 (Data.clt)
12641 # 12642 "parser_cocci_menhir.ml"
12642 ) = Obj.magic q in
12643 let rp2 : (
12644 # 77 "parser_cocci_menhir.mly"
12645 (Data.clt)
12646 # 12647 "parser_cocci_menhir.ml"
12647 ) = Obj.magic rp2 in
12648 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12649 let lp2 : (
12650 # 76 "parser_cocci_menhir.mly"
12651 (Data.clt)
12652 # 12653 "parser_cocci_menhir.ml"
12653 ) = Obj.magic lp2 in
12654 let rp1 : (
12655 # 77 "parser_cocci_menhir.mly"
12656 (Data.clt)
12657 # 12658 "parser_cocci_menhir.ml"
12658 ) = Obj.magic rp1 in
12659 let d : 'tv_d_ident = Obj.magic d in
12660 let st : (
12661 # 99 "parser_cocci_menhir.mly"
12662 (Data.clt)
12663 # 12664 "parser_cocci_menhir.ml"
12664 ) = Obj.magic st in
12665 let lp1 : (
12666 # 76 "parser_cocci_menhir.mly"
12667 (Data.clt)
12668 # 12669 "parser_cocci_menhir.ml"
12669 ) = Obj.magic lp1 in
12670 let t : 'tv_ctype = Obj.magic t in
12671 let x0 : 'tv_storage = Obj.magic x0 in
12672 let _startpos = _startpos_x0_ in
12673 let _endpos = _endpos_pv_ in
12674 let _v : 'tv_decl_var = let s =
12675 let x = x0 in
12676
12677 # 41 "standard.mly"
12678 ( Some x )
12679 # 12680 "parser_cocci_menhir.ml"
12680
12681 in
12682
12683 # 991 "parser_cocci_menhir.mly"
12684 ( let (id,fn) = d in
12685 let t =
12686 Ast0.wrap
12687 (Ast0.FunctionPointer
12688 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12689 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12690 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12691 # 12692 "parser_cocci_menhir.ml"
12692 in
12693 _menhir_env.MenhirLib.EngineTypes.stack <- {
12694 MenhirLib.EngineTypes.state = _menhir_s;
12695 MenhirLib.EngineTypes.semv = Obj.repr _v;
12696 MenhirLib.EngineTypes.startp = _startpos;
12697 MenhirLib.EngineTypes.endp = _endpos;
12698 MenhirLib.EngineTypes.next = _menhir_stack;
12699 });
12700 (fun _menhir_env ->
12701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12702 let {
12703 MenhirLib.EngineTypes.semv = pv;
12704 MenhirLib.EngineTypes.startp = _startpos_pv_;
12705 MenhirLib.EngineTypes.endp = _endpos_pv_;
12706 MenhirLib.EngineTypes.next = {
12707 MenhirLib.EngineTypes.semv = id;
12708 MenhirLib.EngineTypes.startp = _startpos_id_;
12709 MenhirLib.EngineTypes.endp = _endpos_id_;
12710 MenhirLib.EngineTypes.next = {
12711 MenhirLib.EngineTypes.semv = t;
12712 MenhirLib.EngineTypes.startp = _startpos_t_;
12713 MenhirLib.EngineTypes.endp = _endpos_t_;
12714 MenhirLib.EngineTypes.next = {
12715 MenhirLib.EngineTypes.state = _menhir_s;
12716 MenhirLib.EngineTypes.semv = s;
12717 MenhirLib.EngineTypes.startp = _startpos_s_;
12718 MenhirLib.EngineTypes.endp = _endpos_s_;
12719 MenhirLib.EngineTypes.next = _menhir_stack;
12720 };
12721 };
12722 };
12723 } = _menhir_stack in
12724 let pv : (
12725 # 107 "parser_cocci_menhir.mly"
12726 (Data.clt)
12727 # 12728 "parser_cocci_menhir.ml"
12728 ) = Obj.magic pv in
12729 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
12730 let t : 'tv_typedef_ctype = Obj.magic t in
12731 let s : (
12732 # 53 "parser_cocci_menhir.mly"
12733 (Data.clt)
12734 # 12735 "parser_cocci_menhir.ml"
12735 ) = Obj.magic s in
12736 let _startpos = _startpos_s_ in
12737 let _endpos = _endpos_pv_ in
12738 let _v : 'tv_decl_var =
12739 # 999 "parser_cocci_menhir.mly"
12740 ( let s = P.clt2mcode "typedef" s in
12741 List.map
12742 (function id ->
12743 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
12744 id )
12745 # 12746 "parser_cocci_menhir.ml"
12746 in
12747 _menhir_env.MenhirLib.EngineTypes.stack <- {
12748 MenhirLib.EngineTypes.state = _menhir_s;
12749 MenhirLib.EngineTypes.semv = Obj.repr _v;
12750 MenhirLib.EngineTypes.startp = _startpos;
12751 MenhirLib.EngineTypes.endp = _endpos;
12752 MenhirLib.EngineTypes.next = _menhir_stack;
12753 });
12754 (fun _menhir_env ->
12755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12756 let {
12757 MenhirLib.EngineTypes.state = _menhir_s;
12758 MenhirLib.EngineTypes.semv = _1;
12759 MenhirLib.EngineTypes.startp = _startpos__1_;
12760 MenhirLib.EngineTypes.endp = _endpos__1_;
12761 MenhirLib.EngineTypes.next = _menhir_stack;
12762 } = _menhir_stack in
12763 let _1 : 'tv_define_param_list_start = Obj.magic _1 in
12764 let _startpos = _startpos__1_ in
12765 let _endpos = _endpos__1_ in
12766 let _v : 'tv_define_param_list =
12767 # 716 "parser_cocci_menhir.mly"
12768 (let circle x =
12769 match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
12770 if List.exists circle _1
12771 then Ast0.wrap(Ast0.CIRCLES(_1))
12772 else Ast0.wrap(Ast0.DOTS(_1)) )
12773 # 12774 "parser_cocci_menhir.ml"
12774 in
12775 _menhir_env.MenhirLib.EngineTypes.stack <- {
12776 MenhirLib.EngineTypes.state = _menhir_s;
12777 MenhirLib.EngineTypes.semv = Obj.repr _v;
12778 MenhirLib.EngineTypes.startp = _startpos;
12779 MenhirLib.EngineTypes.endp = _endpos;
12780 MenhirLib.EngineTypes.next = _menhir_stack;
12781 });
12782 (fun _menhir_env ->
12783 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12784 let {
12785 MenhirLib.EngineTypes.state = _menhir_s;
12786 MenhirLib.EngineTypes.semv = _1;
12787 MenhirLib.EngineTypes.startp = _startpos__1_;
12788 MenhirLib.EngineTypes.endp = _endpos__1_;
12789 MenhirLib.EngineTypes.next = _menhir_stack;
12790 } = _menhir_stack in
12791 let _1 : 'tv_define_param_list = Obj.magic _1 in
12792 let _startpos = _startpos__1_ in
12793 let _endpos = _endpos__1_ in
12794 let _v : 'tv_define_param_list_option =
12795 # 740 "parser_cocci_menhir.mly"
12796 ( _1 )
12797 # 12798 "parser_cocci_menhir.ml"
12798 in
12799 _menhir_env.MenhirLib.EngineTypes.stack <- {
12800 MenhirLib.EngineTypes.state = _menhir_s;
12801 MenhirLib.EngineTypes.semv = Obj.repr _v;
12802 MenhirLib.EngineTypes.startp = _startpos;
12803 MenhirLib.EngineTypes.endp = _endpos;
12804 MenhirLib.EngineTypes.next = _menhir_stack;
12805 });
12806 (fun _menhir_env ->
12807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12808 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
12809 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
12810 let _endpos = _startpos in
12811 let _v : 'tv_define_param_list_option =
12812 # 741 "parser_cocci_menhir.mly"
12813 ( Ast0.wrap(Ast0.DOTS([])) )
12814 # 12815 "parser_cocci_menhir.ml"
12815 in
12816 _menhir_env.MenhirLib.EngineTypes.stack <- {
12817 MenhirLib.EngineTypes.state = _menhir_s;
12818 MenhirLib.EngineTypes.semv = Obj.repr _v;
12819 MenhirLib.EngineTypes.startp = _startpos;
12820 MenhirLib.EngineTypes.endp = _endpos;
12821 MenhirLib.EngineTypes.next = _menhir_stack;
12822 });
12823 (fun _menhir_env ->
12824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12825 let {
12826 MenhirLib.EngineTypes.state = _menhir_s;
12827 MenhirLib.EngineTypes.semv = _1;
12828 MenhirLib.EngineTypes.startp = _startpos__1_;
12829 MenhirLib.EngineTypes.endp = _endpos__1_;
12830 MenhirLib.EngineTypes.next = _menhir_stack;
12831 } = _menhir_stack in
12832 let _1 : 'tv_ident = Obj.magic _1 in
12833 let _startpos = _startpos__1_ in
12834 let _endpos = _endpos__1_ in
12835 let _v : 'tv_define_param_list_start =
12836 # 723 "parser_cocci_menhir.mly"
12837 ( [Ast0.wrap(Ast0.DParam _1)] )
12838 # 12839 "parser_cocci_menhir.ml"
12839 in
12840 _menhir_env.MenhirLib.EngineTypes.stack <- {
12841 MenhirLib.EngineTypes.state = _menhir_s;
12842 MenhirLib.EngineTypes.semv = Obj.repr _v;
12843 MenhirLib.EngineTypes.startp = _startpos;
12844 MenhirLib.EngineTypes.endp = _endpos;
12845 MenhirLib.EngineTypes.next = _menhir_stack;
12846 });
12847 (fun _menhir_env ->
12848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12849 let {
12850 MenhirLib.EngineTypes.semv = _3;
12851 MenhirLib.EngineTypes.startp = _startpos__3_;
12852 MenhirLib.EngineTypes.endp = _endpos__3_;
12853 MenhirLib.EngineTypes.next = {
12854 MenhirLib.EngineTypes.semv = _2;
12855 MenhirLib.EngineTypes.startp = _startpos__2_;
12856 MenhirLib.EngineTypes.endp = _endpos__2_;
12857 MenhirLib.EngineTypes.next = {
12858 MenhirLib.EngineTypes.state = _menhir_s;
12859 MenhirLib.EngineTypes.semv = _1;
12860 MenhirLib.EngineTypes.startp = _startpos__1_;
12861 MenhirLib.EngineTypes.endp = _endpos__1_;
12862 MenhirLib.EngineTypes.next = _menhir_stack;
12863 };
12864 };
12865 } = _menhir_stack in
12866 let _3 : 'tv_define_param_list_start = Obj.magic _3 in
12867 let _2 : (
12868 # 107 "parser_cocci_menhir.mly"
12869 (Data.clt)
12870 # 12871 "parser_cocci_menhir.ml"
12871 ) = Obj.magic _2 in
12872 let _1 : 'tv_ident = Obj.magic _1 in
12873 let _startpos = _startpos__1_ in
12874 let _endpos = _endpos__3_ in
12875 let _v : 'tv_define_param_list_start =
12876 # 725 "parser_cocci_menhir.mly"
12877 ( Ast0.wrap(Ast0.DParam _1)::
12878 Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
12879 # 12880 "parser_cocci_menhir.ml"
12880 in
12881 _menhir_env.MenhirLib.EngineTypes.stack <- {
12882 MenhirLib.EngineTypes.state = _menhir_s;
12883 MenhirLib.EngineTypes.semv = Obj.repr _v;
12884 MenhirLib.EngineTypes.startp = _startpos;
12885 MenhirLib.EngineTypes.endp = _endpos;
12886 MenhirLib.EngineTypes.next = _menhir_stack;
12887 });
12888 (fun _menhir_env ->
12889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12890 let {
12891 MenhirLib.EngineTypes.semv = r;
12892 MenhirLib.EngineTypes.startp = _startpos_r_;
12893 MenhirLib.EngineTypes.endp = _endpos_r_;
12894 MenhirLib.EngineTypes.next = {
12895 MenhirLib.EngineTypes.state = _menhir_s;
12896 MenhirLib.EngineTypes.semv = d;
12897 MenhirLib.EngineTypes.startp = _startpos_d_;
12898 MenhirLib.EngineTypes.endp = _endpos_d_;
12899 MenhirLib.EngineTypes.next = _menhir_stack;
12900 };
12901 } = _menhir_stack in
12902 let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
12903 let d : (
12904 # 73 "parser_cocci_menhir.mly"
12905 (Data.clt)
12906 # 12907 "parser_cocci_menhir.ml"
12907 ) = Obj.magic d in
12908 let _startpos = _startpos_d_ in
12909 let _endpos = _endpos_r_ in
12910 let _v : 'tv_define_param_list_start =
12911 # 728 "parser_cocci_menhir.mly"
12912 ( (P.mkdpdots "..." d)::
12913 (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
12914 # 12915 "parser_cocci_menhir.ml"
12915 in
12916 _menhir_env.MenhirLib.EngineTypes.stack <- {
12917 MenhirLib.EngineTypes.state = _menhir_s;
12918 MenhirLib.EngineTypes.semv = Obj.repr _v;
12919 MenhirLib.EngineTypes.startp = _startpos;
12920 MenhirLib.EngineTypes.endp = _endpos;
12921 MenhirLib.EngineTypes.next = _menhir_stack;
12922 });
12923 (fun _menhir_env ->
12924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12925 let {
12926 MenhirLib.EngineTypes.state = _menhir_s;
12927 MenhirLib.EngineTypes.semv = _1;
12928 MenhirLib.EngineTypes.startp = _startpos__1_;
12929 MenhirLib.EngineTypes.endp = _endpos__1_;
12930 MenhirLib.EngineTypes.next = _menhir_stack;
12931 } = _menhir_stack in
12932 let _1 : (
12933 # 81 "parser_cocci_menhir.mly"
12934 (Data.clt * token)
12935 # 12936 "parser_cocci_menhir.ml"
12936 ) = Obj.magic _1 in
12937 let _startpos = _startpos__1_ in
12938 let _endpos = _endpos__1_ in
12939 let _v : 'tv_defineop =
12940 # 675 "parser_cocci_menhir.mly"
12941 ( let (clt,ident) = _1 in
12942 function body ->
12943 Ast0.wrap
12944 (Ast0.Define
12945 (P.clt2mcode "#define" clt,
12946 (match ident with
12947 TMetaId((nm,constraints,pure,clt)) ->
12948 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
12949 | TIdent(nm_pure) ->
12950 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
12951 | _ ->
12952 raise
12953 (Semantic_cocci.Semantic
12954 "unexpected name for a #define")),
12955 Ast0.wrap Ast0.NoParams,
12956 body)) )
12957 # 12958 "parser_cocci_menhir.ml"
12958 in
12959 _menhir_env.MenhirLib.EngineTypes.stack <- {
12960 MenhirLib.EngineTypes.state = _menhir_s;
12961 MenhirLib.EngineTypes.semv = Obj.repr _v;
12962 MenhirLib.EngineTypes.startp = _startpos;
12963 MenhirLib.EngineTypes.endp = _endpos;
12964 MenhirLib.EngineTypes.next = _menhir_stack;
12965 });
12966 (fun _menhir_env ->
12967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12968 let {
12969 MenhirLib.EngineTypes.semv = _3;
12970 MenhirLib.EngineTypes.startp = _startpos__3_;
12971 MenhirLib.EngineTypes.endp = _endpos__3_;
12972 MenhirLib.EngineTypes.next = {
12973 MenhirLib.EngineTypes.semv = _2;
12974 MenhirLib.EngineTypes.startp = _startpos__2_;
12975 MenhirLib.EngineTypes.endp = _endpos__2_;
12976 MenhirLib.EngineTypes.next = {
12977 MenhirLib.EngineTypes.state = _menhir_s;
12978 MenhirLib.EngineTypes.semv = _1;
12979 MenhirLib.EngineTypes.startp = _startpos__1_;
12980 MenhirLib.EngineTypes.endp = _endpos__1_;
12981 MenhirLib.EngineTypes.next = _menhir_stack;
12982 };
12983 };
12984 } = _menhir_stack in
12985 let _3 : (
12986 # 77 "parser_cocci_menhir.mly"
12987 (Data.clt)
12988 # 12989 "parser_cocci_menhir.ml"
12989 ) = Obj.magic _3 in
12990 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
12991 let _1 : (
12992 # 82 "parser_cocci_menhir.mly"
12993 (Data.clt * token * int * int)
12994 # 12995 "parser_cocci_menhir.ml"
12995 ) = Obj.magic _1 in
12996 let _startpos = _startpos__1_ in
12997 let _endpos = _endpos__3_ in
12998 let _v : 'tv_defineop =
12999 # 692 "parser_cocci_menhir.mly"
13000 ( let (clt,ident,parenoff,parencol) = _1 in
13001 (* clt is the start of the #define itself *)
13002 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
13003 let lp =
13004 P.clt2mcode "("
13005 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
13006 function body ->
13007 Ast0.wrap
13008 (Ast0.Define
13009 (P.clt2mcode "#define" clt,
13010 (match ident with
13011 TMetaId((nm,constraints,pure,clt)) ->
13012 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13013 | TIdent(nm_pure) ->
13014 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13015 | _ ->
13016 raise
13017 (Semantic_cocci.Semantic
13018 "unexpected name for a #define")),
13019 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
13020 # 13021 "parser_cocci_menhir.ml"
13021 in
13022 _menhir_env.MenhirLib.EngineTypes.stack <- {
13023 MenhirLib.EngineTypes.state = _menhir_s;
13024 MenhirLib.EngineTypes.semv = Obj.repr _v;
13025 MenhirLib.EngineTypes.startp = _startpos;
13026 MenhirLib.EngineTypes.endp = _endpos;
13027 MenhirLib.EngineTypes.next = _menhir_stack;
13028 });
13029 (fun _menhir_env ->
13030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13031 let {
13032 MenhirLib.EngineTypes.state = _menhir_s;
13033 MenhirLib.EngineTypes.semv = _1;
13034 MenhirLib.EngineTypes.startp = _startpos__1_;
13035 MenhirLib.EngineTypes.endp = _endpos__1_;
13036 MenhirLib.EngineTypes.next = _menhir_stack;
13037 } = _menhir_stack in
13038 let _1 : 'tv_pnrule = Obj.magic _1 in
13039 let _startpos = _startpos__1_ in
13040 let _endpos = _endpos__1_ in
13041 let _v : 'tv_dep =
13042 # 225 "parser_cocci_menhir.mly"
13043 ( _1 )
13044 # 13045 "parser_cocci_menhir.ml"
13045 in
13046 _menhir_env.MenhirLib.EngineTypes.stack <- {
13047 MenhirLib.EngineTypes.state = _menhir_s;
13048 MenhirLib.EngineTypes.semv = Obj.repr _v;
13049 MenhirLib.EngineTypes.startp = _startpos;
13050 MenhirLib.EngineTypes.endp = _endpos;
13051 MenhirLib.EngineTypes.next = _menhir_stack;
13052 });
13053 (fun _menhir_env ->
13054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13055 let {
13056 MenhirLib.EngineTypes.semv = _3;
13057 MenhirLib.EngineTypes.startp = _startpos__3_;
13058 MenhirLib.EngineTypes.endp = _endpos__3_;
13059 MenhirLib.EngineTypes.next = {
13060 MenhirLib.EngineTypes.startp = _startpos__2_;
13061 MenhirLib.EngineTypes.endp = _endpos__2_;
13062 MenhirLib.EngineTypes.next = {
13063 MenhirLib.EngineTypes.state = _menhir_s;
13064 MenhirLib.EngineTypes.semv = _1;
13065 MenhirLib.EngineTypes.startp = _startpos__1_;
13066 MenhirLib.EngineTypes.endp = _endpos__1_;
13067 MenhirLib.EngineTypes.next = _menhir_stack;
13068 };
13069 };
13070 } = _menhir_stack in
13071 let _3 : 'tv_dep = Obj.magic _3 in
13072 let _1 : 'tv_dep = Obj.magic _1 in
13073 let _startpos = _startpos__1_ in
13074 let _endpos = _endpos__3_ in
13075 let _v : 'tv_dep =
13076 # 226 "parser_cocci_menhir.mly"
13077 ( Ast.AndDep(_1, _3) )
13078 # 13079 "parser_cocci_menhir.ml"
13079 in
13080 _menhir_env.MenhirLib.EngineTypes.stack <- {
13081 MenhirLib.EngineTypes.state = _menhir_s;
13082 MenhirLib.EngineTypes.semv = Obj.repr _v;
13083 MenhirLib.EngineTypes.startp = _startpos;
13084 MenhirLib.EngineTypes.endp = _endpos;
13085 MenhirLib.EngineTypes.next = _menhir_stack;
13086 });
13087 (fun _menhir_env ->
13088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13089 let {
13090 MenhirLib.EngineTypes.semv = _3;
13091 MenhirLib.EngineTypes.startp = _startpos__3_;
13092 MenhirLib.EngineTypes.endp = _endpos__3_;
13093 MenhirLib.EngineTypes.next = {
13094 MenhirLib.EngineTypes.startp = _startpos__2_;
13095 MenhirLib.EngineTypes.endp = _endpos__2_;
13096 MenhirLib.EngineTypes.next = {
13097 MenhirLib.EngineTypes.state = _menhir_s;
13098 MenhirLib.EngineTypes.semv = _1;
13099 MenhirLib.EngineTypes.startp = _startpos__1_;
13100 MenhirLib.EngineTypes.endp = _endpos__1_;
13101 MenhirLib.EngineTypes.next = _menhir_stack;
13102 };
13103 };
13104 } = _menhir_stack in
13105 let _3 : 'tv_dep = Obj.magic _3 in
13106 let _1 : 'tv_dep = Obj.magic _1 in
13107 let _startpos = _startpos__1_ in
13108 let _endpos = _endpos__3_ in
13109 let _v : 'tv_dep =
13110 # 227 "parser_cocci_menhir.mly"
13111 ( Ast.OrDep (_1, _3) )
13112 # 13113 "parser_cocci_menhir.ml"
13113 in
13114 _menhir_env.MenhirLib.EngineTypes.stack <- {
13115 MenhirLib.EngineTypes.state = _menhir_s;
13116 MenhirLib.EngineTypes.semv = Obj.repr _v;
13117 MenhirLib.EngineTypes.startp = _startpos;
13118 MenhirLib.EngineTypes.endp = _endpos;
13119 MenhirLib.EngineTypes.next = _menhir_stack;
13120 });
13121 (fun _menhir_env ->
13122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13123 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13124 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13125 let _endpos = _startpos in
13126 let _v : 'tv_depends =
13127 # 221 "parser_cocci_menhir.mly"
13128 ( Ast.NoDep )
13129 # 13130 "parser_cocci_menhir.ml"
13130 in
13131 _menhir_env.MenhirLib.EngineTypes.stack <- {
13132 MenhirLib.EngineTypes.state = _menhir_s;
13133 MenhirLib.EngineTypes.semv = Obj.repr _v;
13134 MenhirLib.EngineTypes.startp = _startpos;
13135 MenhirLib.EngineTypes.endp = _endpos;
13136 MenhirLib.EngineTypes.next = _menhir_stack;
13137 });
13138 (fun _menhir_env ->
13139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13140 let {
13141 MenhirLib.EngineTypes.semv = parents;
13142 MenhirLib.EngineTypes.startp = _startpos_parents_;
13143 MenhirLib.EngineTypes.endp = _endpos_parents_;
13144 MenhirLib.EngineTypes.next = {
13145 MenhirLib.EngineTypes.startp = _startpos__2_;
13146 MenhirLib.EngineTypes.endp = _endpos__2_;
13147 MenhirLib.EngineTypes.next = {
13148 MenhirLib.EngineTypes.state = _menhir_s;
13149 MenhirLib.EngineTypes.startp = _startpos__1_;
13150 MenhirLib.EngineTypes.endp = _endpos__1_;
13151 MenhirLib.EngineTypes.next = _menhir_stack;
13152 };
13153 };
13154 } = _menhir_stack in
13155 let parents : 'tv_dep = Obj.magic parents in
13156 let _startpos = _startpos__1_ in
13157 let _endpos = _endpos_parents_ in
13158 let _v : 'tv_depends =
13159 # 222 "parser_cocci_menhir.mly"
13160 ( parents )
13161 # 13162 "parser_cocci_menhir.ml"
13162 in
13163 _menhir_env.MenhirLib.EngineTypes.stack <- {
13164 MenhirLib.EngineTypes.state = _menhir_s;
13165 MenhirLib.EngineTypes.semv = Obj.repr _v;
13166 MenhirLib.EngineTypes.startp = _startpos;
13167 MenhirLib.EngineTypes.endp = _endpos;
13168 MenhirLib.EngineTypes.next = _menhir_stack;
13169 });
13170 (fun _menhir_env ->
13171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13172 let {
13173 MenhirLib.EngineTypes.semv = _2;
13174 MenhirLib.EngineTypes.startp = _startpos__2_;
13175 MenhirLib.EngineTypes.endp = _endpos__2_;
13176 MenhirLib.EngineTypes.next = {
13177 MenhirLib.EngineTypes.state = _menhir_s;
13178 MenhirLib.EngineTypes.semv = _1;
13179 MenhirLib.EngineTypes.startp = _startpos__1_;
13180 MenhirLib.EngineTypes.endp = _endpos__1_;
13181 MenhirLib.EngineTypes.next = _menhir_stack;
13182 };
13183 } = _menhir_stack in
13184 let _2 : 'tv_ident = Obj.magic _2 in
13185 let _1 : (
13186 # 107 "parser_cocci_menhir.mly"
13187 (Data.clt)
13188 # 13189 "parser_cocci_menhir.ml"
13189 ) = Obj.magic _1 in
13190 let _startpos = _startpos__1_ in
13191 let _endpos = _endpos__2_ in
13192 let _v : 'tv_designator =
13193 # 1100 "parser_cocci_menhir.mly"
13194 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
13195 # 13196 "parser_cocci_menhir.ml"
13196 in
13197 _menhir_env.MenhirLib.EngineTypes.stack <- {
13198 MenhirLib.EngineTypes.state = _menhir_s;
13199 MenhirLib.EngineTypes.semv = Obj.repr _v;
13200 MenhirLib.EngineTypes.startp = _startpos;
13201 MenhirLib.EngineTypes.endp = _endpos;
13202 MenhirLib.EngineTypes.next = _menhir_stack;
13203 });
13204 (fun _menhir_env ->
13205 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13206 let {
13207 MenhirLib.EngineTypes.semv = _3;
13208 MenhirLib.EngineTypes.startp = _startpos__3_;
13209 MenhirLib.EngineTypes.endp = _endpos__3_;
13210 MenhirLib.EngineTypes.next = {
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 };
13222 } = _menhir_stack in
13223 let _3 : (
13224 # 102 "parser_cocci_menhir.mly"
13225 (Data.clt)
13226 # 13227 "parser_cocci_menhir.ml"
13227 ) = Obj.magic _3 in
13228 let _2 : 'tv_eexpr = Obj.magic _2 in
13229 let _1 : (
13230 # 102 "parser_cocci_menhir.mly"
13231 (Data.clt)
13232 # 13233 "parser_cocci_menhir.ml"
13233 ) = Obj.magic _1 in
13234 let _startpos = _startpos__1_ in
13235 let _endpos = _endpos__3_ in
13236 let _v : 'tv_designator =
13237 # 1102 "parser_cocci_menhir.mly"
13238 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
13239 # 13240 "parser_cocci_menhir.ml"
13240 in
13241 _menhir_env.MenhirLib.EngineTypes.stack <- {
13242 MenhirLib.EngineTypes.state = _menhir_s;
13243 MenhirLib.EngineTypes.semv = Obj.repr _v;
13244 MenhirLib.EngineTypes.startp = _startpos;
13245 MenhirLib.EngineTypes.endp = _endpos;
13246 MenhirLib.EngineTypes.next = _menhir_stack;
13247 });
13248 (fun _menhir_env ->
13249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13250 let {
13251 MenhirLib.EngineTypes.semv = _5;
13252 MenhirLib.EngineTypes.startp = _startpos__5_;
13253 MenhirLib.EngineTypes.endp = _endpos__5_;
13254 MenhirLib.EngineTypes.next = {
13255 MenhirLib.EngineTypes.semv = _4;
13256 MenhirLib.EngineTypes.startp = _startpos__4_;
13257 MenhirLib.EngineTypes.endp = _endpos__4_;
13258 MenhirLib.EngineTypes.next = {
13259 MenhirLib.EngineTypes.semv = _3;
13260 MenhirLib.EngineTypes.startp = _startpos__3_;
13261 MenhirLib.EngineTypes.endp = _endpos__3_;
13262 MenhirLib.EngineTypes.next = {
13263 MenhirLib.EngineTypes.semv = _2;
13264 MenhirLib.EngineTypes.startp = _startpos__2_;
13265 MenhirLib.EngineTypes.endp = _endpos__2_;
13266 MenhirLib.EngineTypes.next = {
13267 MenhirLib.EngineTypes.state = _menhir_s;
13268 MenhirLib.EngineTypes.semv = _1;
13269 MenhirLib.EngineTypes.startp = _startpos__1_;
13270 MenhirLib.EngineTypes.endp = _endpos__1_;
13271 MenhirLib.EngineTypes.next = _menhir_stack;
13272 };
13273 };
13274 };
13275 };
13276 } = _menhir_stack in
13277 let _5 : (
13278 # 102 "parser_cocci_menhir.mly"
13279 (Data.clt)
13280 # 13281 "parser_cocci_menhir.ml"
13281 ) = Obj.magic _5 in
13282 let _4 : 'tv_eexpr = Obj.magic _4 in
13283 let _3 : (
13284 # 73 "parser_cocci_menhir.mly"
13285 (Data.clt)
13286 # 13287 "parser_cocci_menhir.ml"
13287 ) = Obj.magic _3 in
13288 let _2 : 'tv_eexpr = Obj.magic _2 in
13289 let _1 : (
13290 # 102 "parser_cocci_menhir.mly"
13291 (Data.clt)
13292 # 13293 "parser_cocci_menhir.ml"
13293 ) = Obj.magic _1 in
13294 let _startpos = _startpos__1_ in
13295 let _endpos = _endpos__5_ in
13296 let _v : 'tv_designator =
13297 # 1104 "parser_cocci_menhir.mly"
13298 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
13299 _4,P.clt2mcode "]" _5) )
13300 # 13301 "parser_cocci_menhir.ml"
13301 in
13302 _menhir_env.MenhirLib.EngineTypes.stack <- {
13303 MenhirLib.EngineTypes.state = _menhir_s;
13304 MenhirLib.EngineTypes.semv = Obj.repr _v;
13305 MenhirLib.EngineTypes.startp = _startpos;
13306 MenhirLib.EngineTypes.endp = _endpos;
13307 MenhirLib.EngineTypes.next = _menhir_stack;
13308 });
13309 (fun _menhir_env ->
13310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13311 let {
13312 MenhirLib.EngineTypes.state = _menhir_s;
13313 MenhirLib.EngineTypes.semv = _1;
13314 MenhirLib.EngineTypes.startp = _startpos__1_;
13315 MenhirLib.EngineTypes.endp = _endpos__1_;
13316 MenhirLib.EngineTypes.next = _menhir_stack;
13317 } = _menhir_stack in
13318 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
13319 let _startpos = _startpos__1_ in
13320 let _endpos = _endpos__1_ in
13321 let _v : 'tv_dexpr =
13322 # 1203 "parser_cocci_menhir.mly"
13323 ( _1 )
13324 # 13325 "parser_cocci_menhir.ml"
13325 in
13326 _menhir_env.MenhirLib.EngineTypes.stack <- {
13327 MenhirLib.EngineTypes.state = _menhir_s;
13328 MenhirLib.EngineTypes.semv = Obj.repr _v;
13329 MenhirLib.EngineTypes.startp = _startpos;
13330 MenhirLib.EngineTypes.endp = _endpos;
13331 MenhirLib.EngineTypes.next = _menhir_stack;
13332 });
13333 (fun _menhir_env ->
13334 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13335 let {
13336 MenhirLib.EngineTypes.semv = _2;
13337 MenhirLib.EngineTypes.startp = _startpos__2_;
13338 MenhirLib.EngineTypes.endp = _endpos__2_;
13339 MenhirLib.EngineTypes.next = {
13340 MenhirLib.EngineTypes.state = _menhir_s;
13341 MenhirLib.EngineTypes.startp = _startpos__1_;
13342 MenhirLib.EngineTypes.endp = _endpos__1_;
13343 MenhirLib.EngineTypes.next = _menhir_stack;
13344 };
13345 } = _menhir_stack in
13346 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
13347 let _startpos = _startpos__1_ in
13348 let _endpos = _endpos__2_ in
13349 let _v : 'tv_disable =
13350 # 240 "parser_cocci_menhir.mly"
13351 ( List.map P.id2name _2 )
13352 # 13353 "parser_cocci_menhir.ml"
13353 in
13354 _menhir_env.MenhirLib.EngineTypes.stack <- {
13355 MenhirLib.EngineTypes.state = _menhir_s;
13356 MenhirLib.EngineTypes.semv = Obj.repr _v;
13357 MenhirLib.EngineTypes.startp = _startpos;
13358 MenhirLib.EngineTypes.endp = _endpos;
13359 MenhirLib.EngineTypes.next = _menhir_stack;
13360 });
13361 (fun _menhir_env ->
13362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13363 let {
13364 MenhirLib.EngineTypes.state = _menhir_s;
13365 MenhirLib.EngineTypes.semv = _1;
13366 MenhirLib.EngineTypes.startp = _startpos__1_;
13367 MenhirLib.EngineTypes.endp = _endpos__1_;
13368 MenhirLib.EngineTypes.next = _menhir_stack;
13369 } = _menhir_stack in
13370 let _1 : (
13371 # 73 "parser_cocci_menhir.mly"
13372 (Data.clt)
13373 # 13374 "parser_cocci_menhir.ml"
13374 ) = Obj.magic _1 in
13375 let _startpos = _startpos__1_ in
13376 let _endpos = _endpos__1_ in
13377 let _v : 'tv_dot_expressions =
13378 # 1212 "parser_cocci_menhir.mly"
13379 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
13380 # 13381 "parser_cocci_menhir.ml"
13381 in
13382 _menhir_env.MenhirLib.EngineTypes.stack <- {
13383 MenhirLib.EngineTypes.state = _menhir_s;
13384 MenhirLib.EngineTypes.semv = Obj.repr _v;
13385 MenhirLib.EngineTypes.startp = _startpos;
13386 MenhirLib.EngineTypes.endp = _endpos;
13387 MenhirLib.EngineTypes.next = _menhir_stack;
13388 });
13389 (fun _menhir_env ->
13390 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13391 let {
13392 MenhirLib.EngineTypes.state = _menhir_s;
13393 MenhirLib.EngineTypes.semv = _1;
13394 MenhirLib.EngineTypes.startp = _startpos__1_;
13395 MenhirLib.EngineTypes.endp = _endpos__1_;
13396 MenhirLib.EngineTypes.next = _menhir_stack;
13397 } = _menhir_stack in
13398 let _1 : 'tv_nest_expressions = Obj.magic _1 in
13399 let _startpos = _startpos__1_ in
13400 let _endpos = _endpos__1_ in
13401 let _v : 'tv_dot_expressions =
13402 # 1213 "parser_cocci_menhir.mly"
13403 ( _1 )
13404 # 13405 "parser_cocci_menhir.ml"
13405 in
13406 _menhir_env.MenhirLib.EngineTypes.stack <- {
13407 MenhirLib.EngineTypes.state = _menhir_s;
13408 MenhirLib.EngineTypes.semv = Obj.repr _v;
13409 MenhirLib.EngineTypes.startp = _startpos;
13410 MenhirLib.EngineTypes.endp = _endpos;
13411 MenhirLib.EngineTypes.next = _menhir_stack;
13412 });
13413 (fun _menhir_env ->
13414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13415 let {
13416 MenhirLib.EngineTypes.semv = d;
13417 MenhirLib.EngineTypes.startp = _startpos_d_;
13418 MenhirLib.EngineTypes.endp = _endpos_d_;
13419 MenhirLib.EngineTypes.next = {
13420 MenhirLib.EngineTypes.state = _menhir_s;
13421 MenhirLib.EngineTypes.semv = c;
13422 MenhirLib.EngineTypes.startp = _startpos_c_;
13423 MenhirLib.EngineTypes.endp = _endpos_c_;
13424 MenhirLib.EngineTypes.next = _menhir_stack;
13425 };
13426 } = _menhir_stack in
13427 let d : (
13428 # 73 "parser_cocci_menhir.mly"
13429 (Data.clt)
13430 # 13431 "parser_cocci_menhir.ml"
13431 ) = Obj.magic d in
13432 let c : (
13433 # 107 "parser_cocci_menhir.mly"
13434 (Data.clt)
13435 # 13436 "parser_cocci_menhir.ml"
13436 ) = Obj.magic c in
13437 let _startpos = _startpos_c_ in
13438 let _endpos = _endpos_d_ in
13439 let _v : 'tv_dp_comma_args_TEllipsis_ =
13440 # 733 "parser_cocci_menhir.mly"
13441 ( function dot_builder ->
13442 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
13443 # 13444 "parser_cocci_menhir.ml"
13444 in
13445 _menhir_env.MenhirLib.EngineTypes.stack <- {
13446 MenhirLib.EngineTypes.state = _menhir_s;
13447 MenhirLib.EngineTypes.semv = Obj.repr _v;
13448 MenhirLib.EngineTypes.startp = _startpos;
13449 MenhirLib.EngineTypes.endp = _endpos;
13450 MenhirLib.EngineTypes.next = _menhir_stack;
13451 });
13452 (fun _menhir_env ->
13453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13454 let {
13455 MenhirLib.EngineTypes.semv = _2;
13456 MenhirLib.EngineTypes.startp = _startpos__2_;
13457 MenhirLib.EngineTypes.endp = _endpos__2_;
13458 MenhirLib.EngineTypes.next = {
13459 MenhirLib.EngineTypes.state = _menhir_s;
13460 MenhirLib.EngineTypes.semv = _1;
13461 MenhirLib.EngineTypes.startp = _startpos__1_;
13462 MenhirLib.EngineTypes.endp = _endpos__1_;
13463 MenhirLib.EngineTypes.next = _menhir_stack;
13464 };
13465 } = _menhir_stack in
13466 let _2 : 'tv_ident = Obj.magic _2 in
13467 let _1 : (
13468 # 107 "parser_cocci_menhir.mly"
13469 (Data.clt)
13470 # 13471 "parser_cocci_menhir.ml"
13471 ) = Obj.magic _1 in
13472 let _startpos = _startpos__1_ in
13473 let _endpos = _endpos__2_ in
13474 let _v : 'tv_dp_comma_args_TEllipsis_ =
13475 # 736 "parser_cocci_menhir.mly"
13476 ( function dot_builder ->
13477 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
13478 Ast0.wrap(Ast0.DParam _2)] )
13479 # 13480 "parser_cocci_menhir.ml"
13480 in
13481 _menhir_env.MenhirLib.EngineTypes.stack <- {
13482 MenhirLib.EngineTypes.state = _menhir_s;
13483 MenhirLib.EngineTypes.semv = Obj.repr _v;
13484 MenhirLib.EngineTypes.startp = _startpos;
13485 MenhirLib.EngineTypes.endp = _endpos;
13486 MenhirLib.EngineTypes.next = _menhir_stack;
13487 });
13488 (fun _menhir_env ->
13489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13490 let {
13491 MenhirLib.EngineTypes.state = _menhir_s;
13492 MenhirLib.EngineTypes.semv = d;
13493 MenhirLib.EngineTypes.startp = _startpos_d_;
13494 MenhirLib.EngineTypes.endp = _endpos_d_;
13495 MenhirLib.EngineTypes.next = _menhir_stack;
13496 } = _menhir_stack in
13497 let d : (
13498 # 73 "parser_cocci_menhir.mly"
13499 (Data.clt)
13500 # 13501 "parser_cocci_menhir.ml"
13501 ) = Obj.magic d in
13502 let _startpos = _startpos_d_ in
13503 let _endpos = _endpos_d_ in
13504 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13505 # 1887 "parser_cocci_menhir.mly"
13506 ( (d,None) )
13507 # 13508 "parser_cocci_menhir.ml"
13508 in
13509 _menhir_env.MenhirLib.EngineTypes.stack <- {
13510 MenhirLib.EngineTypes.state = _menhir_s;
13511 MenhirLib.EngineTypes.semv = Obj.repr _v;
13512 MenhirLib.EngineTypes.startp = _startpos;
13513 MenhirLib.EngineTypes.endp = _endpos;
13514 MenhirLib.EngineTypes.next = _menhir_stack;
13515 });
13516 (fun _menhir_env ->
13517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13518 let {
13519 MenhirLib.EngineTypes.startp = _startpos__5_;
13520 MenhirLib.EngineTypes.endp = _endpos__5_;
13521 MenhirLib.EngineTypes.next = {
13522 MenhirLib.EngineTypes.semv = w;
13523 MenhirLib.EngineTypes.startp = _startpos_w_;
13524 MenhirLib.EngineTypes.endp = _endpos_w_;
13525 MenhirLib.EngineTypes.next = {
13526 MenhirLib.EngineTypes.startp = _startpos__3_;
13527 MenhirLib.EngineTypes.endp = _endpos__3_;
13528 MenhirLib.EngineTypes.next = {
13529 MenhirLib.EngineTypes.startp = _startpos__2_;
13530 MenhirLib.EngineTypes.endp = _endpos__2_;
13531 MenhirLib.EngineTypes.next = {
13532 MenhirLib.EngineTypes.state = _menhir_s;
13533 MenhirLib.EngineTypes.semv = d;
13534 MenhirLib.EngineTypes.startp = _startpos_d_;
13535 MenhirLib.EngineTypes.endp = _endpos_d_;
13536 MenhirLib.EngineTypes.next = _menhir_stack;
13537 };
13538 };
13539 };
13540 };
13541 } = _menhir_stack in
13542 let w : 'tv_eexpr = Obj.magic w in
13543 let d : (
13544 # 73 "parser_cocci_menhir.mly"
13545 (Data.clt)
13546 # 13547 "parser_cocci_menhir.ml"
13547 ) = Obj.magic d in
13548 let _startpos = _startpos_d_ in
13549 let _endpos = _endpos__5_ in
13550 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13551 # 1888 "parser_cocci_menhir.mly"
13552 ( (d,Some w) )
13553 # 13554 "parser_cocci_menhir.ml"
13554 in
13555 _menhir_env.MenhirLib.EngineTypes.stack <- {
13556 MenhirLib.EngineTypes.state = _menhir_s;
13557 MenhirLib.EngineTypes.semv = Obj.repr _v;
13558 MenhirLib.EngineTypes.startp = _startpos;
13559 MenhirLib.EngineTypes.endp = _endpos;
13560 MenhirLib.EngineTypes.next = _menhir_stack;
13561 });
13562 (fun _menhir_env ->
13563 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13564 let {
13565 MenhirLib.EngineTypes.state = _menhir_s;
13566 MenhirLib.EngineTypes.semv = d;
13567 MenhirLib.EngineTypes.startp = _startpos_d_;
13568 MenhirLib.EngineTypes.endp = _endpos_d_;
13569 MenhirLib.EngineTypes.next = _menhir_stack;
13570 } = _menhir_stack in
13571 let d : (
13572 # 73 "parser_cocci_menhir.mly"
13573 (Data.clt)
13574 # 13575 "parser_cocci_menhir.ml"
13575 ) = Obj.magic d in
13576 let _startpos = _startpos_d_ in
13577 let _endpos = _endpos_d_ in
13578 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13579 # 1887 "parser_cocci_menhir.mly"
13580 ( (d,None) )
13581 # 13582 "parser_cocci_menhir.ml"
13582 in
13583 _menhir_env.MenhirLib.EngineTypes.stack <- {
13584 MenhirLib.EngineTypes.state = _menhir_s;
13585 MenhirLib.EngineTypes.semv = Obj.repr _v;
13586 MenhirLib.EngineTypes.startp = _startpos;
13587 MenhirLib.EngineTypes.endp = _endpos;
13588 MenhirLib.EngineTypes.next = _menhir_stack;
13589 });
13590 (fun _menhir_env ->
13591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13592 let {
13593 MenhirLib.EngineTypes.startp = _startpos__5_;
13594 MenhirLib.EngineTypes.endp = _endpos__5_;
13595 MenhirLib.EngineTypes.next = {
13596 MenhirLib.EngineTypes.semv = w;
13597 MenhirLib.EngineTypes.startp = _startpos_w_;
13598 MenhirLib.EngineTypes.endp = _endpos_w_;
13599 MenhirLib.EngineTypes.next = {
13600 MenhirLib.EngineTypes.startp = _startpos__3_;
13601 MenhirLib.EngineTypes.endp = _endpos__3_;
13602 MenhirLib.EngineTypes.next = {
13603 MenhirLib.EngineTypes.startp = _startpos__2_;
13604 MenhirLib.EngineTypes.endp = _endpos__2_;
13605 MenhirLib.EngineTypes.next = {
13606 MenhirLib.EngineTypes.state = _menhir_s;
13607 MenhirLib.EngineTypes.semv = d;
13608 MenhirLib.EngineTypes.startp = _startpos_d_;
13609 MenhirLib.EngineTypes.endp = _endpos_d_;
13610 MenhirLib.EngineTypes.next = _menhir_stack;
13611 };
13612 };
13613 };
13614 };
13615 } = _menhir_stack in
13616 let w : 'tv_initialize = Obj.magic w in
13617 let d : (
13618 # 73 "parser_cocci_menhir.mly"
13619 (Data.clt)
13620 # 13621 "parser_cocci_menhir.ml"
13621 ) = Obj.magic d in
13622 let _startpos = _startpos_d_ in
13623 let _endpos = _endpos__5_ in
13624 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13625 # 1888 "parser_cocci_menhir.mly"
13626 ( (d,Some w) )
13627 # 13628 "parser_cocci_menhir.ml"
13628 in
13629 _menhir_env.MenhirLib.EngineTypes.stack <- {
13630 MenhirLib.EngineTypes.state = _menhir_s;
13631 MenhirLib.EngineTypes.semv = Obj.repr _v;
13632 MenhirLib.EngineTypes.startp = _startpos;
13633 MenhirLib.EngineTypes.endp = _endpos;
13634 MenhirLib.EngineTypes.next = _menhir_stack;
13635 });
13636 (fun _menhir_env ->
13637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13638 let {
13639 MenhirLib.EngineTypes.state = _menhir_s;
13640 MenhirLib.EngineTypes.semv = d;
13641 MenhirLib.EngineTypes.startp = _startpos_d_;
13642 MenhirLib.EngineTypes.endp = _endpos_d_;
13643 MenhirLib.EngineTypes.next = _menhir_stack;
13644 } = _menhir_stack in
13645 let d : (
13646 # 73 "parser_cocci_menhir.mly"
13647 (Data.clt)
13648 # 13649 "parser_cocci_menhir.ml"
13649 ) = Obj.magic d in
13650 let _startpos = _startpos_d_ in
13651 let _endpos = _endpos_d_ in
13652 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13653 # 1887 "parser_cocci_menhir.mly"
13654 ( (d,None) )
13655 # 13656 "parser_cocci_menhir.ml"
13656 in
13657 _menhir_env.MenhirLib.EngineTypes.stack <- {
13658 MenhirLib.EngineTypes.state = _menhir_s;
13659 MenhirLib.EngineTypes.semv = Obj.repr _v;
13660 MenhirLib.EngineTypes.startp = _startpos;
13661 MenhirLib.EngineTypes.endp = _endpos;
13662 MenhirLib.EngineTypes.next = _menhir_stack;
13663 });
13664 (fun _menhir_env ->
13665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13666 let {
13667 MenhirLib.EngineTypes.startp = _startpos__5_;
13668 MenhirLib.EngineTypes.endp = _endpos__5_;
13669 MenhirLib.EngineTypes.next = {
13670 MenhirLib.EngineTypes.semv = w;
13671 MenhirLib.EngineTypes.startp = _startpos_w_;
13672 MenhirLib.EngineTypes.endp = _endpos_w_;
13673 MenhirLib.EngineTypes.next = {
13674 MenhirLib.EngineTypes.startp = _startpos__3_;
13675 MenhirLib.EngineTypes.endp = _endpos__3_;
13676 MenhirLib.EngineTypes.next = {
13677 MenhirLib.EngineTypes.startp = _startpos__2_;
13678 MenhirLib.EngineTypes.endp = _endpos__2_;
13679 MenhirLib.EngineTypes.next = {
13680 MenhirLib.EngineTypes.state = _menhir_s;
13681 MenhirLib.EngineTypes.semv = d;
13682 MenhirLib.EngineTypes.startp = _startpos_d_;
13683 MenhirLib.EngineTypes.endp = _endpos_d_;
13684 MenhirLib.EngineTypes.next = _menhir_stack;
13685 };
13686 };
13687 };
13688 };
13689 } = _menhir_stack in
13690 let w : 'tv_struct_decl = Obj.magic w in
13691 let d : (
13692 # 73 "parser_cocci_menhir.mly"
13693 (Data.clt)
13694 # 13695 "parser_cocci_menhir.ml"
13695 ) = Obj.magic d in
13696 let _startpos = _startpos_d_ in
13697 let _endpos = _endpos__5_ in
13698 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13699 # 1888 "parser_cocci_menhir.mly"
13700 ( (d,Some w) )
13701 # 13702 "parser_cocci_menhir.ml"
13702 in
13703 _menhir_env.MenhirLib.EngineTypes.stack <- {
13704 MenhirLib.EngineTypes.state = _menhir_s;
13705 MenhirLib.EngineTypes.semv = Obj.repr _v;
13706 MenhirLib.EngineTypes.startp = _startpos;
13707 MenhirLib.EngineTypes.endp = _endpos;
13708 MenhirLib.EngineTypes.next = _menhir_stack;
13709 });
13710 (fun _menhir_env ->
13711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13712 let {
13713 MenhirLib.EngineTypes.state = _menhir_s;
13714 MenhirLib.EngineTypes.semv = _1;
13715 MenhirLib.EngineTypes.startp = _startpos__1_;
13716 MenhirLib.EngineTypes.endp = _endpos__1_;
13717 MenhirLib.EngineTypes.next = _menhir_stack;
13718 } = _menhir_stack in
13719 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
13720 let _startpos = _startpos__1_ in
13721 let _endpos = _endpos__1_ in
13722 let _v : 'tv_eexpr =
13723 # 1201 "parser_cocci_menhir.mly"
13724 ( _1 )
13725 # 13726 "parser_cocci_menhir.ml"
13726 in
13727 _menhir_env.MenhirLib.EngineTypes.stack <- {
13728 MenhirLib.EngineTypes.state = _menhir_s;
13729 MenhirLib.EngineTypes.semv = Obj.repr _v;
13730 MenhirLib.EngineTypes.startp = _startpos;
13731 MenhirLib.EngineTypes.endp = _endpos;
13732 MenhirLib.EngineTypes.next = _menhir_stack;
13733 });
13734 (fun _menhir_env ->
13735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13736 let {
13737 MenhirLib.EngineTypes.state = _menhir_s;
13738 MenhirLib.EngineTypes.semv = _1;
13739 MenhirLib.EngineTypes.startp = _startpos__1_;
13740 MenhirLib.EngineTypes.endp = _endpos__1_;
13741 MenhirLib.EngineTypes.next = _menhir_stack;
13742 } = _menhir_stack in
13743 let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
13744 let _startpos = _startpos__1_ in
13745 let _endpos = _endpos__1_ in
13746 let _v : 'tv_eexpr_list =
13747 # 1831 "parser_cocci_menhir.mly"
13748 (let circle x =
13749 match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
13750 let star x =
13751 match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
13752 if List.exists circle _1
13753 then Ast0.wrap(Ast0.CIRCLES(_1))
13754 else
13755 if List.exists star _1
13756 then Ast0.wrap(Ast0.STARS(_1))
13757 else Ast0.wrap(Ast0.DOTS(_1)) )
13758 # 13759 "parser_cocci_menhir.ml"
13759 in
13760 _menhir_env.MenhirLib.EngineTypes.stack <- {
13761 MenhirLib.EngineTypes.state = _menhir_s;
13762 MenhirLib.EngineTypes.semv = Obj.repr _v;
13763 MenhirLib.EngineTypes.startp = _startpos;
13764 MenhirLib.EngineTypes.endp = _endpos;
13765 MenhirLib.EngineTypes.next = _menhir_stack;
13766 });
13767 (fun _menhir_env ->
13768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13769 let {
13770 MenhirLib.EngineTypes.state = _menhir_s;
13771 MenhirLib.EngineTypes.semv = _1;
13772 MenhirLib.EngineTypes.startp = _startpos__1_;
13773 MenhirLib.EngineTypes.endp = _endpos__1_;
13774 MenhirLib.EngineTypes.next = _menhir_stack;
13775 } = _menhir_stack in
13776 let _1 : 'tv_eexpr_list = Obj.magic _1 in
13777 let _startpos = _startpos__1_ in
13778 let _endpos = _endpos__1_ in
13779 let _v : 'tv_eexpr_list_option =
13780 # 1870 "parser_cocci_menhir.mly"
13781 ( _1 )
13782 # 13783 "parser_cocci_menhir.ml"
13783 in
13784 _menhir_env.MenhirLib.EngineTypes.stack <- {
13785 MenhirLib.EngineTypes.state = _menhir_s;
13786 MenhirLib.EngineTypes.semv = Obj.repr _v;
13787 MenhirLib.EngineTypes.startp = _startpos;
13788 MenhirLib.EngineTypes.endp = _endpos;
13789 MenhirLib.EngineTypes.next = _menhir_stack;
13790 });
13791 (fun _menhir_env ->
13792 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13793 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13794 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13795 let _endpos = _startpos in
13796 let _v : 'tv_eexpr_list_option =
13797 # 1871 "parser_cocci_menhir.mly"
13798 ( Ast0.wrap(Ast0.DOTS([])) )
13799 # 13800 "parser_cocci_menhir.ml"
13800 in
13801 _menhir_env.MenhirLib.EngineTypes.stack <- {
13802 MenhirLib.EngineTypes.state = _menhir_s;
13803 MenhirLib.EngineTypes.semv = Obj.repr _v;
13804 MenhirLib.EngineTypes.startp = _startpos;
13805 MenhirLib.EngineTypes.endp = _endpos;
13806 MenhirLib.EngineTypes.next = _menhir_stack;
13807 });
13808 (fun _menhir_env ->
13809 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13810 let {
13811 MenhirLib.EngineTypes.state = _menhir_s;
13812 MenhirLib.EngineTypes.semv = _1;
13813 MenhirLib.EngineTypes.startp = _startpos__1_;
13814 MenhirLib.EngineTypes.endp = _endpos__1_;
13815 MenhirLib.EngineTypes.next = _menhir_stack;
13816 } = _menhir_stack in
13817 let _1 : 'tv_aexpr = Obj.magic _1 in
13818 let _startpos = _startpos__1_ in
13819 let _endpos = _endpos__1_ in
13820 let _v : 'tv_eexpr_list_start =
13821 # 1858 "parser_cocci_menhir.mly"
13822 ( [_1] )
13823 # 13824 "parser_cocci_menhir.ml"
13824 in
13825 _menhir_env.MenhirLib.EngineTypes.stack <- {
13826 MenhirLib.EngineTypes.state = _menhir_s;
13827 MenhirLib.EngineTypes.semv = Obj.repr _v;
13828 MenhirLib.EngineTypes.startp = _startpos;
13829 MenhirLib.EngineTypes.endp = _endpos;
13830 MenhirLib.EngineTypes.next = _menhir_stack;
13831 });
13832 (fun _menhir_env ->
13833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13834 let {
13835 MenhirLib.EngineTypes.semv = _3;
13836 MenhirLib.EngineTypes.startp = _startpos__3_;
13837 MenhirLib.EngineTypes.endp = _endpos__3_;
13838 MenhirLib.EngineTypes.next = {
13839 MenhirLib.EngineTypes.semv = _2;
13840 MenhirLib.EngineTypes.startp = _startpos__2_;
13841 MenhirLib.EngineTypes.endp = _endpos__2_;
13842 MenhirLib.EngineTypes.next = {
13843 MenhirLib.EngineTypes.state = _menhir_s;
13844 MenhirLib.EngineTypes.semv = _1;
13845 MenhirLib.EngineTypes.startp = _startpos__1_;
13846 MenhirLib.EngineTypes.endp = _endpos__1_;
13847 MenhirLib.EngineTypes.next = _menhir_stack;
13848 };
13849 };
13850 } = _menhir_stack in
13851 let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
13852 let _2 : (
13853 # 107 "parser_cocci_menhir.mly"
13854 (Data.clt)
13855 # 13856 "parser_cocci_menhir.ml"
13856 ) = Obj.magic _2 in
13857 let _1 : 'tv_aexpr = Obj.magic _1 in
13858 let _startpos = _startpos__1_ in
13859 let _endpos = _endpos__3_ in
13860 let _v : 'tv_eexpr_list_start =
13861 # 1860 "parser_cocci_menhir.mly"
13862 ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
13863 # 13864 "parser_cocci_menhir.ml"
13864 in
13865 _menhir_env.MenhirLib.EngineTypes.stack <- {
13866 MenhirLib.EngineTypes.state = _menhir_s;
13867 MenhirLib.EngineTypes.semv = Obj.repr _v;
13868 MenhirLib.EngineTypes.startp = _startpos;
13869 MenhirLib.EngineTypes.endp = _endpos;
13870 MenhirLib.EngineTypes.next = _menhir_stack;
13871 });
13872 (fun _menhir_env ->
13873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13874 let {
13875 MenhirLib.EngineTypes.state = _menhir_s;
13876 MenhirLib.EngineTypes.startp = _startpos__1_;
13877 MenhirLib.EngineTypes.endp = _endpos__1_;
13878 MenhirLib.EngineTypes.next = _menhir_stack;
13879 } = _menhir_stack in
13880 let _startpos = _startpos__1_ in
13881 let _endpos = _endpos__1_ in
13882 let _v : 'tv_exists =
13883 # 243 "parser_cocci_menhir.mly"
13884 ( Ast.Exists )
13885 # 13886 "parser_cocci_menhir.ml"
13886 in
13887 _menhir_env.MenhirLib.EngineTypes.stack <- {
13888 MenhirLib.EngineTypes.state = _menhir_s;
13889 MenhirLib.EngineTypes.semv = Obj.repr _v;
13890 MenhirLib.EngineTypes.startp = _startpos;
13891 MenhirLib.EngineTypes.endp = _endpos;
13892 MenhirLib.EngineTypes.next = _menhir_stack;
13893 });
13894 (fun _menhir_env ->
13895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13896 let {
13897 MenhirLib.EngineTypes.state = _menhir_s;
13898 MenhirLib.EngineTypes.startp = _startpos__1_;
13899 MenhirLib.EngineTypes.endp = _endpos__1_;
13900 MenhirLib.EngineTypes.next = _menhir_stack;
13901 } = _menhir_stack in
13902 let _startpos = _startpos__1_ in
13903 let _endpos = _endpos__1_ in
13904 let _v : 'tv_exists =
13905 # 244 "parser_cocci_menhir.mly"
13906 ( Ast.Forall )
13907 # 13908 "parser_cocci_menhir.ml"
13908 in
13909 _menhir_env.MenhirLib.EngineTypes.stack <- {
13910 MenhirLib.EngineTypes.state = _menhir_s;
13911 MenhirLib.EngineTypes.semv = Obj.repr _v;
13912 MenhirLib.EngineTypes.startp = _startpos;
13913 MenhirLib.EngineTypes.endp = _endpos;
13914 MenhirLib.EngineTypes.next = _menhir_stack;
13915 });
13916 (fun _menhir_env ->
13917 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13918 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13919 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13920 let _endpos = _startpos in
13921 let _v : 'tv_exists =
13922 # 245 "parser_cocci_menhir.mly"
13923 ( Ast.Undetermined )
13924 # 13925 "parser_cocci_menhir.ml"
13925 in
13926 _menhir_env.MenhirLib.EngineTypes.stack <- {
13927 MenhirLib.EngineTypes.state = _menhir_s;
13928 MenhirLib.EngineTypes.semv = Obj.repr _v;
13929 MenhirLib.EngineTypes.startp = _startpos;
13930 MenhirLib.EngineTypes.endp = _endpos;
13931 MenhirLib.EngineTypes.next = _menhir_stack;
13932 });
13933 (fun _menhir_env ->
13934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13935 let {
13936 MenhirLib.EngineTypes.state = _menhir_s;
13937 MenhirLib.EngineTypes.semv = _1;
13938 MenhirLib.EngineTypes.startp = _startpos__1_;
13939 MenhirLib.EngineTypes.endp = _endpos__1_;
13940 MenhirLib.EngineTypes.next = _menhir_stack;
13941 } = _menhir_stack in
13942 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
13943 let _startpos = _startpos__1_ in
13944 let _endpos = _endpos__1_ in
13945 let _v : 'tv_expr =
13946 # 1199 "parser_cocci_menhir.mly"
13947 ( _1 )
13948 # 13949 "parser_cocci_menhir.ml"
13949 in
13950 _menhir_env.MenhirLib.EngineTypes.stack <- {
13951 MenhirLib.EngineTypes.state = _menhir_s;
13952 MenhirLib.EngineTypes.semv = Obj.repr _v;
13953 MenhirLib.EngineTypes.startp = _startpos;
13954 MenhirLib.EngineTypes.endp = _endpos;
13955 MenhirLib.EngineTypes.next = _menhir_stack;
13956 });
13957 (fun _menhir_env ->
13958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13959 let {
13960 MenhirLib.EngineTypes.state = _menhir_s;
13961 MenhirLib.EngineTypes.semv = r;
13962 MenhirLib.EngineTypes.startp = _startpos_r_;
13963 MenhirLib.EngineTypes.endp = _endpos_r_;
13964 MenhirLib.EngineTypes.next = _menhir_stack;
13965 } = _menhir_stack in
13966 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
13967 let _startpos = _startpos_r_ in
13968 let _endpos = _endpos_r_ in
13969 let _v : 'tv_expr_dots_TEllipsis_ =
13970 # 1381 "parser_cocci_menhir.mly"
13971 ( r )
13972 # 13973 "parser_cocci_menhir.ml"
13973 in
13974 _menhir_env.MenhirLib.EngineTypes.stack <- {
13975 MenhirLib.EngineTypes.state = _menhir_s;
13976 MenhirLib.EngineTypes.semv = Obj.repr _v;
13977 MenhirLib.EngineTypes.startp = _startpos;
13978 MenhirLib.EngineTypes.endp = _endpos;
13979 MenhirLib.EngineTypes.next = _menhir_stack;
13980 });
13981 (fun _menhir_env ->
13982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13983 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13984 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13985 let _endpos = _startpos in
13986 let _v : 'tv_extends =
13987 # 216 "parser_cocci_menhir.mly"
13988 ( () )
13989 # 13990 "parser_cocci_menhir.ml"
13990 in
13991 _menhir_env.MenhirLib.EngineTypes.stack <- {
13992 MenhirLib.EngineTypes.state = _menhir_s;
13993 MenhirLib.EngineTypes.semv = Obj.repr _v;
13994 MenhirLib.EngineTypes.startp = _startpos;
13995 MenhirLib.EngineTypes.endp = _endpos;
13996 MenhirLib.EngineTypes.next = _menhir_stack;
13997 });
13998 (fun _menhir_env ->
13999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14000 let {
14001 MenhirLib.EngineTypes.semv = parent;
14002 MenhirLib.EngineTypes.startp = _startpos_parent_;
14003 MenhirLib.EngineTypes.endp = _endpos_parent_;
14004 MenhirLib.EngineTypes.next = {
14005 MenhirLib.EngineTypes.state = _menhir_s;
14006 MenhirLib.EngineTypes.startp = _startpos__1_;
14007 MenhirLib.EngineTypes.endp = _endpos__1_;
14008 MenhirLib.EngineTypes.next = _menhir_stack;
14009 };
14010 } = _menhir_stack in
14011 let parent : (
14012 # 47 "parser_cocci_menhir.mly"
14013 (string)
14014 # 14015 "parser_cocci_menhir.ml"
14015 ) = Obj.magic parent in
14016 let _startpos = _startpos__1_ in
14017 let _endpos = _endpos_parent_ in
14018 let _v : 'tv_extends =
14019 # 218 "parser_cocci_menhir.mly"
14020 ( !Data.install_bindings (parent) )
14021 # 14022 "parser_cocci_menhir.ml"
14022 in
14023 _menhir_env.MenhirLib.EngineTypes.stack <- {
14024 MenhirLib.EngineTypes.state = _menhir_s;
14025 MenhirLib.EngineTypes.semv = Obj.repr _v;
14026 MenhirLib.EngineTypes.startp = _startpos;
14027 MenhirLib.EngineTypes.endp = _endpos;
14028 MenhirLib.EngineTypes.next = _menhir_stack;
14029 });
14030 (fun _menhir_env ->
14031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14032 let {
14033 MenhirLib.EngineTypes.semv = _2;
14034 MenhirLib.EngineTypes.startp = _startpos__2_;
14035 MenhirLib.EngineTypes.endp = _endpos__2_;
14036 MenhirLib.EngineTypes.next = {
14037 MenhirLib.EngineTypes.state = _menhir_s;
14038 MenhirLib.EngineTypes.semv = _1;
14039 MenhirLib.EngineTypes.startp = _startpos__1_;
14040 MenhirLib.EngineTypes.endp = _endpos__1_;
14041 MenhirLib.EngineTypes.next = _menhir_stack;
14042 };
14043 } = _menhir_stack in
14044 let _2 : (
14045 # 83 "parser_cocci_menhir.mly"
14046 (string * Data.clt)
14047 # 14048 "parser_cocci_menhir.ml"
14048 ) = Obj.magic _2 in
14049 let _1 : (
14050 # 83 "parser_cocci_menhir.mly"
14051 (string * Data.clt)
14052 # 14053 "parser_cocci_menhir.ml"
14053 ) = Obj.magic _1 in
14054 let _startpos = _startpos__1_ in
14055 let _endpos = _endpos__2_ in
14056 let _v : 'tv_filespec =
14057 # 632 "parser_cocci_menhir.mly"
14058 ( [Ast0.wrap
14059 (Ast0.FILEINFO(P.id2mcode _1,
14060 P.id2mcode _2))] )
14061 # 14062 "parser_cocci_menhir.ml"
14062 in
14063 _menhir_env.MenhirLib.EngineTypes.stack <- {
14064 MenhirLib.EngineTypes.state = _menhir_s;
14065 MenhirLib.EngineTypes.semv = Obj.repr _v;
14066 MenhirLib.EngineTypes.startp = _startpos;
14067 MenhirLib.EngineTypes.endp = _endpos;
14068 MenhirLib.EngineTypes.next = _menhir_stack;
14069 });
14070 (fun _menhir_env ->
14071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14072 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14073 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14074 let _endpos = _startpos in
14075 let _v : 'tv_fninfo =
14076 # 769 "parser_cocci_menhir.mly"
14077 ( [] )
14078 # 14079 "parser_cocci_menhir.ml"
14079 in
14080 _menhir_env.MenhirLib.EngineTypes.stack <- {
14081 MenhirLib.EngineTypes.state = _menhir_s;
14082 MenhirLib.EngineTypes.semv = Obj.repr _v;
14083 MenhirLib.EngineTypes.startp = _startpos;
14084 MenhirLib.EngineTypes.endp = _endpos;
14085 MenhirLib.EngineTypes.next = _menhir_stack;
14086 });
14087 (fun _menhir_env ->
14088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14089 let {
14090 MenhirLib.EngineTypes.semv = _2;
14091 MenhirLib.EngineTypes.startp = _startpos__2_;
14092 MenhirLib.EngineTypes.endp = _endpos__2_;
14093 MenhirLib.EngineTypes.next = {
14094 MenhirLib.EngineTypes.state = _menhir_s;
14095 MenhirLib.EngineTypes.semv = _1;
14096 MenhirLib.EngineTypes.startp = _startpos__1_;
14097 MenhirLib.EngineTypes.endp = _endpos__1_;
14098 MenhirLib.EngineTypes.next = _menhir_stack;
14099 };
14100 } = _menhir_stack in
14101 let _2 : 'tv_fninfo = Obj.magic _2 in
14102 let _1 : 'tv_storage = Obj.magic _1 in
14103 let _startpos = _startpos__1_ in
14104 let _endpos = _endpos__2_ in
14105 let _v : 'tv_fninfo =
14106 # 771 "parser_cocci_menhir.mly"
14107 ( try
14108 let _ =
14109 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14110 raise (Semantic_cocci.Semantic "duplicate storage")
14111 with Not_found -> (Ast0.FStorage(_1))::_2 )
14112 # 14113 "parser_cocci_menhir.ml"
14113 in
14114 _menhir_env.MenhirLib.EngineTypes.stack <- {
14115 MenhirLib.EngineTypes.state = _menhir_s;
14116 MenhirLib.EngineTypes.semv = Obj.repr _v;
14117 MenhirLib.EngineTypes.startp = _startpos;
14118 MenhirLib.EngineTypes.endp = _endpos;
14119 MenhirLib.EngineTypes.next = _menhir_stack;
14120 });
14121 (fun _menhir_env ->
14122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14123 let {
14124 MenhirLib.EngineTypes.semv = r;
14125 MenhirLib.EngineTypes.startp = _startpos_r_;
14126 MenhirLib.EngineTypes.endp = _endpos_r_;
14127 MenhirLib.EngineTypes.next = {
14128 MenhirLib.EngineTypes.state = _menhir_s;
14129 MenhirLib.EngineTypes.semv = t;
14130 MenhirLib.EngineTypes.startp = _startpos_t_;
14131 MenhirLib.EngineTypes.endp = _endpos_t_;
14132 MenhirLib.EngineTypes.next = _menhir_stack;
14133 };
14134 } = _menhir_stack in
14135 let r : 'tv_fninfo_nt = Obj.magic r in
14136 let t : 'tv_ctype = Obj.magic t in
14137 let _startpos = _startpos_t_ in
14138 let _endpos = _endpos_r_ in
14139 let _v : 'tv_fninfo =
14140 # 776 "parser_cocci_menhir.mly"
14141 ( (Ast0.FType(t))::r )
14142 # 14143 "parser_cocci_menhir.ml"
14143 in
14144 _menhir_env.MenhirLib.EngineTypes.stack <- {
14145 MenhirLib.EngineTypes.state = _menhir_s;
14146 MenhirLib.EngineTypes.semv = Obj.repr _v;
14147 MenhirLib.EngineTypes.startp = _startpos;
14148 MenhirLib.EngineTypes.endp = _endpos;
14149 MenhirLib.EngineTypes.next = _menhir_stack;
14150 });
14151 (fun _menhir_env ->
14152 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14153 let {
14154 MenhirLib.EngineTypes.semv = _2;
14155 MenhirLib.EngineTypes.startp = _startpos__2_;
14156 MenhirLib.EngineTypes.endp = _endpos__2_;
14157 MenhirLib.EngineTypes.next = {
14158 MenhirLib.EngineTypes.state = _menhir_s;
14159 MenhirLib.EngineTypes.semv = _1;
14160 MenhirLib.EngineTypes.startp = _startpos__1_;
14161 MenhirLib.EngineTypes.endp = _endpos__1_;
14162 MenhirLib.EngineTypes.next = _menhir_stack;
14163 };
14164 } = _menhir_stack in
14165 let _2 : 'tv_fninfo = Obj.magic _2 in
14166 let _1 : (
14167 # 53 "parser_cocci_menhir.mly"
14168 (Data.clt)
14169 # 14170 "parser_cocci_menhir.ml"
14170 ) = Obj.magic _1 in
14171 let _startpos = _startpos__1_ in
14172 let _endpos = _endpos__2_ in
14173 let _v : 'tv_fninfo =
14174 # 778 "parser_cocci_menhir.mly"
14175 ( try
14176 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14177 raise (Semantic_cocci.Semantic "duplicate inline")
14178 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14179 # 14180 "parser_cocci_menhir.ml"
14180 in
14181 _menhir_env.MenhirLib.EngineTypes.stack <- {
14182 MenhirLib.EngineTypes.state = _menhir_s;
14183 MenhirLib.EngineTypes.semv = Obj.repr _v;
14184 MenhirLib.EngineTypes.startp = _startpos;
14185 MenhirLib.EngineTypes.endp = _endpos;
14186 MenhirLib.EngineTypes.next = _menhir_stack;
14187 });
14188 (fun _menhir_env ->
14189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14190 let {
14191 MenhirLib.EngineTypes.semv = _2;
14192 MenhirLib.EngineTypes.startp = _startpos__2_;
14193 MenhirLib.EngineTypes.endp = _endpos__2_;
14194 MenhirLib.EngineTypes.next = {
14195 MenhirLib.EngineTypes.state = _menhir_s;
14196 MenhirLib.EngineTypes.semv = _1;
14197 MenhirLib.EngineTypes.startp = _startpos__1_;
14198 MenhirLib.EngineTypes.endp = _endpos__1_;
14199 MenhirLib.EngineTypes.next = _menhir_stack;
14200 };
14201 } = _menhir_stack in
14202 let _2 : 'tv_fninfo = Obj.magic _2 in
14203 let _1 : (
14204 # 55 "parser_cocci_menhir.mly"
14205 (string * Data.clt)
14206 # 14207 "parser_cocci_menhir.ml"
14207 ) = Obj.magic _1 in
14208 let _startpos = _startpos__1_ in
14209 let _endpos = _endpos__2_ in
14210 let _v : 'tv_fninfo =
14211 # 783 "parser_cocci_menhir.mly"
14212 ( try
14213 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14214 raise (Semantic_cocci.Semantic "multiple attributes")
14215 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14216 # 14217 "parser_cocci_menhir.ml"
14217 in
14218 _menhir_env.MenhirLib.EngineTypes.stack <- {
14219 MenhirLib.EngineTypes.state = _menhir_s;
14220 MenhirLib.EngineTypes.semv = Obj.repr _v;
14221 MenhirLib.EngineTypes.startp = _startpos;
14222 MenhirLib.EngineTypes.endp = _endpos;
14223 MenhirLib.EngineTypes.next = _menhir_stack;
14224 });
14225 (fun _menhir_env ->
14226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14227 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14228 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14229 let _endpos = _startpos in
14230 let _v : 'tv_fninfo_nt =
14231 # 789 "parser_cocci_menhir.mly"
14232 ( [] )
14233 # 14234 "parser_cocci_menhir.ml"
14234 in
14235 _menhir_env.MenhirLib.EngineTypes.stack <- {
14236 MenhirLib.EngineTypes.state = _menhir_s;
14237 MenhirLib.EngineTypes.semv = Obj.repr _v;
14238 MenhirLib.EngineTypes.startp = _startpos;
14239 MenhirLib.EngineTypes.endp = _endpos;
14240 MenhirLib.EngineTypes.next = _menhir_stack;
14241 });
14242 (fun _menhir_env ->
14243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14244 let {
14245 MenhirLib.EngineTypes.semv = _2;
14246 MenhirLib.EngineTypes.startp = _startpos__2_;
14247 MenhirLib.EngineTypes.endp = _endpos__2_;
14248 MenhirLib.EngineTypes.next = {
14249 MenhirLib.EngineTypes.state = _menhir_s;
14250 MenhirLib.EngineTypes.semv = _1;
14251 MenhirLib.EngineTypes.startp = _startpos__1_;
14252 MenhirLib.EngineTypes.endp = _endpos__1_;
14253 MenhirLib.EngineTypes.next = _menhir_stack;
14254 };
14255 } = _menhir_stack in
14256 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14257 let _1 : 'tv_storage = Obj.magic _1 in
14258 let _startpos = _startpos__1_ in
14259 let _endpos = _endpos__2_ in
14260 let _v : 'tv_fninfo_nt =
14261 # 791 "parser_cocci_menhir.mly"
14262 ( try
14263 let _ =
14264 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14265 raise (Semantic_cocci.Semantic "duplicate storage")
14266 with Not_found -> (Ast0.FStorage(_1))::_2 )
14267 # 14268 "parser_cocci_menhir.ml"
14268 in
14269 _menhir_env.MenhirLib.EngineTypes.stack <- {
14270 MenhirLib.EngineTypes.state = _menhir_s;
14271 MenhirLib.EngineTypes.semv = Obj.repr _v;
14272 MenhirLib.EngineTypes.startp = _startpos;
14273 MenhirLib.EngineTypes.endp = _endpos;
14274 MenhirLib.EngineTypes.next = _menhir_stack;
14275 });
14276 (fun _menhir_env ->
14277 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14278 let {
14279 MenhirLib.EngineTypes.semv = _2;
14280 MenhirLib.EngineTypes.startp = _startpos__2_;
14281 MenhirLib.EngineTypes.endp = _endpos__2_;
14282 MenhirLib.EngineTypes.next = {
14283 MenhirLib.EngineTypes.state = _menhir_s;
14284 MenhirLib.EngineTypes.semv = _1;
14285 MenhirLib.EngineTypes.startp = _startpos__1_;
14286 MenhirLib.EngineTypes.endp = _endpos__1_;
14287 MenhirLib.EngineTypes.next = _menhir_stack;
14288 };
14289 } = _menhir_stack in
14290 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14291 let _1 : (
14292 # 53 "parser_cocci_menhir.mly"
14293 (Data.clt)
14294 # 14295 "parser_cocci_menhir.ml"
14295 ) = Obj.magic _1 in
14296 let _startpos = _startpos__1_ in
14297 let _endpos = _endpos__2_ in
14298 let _v : 'tv_fninfo_nt =
14299 # 797 "parser_cocci_menhir.mly"
14300 ( try
14301 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14302 raise (Semantic_cocci.Semantic "duplicate inline")
14303 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14304 # 14305 "parser_cocci_menhir.ml"
14305 in
14306 _menhir_env.MenhirLib.EngineTypes.stack <- {
14307 MenhirLib.EngineTypes.state = _menhir_s;
14308 MenhirLib.EngineTypes.semv = Obj.repr _v;
14309 MenhirLib.EngineTypes.startp = _startpos;
14310 MenhirLib.EngineTypes.endp = _endpos;
14311 MenhirLib.EngineTypes.next = _menhir_stack;
14312 });
14313 (fun _menhir_env ->
14314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14315 let {
14316 MenhirLib.EngineTypes.semv = _2;
14317 MenhirLib.EngineTypes.startp = _startpos__2_;
14318 MenhirLib.EngineTypes.endp = _endpos__2_;
14319 MenhirLib.EngineTypes.next = {
14320 MenhirLib.EngineTypes.state = _menhir_s;
14321 MenhirLib.EngineTypes.semv = _1;
14322 MenhirLib.EngineTypes.startp = _startpos__1_;
14323 MenhirLib.EngineTypes.endp = _endpos__1_;
14324 MenhirLib.EngineTypes.next = _menhir_stack;
14325 };
14326 } = _menhir_stack in
14327 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14328 let _1 : (
14329 # 55 "parser_cocci_menhir.mly"
14330 (string * Data.clt)
14331 # 14332 "parser_cocci_menhir.ml"
14332 ) = Obj.magic _1 in
14333 let _startpos = _startpos__1_ in
14334 let _endpos = _endpos__2_ in
14335 let _v : 'tv_fninfo_nt =
14336 # 802 "parser_cocci_menhir.mly"
14337 ( try
14338 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14339 raise (Semantic_cocci.Semantic "duplicate init")
14340 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14341 # 14342 "parser_cocci_menhir.ml"
14342 in
14343 _menhir_env.MenhirLib.EngineTypes.stack <- {
14344 MenhirLib.EngineTypes.state = _menhir_s;
14345 MenhirLib.EngineTypes.semv = Obj.repr _v;
14346 MenhirLib.EngineTypes.startp = _startpos;
14347 MenhirLib.EngineTypes.endp = _endpos;
14348 MenhirLib.EngineTypes.next = _menhir_stack;
14349 });
14350 (fun _menhir_env ->
14351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14352 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14353 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14354 let _endpos = _startpos in
14355 let _v : 'tv_fun_after_dots =
14356 # 1779 "parser_cocci_menhir.mly"
14357 ([])
14358 # 14359 "parser_cocci_menhir.ml"
14359 in
14360 _menhir_env.MenhirLib.EngineTypes.stack <- {
14361 MenhirLib.EngineTypes.state = _menhir_s;
14362 MenhirLib.EngineTypes.semv = Obj.repr _v;
14363 MenhirLib.EngineTypes.startp = _startpos;
14364 MenhirLib.EngineTypes.endp = _endpos;
14365 MenhirLib.EngineTypes.next = _menhir_stack;
14366 });
14367 (fun _menhir_env ->
14368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14369 let {
14370 MenhirLib.EngineTypes.semv = _2;
14371 MenhirLib.EngineTypes.startp = _startpos__2_;
14372 MenhirLib.EngineTypes.endp = _endpos__2_;
14373 MenhirLib.EngineTypes.next = {
14374 MenhirLib.EngineTypes.state = _menhir_s;
14375 MenhirLib.EngineTypes.startp = _startpos__1_;
14376 MenhirLib.EngineTypes.endp = _endpos__1_;
14377 MenhirLib.EngineTypes.next = _menhir_stack;
14378 };
14379 } = _menhir_stack in
14380 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14381 let _startpos = _startpos__1_ in
14382 let _endpos = _endpos__2_ in
14383 let _v : 'tv_fun_after_dots =
14384 # 1780 "parser_cocci_menhir.mly"
14385 (_2)
14386 # 14387 "parser_cocci_menhir.ml"
14387 in
14388 _menhir_env.MenhirLib.EngineTypes.stack <- {
14389 MenhirLib.EngineTypes.state = _menhir_s;
14390 MenhirLib.EngineTypes.semv = Obj.repr _v;
14391 MenhirLib.EngineTypes.startp = _startpos;
14392 MenhirLib.EngineTypes.endp = _endpos;
14393 MenhirLib.EngineTypes.next = _menhir_stack;
14394 });
14395 (fun _menhir_env ->
14396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14397 let {
14398 MenhirLib.EngineTypes.semv = _2;
14399 MenhirLib.EngineTypes.startp = _startpos__2_;
14400 MenhirLib.EngineTypes.endp = _endpos__2_;
14401 MenhirLib.EngineTypes.next = {
14402 MenhirLib.EngineTypes.state = _menhir_s;
14403 MenhirLib.EngineTypes.semv = _1;
14404 MenhirLib.EngineTypes.startp = _startpos__1_;
14405 MenhirLib.EngineTypes.endp = _endpos__1_;
14406 MenhirLib.EngineTypes.next = _menhir_stack;
14407 };
14408 } = _menhir_stack in
14409 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14410 let _1 : 'tv_expr = Obj.magic _1 in
14411 let _startpos = _startpos__1_ in
14412 let _endpos = _endpos__2_ in
14413 let _v : 'tv_fun_after_dots =
14414 # 1781 "parser_cocci_menhir.mly"
14415 (Ast0.wrap(Ast0.Exp(_1))::_2)
14416 # 14417 "parser_cocci_menhir.ml"
14417 in
14418 _menhir_env.MenhirLib.EngineTypes.stack <- {
14419 MenhirLib.EngineTypes.state = _menhir_s;
14420 MenhirLib.EngineTypes.semv = Obj.repr _v;
14421 MenhirLib.EngineTypes.startp = _startpos;
14422 MenhirLib.EngineTypes.endp = _endpos;
14423 MenhirLib.EngineTypes.next = _menhir_stack;
14424 });
14425 (fun _menhir_env ->
14426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14427 let {
14428 MenhirLib.EngineTypes.semv = _2;
14429 MenhirLib.EngineTypes.startp = _startpos__2_;
14430 MenhirLib.EngineTypes.endp = _endpos__2_;
14431 MenhirLib.EngineTypes.next = {
14432 MenhirLib.EngineTypes.state = _menhir_s;
14433 MenhirLib.EngineTypes.semv = _1;
14434 MenhirLib.EngineTypes.startp = _startpos__1_;
14435 MenhirLib.EngineTypes.endp = _endpos__1_;
14436 MenhirLib.EngineTypes.next = _menhir_stack;
14437 };
14438 } = _menhir_stack in
14439 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14440 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14441 let _startpos = _startpos__1_ in
14442 let _endpos = _endpos__2_ in
14443 let _v : 'tv_fun_after_dots =
14444 # 1782 "parser_cocci_menhir.mly"
14445 (_1@_2)
14446 # 14447 "parser_cocci_menhir.ml"
14447 in
14448 _menhir_env.MenhirLib.EngineTypes.stack <- {
14449 MenhirLib.EngineTypes.state = _menhir_s;
14450 MenhirLib.EngineTypes.semv = Obj.repr _v;
14451 MenhirLib.EngineTypes.startp = _startpos;
14452 MenhirLib.EngineTypes.endp = _endpos;
14453 MenhirLib.EngineTypes.next = _menhir_stack;
14454 });
14455 (fun _menhir_env ->
14456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14457 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14458 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14459 let _endpos = _startpos in
14460 let _v : 'tv_fun_after_dots_or =
14461 # 1789 "parser_cocci_menhir.mly"
14462 ([])
14463 # 14464 "parser_cocci_menhir.ml"
14464 in
14465 _menhir_env.MenhirLib.EngineTypes.stack <- {
14466 MenhirLib.EngineTypes.state = _menhir_s;
14467 MenhirLib.EngineTypes.semv = Obj.repr _v;
14468 MenhirLib.EngineTypes.startp = _startpos;
14469 MenhirLib.EngineTypes.endp = _endpos;
14470 MenhirLib.EngineTypes.next = _menhir_stack;
14471 });
14472 (fun _menhir_env ->
14473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14474 let {
14475 MenhirLib.EngineTypes.semv = _2;
14476 MenhirLib.EngineTypes.startp = _startpos__2_;
14477 MenhirLib.EngineTypes.endp = _endpos__2_;
14478 MenhirLib.EngineTypes.next = {
14479 MenhirLib.EngineTypes.state = _menhir_s;
14480 MenhirLib.EngineTypes.startp = _startpos__1_;
14481 MenhirLib.EngineTypes.endp = _endpos__1_;
14482 MenhirLib.EngineTypes.next = _menhir_stack;
14483 };
14484 } = _menhir_stack in
14485 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14486 let _startpos = _startpos__1_ in
14487 let _endpos = _endpos__2_ in
14488 let _v : 'tv_fun_after_dots_or =
14489 # 1790 "parser_cocci_menhir.mly"
14490 (_2)
14491 # 14492 "parser_cocci_menhir.ml"
14492 in
14493 _menhir_env.MenhirLib.EngineTypes.stack <- {
14494 MenhirLib.EngineTypes.state = _menhir_s;
14495 MenhirLib.EngineTypes.semv = Obj.repr _v;
14496 MenhirLib.EngineTypes.startp = _startpos;
14497 MenhirLib.EngineTypes.endp = _endpos;
14498 MenhirLib.EngineTypes.next = _menhir_stack;
14499 });
14500 (fun _menhir_env ->
14501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14502 let {
14503 MenhirLib.EngineTypes.semv = _2;
14504 MenhirLib.EngineTypes.startp = _startpos__2_;
14505 MenhirLib.EngineTypes.endp = _endpos__2_;
14506 MenhirLib.EngineTypes.next = {
14507 MenhirLib.EngineTypes.state = _menhir_s;
14508 MenhirLib.EngineTypes.semv = _1;
14509 MenhirLib.EngineTypes.startp = _startpos__1_;
14510 MenhirLib.EngineTypes.endp = _endpos__1_;
14511 MenhirLib.EngineTypes.next = _menhir_stack;
14512 };
14513 } = _menhir_stack in
14514 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14515 let _1 : 'tv_expr = Obj.magic _1 in
14516 let _startpos = _startpos__1_ in
14517 let _endpos = _endpos__2_ in
14518 let _v : 'tv_fun_after_dots_or =
14519 # 1791 "parser_cocci_menhir.mly"
14520 (Ast0.wrap(Ast0.Exp(_1))::_2)
14521 # 14522 "parser_cocci_menhir.ml"
14522 in
14523 _menhir_env.MenhirLib.EngineTypes.stack <- {
14524 MenhirLib.EngineTypes.state = _menhir_s;
14525 MenhirLib.EngineTypes.semv = Obj.repr _v;
14526 MenhirLib.EngineTypes.startp = _startpos;
14527 MenhirLib.EngineTypes.endp = _endpos;
14528 MenhirLib.EngineTypes.next = _menhir_stack;
14529 });
14530 (fun _menhir_env ->
14531 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14532 let {
14533 MenhirLib.EngineTypes.semv = _2;
14534 MenhirLib.EngineTypes.startp = _startpos__2_;
14535 MenhirLib.EngineTypes.endp = _endpos__2_;
14536 MenhirLib.EngineTypes.next = {
14537 MenhirLib.EngineTypes.state = _menhir_s;
14538 MenhirLib.EngineTypes.semv = _1;
14539 MenhirLib.EngineTypes.startp = _startpos__1_;
14540 MenhirLib.EngineTypes.endp = _endpos__1_;
14541 MenhirLib.EngineTypes.next = _menhir_stack;
14542 };
14543 } = _menhir_stack in
14544 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14545 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14546 let _startpos = _startpos__1_ in
14547 let _endpos = _endpos__2_ in
14548 let _v : 'tv_fun_after_dots_or =
14549 # 1792 "parser_cocci_menhir.mly"
14550 (_1@_2)
14551 # 14552 "parser_cocci_menhir.ml"
14552 in
14553 _menhir_env.MenhirLib.EngineTypes.stack <- {
14554 MenhirLib.EngineTypes.state = _menhir_s;
14555 MenhirLib.EngineTypes.semv = Obj.repr _v;
14556 MenhirLib.EngineTypes.startp = _startpos;
14557 MenhirLib.EngineTypes.endp = _endpos;
14558 MenhirLib.EngineTypes.next = _menhir_stack;
14559 });
14560 (fun _menhir_env ->
14561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14562 let {
14563 MenhirLib.EngineTypes.semv = _2;
14564 MenhirLib.EngineTypes.startp = _startpos__2_;
14565 MenhirLib.EngineTypes.endp = _endpos__2_;
14566 MenhirLib.EngineTypes.next = {
14567 MenhirLib.EngineTypes.state = _menhir_s;
14568 MenhirLib.EngineTypes.semv = _1;
14569 MenhirLib.EngineTypes.startp = _startpos__1_;
14570 MenhirLib.EngineTypes.endp = _endpos__1_;
14571 MenhirLib.EngineTypes.next = _menhir_stack;
14572 };
14573 } = _menhir_stack in
14574 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14575 let _1 : 'tv_stm_dots = Obj.magic _1 in
14576 let _startpos = _startpos__1_ in
14577 let _endpos = _endpos__2_ in
14578 let _v : 'tv_fun_after_exp =
14579 # 1785 "parser_cocci_menhir.mly"
14580 (_1::_2)
14581 # 14582 "parser_cocci_menhir.ml"
14582 in
14583 _menhir_env.MenhirLib.EngineTypes.stack <- {
14584 MenhirLib.EngineTypes.state = _menhir_s;
14585 MenhirLib.EngineTypes.semv = Obj.repr _v;
14586 MenhirLib.EngineTypes.startp = _startpos;
14587 MenhirLib.EngineTypes.endp = _endpos;
14588 MenhirLib.EngineTypes.next = _menhir_stack;
14589 });
14590 (fun _menhir_env ->
14591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14592 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14593 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14594 let _endpos = _startpos in
14595 let _v : 'tv_fun_after_exp_or =
14596 # 1795 "parser_cocci_menhir.mly"
14597 ([])
14598 # 14599 "parser_cocci_menhir.ml"
14599 in
14600 _menhir_env.MenhirLib.EngineTypes.stack <- {
14601 MenhirLib.EngineTypes.state = _menhir_s;
14602 MenhirLib.EngineTypes.semv = Obj.repr _v;
14603 MenhirLib.EngineTypes.startp = _startpos;
14604 MenhirLib.EngineTypes.endp = _endpos;
14605 MenhirLib.EngineTypes.next = _menhir_stack;
14606 });
14607 (fun _menhir_env ->
14608 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14609 let {
14610 MenhirLib.EngineTypes.semv = _2;
14611 MenhirLib.EngineTypes.startp = _startpos__2_;
14612 MenhirLib.EngineTypes.endp = _endpos__2_;
14613 MenhirLib.EngineTypes.next = {
14614 MenhirLib.EngineTypes.state = _menhir_s;
14615 MenhirLib.EngineTypes.semv = _1;
14616 MenhirLib.EngineTypes.startp = _startpos__1_;
14617 MenhirLib.EngineTypes.endp = _endpos__1_;
14618 MenhirLib.EngineTypes.next = _menhir_stack;
14619 };
14620 } = _menhir_stack in
14621 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14622 let _1 : 'tv_stm_dots = Obj.magic _1 in
14623 let _startpos = _startpos__1_ in
14624 let _endpos = _endpos__2_ in
14625 let _v : 'tv_fun_after_exp_or =
14626 # 1796 "parser_cocci_menhir.mly"
14627 (_1::_2)
14628 # 14629 "parser_cocci_menhir.ml"
14629 in
14630 _menhir_env.MenhirLib.EngineTypes.stack <- {
14631 MenhirLib.EngineTypes.state = _menhir_s;
14632 MenhirLib.EngineTypes.semv = Obj.repr _v;
14633 MenhirLib.EngineTypes.startp = _startpos;
14634 MenhirLib.EngineTypes.endp = _endpos;
14635 MenhirLib.EngineTypes.next = _menhir_stack;
14636 });
14637 (fun _menhir_env ->
14638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14639 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14640 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14641 let _endpos = _startpos in
14642 let _v : 'tv_fun_after_stm =
14643 # 1774 "parser_cocci_menhir.mly"
14644 ([])
14645 # 14646 "parser_cocci_menhir.ml"
14646 in
14647 _menhir_env.MenhirLib.EngineTypes.stack <- {
14648 MenhirLib.EngineTypes.state = _menhir_s;
14649 MenhirLib.EngineTypes.semv = Obj.repr _v;
14650 MenhirLib.EngineTypes.startp = _startpos;
14651 MenhirLib.EngineTypes.endp = _endpos;
14652 MenhirLib.EngineTypes.next = _menhir_stack;
14653 });
14654 (fun _menhir_env ->
14655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14656 let {
14657 MenhirLib.EngineTypes.semv = _2;
14658 MenhirLib.EngineTypes.startp = _startpos__2_;
14659 MenhirLib.EngineTypes.endp = _endpos__2_;
14660 MenhirLib.EngineTypes.next = {
14661 MenhirLib.EngineTypes.state = _menhir_s;
14662 MenhirLib.EngineTypes.semv = _1;
14663 MenhirLib.EngineTypes.startp = _startpos__1_;
14664 MenhirLib.EngineTypes.endp = _endpos__1_;
14665 MenhirLib.EngineTypes.next = _menhir_stack;
14666 };
14667 } = _menhir_stack in
14668 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14669 let _1 : 'tv_stm_dots = Obj.magic _1 in
14670 let _startpos = _startpos__1_ in
14671 let _endpos = _endpos__2_ in
14672 let _v : 'tv_fun_after_stm =
14673 # 1775 "parser_cocci_menhir.mly"
14674 (_1::_2)
14675 # 14676 "parser_cocci_menhir.ml"
14676 in
14677 _menhir_env.MenhirLib.EngineTypes.stack <- {
14678 MenhirLib.EngineTypes.state = _menhir_s;
14679 MenhirLib.EngineTypes.semv = Obj.repr _v;
14680 MenhirLib.EngineTypes.startp = _startpos;
14681 MenhirLib.EngineTypes.endp = _endpos;
14682 MenhirLib.EngineTypes.next = _menhir_stack;
14683 });
14684 (fun _menhir_env ->
14685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14686 let {
14687 MenhirLib.EngineTypes.semv = _2;
14688 MenhirLib.EngineTypes.startp = _startpos__2_;
14689 MenhirLib.EngineTypes.endp = _endpos__2_;
14690 MenhirLib.EngineTypes.next = {
14691 MenhirLib.EngineTypes.state = _menhir_s;
14692 MenhirLib.EngineTypes.semv = _1;
14693 MenhirLib.EngineTypes.startp = _startpos__1_;
14694 MenhirLib.EngineTypes.endp = _endpos__1_;
14695 MenhirLib.EngineTypes.next = _menhir_stack;
14696 };
14697 } = _menhir_stack in
14698 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14699 let _1 : 'tv_decl_statement = Obj.magic _1 in
14700 let _startpos = _startpos__1_ in
14701 let _endpos = _endpos__2_ in
14702 let _v : 'tv_fun_after_stm =
14703 # 1776 "parser_cocci_menhir.mly"
14704 (_1@_2)
14705 # 14706 "parser_cocci_menhir.ml"
14706 in
14707 _menhir_env.MenhirLib.EngineTypes.stack <- {
14708 MenhirLib.EngineTypes.state = _menhir_s;
14709 MenhirLib.EngineTypes.semv = Obj.repr _v;
14710 MenhirLib.EngineTypes.startp = _startpos;
14711 MenhirLib.EngineTypes.endp = _endpos;
14712 MenhirLib.EngineTypes.next = _menhir_stack;
14713 });
14714 (fun _menhir_env ->
14715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14716 let {
14717 MenhirLib.EngineTypes.state = _menhir_s;
14718 MenhirLib.EngineTypes.semv = _1;
14719 MenhirLib.EngineTypes.startp = _startpos__1_;
14720 MenhirLib.EngineTypes.endp = _endpos__1_;
14721 MenhirLib.EngineTypes.next = _menhir_stack;
14722 } = _menhir_stack in
14723 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
14724 let _startpos = _startpos__1_ in
14725 let _endpos = _endpos__1_ in
14726 let _v : 'tv_fun_start =
14727 # 1771 "parser_cocci_menhir.mly"
14728 ( Ast0.wrap(Ast0.DOTS(_1)) )
14729 # 14730 "parser_cocci_menhir.ml"
14730 in
14731 _menhir_env.MenhirLib.EngineTypes.stack <- {
14732 MenhirLib.EngineTypes.state = _menhir_s;
14733 MenhirLib.EngineTypes.semv = Obj.repr _v;
14734 MenhirLib.EngineTypes.startp = _startpos;
14735 MenhirLib.EngineTypes.endp = _endpos;
14736 MenhirLib.EngineTypes.next = _menhir_stack;
14737 });
14738 (fun _menhir_env ->
14739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14740 let {
14741 MenhirLib.EngineTypes.state = _menhir_s;
14742 MenhirLib.EngineTypes.semv = _1;
14743 MenhirLib.EngineTypes.startp = _startpos__1_;
14744 MenhirLib.EngineTypes.endp = _endpos__1_;
14745 MenhirLib.EngineTypes.next = _menhir_stack;
14746 } = _menhir_stack in
14747 let _1 : 'tv_pure_ident = Obj.magic _1 in
14748 let _startpos = _startpos__1_ in
14749 let _endpos = _endpos__1_ in
14750 let _v : 'tv_func_ident =
14751 # 1569 "parser_cocci_menhir.mly"
14752 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
14753 # 14754 "parser_cocci_menhir.ml"
14754 in
14755 _menhir_env.MenhirLib.EngineTypes.stack <- {
14756 MenhirLib.EngineTypes.state = _menhir_s;
14757 MenhirLib.EngineTypes.semv = Obj.repr _v;
14758 MenhirLib.EngineTypes.startp = _startpos;
14759 MenhirLib.EngineTypes.endp = _endpos;
14760 MenhirLib.EngineTypes.next = _menhir_stack;
14761 });
14762 (fun _menhir_env ->
14763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14764 let {
14765 MenhirLib.EngineTypes.state = _menhir_s;
14766 MenhirLib.EngineTypes.semv = _1;
14767 MenhirLib.EngineTypes.startp = _startpos__1_;
14768 MenhirLib.EngineTypes.endp = _endpos__1_;
14769 MenhirLib.EngineTypes.next = _menhir_stack;
14770 } = _menhir_stack in
14771 let _1 : (
14772 # 61 "parser_cocci_menhir.mly"
14773 (Parse_aux.idinfo)
14774 # 14775 "parser_cocci_menhir.ml"
14775 ) = Obj.magic _1 in
14776 let _startpos = _startpos__1_ in
14777 let _endpos = _endpos__1_ in
14778 let _v : 'tv_func_ident =
14779 # 1571 "parser_cocci_menhir.mly"
14780 ( let (nm,constraints,pure,clt) = _1 in
14781 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
14782 # 14783 "parser_cocci_menhir.ml"
14783 in
14784 _menhir_env.MenhirLib.EngineTypes.stack <- {
14785 MenhirLib.EngineTypes.state = _menhir_s;
14786 MenhirLib.EngineTypes.semv = Obj.repr _v;
14787 MenhirLib.EngineTypes.startp = _startpos;
14788 MenhirLib.EngineTypes.endp = _endpos;
14789 MenhirLib.EngineTypes.next = _menhir_stack;
14790 });
14791 (fun _menhir_env ->
14792 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14793 let {
14794 MenhirLib.EngineTypes.state = _menhir_s;
14795 MenhirLib.EngineTypes.semv = _1;
14796 MenhirLib.EngineTypes.startp = _startpos__1_;
14797 MenhirLib.EngineTypes.endp = _endpos__1_;
14798 MenhirLib.EngineTypes.next = _menhir_stack;
14799 } = _menhir_stack in
14800 let _1 : (
14801 # 61 "parser_cocci_menhir.mly"
14802 (Parse_aux.idinfo)
14803 # 14804 "parser_cocci_menhir.ml"
14804 ) = Obj.magic _1 in
14805 let _startpos = _startpos__1_ in
14806 let _endpos = _endpos__1_ in
14807 let _v : 'tv_func_ident =
14808 # 1574 "parser_cocci_menhir.mly"
14809 ( let (nm,constraints,pure,clt) = _1 in
14810 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
14811 # 14812 "parser_cocci_menhir.ml"
14812 in
14813 _menhir_env.MenhirLib.EngineTypes.stack <- {
14814 MenhirLib.EngineTypes.state = _menhir_s;
14815 MenhirLib.EngineTypes.semv = Obj.repr _v;
14816 MenhirLib.EngineTypes.startp = _startpos;
14817 MenhirLib.EngineTypes.endp = _endpos;
14818 MenhirLib.EngineTypes.next = _menhir_stack;
14819 });
14820 (fun _menhir_env ->
14821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14822 let {
14823 MenhirLib.EngineTypes.state = _menhir_s;
14824 MenhirLib.EngineTypes.semv = _1;
14825 MenhirLib.EngineTypes.startp = _startpos__1_;
14826 MenhirLib.EngineTypes.endp = _endpos__1_;
14827 MenhirLib.EngineTypes.next = _menhir_stack;
14828 } = _menhir_stack in
14829 let _1 : (
14830 # 61 "parser_cocci_menhir.mly"
14831 (Parse_aux.idinfo)
14832 # 14833 "parser_cocci_menhir.ml"
14833 ) = Obj.magic _1 in
14834 let _startpos = _startpos__1_ in
14835 let _endpos = _endpos__1_ in
14836 let _v : 'tv_func_ident =
14837 # 1577 "parser_cocci_menhir.mly"
14838 ( let (nm,constraints,pure,clt) = _1 in
14839 Ast0.wrap
14840 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
14841 # 14842 "parser_cocci_menhir.ml"
14842 in
14843 _menhir_env.MenhirLib.EngineTypes.stack <- {
14844 MenhirLib.EngineTypes.state = _menhir_s;
14845 MenhirLib.EngineTypes.semv = Obj.repr _v;
14846 MenhirLib.EngineTypes.startp = _startpos;
14847 MenhirLib.EngineTypes.endp = _endpos;
14848 MenhirLib.EngineTypes.next = _menhir_stack;
14849 });
14850 (fun _menhir_env ->
14851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14852 let {
14853 MenhirLib.EngineTypes.semv = rb;
14854 MenhirLib.EngineTypes.startp = _startpos_rb_;
14855 MenhirLib.EngineTypes.endp = _endpos_rb_;
14856 MenhirLib.EngineTypes.next = {
14857 MenhirLib.EngineTypes.semv = b;
14858 MenhirLib.EngineTypes.startp = _startpos_b_;
14859 MenhirLib.EngineTypes.endp = _endpos_b_;
14860 MenhirLib.EngineTypes.next = {
14861 MenhirLib.EngineTypes.semv = lb;
14862 MenhirLib.EngineTypes.startp = _startpos_lb_;
14863 MenhirLib.EngineTypes.endp = _endpos_lb_;
14864 MenhirLib.EngineTypes.next = {
14865 MenhirLib.EngineTypes.semv = rp;
14866 MenhirLib.EngineTypes.startp = _startpos_rp_;
14867 MenhirLib.EngineTypes.endp = _endpos_rp_;
14868 MenhirLib.EngineTypes.next = {
14869 MenhirLib.EngineTypes.semv = d;
14870 MenhirLib.EngineTypes.startp = _startpos_d_;
14871 MenhirLib.EngineTypes.endp = _endpos_d_;
14872 MenhirLib.EngineTypes.next = {
14873 MenhirLib.EngineTypes.semv = lp;
14874 MenhirLib.EngineTypes.startp = _startpos_lp_;
14875 MenhirLib.EngineTypes.endp = _endpos_lp_;
14876 MenhirLib.EngineTypes.next = {
14877 MenhirLib.EngineTypes.semv = i;
14878 MenhirLib.EngineTypes.startp = _startpos_i_;
14879 MenhirLib.EngineTypes.endp = _endpos_i_;
14880 MenhirLib.EngineTypes.next = {
14881 MenhirLib.EngineTypes.startp = _startpos__2_;
14882 MenhirLib.EngineTypes.endp = _endpos__2_;
14883 MenhirLib.EngineTypes.next = {
14884 MenhirLib.EngineTypes.state = _menhir_s;
14885 MenhirLib.EngineTypes.semv = f;
14886 MenhirLib.EngineTypes.startp = _startpos_f_;
14887 MenhirLib.EngineTypes.endp = _endpos_f_;
14888 MenhirLib.EngineTypes.next = _menhir_stack;
14889 };
14890 };
14891 };
14892 };
14893 };
14894 };
14895 };
14896 };
14897 } = _menhir_stack in
14898 let rb : (
14899 # 101 "parser_cocci_menhir.mly"
14900 (Data.clt)
14901 # 14902 "parser_cocci_menhir.ml"
14902 ) = Obj.magic rb in
14903 let b : 'tv_fun_start = Obj.magic b in
14904 let lb : (
14905 # 101 "parser_cocci_menhir.mly"
14906 (Data.clt)
14907 # 14908 "parser_cocci_menhir.ml"
14908 ) = Obj.magic lb in
14909 let rp : (
14910 # 77 "parser_cocci_menhir.mly"
14911 (Data.clt)
14912 # 14913 "parser_cocci_menhir.ml"
14913 ) = Obj.magic rp in
14914 let d : 'tv_decl_list_decl_ = Obj.magic d in
14915 let lp : (
14916 # 76 "parser_cocci_menhir.mly"
14917 (Data.clt)
14918 # 14919 "parser_cocci_menhir.ml"
14919 ) = Obj.magic lp in
14920 let i : 'tv_func_ident = Obj.magic i in
14921 let f : 'tv_fninfo = Obj.magic f in
14922 let _startpos = _startpos_f_ in
14923 let _endpos = _endpos_rb_ in
14924 let _v : 'tv_fundecl =
14925 # 760 "parser_cocci_menhir.mly"
14926 ( P.verify_parameter_declarations (Ast0.undots d);
14927 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
14928 f, i,
14929 P.clt2mcode "(" lp, d,
14930 P.clt2mcode ")" rp,
14931 P.clt2mcode "{" lb, b,
14932 P.clt2mcode "}" rb)) )
14933 # 14934 "parser_cocci_menhir.ml"
14934 in
14935 _menhir_env.MenhirLib.EngineTypes.stack <- {
14936 MenhirLib.EngineTypes.state = _menhir_s;
14937 MenhirLib.EngineTypes.semv = Obj.repr _v;
14938 MenhirLib.EngineTypes.startp = _startpos;
14939 MenhirLib.EngineTypes.endp = _endpos;
14940 MenhirLib.EngineTypes.next = _menhir_stack;
14941 });
14942 (fun _menhir_env ->
14943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14944 let {
14945 MenhirLib.EngineTypes.semv = pt;
14946 MenhirLib.EngineTypes.startp = _startpos_pt_;
14947 MenhirLib.EngineTypes.endp = _endpos_pt_;
14948 MenhirLib.EngineTypes.next = {
14949 MenhirLib.EngineTypes.semv = rp;
14950 MenhirLib.EngineTypes.startp = _startpos_rp_;
14951 MenhirLib.EngineTypes.endp = _endpos_rp_;
14952 MenhirLib.EngineTypes.next = {
14953 MenhirLib.EngineTypes.semv = d;
14954 MenhirLib.EngineTypes.startp = _startpos_d_;
14955 MenhirLib.EngineTypes.endp = _endpos_d_;
14956 MenhirLib.EngineTypes.next = {
14957 MenhirLib.EngineTypes.semv = lp;
14958 MenhirLib.EngineTypes.startp = _startpos_lp_;
14959 MenhirLib.EngineTypes.endp = _endpos_lp_;
14960 MenhirLib.EngineTypes.next = {
14961 MenhirLib.EngineTypes.semv = id;
14962 MenhirLib.EngineTypes.startp = _startpos_id_;
14963 MenhirLib.EngineTypes.endp = _endpos_id_;
14964 MenhirLib.EngineTypes.next = {
14965 MenhirLib.EngineTypes.state = _menhir_s;
14966 MenhirLib.EngineTypes.semv = t;
14967 MenhirLib.EngineTypes.startp = _startpos_t_;
14968 MenhirLib.EngineTypes.endp = _endpos_t_;
14969 MenhirLib.EngineTypes.next = _menhir_stack;
14970 };
14971 };
14972 };
14973 };
14974 };
14975 } = _menhir_stack in
14976 let pt : (
14977 # 107 "parser_cocci_menhir.mly"
14978 (Data.clt)
14979 # 14980 "parser_cocci_menhir.ml"
14980 ) = Obj.magic pt in
14981 let rp : (
14982 # 77 "parser_cocci_menhir.mly"
14983 (Data.clt)
14984 # 14985 "parser_cocci_menhir.ml"
14985 ) = Obj.magic rp in
14986 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
14987 let lp : (
14988 # 76 "parser_cocci_menhir.mly"
14989 (Data.clt)
14990 # 14991 "parser_cocci_menhir.ml"
14991 ) = Obj.magic lp in
14992 let id : 'tv_func_ident = Obj.magic id in
14993 let t : 'tv_ctype = Obj.magic t in
14994 let _startpos = _startpos_t_ in
14995 let _endpos = _endpos_pt_ in
14996 let _v : 'tv_funproto = let s =
14997
14998 # 39 "standard.mly"
14999 ( None )
15000 # 15001 "parser_cocci_menhir.ml"
15001
15002 in
15003
15004 # 748 "parser_cocci_menhir.mly"
15005 ( Ast0.wrap
15006 (Ast0.UnInit
15007 (s,
15008 Ast0.wrap
15009 (Ast0.FunctionType(Some t,
15010 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15011 id, P.clt2mcode ";" pt)) )
15012 # 15013 "parser_cocci_menhir.ml"
15013 in
15014 _menhir_env.MenhirLib.EngineTypes.stack <- {
15015 MenhirLib.EngineTypes.state = _menhir_s;
15016 MenhirLib.EngineTypes.semv = Obj.repr _v;
15017 MenhirLib.EngineTypes.startp = _startpos;
15018 MenhirLib.EngineTypes.endp = _endpos;
15019 MenhirLib.EngineTypes.next = _menhir_stack;
15020 });
15021 (fun _menhir_env ->
15022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15023 let {
15024 MenhirLib.EngineTypes.semv = pt;
15025 MenhirLib.EngineTypes.startp = _startpos_pt_;
15026 MenhirLib.EngineTypes.endp = _endpos_pt_;
15027 MenhirLib.EngineTypes.next = {
15028 MenhirLib.EngineTypes.semv = rp;
15029 MenhirLib.EngineTypes.startp = _startpos_rp_;
15030 MenhirLib.EngineTypes.endp = _endpos_rp_;
15031 MenhirLib.EngineTypes.next = {
15032 MenhirLib.EngineTypes.semv = d;
15033 MenhirLib.EngineTypes.startp = _startpos_d_;
15034 MenhirLib.EngineTypes.endp = _endpos_d_;
15035 MenhirLib.EngineTypes.next = {
15036 MenhirLib.EngineTypes.semv = lp;
15037 MenhirLib.EngineTypes.startp = _startpos_lp_;
15038 MenhirLib.EngineTypes.endp = _endpos_lp_;
15039 MenhirLib.EngineTypes.next = {
15040 MenhirLib.EngineTypes.semv = id;
15041 MenhirLib.EngineTypes.startp = _startpos_id_;
15042 MenhirLib.EngineTypes.endp = _endpos_id_;
15043 MenhirLib.EngineTypes.next = {
15044 MenhirLib.EngineTypes.semv = t;
15045 MenhirLib.EngineTypes.startp = _startpos_t_;
15046 MenhirLib.EngineTypes.endp = _endpos_t_;
15047 MenhirLib.EngineTypes.next = {
15048 MenhirLib.EngineTypes.state = _menhir_s;
15049 MenhirLib.EngineTypes.semv = x0;
15050 MenhirLib.EngineTypes.startp = _startpos_x0_;
15051 MenhirLib.EngineTypes.endp = _endpos_x0_;
15052 MenhirLib.EngineTypes.next = _menhir_stack;
15053 };
15054 };
15055 };
15056 };
15057 };
15058 };
15059 } = _menhir_stack in
15060 let pt : (
15061 # 107 "parser_cocci_menhir.mly"
15062 (Data.clt)
15063 # 15064 "parser_cocci_menhir.ml"
15064 ) = Obj.magic pt in
15065 let rp : (
15066 # 77 "parser_cocci_menhir.mly"
15067 (Data.clt)
15068 # 15069 "parser_cocci_menhir.ml"
15069 ) = Obj.magic rp in
15070 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15071 let lp : (
15072 # 76 "parser_cocci_menhir.mly"
15073 (Data.clt)
15074 # 15075 "parser_cocci_menhir.ml"
15075 ) = Obj.magic lp in
15076 let id : 'tv_func_ident = Obj.magic id in
15077 let t : 'tv_ctype = Obj.magic t in
15078 let x0 : 'tv_storage = Obj.magic x0 in
15079 let _startpos = _startpos_x0_ in
15080 let _endpos = _endpos_pt_ in
15081 let _v : 'tv_funproto = let s =
15082 let x = x0 in
15083
15084 # 41 "standard.mly"
15085 ( Some x )
15086 # 15087 "parser_cocci_menhir.ml"
15087
15088 in
15089
15090 # 748 "parser_cocci_menhir.mly"
15091 ( Ast0.wrap
15092 (Ast0.UnInit
15093 (s,
15094 Ast0.wrap
15095 (Ast0.FunctionType(Some t,
15096 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15097 id, P.clt2mcode ";" pt)) )
15098 # 15099 "parser_cocci_menhir.ml"
15099 in
15100 _menhir_env.MenhirLib.EngineTypes.stack <- {
15101 MenhirLib.EngineTypes.state = _menhir_s;
15102 MenhirLib.EngineTypes.semv = Obj.repr _v;
15103 MenhirLib.EngineTypes.startp = _startpos;
15104 MenhirLib.EngineTypes.endp = _endpos;
15105 MenhirLib.EngineTypes.next = _menhir_stack;
15106 });
15107 (fun _menhir_env ->
15108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15109 let {
15110 MenhirLib.EngineTypes.state = _menhir_s;
15111 MenhirLib.EngineTypes.semv = _1;
15112 MenhirLib.EngineTypes.startp = _startpos__1_;
15113 MenhirLib.EngineTypes.endp = _endpos__1_;
15114 MenhirLib.EngineTypes.next = _menhir_stack;
15115 } = _menhir_stack in
15116 let _1 : 'tv_pure_ident = Obj.magic _1 in
15117 let _startpos = _startpos__1_ in
15118 let _endpos = _endpos__1_ in
15119 let _v : 'tv_ident =
15120 # 1582 "parser_cocci_menhir.mly"
15121 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
15122 # 15123 "parser_cocci_menhir.ml"
15123 in
15124 _menhir_env.MenhirLib.EngineTypes.stack <- {
15125 MenhirLib.EngineTypes.state = _menhir_s;
15126 MenhirLib.EngineTypes.semv = Obj.repr _v;
15127 MenhirLib.EngineTypes.startp = _startpos;
15128 MenhirLib.EngineTypes.endp = _endpos;
15129 MenhirLib.EngineTypes.next = _menhir_stack;
15130 });
15131 (fun _menhir_env ->
15132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15133 let {
15134 MenhirLib.EngineTypes.state = _menhir_s;
15135 MenhirLib.EngineTypes.semv = _1;
15136 MenhirLib.EngineTypes.startp = _startpos__1_;
15137 MenhirLib.EngineTypes.endp = _endpos__1_;
15138 MenhirLib.EngineTypes.next = _menhir_stack;
15139 } = _menhir_stack in
15140 let _1 : (
15141 # 61 "parser_cocci_menhir.mly"
15142 (Parse_aux.idinfo)
15143 # 15144 "parser_cocci_menhir.ml"
15144 ) = Obj.magic _1 in
15145 let _startpos = _startpos__1_ in
15146 let _endpos = _endpos__1_ in
15147 let _v : 'tv_ident =
15148 # 1584 "parser_cocci_menhir.mly"
15149 ( let (nm,constraints,pure,clt) = _1 in
15150 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
15151 # 15152 "parser_cocci_menhir.ml"
15152 in
15153 _menhir_env.MenhirLib.EngineTypes.stack <- {
15154 MenhirLib.EngineTypes.state = _menhir_s;
15155 MenhirLib.EngineTypes.semv = Obj.repr _v;
15156 MenhirLib.EngineTypes.startp = _startpos;
15157 MenhirLib.EngineTypes.endp = _endpos;
15158 MenhirLib.EngineTypes.next = _menhir_stack;
15159 });
15160 (fun _menhir_env ->
15161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15162 let {
15163 MenhirLib.EngineTypes.state = _menhir_s;
15164 MenhirLib.EngineTypes.semv = i;
15165 MenhirLib.EngineTypes.startp = _startpos_i_;
15166 MenhirLib.EngineTypes.endp = _endpos_i_;
15167 MenhirLib.EngineTypes.next = _menhir_stack;
15168 } = _menhir_stack in
15169 let i : 'tv_pure_ident = Obj.magic i in
15170 let _startpos = _startpos_i_ in
15171 let _endpos = _endpos_i_ in
15172 let _v : 'tv_ident_or_const =
15173 # 1536 "parser_cocci_menhir.mly"
15174 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
15175 # 15176 "parser_cocci_menhir.ml"
15176 in
15177 _menhir_env.MenhirLib.EngineTypes.stack <- {
15178 MenhirLib.EngineTypes.state = _menhir_s;
15179 MenhirLib.EngineTypes.semv = Obj.repr _v;
15180 MenhirLib.EngineTypes.startp = _startpos;
15181 MenhirLib.EngineTypes.endp = _endpos;
15182 MenhirLib.EngineTypes.next = _menhir_stack;
15183 });
15184 (fun _menhir_env ->
15185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15186 let {
15187 MenhirLib.EngineTypes.state = _menhir_s;
15188 MenhirLib.EngineTypes.semv = _1;
15189 MenhirLib.EngineTypes.startp = _startpos__1_;
15190 MenhirLib.EngineTypes.endp = _endpos__1_;
15191 MenhirLib.EngineTypes.next = _menhir_stack;
15192 } = _menhir_stack in
15193 let _1 : (
15194 # 87 "parser_cocci_menhir.mly"
15195 (string * Data.clt)
15196 # 15197 "parser_cocci_menhir.ml"
15197 ) = Obj.magic _1 in
15198 let _startpos = _startpos__1_ in
15199 let _endpos = _endpos__1_ in
15200 let _v : 'tv_ident_or_const =
15201 # 1538 "parser_cocci_menhir.mly"
15202 ( let (x,clt) = _1 in
15203 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
15204 # 15205 "parser_cocci_menhir.ml"
15205 in
15206 _menhir_env.MenhirLib.EngineTypes.stack <- {
15207 MenhirLib.EngineTypes.state = _menhir_s;
15208 MenhirLib.EngineTypes.semv = Obj.repr _v;
15209 MenhirLib.EngineTypes.startp = _startpos;
15210 MenhirLib.EngineTypes.endp = _endpos;
15211 MenhirLib.EngineTypes.next = _menhir_stack;
15212 });
15213 (fun _menhir_env ->
15214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15215 let {
15216 MenhirLib.EngineTypes.state = _menhir_s;
15217 MenhirLib.EngineTypes.semv = _1;
15218 MenhirLib.EngineTypes.startp = _startpos__1_;
15219 MenhirLib.EngineTypes.endp = _endpos__1_;
15220 MenhirLib.EngineTypes.next = _menhir_stack;
15221 } = _menhir_stack in
15222 let _1 : (
15223 # 80 "parser_cocci_menhir.mly"
15224 (string * Data.clt)
15225 # 15226 "parser_cocci_menhir.ml"
15226 ) = Obj.magic _1 in
15227 let _startpos = _startpos__1_ in
15228 let _endpos = _endpos__1_ in
15229 let _v : 'tv_incl =
15230 # 256 "parser_cocci_menhir.mly"
15231 ( let (x,_) = _1 in Data.Include(x) )
15232 # 15233 "parser_cocci_menhir.ml"
15233 in
15234 _menhir_env.MenhirLib.EngineTypes.stack <- {
15235 MenhirLib.EngineTypes.state = _menhir_s;
15236 MenhirLib.EngineTypes.semv = Obj.repr _v;
15237 MenhirLib.EngineTypes.startp = _startpos;
15238 MenhirLib.EngineTypes.endp = _endpos;
15239 MenhirLib.EngineTypes.next = _menhir_stack;
15240 });
15241 (fun _menhir_env ->
15242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15243 let {
15244 MenhirLib.EngineTypes.semv = _2;
15245 MenhirLib.EngineTypes.startp = _startpos__2_;
15246 MenhirLib.EngineTypes.endp = _endpos__2_;
15247 MenhirLib.EngineTypes.next = {
15248 MenhirLib.EngineTypes.state = _menhir_s;
15249 MenhirLib.EngineTypes.startp = _startpos__1_;
15250 MenhirLib.EngineTypes.endp = _endpos__1_;
15251 MenhirLib.EngineTypes.next = _menhir_stack;
15252 };
15253 } = _menhir_stack in
15254 let _2 : (
15255 # 87 "parser_cocci_menhir.mly"
15256 (string * Data.clt)
15257 # 15258 "parser_cocci_menhir.ml"
15258 ) = Obj.magic _2 in
15259 let _startpos = _startpos__1_ in
15260 let _endpos = _endpos__2_ in
15261 let _v : 'tv_incl =
15262 # 257 "parser_cocci_menhir.mly"
15263 ( Data.Iso(Common.Left(P.id2name _2)) )
15264 # 15265 "parser_cocci_menhir.ml"
15265 in
15266 _menhir_env.MenhirLib.EngineTypes.stack <- {
15267 MenhirLib.EngineTypes.state = _menhir_s;
15268 MenhirLib.EngineTypes.semv = Obj.repr _v;
15269 MenhirLib.EngineTypes.startp = _startpos;
15270 MenhirLib.EngineTypes.endp = _endpos;
15271 MenhirLib.EngineTypes.next = _menhir_stack;
15272 });
15273 (fun _menhir_env ->
15274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15275 let {
15276 MenhirLib.EngineTypes.semv = _2;
15277 MenhirLib.EngineTypes.startp = _startpos__2_;
15278 MenhirLib.EngineTypes.endp = _endpos__2_;
15279 MenhirLib.EngineTypes.next = {
15280 MenhirLib.EngineTypes.state = _menhir_s;
15281 MenhirLib.EngineTypes.startp = _startpos__1_;
15282 MenhirLib.EngineTypes.endp = _endpos__1_;
15283 MenhirLib.EngineTypes.next = _menhir_stack;
15284 };
15285 } = _menhir_stack in
15286 let _2 : (
15287 # 79 "parser_cocci_menhir.mly"
15288 (string)
15289 # 15290 "parser_cocci_menhir.ml"
15290 ) = Obj.magic _2 in
15291 let _startpos = _startpos__1_ in
15292 let _endpos = _endpos__2_ in
15293 let _v : 'tv_incl =
15294 # 258 "parser_cocci_menhir.mly"
15295 ( Data.Iso(Common.Right _2) )
15296 # 15297 "parser_cocci_menhir.ml"
15297 in
15298 _menhir_env.MenhirLib.EngineTypes.stack <- {
15299 MenhirLib.EngineTypes.state = _menhir_s;
15300 MenhirLib.EngineTypes.semv = Obj.repr _v;
15301 MenhirLib.EngineTypes.startp = _startpos;
15302 MenhirLib.EngineTypes.endp = _endpos;
15303 MenhirLib.EngineTypes.next = _menhir_stack;
15304 });
15305 (fun _menhir_env ->
15306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15307 let {
15308 MenhirLib.EngineTypes.semv = _2;
15309 MenhirLib.EngineTypes.startp = _startpos__2_;
15310 MenhirLib.EngineTypes.endp = _endpos__2_;
15311 MenhirLib.EngineTypes.next = {
15312 MenhirLib.EngineTypes.state = _menhir_s;
15313 MenhirLib.EngineTypes.startp = _startpos__1_;
15314 MenhirLib.EngineTypes.endp = _endpos__1_;
15315 MenhirLib.EngineTypes.next = _menhir_stack;
15316 };
15317 } = _menhir_stack in
15318 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
15319 let _startpos = _startpos__1_ in
15320 let _endpos = _endpos__2_ in
15321 let _v : 'tv_incl =
15322 # 260 "parser_cocci_menhir.mly"
15323 ( let names = List.map P.id2name _2 in
15324 (* ensure that the names of virtual and real rules don't overlap *)
15325 List.iter
15326 (function name -> Hashtbl.add Data.all_metadecls name [])
15327 names;
15328 Data.Virt(names) )
15329 # 15330 "parser_cocci_menhir.ml"
15330 in
15331 _menhir_env.MenhirLib.EngineTypes.stack <- {
15332 MenhirLib.EngineTypes.state = _menhir_s;
15333 MenhirLib.EngineTypes.semv = Obj.repr _v;
15334 MenhirLib.EngineTypes.startp = _startpos;
15335 MenhirLib.EngineTypes.endp = _endpos;
15336 MenhirLib.EngineTypes.next = _menhir_stack;
15337 });
15338 (fun _menhir_env ->
15339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15340 let {
15341 MenhirLib.EngineTypes.startp = _startpos__2_;
15342 MenhirLib.EngineTypes.endp = _endpos__2_;
15343 MenhirLib.EngineTypes.next = {
15344 MenhirLib.EngineTypes.state = _menhir_s;
15345 MenhirLib.EngineTypes.semv = _1;
15346 MenhirLib.EngineTypes.startp = _startpos__1_;
15347 MenhirLib.EngineTypes.endp = _endpos__1_;
15348 MenhirLib.EngineTypes.next = _menhir_stack;
15349 };
15350 } = _menhir_stack in
15351 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15352 let _startpos = _startpos__1_ in
15353 let _endpos = _endpos__2_ in
15354 let _v : (
15355 # 146 "parser_cocci_menhir.mly"
15356 (Data.incl_iso list)
15357 # 15358 "parser_cocci_menhir.ml"
15358 ) =
15359 # 252 "parser_cocci_menhir.mly"
15360 ( _1 )
15361 # 15362 "parser_cocci_menhir.ml"
15362 in
15363 _menhir_env.MenhirLib.EngineTypes.stack <- {
15364 MenhirLib.EngineTypes.state = _menhir_s;
15365 MenhirLib.EngineTypes.semv = Obj.repr _v;
15366 MenhirLib.EngineTypes.startp = _startpos;
15367 MenhirLib.EngineTypes.endp = _endpos;
15368 MenhirLib.EngineTypes.next = _menhir_stack;
15369 });
15370 (fun _menhir_env ->
15371 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15372 let {
15373 MenhirLib.EngineTypes.startp = _startpos__2_;
15374 MenhirLib.EngineTypes.endp = _endpos__2_;
15375 MenhirLib.EngineTypes.next = {
15376 MenhirLib.EngineTypes.state = _menhir_s;
15377 MenhirLib.EngineTypes.semv = _1;
15378 MenhirLib.EngineTypes.startp = _startpos__1_;
15379 MenhirLib.EngineTypes.endp = _endpos__1_;
15380 MenhirLib.EngineTypes.next = _menhir_stack;
15381 };
15382 } = _menhir_stack in
15383 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15384 let _startpos = _startpos__1_ in
15385 let _endpos = _endpos__2_ in
15386 let _v : (
15387 # 146 "parser_cocci_menhir.mly"
15388 (Data.incl_iso list)
15389 # 15390 "parser_cocci_menhir.ml"
15390 ) =
15391 # 253 "parser_cocci_menhir.mly"
15392 ( _1 )
15393 # 15394 "parser_cocci_menhir.ml"
15394 in
15395 _menhir_env.MenhirLib.EngineTypes.stack <- {
15396 MenhirLib.EngineTypes.state = _menhir_s;
15397 MenhirLib.EngineTypes.semv = Obj.repr _v;
15398 MenhirLib.EngineTypes.startp = _startpos;
15399 MenhirLib.EngineTypes.endp = _endpos;
15400 MenhirLib.EngineTypes.next = _menhir_stack;
15401 });
15402 (fun _menhir_env ->
15403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15404 let {
15405 MenhirLib.EngineTypes.state = _menhir_s;
15406 MenhirLib.EngineTypes.semv = _1;
15407 MenhirLib.EngineTypes.startp = _startpos__1_;
15408 MenhirLib.EngineTypes.endp = _endpos__1_;
15409 MenhirLib.EngineTypes.next = _menhir_stack;
15410 } = _menhir_stack in
15411 let _1 : (
15412 # 80 "parser_cocci_menhir.mly"
15413 (string * Data.clt)
15414 # 15415 "parser_cocci_menhir.ml"
15415 ) = Obj.magic _1 in
15416 let _startpos = _startpos__1_ in
15417 let _endpos = _endpos__1_ in
15418 let _v : 'tv_includes =
15419 # 638 "parser_cocci_menhir.mly"
15420 ( Ast0.wrap
15421 (Ast0.Include(P.clt2mcode "#include"
15422 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15423 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15424 P.id2clt _1 in
15425 let clt =
15426 (arity,ln,lln,offset,0,strbef,straft,pos) in
15427 P.clt2mcode
15428 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
15429 (P.drop_bef clt))) )
15430 # 15431 "parser_cocci_menhir.ml"
15431 in
15432 _menhir_env.MenhirLib.EngineTypes.stack <- {
15433 MenhirLib.EngineTypes.state = _menhir_s;
15434 MenhirLib.EngineTypes.semv = Obj.repr _v;
15435 MenhirLib.EngineTypes.startp = _startpos;
15436 MenhirLib.EngineTypes.endp = _endpos;
15437 MenhirLib.EngineTypes.next = _menhir_stack;
15438 });
15439 (fun _menhir_env ->
15440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15441 let {
15442 MenhirLib.EngineTypes.state = _menhir_s;
15443 MenhirLib.EngineTypes.semv = _1;
15444 MenhirLib.EngineTypes.startp = _startpos__1_;
15445 MenhirLib.EngineTypes.endp = _endpos__1_;
15446 MenhirLib.EngineTypes.next = _menhir_stack;
15447 } = _menhir_stack in
15448 let _1 : (
15449 # 80 "parser_cocci_menhir.mly"
15450 (string * Data.clt)
15451 # 15452 "parser_cocci_menhir.ml"
15452 ) = Obj.magic _1 in
15453 let _startpos = _startpos__1_ in
15454 let _endpos = _endpos__1_ in
15455 let _v : 'tv_includes =
15456 # 649 "parser_cocci_menhir.mly"
15457 ( Ast0.wrap
15458 (Ast0.Include(P.clt2mcode "#include"
15459 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15460 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15461 P.id2clt _1 in
15462 let clt =
15463 (arity,ln,lln,offset,0,strbef,straft,pos) in
15464 P.clt2mcode
15465 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
15466 (P.drop_bef clt))) )
15467 # 15468 "parser_cocci_menhir.ml"
15468 in
15469 _menhir_env.MenhirLib.EngineTypes.stack <- {
15470 MenhirLib.EngineTypes.state = _menhir_s;
15471 MenhirLib.EngineTypes.semv = Obj.repr _v;
15472 MenhirLib.EngineTypes.startp = _startpos;
15473 MenhirLib.EngineTypes.endp = _endpos;
15474 MenhirLib.EngineTypes.next = _menhir_stack;
15475 });
15476 (fun _menhir_env ->
15477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15478 let {
15479 MenhirLib.EngineTypes.startp = _startpos__3_;
15480 MenhirLib.EngineTypes.endp = _endpos__3_;
15481 MenhirLib.EngineTypes.next = {
15482 MenhirLib.EngineTypes.semv = t;
15483 MenhirLib.EngineTypes.startp = _startpos_t_;
15484 MenhirLib.EngineTypes.endp = _endpos_t_;
15485 MenhirLib.EngineTypes.next = {
15486 MenhirLib.EngineTypes.state = _menhir_s;
15487 MenhirLib.EngineTypes.semv = d;
15488 MenhirLib.EngineTypes.startp = _startpos_d_;
15489 MenhirLib.EngineTypes.endp = _endpos_d_;
15490 MenhirLib.EngineTypes.next = _menhir_stack;
15491 };
15492 };
15493 } = _menhir_stack in
15494 let t : 'tv_ctype = Obj.magic t in
15495 let d : 'tv_defineop = Obj.magic d in
15496 let _startpos = _startpos_d_ in
15497 let _endpos = _endpos__3_ in
15498 let _v : 'tv_includes =
15499 # 660 "parser_cocci_menhir.mly"
15500 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
15501 d (Ast0.wrap(Ast0.DOTS([ty]))) )
15502 # 15503 "parser_cocci_menhir.ml"
15503 in
15504 _menhir_env.MenhirLib.EngineTypes.stack <- {
15505 MenhirLib.EngineTypes.state = _menhir_s;
15506 MenhirLib.EngineTypes.semv = Obj.repr _v;
15507 MenhirLib.EngineTypes.startp = _startpos;
15508 MenhirLib.EngineTypes.endp = _endpos;
15509 MenhirLib.EngineTypes.next = _menhir_stack;
15510 });
15511 (fun _menhir_env ->
15512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15513 let {
15514 MenhirLib.EngineTypes.startp = _startpos__3_;
15515 MenhirLib.EngineTypes.endp = _endpos__3_;
15516 MenhirLib.EngineTypes.next = {
15517 MenhirLib.EngineTypes.semv = b;
15518 MenhirLib.EngineTypes.startp = _startpos_b_;
15519 MenhirLib.EngineTypes.endp = _endpos_b_;
15520 MenhirLib.EngineTypes.next = {
15521 MenhirLib.EngineTypes.state = _menhir_s;
15522 MenhirLib.EngineTypes.semv = _1;
15523 MenhirLib.EngineTypes.startp = _startpos__1_;
15524 MenhirLib.EngineTypes.endp = _endpos__1_;
15525 MenhirLib.EngineTypes.next = _menhir_stack;
15526 };
15527 };
15528 } = _menhir_stack in
15529 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
15530 let _1 : 'tv_defineop = Obj.magic _1 in
15531 let _startpos = _startpos__1_ in
15532 let _endpos = _endpos__3_ in
15533 let _v : 'tv_includes =
15534 # 663 "parser_cocci_menhir.mly"
15535 ( let body =
15536 match b with
15537 [e] ->
15538 (match Ast0.unwrap e with
15539 Ast0.Exp(e1) ->
15540 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
15541 | _ -> b)
15542 | _ -> b in
15543 _1 (Ast0.wrap(Ast0.DOTS(body))) )
15544 # 15545 "parser_cocci_menhir.ml"
15545 in
15546 _menhir_env.MenhirLib.EngineTypes.stack <- {
15547 MenhirLib.EngineTypes.state = _menhir_s;
15548 MenhirLib.EngineTypes.semv = Obj.repr _v;
15549 MenhirLib.EngineTypes.startp = _startpos;
15550 MenhirLib.EngineTypes.endp = _endpos;
15551 MenhirLib.EngineTypes.next = _menhir_stack;
15552 });
15553 (fun _menhir_env ->
15554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15555 let {
15556 MenhirLib.EngineTypes.state = _menhir_s;
15557 MenhirLib.EngineTypes.semv = _1;
15558 MenhirLib.EngineTypes.startp = _startpos__1_;
15559 MenhirLib.EngineTypes.endp = _endpos__1_;
15560 MenhirLib.EngineTypes.next = _menhir_stack;
15561 } = _menhir_stack in
15562 let _1 : 'tv_eexpr = Obj.magic _1 in
15563 let _startpos = _startpos__1_ in
15564 let _endpos = _endpos__1_ in
15565 let _v : 'tv_initialize =
15566 # 1071 "parser_cocci_menhir.mly"
15567 ( Ast0.wrap(Ast0.InitExpr(_1)) )
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.semv = _3;
15581 MenhirLib.EngineTypes.startp = _startpos__3_;
15582 MenhirLib.EngineTypes.endp = _endpos__3_;
15583 MenhirLib.EngineTypes.next = {
15584 MenhirLib.EngineTypes.semv = _2;
15585 MenhirLib.EngineTypes.startp = _startpos__2_;
15586 MenhirLib.EngineTypes.endp = _endpos__2_;
15587 MenhirLib.EngineTypes.next = {
15588 MenhirLib.EngineTypes.state = _menhir_s;
15589 MenhirLib.EngineTypes.semv = _1;
15590 MenhirLib.EngineTypes.startp = _startpos__1_;
15591 MenhirLib.EngineTypes.endp = _endpos__1_;
15592 MenhirLib.EngineTypes.next = _menhir_stack;
15593 };
15594 };
15595 } = _menhir_stack in
15596 let _3 : (
15597 # 101 "parser_cocci_menhir.mly"
15598 (Data.clt)
15599 # 15600 "parser_cocci_menhir.ml"
15600 ) = Obj.magic _3 in
15601 let _2 : 'tv_initialize_list = Obj.magic _2 in
15602 let _1 : (
15603 # 101 "parser_cocci_menhir.mly"
15604 (Data.clt)
15605 # 15606 "parser_cocci_menhir.ml"
15606 ) = Obj.magic _1 in
15607 let _startpos = _startpos__1_ in
15608 let _endpos = _endpos__3_ in
15609 let _v : 'tv_initialize =
15610 # 1073 "parser_cocci_menhir.mly"
15611 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15612 # 15613 "parser_cocci_menhir.ml"
15613 in
15614 _menhir_env.MenhirLib.EngineTypes.stack <- {
15615 MenhirLib.EngineTypes.state = _menhir_s;
15616 MenhirLib.EngineTypes.semv = Obj.repr _v;
15617 MenhirLib.EngineTypes.startp = _startpos;
15618 MenhirLib.EngineTypes.endp = _endpos;
15619 MenhirLib.EngineTypes.next = _menhir_stack;
15620 });
15621 (fun _menhir_env ->
15622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15623 let {
15624 MenhirLib.EngineTypes.semv = _2;
15625 MenhirLib.EngineTypes.startp = _startpos__2_;
15626 MenhirLib.EngineTypes.endp = _endpos__2_;
15627 MenhirLib.EngineTypes.next = {
15628 MenhirLib.EngineTypes.state = _menhir_s;
15629 MenhirLib.EngineTypes.semv = _1;
15630 MenhirLib.EngineTypes.startp = _startpos__1_;
15631 MenhirLib.EngineTypes.endp = _endpos__1_;
15632 MenhirLib.EngineTypes.next = _menhir_stack;
15633 };
15634 } = _menhir_stack in
15635 let _2 : (
15636 # 101 "parser_cocci_menhir.mly"
15637 (Data.clt)
15638 # 15639 "parser_cocci_menhir.ml"
15639 ) = Obj.magic _2 in
15640 let _1 : (
15641 # 101 "parser_cocci_menhir.mly"
15642 (Data.clt)
15643 # 15644 "parser_cocci_menhir.ml"
15644 ) = Obj.magic _1 in
15645 let _startpos = _startpos__1_ in
15646 let _endpos = _endpos__2_ in
15647 let _v : 'tv_initialize =
15648 # 1075 "parser_cocci_menhir.mly"
15649 ( Ast0.wrap
15650 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15651 P.clt2mcode "}" _2)) )
15652 # 15653 "parser_cocci_menhir.ml"
15653 in
15654 _menhir_env.MenhirLib.EngineTypes.stack <- {
15655 MenhirLib.EngineTypes.state = _menhir_s;
15656 MenhirLib.EngineTypes.semv = Obj.repr _v;
15657 MenhirLib.EngineTypes.startp = _startpos;
15658 MenhirLib.EngineTypes.endp = _endpos;
15659 MenhirLib.EngineTypes.next = _menhir_stack;
15660 });
15661 (fun _menhir_env ->
15662 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15663 let {
15664 MenhirLib.EngineTypes.state = _menhir_s;
15665 MenhirLib.EngineTypes.semv = _1;
15666 MenhirLib.EngineTypes.startp = _startpos__1_;
15667 MenhirLib.EngineTypes.endp = _endpos__1_;
15668 MenhirLib.EngineTypes.next = _menhir_stack;
15669 } = _menhir_stack in
15670 let _1 : (
15671 # 65 "parser_cocci_menhir.mly"
15672 (Parse_aux.info)
15673 # 15674 "parser_cocci_menhir.ml"
15674 ) = Obj.magic _1 in
15675 let _startpos = _startpos__1_ in
15676 let _endpos = _endpos__1_ in
15677 let _v : 'tv_initialize =
15678 # 1079 "parser_cocci_menhir.mly"
15679 (let (nm,pure,clt) = _1 in
15680 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
15681 # 15682 "parser_cocci_menhir.ml"
15682 in
15683 _menhir_env.MenhirLib.EngineTypes.stack <- {
15684 MenhirLib.EngineTypes.state = _menhir_s;
15685 MenhirLib.EngineTypes.semv = Obj.repr _v;
15686 MenhirLib.EngineTypes.startp = _startpos;
15687 MenhirLib.EngineTypes.endp = _endpos;
15688 MenhirLib.EngineTypes.next = _menhir_stack;
15689 });
15690 (fun _menhir_env ->
15691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15692 let {
15693 MenhirLib.EngineTypes.state = _menhir_s;
15694 MenhirLib.EngineTypes.semv = _1;
15695 MenhirLib.EngineTypes.startp = _startpos__1_;
15696 MenhirLib.EngineTypes.endp = _endpos__1_;
15697 MenhirLib.EngineTypes.next = _menhir_stack;
15698 } = _menhir_stack in
15699 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
15700 let _startpos = _startpos__1_ in
15701 let _endpos = _endpos__1_ in
15702 let _v : 'tv_initialize2 =
15703 # 1085 "parser_cocci_menhir.mly"
15704 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15705 # 15706 "parser_cocci_menhir.ml"
15706 in
15707 _menhir_env.MenhirLib.EngineTypes.stack <- {
15708 MenhirLib.EngineTypes.state = _menhir_s;
15709 MenhirLib.EngineTypes.semv = Obj.repr _v;
15710 MenhirLib.EngineTypes.startp = _startpos;
15711 MenhirLib.EngineTypes.endp = _endpos;
15712 MenhirLib.EngineTypes.next = _menhir_stack;
15713 });
15714 (fun _menhir_env ->
15715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15716 let {
15717 MenhirLib.EngineTypes.semv = _3;
15718 MenhirLib.EngineTypes.startp = _startpos__3_;
15719 MenhirLib.EngineTypes.endp = _endpos__3_;
15720 MenhirLib.EngineTypes.next = {
15721 MenhirLib.EngineTypes.semv = _2;
15722 MenhirLib.EngineTypes.startp = _startpos__2_;
15723 MenhirLib.EngineTypes.endp = _endpos__2_;
15724 MenhirLib.EngineTypes.next = {
15725 MenhirLib.EngineTypes.state = _menhir_s;
15726 MenhirLib.EngineTypes.semv = _1;
15727 MenhirLib.EngineTypes.startp = _startpos__1_;
15728 MenhirLib.EngineTypes.endp = _endpos__1_;
15729 MenhirLib.EngineTypes.next = _menhir_stack;
15730 };
15731 };
15732 } = _menhir_stack in
15733 let _3 : (
15734 # 101 "parser_cocci_menhir.mly"
15735 (Data.clt)
15736 # 15737 "parser_cocci_menhir.ml"
15737 ) = Obj.magic _3 in
15738 let _2 : 'tv_initialize_list = Obj.magic _2 in
15739 let _1 : (
15740 # 101 "parser_cocci_menhir.mly"
15741 (Data.clt)
15742 # 15743 "parser_cocci_menhir.ml"
15743 ) = Obj.magic _1 in
15744 let _startpos = _startpos__1_ in
15745 let _endpos = _endpos__3_ in
15746 let _v : 'tv_initialize2 =
15747 # 1087 "parser_cocci_menhir.mly"
15748 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15749 # 15750 "parser_cocci_menhir.ml"
15750 in
15751 _menhir_env.MenhirLib.EngineTypes.stack <- {
15752 MenhirLib.EngineTypes.state = _menhir_s;
15753 MenhirLib.EngineTypes.semv = Obj.repr _v;
15754 MenhirLib.EngineTypes.startp = _startpos;
15755 MenhirLib.EngineTypes.endp = _endpos;
15756 MenhirLib.EngineTypes.next = _menhir_stack;
15757 });
15758 (fun _menhir_env ->
15759 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15760 let {
15761 MenhirLib.EngineTypes.semv = _2;
15762 MenhirLib.EngineTypes.startp = _startpos__2_;
15763 MenhirLib.EngineTypes.endp = _endpos__2_;
15764 MenhirLib.EngineTypes.next = {
15765 MenhirLib.EngineTypes.state = _menhir_s;
15766 MenhirLib.EngineTypes.semv = _1;
15767 MenhirLib.EngineTypes.startp = _startpos__1_;
15768 MenhirLib.EngineTypes.endp = _endpos__1_;
15769 MenhirLib.EngineTypes.next = _menhir_stack;
15770 };
15771 } = _menhir_stack in
15772 let _2 : (
15773 # 101 "parser_cocci_menhir.mly"
15774 (Data.clt)
15775 # 15776 "parser_cocci_menhir.ml"
15776 ) = Obj.magic _2 in
15777 let _1 : (
15778 # 101 "parser_cocci_menhir.mly"
15779 (Data.clt)
15780 # 15781 "parser_cocci_menhir.ml"
15781 ) = Obj.magic _1 in
15782 let _startpos = _startpos__1_ in
15783 let _endpos = _endpos__2_ in
15784 let _v : 'tv_initialize2 =
15785 # 1089 "parser_cocci_menhir.mly"
15786 ( Ast0.wrap
15787 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15788 P.clt2mcode "}" _2)) )
15789 # 15790 "parser_cocci_menhir.ml"
15790 in
15791 _menhir_env.MenhirLib.EngineTypes.stack <- {
15792 MenhirLib.EngineTypes.state = _menhir_s;
15793 MenhirLib.EngineTypes.semv = Obj.repr _v;
15794 MenhirLib.EngineTypes.startp = _startpos;
15795 MenhirLib.EngineTypes.endp = _endpos;
15796 MenhirLib.EngineTypes.next = _menhir_stack;
15797 });
15798 (fun _menhir_env ->
15799 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15800 let {
15801 MenhirLib.EngineTypes.semv = _3;
15802 MenhirLib.EngineTypes.startp = _startpos__3_;
15803 MenhirLib.EngineTypes.endp = _endpos__3_;
15804 MenhirLib.EngineTypes.next = {
15805 MenhirLib.EngineTypes.semv = _2;
15806 MenhirLib.EngineTypes.startp = _startpos__2_;
15807 MenhirLib.EngineTypes.endp = _endpos__2_;
15808 MenhirLib.EngineTypes.next = {
15809 MenhirLib.EngineTypes.state = _menhir_s;
15810 MenhirLib.EngineTypes.semv = _1;
15811 MenhirLib.EngineTypes.startp = _startpos__1_;
15812 MenhirLib.EngineTypes.endp = _endpos__1_;
15813 MenhirLib.EngineTypes.next = _menhir_stack;
15814 };
15815 };
15816 } = _menhir_stack in
15817 let _3 : 'tv_initialize2 = Obj.magic _3 in
15818 let _2 : (
15819 # 107 "parser_cocci_menhir.mly"
15820 (Data.clt)
15821 # 15822 "parser_cocci_menhir.ml"
15822 ) = Obj.magic _2 in
15823 let _1 : 'tv_list_designator_ = Obj.magic _1 in
15824 let _startpos = _startpos__1_ in
15825 let _endpos = _endpos__3_ in
15826 let _v : 'tv_initialize2 =
15827 # 1094 "parser_cocci_menhir.mly"
15828 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
15829 # 15830 "parser_cocci_menhir.ml"
15830 in
15831 _menhir_env.MenhirLib.EngineTypes.stack <- {
15832 MenhirLib.EngineTypes.state = _menhir_s;
15833 MenhirLib.EngineTypes.semv = Obj.repr _v;
15834 MenhirLib.EngineTypes.startp = _startpos;
15835 MenhirLib.EngineTypes.endp = _endpos;
15836 MenhirLib.EngineTypes.next = _menhir_stack;
15837 });
15838 (fun _menhir_env ->
15839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15840 let {
15841 MenhirLib.EngineTypes.semv = _3;
15842 MenhirLib.EngineTypes.startp = _startpos__3_;
15843 MenhirLib.EngineTypes.endp = _endpos__3_;
15844 MenhirLib.EngineTypes.next = {
15845 MenhirLib.EngineTypes.semv = _2;
15846 MenhirLib.EngineTypes.startp = _startpos__2_;
15847 MenhirLib.EngineTypes.endp = _endpos__2_;
15848 MenhirLib.EngineTypes.next = {
15849 MenhirLib.EngineTypes.state = _menhir_s;
15850 MenhirLib.EngineTypes.semv = _1;
15851 MenhirLib.EngineTypes.startp = _startpos__1_;
15852 MenhirLib.EngineTypes.endp = _endpos__1_;
15853 MenhirLib.EngineTypes.next = _menhir_stack;
15854 };
15855 };
15856 } = _menhir_stack in
15857 let _3 : 'tv_initialize2 = Obj.magic _3 in
15858 let _2 : (
15859 # 76 "parser_cocci_menhir.mly"
15860 (Data.clt)
15861 # 15862 "parser_cocci_menhir.ml"
15862 ) = Obj.magic _2 in
15863 let _1 : 'tv_ident = Obj.magic _1 in
15864 let _startpos = _startpos__1_ in
15865 let _endpos = _endpos__3_ in
15866 let _v : 'tv_initialize2 =
15867 # 1096 "parser_cocci_menhir.mly"
15868 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
15869 # 15870 "parser_cocci_menhir.ml"
15870 in
15871 _menhir_env.MenhirLib.EngineTypes.stack <- {
15872 MenhirLib.EngineTypes.state = _menhir_s;
15873 MenhirLib.EngineTypes.semv = Obj.repr _v;
15874 MenhirLib.EngineTypes.startp = _startpos;
15875 MenhirLib.EngineTypes.endp = _endpos;
15876 MenhirLib.EngineTypes.next = _menhir_stack;
15877 });
15878 (fun _menhir_env ->
15879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15880 let {
15881 MenhirLib.EngineTypes.state = _menhir_s;
15882 MenhirLib.EngineTypes.semv = _1;
15883 MenhirLib.EngineTypes.startp = _startpos__1_;
15884 MenhirLib.EngineTypes.endp = _endpos__1_;
15885 MenhirLib.EngineTypes.next = _menhir_stack;
15886 } = _menhir_stack in
15887 let _1 : 'tv_initialize_list_start = Obj.magic _1 in
15888 let _startpos = _startpos__1_ in
15889 let _endpos = _endpos__1_ in
15890 let _v : 'tv_initialize_list =
15891 # 1108 "parser_cocci_menhir.mly"
15892 ( Ast0.wrap(Ast0.DOTS(_1)) )
15893 # 15894 "parser_cocci_menhir.ml"
15894 in
15895 _menhir_env.MenhirLib.EngineTypes.stack <- {
15896 MenhirLib.EngineTypes.state = _menhir_s;
15897 MenhirLib.EngineTypes.semv = Obj.repr _v;
15898 MenhirLib.EngineTypes.startp = _startpos;
15899 MenhirLib.EngineTypes.endp = _endpos;
15900 MenhirLib.EngineTypes.next = _menhir_stack;
15901 });
15902 (fun _menhir_env ->
15903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15904 let {
15905 MenhirLib.EngineTypes.semv = _2;
15906 MenhirLib.EngineTypes.startp = _startpos__2_;
15907 MenhirLib.EngineTypes.endp = _endpos__2_;
15908 MenhirLib.EngineTypes.next = {
15909 MenhirLib.EngineTypes.state = _menhir_s;
15910 MenhirLib.EngineTypes.semv = _1;
15911 MenhirLib.EngineTypes.startp = _startpos__1_;
15912 MenhirLib.EngineTypes.endp = _endpos__1_;
15913 MenhirLib.EngineTypes.next = _menhir_stack;
15914 };
15915 } = _menhir_stack in
15916 let _2 : (
15917 # 107 "parser_cocci_menhir.mly"
15918 (Data.clt)
15919 # 15920 "parser_cocci_menhir.ml"
15920 ) = Obj.magic _2 in
15921 let _1 : 'tv_initialize2 = Obj.magic _1 in
15922 let _startpos = _startpos__1_ in
15923 let _endpos = _endpos__2_ in
15924 let _v : 'tv_initialize_list_start =
15925 # 1111 "parser_cocci_menhir.mly"
15926 ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
15927 # 15928 "parser_cocci_menhir.ml"
15928 in
15929 _menhir_env.MenhirLib.EngineTypes.stack <- {
15930 MenhirLib.EngineTypes.state = _menhir_s;
15931 MenhirLib.EngineTypes.semv = Obj.repr _v;
15932 MenhirLib.EngineTypes.startp = _startpos;
15933 MenhirLib.EngineTypes.endp = _endpos;
15934 MenhirLib.EngineTypes.next = _menhir_stack;
15935 });
15936 (fun _menhir_env ->
15937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15938 let {
15939 MenhirLib.EngineTypes.semv = _3;
15940 MenhirLib.EngineTypes.startp = _startpos__3_;
15941 MenhirLib.EngineTypes.endp = _endpos__3_;
15942 MenhirLib.EngineTypes.next = {
15943 MenhirLib.EngineTypes.semv = _2;
15944 MenhirLib.EngineTypes.startp = _startpos__2_;
15945 MenhirLib.EngineTypes.endp = _endpos__2_;
15946 MenhirLib.EngineTypes.next = {
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 };
15953 };
15954 } = _menhir_stack in
15955 let _3 : 'tv_initialize_list_start = Obj.magic _3 in
15956 let _2 : (
15957 # 107 "parser_cocci_menhir.mly"
15958 (Data.clt)
15959 # 15960 "parser_cocci_menhir.ml"
15960 ) = Obj.magic _2 in
15961 let _1 : 'tv_initialize2 = Obj.magic _1 in
15962 let _startpos = _startpos__1_ in
15963 let _endpos = _endpos__3_ in
15964 let _v : 'tv_initialize_list_start =
15965 # 1113 "parser_cocci_menhir.mly"
15966 ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
15967 # 15968 "parser_cocci_menhir.ml"
15968 in
15969 _menhir_env.MenhirLib.EngineTypes.stack <- {
15970 MenhirLib.EngineTypes.state = _menhir_s;
15971 MenhirLib.EngineTypes.semv = Obj.repr _v;
15972 MenhirLib.EngineTypes.startp = _startpos;
15973 MenhirLib.EngineTypes.endp = _endpos;
15974 MenhirLib.EngineTypes.next = _menhir_stack;
15975 });
15976 (fun _menhir_env ->
15977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15978 let {
15979 MenhirLib.EngineTypes.semv = r;
15980 MenhirLib.EngineTypes.startp = _startpos_r_;
15981 MenhirLib.EngineTypes.endp = _endpos_r_;
15982 MenhirLib.EngineTypes.next = {
15983 MenhirLib.EngineTypes.state = _menhir_s;
15984 MenhirLib.EngineTypes.semv = d;
15985 MenhirLib.EngineTypes.startp = _startpos_d_;
15986 MenhirLib.EngineTypes.endp = _endpos_d_;
15987 MenhirLib.EngineTypes.next = _menhir_stack;
15988 };
15989 } = _menhir_stack in
15990 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
15991 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
15992 let _startpos = _startpos_d_ in
15993 let _endpos = _endpos_r_ in
15994 let _v : 'tv_initialize_list_start =
15995 # 1116 "parser_cocci_menhir.mly"
15996 ( (P.mkidots "..." d)::
15997 (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
15998 # 15999 "parser_cocci_menhir.ml"
15999 in
16000 _menhir_env.MenhirLib.EngineTypes.stack <- {
16001 MenhirLib.EngineTypes.state = _menhir_s;
16002 MenhirLib.EngineTypes.semv = Obj.repr _v;
16003 MenhirLib.EngineTypes.startp = _startpos;
16004 MenhirLib.EngineTypes.endp = _endpos;
16005 MenhirLib.EngineTypes.next = _menhir_stack;
16006 });
16007 (fun _menhir_env ->
16008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16009 let {
16010 MenhirLib.EngineTypes.state = _menhir_s;
16011 MenhirLib.EngineTypes.startp = _startpos__1_;
16012 MenhirLib.EngineTypes.endp = _endpos__1_;
16013 MenhirLib.EngineTypes.next = _menhir_stack;
16014 } = _menhir_stack in
16015 let _startpos = _startpos__1_ in
16016 let _endpos = _endpos__1_ in
16017 let _v : 'tv_invalid =
16018 # 1209 "parser_cocci_menhir.mly"
16019 ( raise (Semantic_cocci.Semantic "not matchable") )
16020 # 16021 "parser_cocci_menhir.ml"
16021 in
16022 _menhir_env.MenhirLib.EngineTypes.stack <- {
16023 MenhirLib.EngineTypes.state = _menhir_s;
16024 MenhirLib.EngineTypes.semv = Obj.repr _v;
16025 MenhirLib.EngineTypes.startp = _startpos;
16026 MenhirLib.EngineTypes.endp = _endpos;
16027 MenhirLib.EngineTypes.next = _menhir_stack;
16028 });
16029 (fun _menhir_env ->
16030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16031 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16032 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16033 let _endpos = _startpos in
16034 let _v : 'tv_is_expression =
16035 # 248 "parser_cocci_menhir.mly"
16036 ( false )
16037 # 16038 "parser_cocci_menhir.ml"
16038 in
16039 _menhir_env.MenhirLib.EngineTypes.stack <- {
16040 MenhirLib.EngineTypes.state = _menhir_s;
16041 MenhirLib.EngineTypes.semv = Obj.repr _v;
16042 MenhirLib.EngineTypes.startp = _startpos;
16043 MenhirLib.EngineTypes.endp = _endpos;
16044 MenhirLib.EngineTypes.next = _menhir_stack;
16045 });
16046 (fun _menhir_env ->
16047 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16048 let {
16049 MenhirLib.EngineTypes.state = _menhir_s;
16050 MenhirLib.EngineTypes.startp = _startpos__1_;
16051 MenhirLib.EngineTypes.endp = _endpos__1_;
16052 MenhirLib.EngineTypes.next = _menhir_stack;
16053 } = _menhir_stack in
16054 let _startpos = _startpos__1_ in
16055 let _endpos = _endpos__1_ in
16056 let _v : 'tv_is_expression =
16057 # 249 "parser_cocci_menhir.mly"
16058 ( true )
16059 # 16060 "parser_cocci_menhir.ml"
16060 in
16061 _menhir_env.MenhirLib.EngineTypes.stack <- {
16062 MenhirLib.EngineTypes.state = _menhir_s;
16063 MenhirLib.EngineTypes.semv = Obj.repr _v;
16064 MenhirLib.EngineTypes.startp = _startpos;
16065 MenhirLib.EngineTypes.endp = _endpos;
16066 MenhirLib.EngineTypes.next = _menhir_stack;
16067 });
16068 (fun _menhir_env ->
16069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16070 let {
16071 MenhirLib.EngineTypes.semv = t;
16072 MenhirLib.EngineTypes.startp = _startpos_t_;
16073 MenhirLib.EngineTypes.endp = _endpos_t_;
16074 MenhirLib.EngineTypes.next = {
16075 MenhirLib.EngineTypes.state = _menhir_s;
16076 MenhirLib.EngineTypes.startp = _startpos__1_;
16077 MenhirLib.EngineTypes.endp = _endpos__1_;
16078 MenhirLib.EngineTypes.next = _menhir_stack;
16079 };
16080 } = _menhir_stack in
16081 let t : 'tv_ctype = Obj.magic t in
16082 let _startpos = _startpos__1_ in
16083 let _endpos = _endpos_t_ in
16084 let _v : 'tv_iso_ctype_ =
16085 # 1939 "parser_cocci_menhir.mly"
16086 ( Common.Left t )
16087 # 16088 "parser_cocci_menhir.ml"
16088 in
16089 _menhir_env.MenhirLib.EngineTypes.stack <- {
16090 MenhirLib.EngineTypes.state = _menhir_s;
16091 MenhirLib.EngineTypes.semv = Obj.repr _v;
16092 MenhirLib.EngineTypes.startp = _startpos;
16093 MenhirLib.EngineTypes.endp = _endpos;
16094 MenhirLib.EngineTypes.next = _menhir_stack;
16095 });
16096 (fun _menhir_env ->
16097 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16098 let {
16099 MenhirLib.EngineTypes.semv = t;
16100 MenhirLib.EngineTypes.startp = _startpos_t_;
16101 MenhirLib.EngineTypes.endp = _endpos_t_;
16102 MenhirLib.EngineTypes.next = {
16103 MenhirLib.EngineTypes.state = _menhir_s;
16104 MenhirLib.EngineTypes.startp = _startpos__1_;
16105 MenhirLib.EngineTypes.endp = _endpos__1_;
16106 MenhirLib.EngineTypes.next = _menhir_stack;
16107 };
16108 } = _menhir_stack in
16109 let t : 'tv_ctype = Obj.magic t in
16110 let _startpos = _startpos__1_ in
16111 let _endpos = _endpos_t_ in
16112 let _v : 'tv_iso_ctype_ =
16113 # 1940 "parser_cocci_menhir.mly"
16114 ( Common.Right t )
16115 # 16116 "parser_cocci_menhir.ml"
16116 in
16117 _menhir_env.MenhirLib.EngineTypes.stack <- {
16118 MenhirLib.EngineTypes.state = _menhir_s;
16119 MenhirLib.EngineTypes.semv = Obj.repr _v;
16120 MenhirLib.EngineTypes.startp = _startpos;
16121 MenhirLib.EngineTypes.endp = _endpos;
16122 MenhirLib.EngineTypes.next = _menhir_stack;
16123 });
16124 (fun _menhir_env ->
16125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16126 let {
16127 MenhirLib.EngineTypes.semv = t;
16128 MenhirLib.EngineTypes.startp = _startpos_t_;
16129 MenhirLib.EngineTypes.endp = _endpos_t_;
16130 MenhirLib.EngineTypes.next = {
16131 MenhirLib.EngineTypes.state = _menhir_s;
16132 MenhirLib.EngineTypes.startp = _startpos__1_;
16133 MenhirLib.EngineTypes.endp = _endpos__1_;
16134 MenhirLib.EngineTypes.next = _menhir_stack;
16135 };
16136 } = _menhir_stack in
16137 let t : 'tv_decl_var = Obj.magic t in
16138 let _startpos = _startpos__1_ in
16139 let _endpos = _endpos_t_ in
16140 let _v : 'tv_iso_decl_var_ =
16141 # 1939 "parser_cocci_menhir.mly"
16142 ( Common.Left t )
16143 # 16144 "parser_cocci_menhir.ml"
16144 in
16145 _menhir_env.MenhirLib.EngineTypes.stack <- {
16146 MenhirLib.EngineTypes.state = _menhir_s;
16147 MenhirLib.EngineTypes.semv = Obj.repr _v;
16148 MenhirLib.EngineTypes.startp = _startpos;
16149 MenhirLib.EngineTypes.endp = _endpos;
16150 MenhirLib.EngineTypes.next = _menhir_stack;
16151 });
16152 (fun _menhir_env ->
16153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16154 let {
16155 MenhirLib.EngineTypes.semv = t;
16156 MenhirLib.EngineTypes.startp = _startpos_t_;
16157 MenhirLib.EngineTypes.endp = _endpos_t_;
16158 MenhirLib.EngineTypes.next = {
16159 MenhirLib.EngineTypes.state = _menhir_s;
16160 MenhirLib.EngineTypes.startp = _startpos__1_;
16161 MenhirLib.EngineTypes.endp = _endpos__1_;
16162 MenhirLib.EngineTypes.next = _menhir_stack;
16163 };
16164 } = _menhir_stack in
16165 let t : 'tv_decl_var = Obj.magic t in
16166 let _startpos = _startpos__1_ in
16167 let _endpos = _endpos_t_ in
16168 let _v : 'tv_iso_decl_var_ =
16169 # 1940 "parser_cocci_menhir.mly"
16170 ( Common.Right t )
16171 # 16172 "parser_cocci_menhir.ml"
16172 in
16173 _menhir_env.MenhirLib.EngineTypes.stack <- {
16174 MenhirLib.EngineTypes.state = _menhir_s;
16175 MenhirLib.EngineTypes.semv = Obj.repr _v;
16176 MenhirLib.EngineTypes.startp = _startpos;
16177 MenhirLib.EngineTypes.endp = _endpos;
16178 MenhirLib.EngineTypes.next = _menhir_stack;
16179 });
16180 (fun _menhir_env ->
16181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16182 let {
16183 MenhirLib.EngineTypes.semv = t;
16184 MenhirLib.EngineTypes.startp = _startpos_t_;
16185 MenhirLib.EngineTypes.endp = _endpos_t_;
16186 MenhirLib.EngineTypes.next = {
16187 MenhirLib.EngineTypes.state = _menhir_s;
16188 MenhirLib.EngineTypes.startp = _startpos__1_;
16189 MenhirLib.EngineTypes.endp = _endpos__1_;
16190 MenhirLib.EngineTypes.next = _menhir_stack;
16191 };
16192 } = _menhir_stack in
16193 let t : 'tv_dexpr = Obj.magic t in
16194 let _startpos = _startpos__1_ in
16195 let _endpos = _endpos_t_ in
16196 let _v : 'tv_iso_dexpr_ =
16197 # 1939 "parser_cocci_menhir.mly"
16198 ( Common.Left t )
16199 # 16200 "parser_cocci_menhir.ml"
16200 in
16201 _menhir_env.MenhirLib.EngineTypes.stack <- {
16202 MenhirLib.EngineTypes.state = _menhir_s;
16203 MenhirLib.EngineTypes.semv = Obj.repr _v;
16204 MenhirLib.EngineTypes.startp = _startpos;
16205 MenhirLib.EngineTypes.endp = _endpos;
16206 MenhirLib.EngineTypes.next = _menhir_stack;
16207 });
16208 (fun _menhir_env ->
16209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16210 let {
16211 MenhirLib.EngineTypes.semv = t;
16212 MenhirLib.EngineTypes.startp = _startpos_t_;
16213 MenhirLib.EngineTypes.endp = _endpos_t_;
16214 MenhirLib.EngineTypes.next = {
16215 MenhirLib.EngineTypes.state = _menhir_s;
16216 MenhirLib.EngineTypes.startp = _startpos__1_;
16217 MenhirLib.EngineTypes.endp = _endpos__1_;
16218 MenhirLib.EngineTypes.next = _menhir_stack;
16219 };
16220 } = _menhir_stack in
16221 let t : 'tv_dexpr = Obj.magic t in
16222 let _startpos = _startpos__1_ in
16223 let _endpos = _endpos_t_ in
16224 let _v : 'tv_iso_dexpr_ =
16225 # 1940 "parser_cocci_menhir.mly"
16226 ( Common.Right t )
16227 # 16228 "parser_cocci_menhir.ml"
16228 in
16229 _menhir_env.MenhirLib.EngineTypes.stack <- {
16230 MenhirLib.EngineTypes.state = _menhir_s;
16231 MenhirLib.EngineTypes.semv = Obj.repr _v;
16232 MenhirLib.EngineTypes.startp = _startpos;
16233 MenhirLib.EngineTypes.endp = _endpos;
16234 MenhirLib.EngineTypes.next = _menhir_stack;
16235 });
16236 (fun _menhir_env ->
16237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16238 let {
16239 MenhirLib.EngineTypes.semv = t;
16240 MenhirLib.EngineTypes.startp = _startpos_t_;
16241 MenhirLib.EngineTypes.endp = _endpos_t_;
16242 MenhirLib.EngineTypes.next = {
16243 MenhirLib.EngineTypes.state = _menhir_s;
16244 MenhirLib.EngineTypes.startp = _startpos__1_;
16245 MenhirLib.EngineTypes.endp = _endpos__1_;
16246 MenhirLib.EngineTypes.next = _menhir_stack;
16247 };
16248 } = _menhir_stack in
16249 let t : 'tv_nest_start = Obj.magic t in
16250 let _startpos = _startpos__1_ in
16251 let _endpos = _endpos_t_ in
16252 let _v : 'tv_iso_nest_start_ =
16253 # 1939 "parser_cocci_menhir.mly"
16254 ( Common.Left t )
16255 # 16256 "parser_cocci_menhir.ml"
16256 in
16257 _menhir_env.MenhirLib.EngineTypes.stack <- {
16258 MenhirLib.EngineTypes.state = _menhir_s;
16259 MenhirLib.EngineTypes.semv = Obj.repr _v;
16260 MenhirLib.EngineTypes.startp = _startpos;
16261 MenhirLib.EngineTypes.endp = _endpos;
16262 MenhirLib.EngineTypes.next = _menhir_stack;
16263 });
16264 (fun _menhir_env ->
16265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16266 let {
16267 MenhirLib.EngineTypes.semv = t;
16268 MenhirLib.EngineTypes.startp = _startpos_t_;
16269 MenhirLib.EngineTypes.endp = _endpos_t_;
16270 MenhirLib.EngineTypes.next = {
16271 MenhirLib.EngineTypes.state = _menhir_s;
16272 MenhirLib.EngineTypes.startp = _startpos__1_;
16273 MenhirLib.EngineTypes.endp = _endpos__1_;
16274 MenhirLib.EngineTypes.next = _menhir_stack;
16275 };
16276 } = _menhir_stack in
16277 let t : 'tv_nest_start = Obj.magic t in
16278 let _startpos = _startpos__1_ in
16279 let _endpos = _endpos_t_ in
16280 let _v : 'tv_iso_nest_start_ =
16281 # 1940 "parser_cocci_menhir.mly"
16282 ( Common.Right t )
16283 # 16284 "parser_cocci_menhir.ml"
16284 in
16285 _menhir_env.MenhirLib.EngineTypes.stack <- {
16286 MenhirLib.EngineTypes.state = _menhir_s;
16287 MenhirLib.EngineTypes.semv = Obj.repr _v;
16288 MenhirLib.EngineTypes.startp = _startpos;
16289 MenhirLib.EngineTypes.endp = _endpos;
16290 MenhirLib.EngineTypes.next = _menhir_stack;
16291 });
16292 (fun _menhir_env ->
16293 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16294 let {
16295 MenhirLib.EngineTypes.semv = t;
16296 MenhirLib.EngineTypes.startp = _startpos_t_;
16297 MenhirLib.EngineTypes.endp = _endpos_t_;
16298 MenhirLib.EngineTypes.next = {
16299 MenhirLib.EngineTypes.state = _menhir_s;
16300 MenhirLib.EngineTypes.startp = _startpos__1_;
16301 MenhirLib.EngineTypes.endp = _endpos__1_;
16302 MenhirLib.EngineTypes.next = _menhir_stack;
16303 };
16304 } = _menhir_stack in
16305 let t : 'tv_single_statement = Obj.magic t in
16306 let _startpos = _startpos__1_ in
16307 let _endpos = _endpos_t_ in
16308 let _v : 'tv_iso_single_statement_ =
16309 # 1939 "parser_cocci_menhir.mly"
16310 ( Common.Left t )
16311 # 16312 "parser_cocci_menhir.ml"
16312 in
16313 _menhir_env.MenhirLib.EngineTypes.stack <- {
16314 MenhirLib.EngineTypes.state = _menhir_s;
16315 MenhirLib.EngineTypes.semv = Obj.repr _v;
16316 MenhirLib.EngineTypes.startp = _startpos;
16317 MenhirLib.EngineTypes.endp = _endpos;
16318 MenhirLib.EngineTypes.next = _menhir_stack;
16319 });
16320 (fun _menhir_env ->
16321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16322 let {
16323 MenhirLib.EngineTypes.semv = t;
16324 MenhirLib.EngineTypes.startp = _startpos_t_;
16325 MenhirLib.EngineTypes.endp = _endpos_t_;
16326 MenhirLib.EngineTypes.next = {
16327 MenhirLib.EngineTypes.state = _menhir_s;
16328 MenhirLib.EngineTypes.startp = _startpos__1_;
16329 MenhirLib.EngineTypes.endp = _endpos__1_;
16330 MenhirLib.EngineTypes.next = _menhir_stack;
16331 };
16332 } = _menhir_stack in
16333 let t : 'tv_single_statement = Obj.magic t in
16334 let _startpos = _startpos__1_ in
16335 let _endpos = _endpos_t_ in
16336 let _v : 'tv_iso_single_statement_ =
16337 # 1940 "parser_cocci_menhir.mly"
16338 ( Common.Right t )
16339 # 16340 "parser_cocci_menhir.ml"
16340 in
16341 _menhir_env.MenhirLib.EngineTypes.stack <- {
16342 MenhirLib.EngineTypes.state = _menhir_s;
16343 MenhirLib.EngineTypes.semv = Obj.repr _v;
16344 MenhirLib.EngineTypes.startp = _startpos;
16345 MenhirLib.EngineTypes.endp = _endpos;
16346 MenhirLib.EngineTypes.next = _menhir_stack;
16347 });
16348 (fun _menhir_env ->
16349 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16350 let {
16351 MenhirLib.EngineTypes.startp = _startpos__4_;
16352 MenhirLib.EngineTypes.endp = _endpos__4_;
16353 MenhirLib.EngineTypes.next = {
16354 MenhirLib.EngineTypes.semv = el;
16355 MenhirLib.EngineTypes.startp = _startpos_el_;
16356 MenhirLib.EngineTypes.endp = _endpos_el_;
16357 MenhirLib.EngineTypes.next = {
16358 MenhirLib.EngineTypes.semv = e1;
16359 MenhirLib.EngineTypes.startp = _startpos_e1_;
16360 MenhirLib.EngineTypes.endp = _endpos_e1_;
16361 MenhirLib.EngineTypes.next = {
16362 MenhirLib.EngineTypes.state = _menhir_s;
16363 MenhirLib.EngineTypes.startp = _startpos__1_;
16364 MenhirLib.EngineTypes.endp = _endpos__1_;
16365 MenhirLib.EngineTypes.next = _menhir_stack;
16366 };
16367 };
16368 };
16369 } = _menhir_stack in
16370 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
16371 let e1 : 'tv_dexpr = Obj.magic e1 in
16372 let _startpos = _startpos__1_ in
16373 let _endpos = _endpos__4_ in
16374 let _v : (
16375 # 162 "parser_cocci_menhir.mly"
16376 (Ast0_cocci.anything list list)
16377 # 16378 "parser_cocci_menhir.ml"
16378 ) =
16379 # 1911 "parser_cocci_menhir.mly"
16380 ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
16381 # 16382 "parser_cocci_menhir.ml"
16382 in
16383 _menhir_env.MenhirLib.EngineTypes.stack <- {
16384 MenhirLib.EngineTypes.state = _menhir_s;
16385 MenhirLib.EngineTypes.semv = Obj.repr _v;
16386 MenhirLib.EngineTypes.startp = _startpos;
16387 MenhirLib.EngineTypes.endp = _endpos;
16388 MenhirLib.EngineTypes.next = _menhir_stack;
16389 });
16390 (fun _menhir_env ->
16391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16392 let {
16393 MenhirLib.EngineTypes.startp = _startpos__4_;
16394 MenhirLib.EngineTypes.endp = _endpos__4_;
16395 MenhirLib.EngineTypes.next = {
16396 MenhirLib.EngineTypes.semv = el;
16397 MenhirLib.EngineTypes.startp = _startpos_el_;
16398 MenhirLib.EngineTypes.endp = _endpos_el_;
16399 MenhirLib.EngineTypes.next = {
16400 MenhirLib.EngineTypes.semv = e1;
16401 MenhirLib.EngineTypes.startp = _startpos_e1_;
16402 MenhirLib.EngineTypes.endp = _endpos_e1_;
16403 MenhirLib.EngineTypes.next = {
16404 MenhirLib.EngineTypes.state = _menhir_s;
16405 MenhirLib.EngineTypes.startp = _startpos__1_;
16406 MenhirLib.EngineTypes.endp = _endpos__1_;
16407 MenhirLib.EngineTypes.next = _menhir_stack;
16408 };
16409 };
16410 };
16411 } = _menhir_stack in
16412 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
16413 let e1 : 'tv_dexpr = Obj.magic e1 in
16414 let _startpos = _startpos__1_ in
16415 let _endpos = _endpos__4_ in
16416 let _v : (
16417 # 162 "parser_cocci_menhir.mly"
16418 (Ast0_cocci.anything list list)
16419 # 16420 "parser_cocci_menhir.ml"
16420 ) =
16421 # 1913 "parser_cocci_menhir.mly"
16422 ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
16423 # 16424 "parser_cocci_menhir.ml"
16424 in
16425 _menhir_env.MenhirLib.EngineTypes.stack <- {
16426 MenhirLib.EngineTypes.state = _menhir_s;
16427 MenhirLib.EngineTypes.semv = Obj.repr _v;
16428 MenhirLib.EngineTypes.startp = _startpos;
16429 MenhirLib.EngineTypes.endp = _endpos;
16430 MenhirLib.EngineTypes.next = _menhir_stack;
16431 });
16432 (fun _menhir_env ->
16433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16434 let {
16435 MenhirLib.EngineTypes.startp = _startpos__4_;
16436 MenhirLib.EngineTypes.endp = _endpos__4_;
16437 MenhirLib.EngineTypes.next = {
16438 MenhirLib.EngineTypes.semv = el;
16439 MenhirLib.EngineTypes.startp = _startpos_el_;
16440 MenhirLib.EngineTypes.endp = _endpos_el_;
16441 MenhirLib.EngineTypes.next = {
16442 MenhirLib.EngineTypes.semv = e1;
16443 MenhirLib.EngineTypes.startp = _startpos_e1_;
16444 MenhirLib.EngineTypes.endp = _endpos_e1_;
16445 MenhirLib.EngineTypes.next = {
16446 MenhirLib.EngineTypes.state = _menhir_s;
16447 MenhirLib.EngineTypes.startp = _startpos__1_;
16448 MenhirLib.EngineTypes.endp = _endpos__1_;
16449 MenhirLib.EngineTypes.next = _menhir_stack;
16450 };
16451 };
16452 };
16453 } = _menhir_stack in
16454 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
16455 let e1 : 'tv_dexpr = Obj.magic e1 in
16456 let _startpos = _startpos__1_ in
16457 let _endpos = _endpos__4_ in
16458 let _v : (
16459 # 162 "parser_cocci_menhir.mly"
16460 (Ast0_cocci.anything list list)
16461 # 16462 "parser_cocci_menhir.ml"
16462 ) =
16463 # 1915 "parser_cocci_menhir.mly"
16464 ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
16465 # 16466 "parser_cocci_menhir.ml"
16466 in
16467 _menhir_env.MenhirLib.EngineTypes.stack <- {
16468 MenhirLib.EngineTypes.state = _menhir_s;
16469 MenhirLib.EngineTypes.semv = Obj.repr _v;
16470 MenhirLib.EngineTypes.startp = _startpos;
16471 MenhirLib.EngineTypes.endp = _endpos;
16472 MenhirLib.EngineTypes.next = _menhir_stack;
16473 });
16474 (fun _menhir_env ->
16475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16476 let {
16477 MenhirLib.EngineTypes.startp = _startpos__4_;
16478 MenhirLib.EngineTypes.endp = _endpos__4_;
16479 MenhirLib.EngineTypes.next = {
16480 MenhirLib.EngineTypes.semv = sl;
16481 MenhirLib.EngineTypes.startp = _startpos_sl_;
16482 MenhirLib.EngineTypes.endp = _endpos_sl_;
16483 MenhirLib.EngineTypes.next = {
16484 MenhirLib.EngineTypes.semv = s1;
16485 MenhirLib.EngineTypes.startp = _startpos_s1_;
16486 MenhirLib.EngineTypes.endp = _endpos_s1_;
16487 MenhirLib.EngineTypes.next = {
16488 MenhirLib.EngineTypes.state = _menhir_s;
16489 MenhirLib.EngineTypes.startp = _startpos__1_;
16490 MenhirLib.EngineTypes.endp = _endpos__1_;
16491 MenhirLib.EngineTypes.next = _menhir_stack;
16492 };
16493 };
16494 };
16495 } = _menhir_stack in
16496 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
16497 let s1 : 'tv_single_statement = Obj.magic s1 in
16498 let _startpos = _startpos__1_ in
16499 let _endpos = _endpos__4_ in
16500 let _v : (
16501 # 162 "parser_cocci_menhir.mly"
16502 (Ast0_cocci.anything list list)
16503 # 16504 "parser_cocci_menhir.ml"
16504 ) =
16505 # 1917 "parser_cocci_menhir.mly"
16506 ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
16507 # 16508 "parser_cocci_menhir.ml"
16508 in
16509 _menhir_env.MenhirLib.EngineTypes.stack <- {
16510 MenhirLib.EngineTypes.state = _menhir_s;
16511 MenhirLib.EngineTypes.semv = Obj.repr _v;
16512 MenhirLib.EngineTypes.startp = _startpos;
16513 MenhirLib.EngineTypes.endp = _endpos;
16514 MenhirLib.EngineTypes.next = _menhir_stack;
16515 });
16516 (fun _menhir_env ->
16517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16518 let {
16519 MenhirLib.EngineTypes.startp = _startpos__4_;
16520 MenhirLib.EngineTypes.endp = _endpos__4_;
16521 MenhirLib.EngineTypes.next = {
16522 MenhirLib.EngineTypes.semv = tl;
16523 MenhirLib.EngineTypes.startp = _startpos_tl_;
16524 MenhirLib.EngineTypes.endp = _endpos_tl_;
16525 MenhirLib.EngineTypes.next = {
16526 MenhirLib.EngineTypes.semv = t1;
16527 MenhirLib.EngineTypes.startp = _startpos_t1_;
16528 MenhirLib.EngineTypes.endp = _endpos_t1_;
16529 MenhirLib.EngineTypes.next = {
16530 MenhirLib.EngineTypes.state = _menhir_s;
16531 MenhirLib.EngineTypes.startp = _startpos__1_;
16532 MenhirLib.EngineTypes.endp = _endpos__1_;
16533 MenhirLib.EngineTypes.next = _menhir_stack;
16534 };
16535 };
16536 };
16537 } = _menhir_stack in
16538 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
16539 let t1 : 'tv_ctype = Obj.magic t1 in
16540 let _startpos = _startpos__1_ in
16541 let _endpos = _endpos__4_ in
16542 let _v : (
16543 # 162 "parser_cocci_menhir.mly"
16544 (Ast0_cocci.anything list list)
16545 # 16546 "parser_cocci_menhir.ml"
16546 ) =
16547 # 1919 "parser_cocci_menhir.mly"
16548 ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
16549 # 16550 "parser_cocci_menhir.ml"
16550 in
16551 _menhir_env.MenhirLib.EngineTypes.stack <- {
16552 MenhirLib.EngineTypes.state = _menhir_s;
16553 MenhirLib.EngineTypes.semv = Obj.repr _v;
16554 MenhirLib.EngineTypes.startp = _startpos;
16555 MenhirLib.EngineTypes.endp = _endpos;
16556 MenhirLib.EngineTypes.next = _menhir_stack;
16557 });
16558 (fun _menhir_env ->
16559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16560 let {
16561 MenhirLib.EngineTypes.startp = _startpos__4_;
16562 MenhirLib.EngineTypes.endp = _endpos__4_;
16563 MenhirLib.EngineTypes.next = {
16564 MenhirLib.EngineTypes.semv = el;
16565 MenhirLib.EngineTypes.startp = _startpos_el_;
16566 MenhirLib.EngineTypes.endp = _endpos_el_;
16567 MenhirLib.EngineTypes.next = {
16568 MenhirLib.EngineTypes.semv = e1;
16569 MenhirLib.EngineTypes.startp = _startpos_e1_;
16570 MenhirLib.EngineTypes.endp = _endpos_e1_;
16571 MenhirLib.EngineTypes.next = {
16572 MenhirLib.EngineTypes.state = _menhir_s;
16573 MenhirLib.EngineTypes.startp = _startpos__1_;
16574 MenhirLib.EngineTypes.endp = _endpos__1_;
16575 MenhirLib.EngineTypes.next = _menhir_stack;
16576 };
16577 };
16578 };
16579 } = _menhir_stack in
16580 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
16581 let e1 : 'tv_nest_start = Obj.magic e1 in
16582 let _startpos = _startpos__1_ in
16583 let _endpos = _endpos__4_ in
16584 let _v : (
16585 # 162 "parser_cocci_menhir.mly"
16586 (Ast0_cocci.anything list list)
16587 # 16588 "parser_cocci_menhir.ml"
16588 ) =
16589 # 1921 "parser_cocci_menhir.mly"
16590 ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
16591 # 16592 "parser_cocci_menhir.ml"
16592 in
16593 _menhir_env.MenhirLib.EngineTypes.stack <- {
16594 MenhirLib.EngineTypes.state = _menhir_s;
16595 MenhirLib.EngineTypes.semv = Obj.repr _v;
16596 MenhirLib.EngineTypes.startp = _startpos;
16597 MenhirLib.EngineTypes.endp = _endpos;
16598 MenhirLib.EngineTypes.next = _menhir_stack;
16599 });
16600 (fun _menhir_env ->
16601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16602 let {
16603 MenhirLib.EngineTypes.startp = _startpos__4_;
16604 MenhirLib.EngineTypes.endp = _endpos__4_;
16605 MenhirLib.EngineTypes.next = {
16606 MenhirLib.EngineTypes.semv = dl;
16607 MenhirLib.EngineTypes.startp = _startpos_dl_;
16608 MenhirLib.EngineTypes.endp = _endpos_dl_;
16609 MenhirLib.EngineTypes.next = {
16610 MenhirLib.EngineTypes.semv = d1;
16611 MenhirLib.EngineTypes.startp = _startpos_d1_;
16612 MenhirLib.EngineTypes.endp = _endpos_d1_;
16613 MenhirLib.EngineTypes.next = {
16614 MenhirLib.EngineTypes.state = _menhir_s;
16615 MenhirLib.EngineTypes.startp = _startpos__1_;
16616 MenhirLib.EngineTypes.endp = _endpos__1_;
16617 MenhirLib.EngineTypes.next = _menhir_stack;
16618 };
16619 };
16620 };
16621 } = _menhir_stack in
16622 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
16623 let d1 : 'tv_decl_var = Obj.magic d1 in
16624 let _startpos = _startpos__1_ in
16625 let _endpos = _endpos__4_ in
16626 let _v : (
16627 # 162 "parser_cocci_menhir.mly"
16628 (Ast0_cocci.anything list list)
16629 # 16630 "parser_cocci_menhir.ml"
16630 ) =
16631 # 1923 "parser_cocci_menhir.mly"
16632 ( let check_one = function
16633 [x] -> x
16634 | _ ->
16635 raise
16636 (Semantic_cocci.Semantic
16637 "only one variable per declaration in an isomorphism rule") in
16638 let d1 = check_one d1 in
16639 let dl =
16640 List.map
16641 (function
16642 Common.Left x -> Common.Left(check_one x)
16643 | Common.Right x -> Common.Right(check_one x))
16644 dl in
16645 P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl )
16646 # 16647 "parser_cocci_menhir.ml"
16647 in
16648 _menhir_env.MenhirLib.EngineTypes.stack <- {
16649 MenhirLib.EngineTypes.state = _menhir_s;
16650 MenhirLib.EngineTypes.semv = Obj.repr _v;
16651 MenhirLib.EngineTypes.startp = _startpos;
16652 MenhirLib.EngineTypes.endp = _endpos;
16653 MenhirLib.EngineTypes.next = _menhir_stack;
16654 });
16655 (fun _menhir_env ->
16656 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16657 let {
16658 MenhirLib.EngineTypes.state = _menhir_s;
16659 MenhirLib.EngineTypes.semv = m;
16660 MenhirLib.EngineTypes.startp = _startpos_m_;
16661 MenhirLib.EngineTypes.endp = _endpos_m_;
16662 MenhirLib.EngineTypes.next = _menhir_stack;
16663 } = _menhir_stack in
16664 let m : 'tv_metadec = Obj.magic m in
16665 let _startpos = _startpos_m_ in
16666 let _endpos = _endpos_m_ in
16667 let _v : (
16668 # 165 "parser_cocci_menhir.mly"
16669 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
16670 # 16671 "parser_cocci_menhir.ml"
16671 ) =
16672 # 182 "parser_cocci_menhir.mly"
16673 ( m "" )
16674 # 16675 "parser_cocci_menhir.ml"
16675 in
16676 _menhir_env.MenhirLib.EngineTypes.stack <- {
16677 MenhirLib.EngineTypes.state = _menhir_s;
16678 MenhirLib.EngineTypes.semv = Obj.repr _v;
16679 MenhirLib.EngineTypes.startp = _startpos;
16680 MenhirLib.EngineTypes.endp = _endpos;
16681 MenhirLib.EngineTypes.next = _menhir_stack;
16682 });
16683 (fun _menhir_env ->
16684 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16685 let {
16686 MenhirLib.EngineTypes.startp = _startpos__2_;
16687 MenhirLib.EngineTypes.endp = _endpos__2_;
16688 MenhirLib.EngineTypes.next = {
16689 MenhirLib.EngineTypes.state = _menhir_s;
16690 MenhirLib.EngineTypes.semv = nm;
16691 MenhirLib.EngineTypes.startp = _startpos_nm_;
16692 MenhirLib.EngineTypes.endp = _endpos_nm_;
16693 MenhirLib.EngineTypes.next = _menhir_stack;
16694 };
16695 } = _menhir_stack in
16696 let nm : 'tv_pure_ident = Obj.magic nm in
16697 let _startpos = _startpos_nm_ in
16698 let _endpos = _endpos__2_ in
16699 let _v : (
16700 # 149 "parser_cocci_menhir.mly"
16701 (Ast_cocci.rulename)
16702 # 16703 "parser_cocci_menhir.ml"
16703 ) =
16704 # 197 "parser_cocci_menhir.mly"
16705 ( P.make_iso_rule_name_result (P.id2name nm) )
16706 # 16707 "parser_cocci_menhir.ml"
16707 in
16708 _menhir_env.MenhirLib.EngineTypes.stack <- {
16709 MenhirLib.EngineTypes.state = _menhir_s;
16710 MenhirLib.EngineTypes.semv = Obj.repr _v;
16711 MenhirLib.EngineTypes.startp = _startpos;
16712 MenhirLib.EngineTypes.endp = _endpos;
16713 MenhirLib.EngineTypes.next = _menhir_stack;
16714 });
16715 (fun _menhir_env ->
16716 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16717 let {
16718 MenhirLib.EngineTypes.state = _menhir_s;
16719 MenhirLib.EngineTypes.semv = _1;
16720 MenhirLib.EngineTypes.startp = _startpos__1_;
16721 MenhirLib.EngineTypes.endp = _endpos__1_;
16722 MenhirLib.EngineTypes.next = _menhir_stack;
16723 } = _menhir_stack in
16724 let _1 : (
16725 # 59 "parser_cocci_menhir.mly"
16726 (string * Data.clt)
16727 # 16728 "parser_cocci_menhir.ml"
16728 ) = Obj.magic _1 in
16729 let _startpos = _startpos__1_ in
16730 let _endpos = _endpos__1_ in
16731 let _v : 'tv_iter_ident =
16732 # 1596 "parser_cocci_menhir.mly"
16733 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16734 # 16735 "parser_cocci_menhir.ml"
16735 in
16736 _menhir_env.MenhirLib.EngineTypes.stack <- {
16737 MenhirLib.EngineTypes.state = _menhir_s;
16738 MenhirLib.EngineTypes.semv = Obj.repr _v;
16739 MenhirLib.EngineTypes.startp = _startpos;
16740 MenhirLib.EngineTypes.endp = _endpos;
16741 MenhirLib.EngineTypes.next = _menhir_stack;
16742 });
16743 (fun _menhir_env ->
16744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16745 let {
16746 MenhirLib.EngineTypes.state = _menhir_s;
16747 MenhirLib.EngineTypes.semv = _1;
16748 MenhirLib.EngineTypes.startp = _startpos__1_;
16749 MenhirLib.EngineTypes.endp = _endpos__1_;
16750 MenhirLib.EngineTypes.next = _menhir_stack;
16751 } = _menhir_stack in
16752 let _1 : (
16753 # 62 "parser_cocci_menhir.mly"
16754 (Parse_aux.idinfo)
16755 # 16756 "parser_cocci_menhir.ml"
16756 ) = Obj.magic _1 in
16757 let _startpos = _startpos__1_ in
16758 let _endpos = _endpos__1_ in
16759 let _v : 'tv_iter_ident =
16760 # 1598 "parser_cocci_menhir.mly"
16761 ( let (nm,constraints,pure,clt) = _1 in
16762 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16763 # 16764 "parser_cocci_menhir.ml"
16764 in
16765 _menhir_env.MenhirLib.EngineTypes.stack <- {
16766 MenhirLib.EngineTypes.state = _menhir_s;
16767 MenhirLib.EngineTypes.semv = Obj.repr _v;
16768 MenhirLib.EngineTypes.startp = _startpos;
16769 MenhirLib.EngineTypes.endp = _endpos;
16770 MenhirLib.EngineTypes.next = _menhir_stack;
16771 });
16772 (fun _menhir_env ->
16773 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16774 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16775 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16776 let _endpos = _startpos in
16777 let _v : 'tv_list_TMul_ =
16778 # 114 "standard.mly"
16779 ( [] )
16780 # 16781 "parser_cocci_menhir.ml"
16781 in
16782 _menhir_env.MenhirLib.EngineTypes.stack <- {
16783 MenhirLib.EngineTypes.state = _menhir_s;
16784 MenhirLib.EngineTypes.semv = Obj.repr _v;
16785 MenhirLib.EngineTypes.startp = _startpos;
16786 MenhirLib.EngineTypes.endp = _endpos;
16787 MenhirLib.EngineTypes.next = _menhir_stack;
16788 });
16789 (fun _menhir_env ->
16790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16791 let {
16792 MenhirLib.EngineTypes.semv = xs;
16793 MenhirLib.EngineTypes.startp = _startpos_xs_;
16794 MenhirLib.EngineTypes.endp = _endpos_xs_;
16795 MenhirLib.EngineTypes.next = {
16796 MenhirLib.EngineTypes.state = _menhir_s;
16797 MenhirLib.EngineTypes.semv = x;
16798 MenhirLib.EngineTypes.startp = _startpos_x_;
16799 MenhirLib.EngineTypes.endp = _endpos_x_;
16800 MenhirLib.EngineTypes.next = _menhir_stack;
16801 };
16802 } = _menhir_stack in
16803 let xs : 'tv_list_TMul_ = Obj.magic xs in
16804 let x : (
16805 # 99 "parser_cocci_menhir.mly"
16806 (Data.clt)
16807 # 16808 "parser_cocci_menhir.ml"
16808 ) = Obj.magic x in
16809 let _startpos = _startpos_x_ in
16810 let _endpos = _endpos_xs_ in
16811 let _v : 'tv_list_TMul_ =
16812 # 116 "standard.mly"
16813 ( x :: xs )
16814 # 16815 "parser_cocci_menhir.ml"
16815 in
16816 _menhir_env.MenhirLib.EngineTypes.stack <- {
16817 MenhirLib.EngineTypes.state = _menhir_s;
16818 MenhirLib.EngineTypes.semv = Obj.repr _v;
16819 MenhirLib.EngineTypes.startp = _startpos;
16820 MenhirLib.EngineTypes.endp = _endpos;
16821 MenhirLib.EngineTypes.next = _menhir_stack;
16822 });
16823 (fun _menhir_env ->
16824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16825 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16826 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16827 let _endpos = _startpos in
16828 let _v : 'tv_list_array_dec_ =
16829 # 114 "standard.mly"
16830 ( [] )
16831 # 16832 "parser_cocci_menhir.ml"
16832 in
16833 _menhir_env.MenhirLib.EngineTypes.stack <- {
16834 MenhirLib.EngineTypes.state = _menhir_s;
16835 MenhirLib.EngineTypes.semv = Obj.repr _v;
16836 MenhirLib.EngineTypes.startp = _startpos;
16837 MenhirLib.EngineTypes.endp = _endpos;
16838 MenhirLib.EngineTypes.next = _menhir_stack;
16839 });
16840 (fun _menhir_env ->
16841 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16842 let {
16843 MenhirLib.EngineTypes.semv = xs;
16844 MenhirLib.EngineTypes.startp = _startpos_xs_;
16845 MenhirLib.EngineTypes.endp = _endpos_xs_;
16846 MenhirLib.EngineTypes.next = {
16847 MenhirLib.EngineTypes.state = _menhir_s;
16848 MenhirLib.EngineTypes.semv = x;
16849 MenhirLib.EngineTypes.startp = _startpos_x_;
16850 MenhirLib.EngineTypes.endp = _endpos_x_;
16851 MenhirLib.EngineTypes.next = _menhir_stack;
16852 };
16853 } = _menhir_stack in
16854 let xs : 'tv_list_array_dec_ = Obj.magic xs in
16855 let x : 'tv_array_dec = Obj.magic x in
16856 let _startpos = _startpos_x_ in
16857 let _endpos = _endpos_xs_ in
16858 let _v : 'tv_list_array_dec_ =
16859 # 116 "standard.mly"
16860 ( x :: xs )
16861 # 16862 "parser_cocci_menhir.ml"
16862 in
16863 _menhir_env.MenhirLib.EngineTypes.stack <- {
16864 MenhirLib.EngineTypes.state = _menhir_s;
16865 MenhirLib.EngineTypes.semv = Obj.repr _v;
16866 MenhirLib.EngineTypes.startp = _startpos;
16867 MenhirLib.EngineTypes.endp = _endpos;
16868 MenhirLib.EngineTypes.next = _menhir_stack;
16869 });
16870 (fun _menhir_env ->
16871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16872 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16873 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16874 let _endpos = _startpos in
16875 let _v : 'tv_list_case_line_ =
16876 # 114 "standard.mly"
16877 ( [] )
16878 # 16879 "parser_cocci_menhir.ml"
16879 in
16880 _menhir_env.MenhirLib.EngineTypes.stack <- {
16881 MenhirLib.EngineTypes.state = _menhir_s;
16882 MenhirLib.EngineTypes.semv = Obj.repr _v;
16883 MenhirLib.EngineTypes.startp = _startpos;
16884 MenhirLib.EngineTypes.endp = _endpos;
16885 MenhirLib.EngineTypes.next = _menhir_stack;
16886 });
16887 (fun _menhir_env ->
16888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16889 let {
16890 MenhirLib.EngineTypes.semv = xs;
16891 MenhirLib.EngineTypes.startp = _startpos_xs_;
16892 MenhirLib.EngineTypes.endp = _endpos_xs_;
16893 MenhirLib.EngineTypes.next = {
16894 MenhirLib.EngineTypes.state = _menhir_s;
16895 MenhirLib.EngineTypes.semv = x;
16896 MenhirLib.EngineTypes.startp = _startpos_x_;
16897 MenhirLib.EngineTypes.endp = _endpos_x_;
16898 MenhirLib.EngineTypes.next = _menhir_stack;
16899 };
16900 } = _menhir_stack in
16901 let xs : 'tv_list_case_line_ = Obj.magic xs in
16902 let x : 'tv_case_line = Obj.magic x in
16903 let _startpos = _startpos_x_ in
16904 let _endpos = _endpos_xs_ in
16905 let _v : 'tv_list_case_line_ =
16906 # 116 "standard.mly"
16907 ( x :: xs )
16908 # 16909 "parser_cocci_menhir.ml"
16909 in
16910 _menhir_env.MenhirLib.EngineTypes.stack <- {
16911 MenhirLib.EngineTypes.state = _menhir_s;
16912 MenhirLib.EngineTypes.semv = Obj.repr _v;
16913 MenhirLib.EngineTypes.startp = _startpos;
16914 MenhirLib.EngineTypes.endp = _endpos;
16915 MenhirLib.EngineTypes.next = _menhir_stack;
16916 });
16917 (fun _menhir_env ->
16918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16919 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16920 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16921 let _endpos = _startpos in
16922 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
16923 # 114 "standard.mly"
16924 ( [] )
16925 # 16926 "parser_cocci_menhir.ml"
16926 in
16927 _menhir_env.MenhirLib.EngineTypes.stack <- {
16928 MenhirLib.EngineTypes.state = _menhir_s;
16929 MenhirLib.EngineTypes.semv = Obj.repr _v;
16930 MenhirLib.EngineTypes.startp = _startpos;
16931 MenhirLib.EngineTypes.endp = _endpos;
16932 MenhirLib.EngineTypes.next = _menhir_stack;
16933 });
16934 (fun _menhir_env ->
16935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16936 let {
16937 MenhirLib.EngineTypes.semv = xs;
16938 MenhirLib.EngineTypes.startp = _startpos_xs_;
16939 MenhirLib.EngineTypes.endp = _endpos_xs_;
16940 MenhirLib.EngineTypes.next = {
16941 MenhirLib.EngineTypes.state = _menhir_s;
16942 MenhirLib.EngineTypes.semv = x;
16943 MenhirLib.EngineTypes.startp = _startpos_x_;
16944 MenhirLib.EngineTypes.endp = _endpos_x_;
16945 MenhirLib.EngineTypes.next = _menhir_stack;
16946 };
16947 } = _menhir_stack in
16948 let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
16949 let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
16950 let _startpos = _startpos_x_ in
16951 let _endpos = _endpos_xs_ in
16952 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
16953 # 116 "standard.mly"
16954 ( x :: xs )
16955 # 16956 "parser_cocci_menhir.ml"
16956 in
16957 _menhir_env.MenhirLib.EngineTypes.stack <- {
16958 MenhirLib.EngineTypes.state = _menhir_s;
16959 MenhirLib.EngineTypes.semv = Obj.repr _v;
16960 MenhirLib.EngineTypes.startp = _startpos;
16961 MenhirLib.EngineTypes.endp = _endpos;
16962 MenhirLib.EngineTypes.next = _menhir_stack;
16963 });
16964 (fun _menhir_env ->
16965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16966 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16967 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16968 let _endpos = _startpos in
16969 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
16970 # 114 "standard.mly"
16971 ( [] )
16972 # 16973 "parser_cocci_menhir.ml"
16973 in
16974 _menhir_env.MenhirLib.EngineTypes.stack <- {
16975 MenhirLib.EngineTypes.state = _menhir_s;
16976 MenhirLib.EngineTypes.semv = Obj.repr _v;
16977 MenhirLib.EngineTypes.startp = _startpos;
16978 MenhirLib.EngineTypes.endp = _endpos;
16979 MenhirLib.EngineTypes.next = _menhir_stack;
16980 });
16981 (fun _menhir_env ->
16982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16983 let {
16984 MenhirLib.EngineTypes.semv = xs;
16985 MenhirLib.EngineTypes.startp = _startpos_xs_;
16986 MenhirLib.EngineTypes.endp = _endpos_xs_;
16987 MenhirLib.EngineTypes.next = {
16988 MenhirLib.EngineTypes.state = _menhir_s;
16989 MenhirLib.EngineTypes.semv = x;
16990 MenhirLib.EngineTypes.startp = _startpos_x_;
16991 MenhirLib.EngineTypes.endp = _endpos_x_;
16992 MenhirLib.EngineTypes.next = _menhir_stack;
16993 };
16994 } = _menhir_stack in
16995 let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
16996 let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
16997 let _startpos = _startpos_x_ in
16998 let _endpos = _endpos_xs_ in
16999 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17000 # 116 "standard.mly"
17001 ( x :: xs )
17002 # 17003 "parser_cocci_menhir.ml"
17003 in
17004 _menhir_env.MenhirLib.EngineTypes.stack <- {
17005 MenhirLib.EngineTypes.state = _menhir_s;
17006 MenhirLib.EngineTypes.semv = Obj.repr _v;
17007 MenhirLib.EngineTypes.startp = _startpos;
17008 MenhirLib.EngineTypes.endp = _endpos;
17009 MenhirLib.EngineTypes.next = _menhir_stack;
17010 });
17011 (fun _menhir_env ->
17012 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17013 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17014 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17015 let _endpos = _startpos in
17016 let _v : 'tv_list_decl_var_ =
17017 # 114 "standard.mly"
17018 ( [] )
17019 # 17020 "parser_cocci_menhir.ml"
17020 in
17021 _menhir_env.MenhirLib.EngineTypes.stack <- {
17022 MenhirLib.EngineTypes.state = _menhir_s;
17023 MenhirLib.EngineTypes.semv = Obj.repr _v;
17024 MenhirLib.EngineTypes.startp = _startpos;
17025 MenhirLib.EngineTypes.endp = _endpos;
17026 MenhirLib.EngineTypes.next = _menhir_stack;
17027 });
17028 (fun _menhir_env ->
17029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17030 let {
17031 MenhirLib.EngineTypes.semv = xs;
17032 MenhirLib.EngineTypes.startp = _startpos_xs_;
17033 MenhirLib.EngineTypes.endp = _endpos_xs_;
17034 MenhirLib.EngineTypes.next = {
17035 MenhirLib.EngineTypes.state = _menhir_s;
17036 MenhirLib.EngineTypes.semv = x;
17037 MenhirLib.EngineTypes.startp = _startpos_x_;
17038 MenhirLib.EngineTypes.endp = _endpos_x_;
17039 MenhirLib.EngineTypes.next = _menhir_stack;
17040 };
17041 } = _menhir_stack in
17042 let xs : 'tv_list_decl_var_ = Obj.magic xs in
17043 let x : 'tv_decl_var = Obj.magic x in
17044 let _startpos = _startpos_x_ in
17045 let _endpos = _endpos_xs_ in
17046 let _v : 'tv_list_decl_var_ =
17047 # 116 "standard.mly"
17048 ( x :: xs )
17049 # 17050 "parser_cocci_menhir.ml"
17050 in
17051 _menhir_env.MenhirLib.EngineTypes.stack <- {
17052 MenhirLib.EngineTypes.state = _menhir_s;
17053 MenhirLib.EngineTypes.semv = Obj.repr _v;
17054 MenhirLib.EngineTypes.startp = _startpos;
17055 MenhirLib.EngineTypes.endp = _endpos;
17056 MenhirLib.EngineTypes.next = _menhir_stack;
17057 });
17058 (fun _menhir_env ->
17059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17060 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17061 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17062 let _endpos = _startpos in
17063 let _v : 'tv_list_designator_ =
17064 # 114 "standard.mly"
17065 ( [] )
17066 # 17067 "parser_cocci_menhir.ml"
17067 in
17068 _menhir_env.MenhirLib.EngineTypes.stack <- {
17069 MenhirLib.EngineTypes.state = _menhir_s;
17070 MenhirLib.EngineTypes.semv = Obj.repr _v;
17071 MenhirLib.EngineTypes.startp = _startpos;
17072 MenhirLib.EngineTypes.endp = _endpos;
17073 MenhirLib.EngineTypes.next = _menhir_stack;
17074 });
17075 (fun _menhir_env ->
17076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17077 let {
17078 MenhirLib.EngineTypes.semv = xs;
17079 MenhirLib.EngineTypes.startp = _startpos_xs_;
17080 MenhirLib.EngineTypes.endp = _endpos_xs_;
17081 MenhirLib.EngineTypes.next = {
17082 MenhirLib.EngineTypes.state = _menhir_s;
17083 MenhirLib.EngineTypes.semv = x;
17084 MenhirLib.EngineTypes.startp = _startpos_x_;
17085 MenhirLib.EngineTypes.endp = _endpos_x_;
17086 MenhirLib.EngineTypes.next = _menhir_stack;
17087 };
17088 } = _menhir_stack in
17089 let xs : 'tv_list_designator_ = Obj.magic xs in
17090 let x : 'tv_designator = Obj.magic x in
17091 let _startpos = _startpos_x_ in
17092 let _endpos = _endpos_xs_ in
17093 let _v : 'tv_list_designator_ =
17094 # 116 "standard.mly"
17095 ( x :: xs )
17096 # 17097 "parser_cocci_menhir.ml"
17097 in
17098 _menhir_env.MenhirLib.EngineTypes.stack <- {
17099 MenhirLib.EngineTypes.state = _menhir_s;
17100 MenhirLib.EngineTypes.semv = Obj.repr _v;
17101 MenhirLib.EngineTypes.startp = _startpos;
17102 MenhirLib.EngineTypes.endp = _endpos;
17103 MenhirLib.EngineTypes.next = _menhir_stack;
17104 });
17105 (fun _menhir_env ->
17106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17107 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17108 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17109 let _endpos = _startpos in
17110 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17111 # 114 "standard.mly"
17112 ( [] )
17113 # 17114 "parser_cocci_menhir.ml"
17114 in
17115 _menhir_env.MenhirLib.EngineTypes.stack <- {
17116 MenhirLib.EngineTypes.state = _menhir_s;
17117 MenhirLib.EngineTypes.semv = Obj.repr _v;
17118 MenhirLib.EngineTypes.startp = _startpos;
17119 MenhirLib.EngineTypes.endp = _endpos;
17120 MenhirLib.EngineTypes.next = _menhir_stack;
17121 });
17122 (fun _menhir_env ->
17123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17124 let {
17125 MenhirLib.EngineTypes.semv = xs;
17126 MenhirLib.EngineTypes.startp = _startpos_xs_;
17127 MenhirLib.EngineTypes.endp = _endpos_xs_;
17128 MenhirLib.EngineTypes.next = {
17129 MenhirLib.EngineTypes.state = _menhir_s;
17130 MenhirLib.EngineTypes.semv = x;
17131 MenhirLib.EngineTypes.startp = _startpos_x_;
17132 MenhirLib.EngineTypes.endp = _endpos_x_;
17133 MenhirLib.EngineTypes.next = _menhir_stack;
17134 };
17135 } = _menhir_stack in
17136 let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
17137 let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
17138 let _startpos = _startpos_x_ in
17139 let _endpos = _endpos_xs_ in
17140 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17141 # 116 "standard.mly"
17142 ( x :: xs )
17143 # 17144 "parser_cocci_menhir.ml"
17144 in
17145 _menhir_env.MenhirLib.EngineTypes.stack <- {
17146 MenhirLib.EngineTypes.state = _menhir_s;
17147 MenhirLib.EngineTypes.semv = Obj.repr _v;
17148 MenhirLib.EngineTypes.startp = _startpos;
17149 MenhirLib.EngineTypes.endp = _endpos;
17150 MenhirLib.EngineTypes.next = _menhir_stack;
17151 });
17152 (fun _menhir_env ->
17153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17154 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17155 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17156 let _endpos = _startpos in
17157 let _v : 'tv_list_incl_ =
17158 # 114 "standard.mly"
17159 ( [] )
17160 # 17161 "parser_cocci_menhir.ml"
17161 in
17162 _menhir_env.MenhirLib.EngineTypes.stack <- {
17163 MenhirLib.EngineTypes.state = _menhir_s;
17164 MenhirLib.EngineTypes.semv = Obj.repr _v;
17165 MenhirLib.EngineTypes.startp = _startpos;
17166 MenhirLib.EngineTypes.endp = _endpos;
17167 MenhirLib.EngineTypes.next = _menhir_stack;
17168 });
17169 (fun _menhir_env ->
17170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17171 let {
17172 MenhirLib.EngineTypes.semv = xs;
17173 MenhirLib.EngineTypes.startp = _startpos_xs_;
17174 MenhirLib.EngineTypes.endp = _endpos_xs_;
17175 MenhirLib.EngineTypes.next = {
17176 MenhirLib.EngineTypes.state = _menhir_s;
17177 MenhirLib.EngineTypes.semv = x;
17178 MenhirLib.EngineTypes.startp = _startpos_x_;
17179 MenhirLib.EngineTypes.endp = _endpos_x_;
17180 MenhirLib.EngineTypes.next = _menhir_stack;
17181 };
17182 } = _menhir_stack in
17183 let xs : 'tv_list_incl_ = Obj.magic xs in
17184 let x : 'tv_incl = Obj.magic x in
17185 let _startpos = _startpos_x_ in
17186 let _endpos = _endpos_xs_ in
17187 let _v : 'tv_list_incl_ =
17188 # 116 "standard.mly"
17189 ( x :: xs )
17190 # 17191 "parser_cocci_menhir.ml"
17191 in
17192 _menhir_env.MenhirLib.EngineTypes.stack <- {
17193 MenhirLib.EngineTypes.state = _menhir_s;
17194 MenhirLib.EngineTypes.semv = Obj.repr _v;
17195 MenhirLib.EngineTypes.startp = _startpos;
17196 MenhirLib.EngineTypes.endp = _endpos;
17197 MenhirLib.EngineTypes.next = _menhir_stack;
17198 });
17199 (fun _menhir_env ->
17200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17201 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17202 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17203 let _endpos = _startpos in
17204 let _v : 'tv_list_iso_ctype__ =
17205 # 114 "standard.mly"
17206 ( [] )
17207 # 17208 "parser_cocci_menhir.ml"
17208 in
17209 _menhir_env.MenhirLib.EngineTypes.stack <- {
17210 MenhirLib.EngineTypes.state = _menhir_s;
17211 MenhirLib.EngineTypes.semv = Obj.repr _v;
17212 MenhirLib.EngineTypes.startp = _startpos;
17213 MenhirLib.EngineTypes.endp = _endpos;
17214 MenhirLib.EngineTypes.next = _menhir_stack;
17215 });
17216 (fun _menhir_env ->
17217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17218 let {
17219 MenhirLib.EngineTypes.semv = xs;
17220 MenhirLib.EngineTypes.startp = _startpos_xs_;
17221 MenhirLib.EngineTypes.endp = _endpos_xs_;
17222 MenhirLib.EngineTypes.next = {
17223 MenhirLib.EngineTypes.state = _menhir_s;
17224 MenhirLib.EngineTypes.semv = x;
17225 MenhirLib.EngineTypes.startp = _startpos_x_;
17226 MenhirLib.EngineTypes.endp = _endpos_x_;
17227 MenhirLib.EngineTypes.next = _menhir_stack;
17228 };
17229 } = _menhir_stack in
17230 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
17231 let x : 'tv_iso_ctype_ = Obj.magic x in
17232 let _startpos = _startpos_x_ in
17233 let _endpos = _endpos_xs_ in
17234 let _v : 'tv_list_iso_ctype__ =
17235 # 116 "standard.mly"
17236 ( x :: xs )
17237 # 17238 "parser_cocci_menhir.ml"
17238 in
17239 _menhir_env.MenhirLib.EngineTypes.stack <- {
17240 MenhirLib.EngineTypes.state = _menhir_s;
17241 MenhirLib.EngineTypes.semv = Obj.repr _v;
17242 MenhirLib.EngineTypes.startp = _startpos;
17243 MenhirLib.EngineTypes.endp = _endpos;
17244 MenhirLib.EngineTypes.next = _menhir_stack;
17245 });
17246 (fun _menhir_env ->
17247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17248 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17249 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17250 let _endpos = _startpos in
17251 let _v : 'tv_list_iso_decl_var__ =
17252 # 114 "standard.mly"
17253 ( [] )
17254 # 17255 "parser_cocci_menhir.ml"
17255 in
17256 _menhir_env.MenhirLib.EngineTypes.stack <- {
17257 MenhirLib.EngineTypes.state = _menhir_s;
17258 MenhirLib.EngineTypes.semv = Obj.repr _v;
17259 MenhirLib.EngineTypes.startp = _startpos;
17260 MenhirLib.EngineTypes.endp = _endpos;
17261 MenhirLib.EngineTypes.next = _menhir_stack;
17262 });
17263 (fun _menhir_env ->
17264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17265 let {
17266 MenhirLib.EngineTypes.semv = xs;
17267 MenhirLib.EngineTypes.startp = _startpos_xs_;
17268 MenhirLib.EngineTypes.endp = _endpos_xs_;
17269 MenhirLib.EngineTypes.next = {
17270 MenhirLib.EngineTypes.state = _menhir_s;
17271 MenhirLib.EngineTypes.semv = x;
17272 MenhirLib.EngineTypes.startp = _startpos_x_;
17273 MenhirLib.EngineTypes.endp = _endpos_x_;
17274 MenhirLib.EngineTypes.next = _menhir_stack;
17275 };
17276 } = _menhir_stack in
17277 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
17278 let x : 'tv_iso_decl_var_ = Obj.magic x in
17279 let _startpos = _startpos_x_ in
17280 let _endpos = _endpos_xs_ in
17281 let _v : 'tv_list_iso_decl_var__ =
17282 # 116 "standard.mly"
17283 ( x :: xs )
17284 # 17285 "parser_cocci_menhir.ml"
17285 in
17286 _menhir_env.MenhirLib.EngineTypes.stack <- {
17287 MenhirLib.EngineTypes.state = _menhir_s;
17288 MenhirLib.EngineTypes.semv = Obj.repr _v;
17289 MenhirLib.EngineTypes.startp = _startpos;
17290 MenhirLib.EngineTypes.endp = _endpos;
17291 MenhirLib.EngineTypes.next = _menhir_stack;
17292 });
17293 (fun _menhir_env ->
17294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17295 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17296 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17297 let _endpos = _startpos in
17298 let _v : 'tv_list_iso_dexpr__ =
17299 # 114 "standard.mly"
17300 ( [] )
17301 # 17302 "parser_cocci_menhir.ml"
17302 in
17303 _menhir_env.MenhirLib.EngineTypes.stack <- {
17304 MenhirLib.EngineTypes.state = _menhir_s;
17305 MenhirLib.EngineTypes.semv = Obj.repr _v;
17306 MenhirLib.EngineTypes.startp = _startpos;
17307 MenhirLib.EngineTypes.endp = _endpos;
17308 MenhirLib.EngineTypes.next = _menhir_stack;
17309 });
17310 (fun _menhir_env ->
17311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17312 let {
17313 MenhirLib.EngineTypes.semv = xs;
17314 MenhirLib.EngineTypes.startp = _startpos_xs_;
17315 MenhirLib.EngineTypes.endp = _endpos_xs_;
17316 MenhirLib.EngineTypes.next = {
17317 MenhirLib.EngineTypes.state = _menhir_s;
17318 MenhirLib.EngineTypes.semv = x;
17319 MenhirLib.EngineTypes.startp = _startpos_x_;
17320 MenhirLib.EngineTypes.endp = _endpos_x_;
17321 MenhirLib.EngineTypes.next = _menhir_stack;
17322 };
17323 } = _menhir_stack in
17324 let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in
17325 let x : 'tv_iso_dexpr_ = Obj.magic x in
17326 let _startpos = _startpos_x_ in
17327 let _endpos = _endpos_xs_ in
17328 let _v : 'tv_list_iso_dexpr__ =
17329 # 116 "standard.mly"
17330 ( x :: xs )
17331 # 17332 "parser_cocci_menhir.ml"
17332 in
17333 _menhir_env.MenhirLib.EngineTypes.stack <- {
17334 MenhirLib.EngineTypes.state = _menhir_s;
17335 MenhirLib.EngineTypes.semv = Obj.repr _v;
17336 MenhirLib.EngineTypes.startp = _startpos;
17337 MenhirLib.EngineTypes.endp = _endpos;
17338 MenhirLib.EngineTypes.next = _menhir_stack;
17339 });
17340 (fun _menhir_env ->
17341 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17342 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17343 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17344 let _endpos = _startpos in
17345 let _v : 'tv_list_iso_nest_start__ =
17346 # 114 "standard.mly"
17347 ( [] )
17348 # 17349 "parser_cocci_menhir.ml"
17349 in
17350 _menhir_env.MenhirLib.EngineTypes.stack <- {
17351 MenhirLib.EngineTypes.state = _menhir_s;
17352 MenhirLib.EngineTypes.semv = Obj.repr _v;
17353 MenhirLib.EngineTypes.startp = _startpos;
17354 MenhirLib.EngineTypes.endp = _endpos;
17355 MenhirLib.EngineTypes.next = _menhir_stack;
17356 });
17357 (fun _menhir_env ->
17358 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17359 let {
17360 MenhirLib.EngineTypes.semv = xs;
17361 MenhirLib.EngineTypes.startp = _startpos_xs_;
17362 MenhirLib.EngineTypes.endp = _endpos_xs_;
17363 MenhirLib.EngineTypes.next = {
17364 MenhirLib.EngineTypes.state = _menhir_s;
17365 MenhirLib.EngineTypes.semv = x;
17366 MenhirLib.EngineTypes.startp = _startpos_x_;
17367 MenhirLib.EngineTypes.endp = _endpos_x_;
17368 MenhirLib.EngineTypes.next = _menhir_stack;
17369 };
17370 } = _menhir_stack in
17371 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
17372 let x : 'tv_iso_nest_start_ = Obj.magic x in
17373 let _startpos = _startpos_x_ in
17374 let _endpos = _endpos_xs_ in
17375 let _v : 'tv_list_iso_nest_start__ =
17376 # 116 "standard.mly"
17377 ( x :: xs )
17378 # 17379 "parser_cocci_menhir.ml"
17379 in
17380 _menhir_env.MenhirLib.EngineTypes.stack <- {
17381 MenhirLib.EngineTypes.state = _menhir_s;
17382 MenhirLib.EngineTypes.semv = Obj.repr _v;
17383 MenhirLib.EngineTypes.startp = _startpos;
17384 MenhirLib.EngineTypes.endp = _endpos;
17385 MenhirLib.EngineTypes.next = _menhir_stack;
17386 });
17387 (fun _menhir_env ->
17388 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17389 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17390 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17391 let _endpos = _startpos in
17392 let _v : 'tv_list_iso_single_statement__ =
17393 # 114 "standard.mly"
17394 ( [] )
17395 # 17396 "parser_cocci_menhir.ml"
17396 in
17397 _menhir_env.MenhirLib.EngineTypes.stack <- {
17398 MenhirLib.EngineTypes.state = _menhir_s;
17399 MenhirLib.EngineTypes.semv = Obj.repr _v;
17400 MenhirLib.EngineTypes.startp = _startpos;
17401 MenhirLib.EngineTypes.endp = _endpos;
17402 MenhirLib.EngineTypes.next = _menhir_stack;
17403 });
17404 (fun _menhir_env ->
17405 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17406 let {
17407 MenhirLib.EngineTypes.semv = xs;
17408 MenhirLib.EngineTypes.startp = _startpos_xs_;
17409 MenhirLib.EngineTypes.endp = _endpos_xs_;
17410 MenhirLib.EngineTypes.next = {
17411 MenhirLib.EngineTypes.state = _menhir_s;
17412 MenhirLib.EngineTypes.semv = x;
17413 MenhirLib.EngineTypes.startp = _startpos_x_;
17414 MenhirLib.EngineTypes.endp = _endpos_x_;
17415 MenhirLib.EngineTypes.next = _menhir_stack;
17416 };
17417 } = _menhir_stack in
17418 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
17419 let x : 'tv_iso_single_statement_ = Obj.magic x in
17420 let _startpos = _startpos_x_ in
17421 let _endpos = _endpos_xs_ in
17422 let _v : 'tv_list_iso_single_statement__ =
17423 # 116 "standard.mly"
17424 ( x :: xs )
17425 # 17426 "parser_cocci_menhir.ml"
17426 in
17427 _menhir_env.MenhirLib.EngineTypes.stack <- {
17428 MenhirLib.EngineTypes.state = _menhir_s;
17429 MenhirLib.EngineTypes.semv = Obj.repr _v;
17430 MenhirLib.EngineTypes.startp = _startpos;
17431 MenhirLib.EngineTypes.endp = _endpos;
17432 MenhirLib.EngineTypes.next = _menhir_stack;
17433 });
17434 (fun _menhir_env ->
17435 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17436 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17437 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17438 let _endpos = _startpos in
17439 let _v : 'tv_list_mzl_ctype__ =
17440 # 114 "standard.mly"
17441 ( [] )
17442 # 17443 "parser_cocci_menhir.ml"
17443 in
17444 _menhir_env.MenhirLib.EngineTypes.stack <- {
17445 MenhirLib.EngineTypes.state = _menhir_s;
17446 MenhirLib.EngineTypes.semv = Obj.repr _v;
17447 MenhirLib.EngineTypes.startp = _startpos;
17448 MenhirLib.EngineTypes.endp = _endpos;
17449 MenhirLib.EngineTypes.next = _menhir_stack;
17450 });
17451 (fun _menhir_env ->
17452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17453 let {
17454 MenhirLib.EngineTypes.semv = xs;
17455 MenhirLib.EngineTypes.startp = _startpos_xs_;
17456 MenhirLib.EngineTypes.endp = _endpos_xs_;
17457 MenhirLib.EngineTypes.next = {
17458 MenhirLib.EngineTypes.state = _menhir_s;
17459 MenhirLib.EngineTypes.semv = x;
17460 MenhirLib.EngineTypes.startp = _startpos_x_;
17461 MenhirLib.EngineTypes.endp = _endpos_x_;
17462 MenhirLib.EngineTypes.next = _menhir_stack;
17463 };
17464 } = _menhir_stack in
17465 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
17466 let x : 'tv_mzl_ctype_ = Obj.magic x in
17467 let _startpos = _startpos_x_ in
17468 let _endpos = _endpos_xs_ in
17469 let _v : 'tv_list_mzl_ctype__ =
17470 # 116 "standard.mly"
17471 ( x :: xs )
17472 # 17473 "parser_cocci_menhir.ml"
17473 in
17474 _menhir_env.MenhirLib.EngineTypes.stack <- {
17475 MenhirLib.EngineTypes.state = _menhir_s;
17476 MenhirLib.EngineTypes.semv = Obj.repr _v;
17477 MenhirLib.EngineTypes.startp = _startpos;
17478 MenhirLib.EngineTypes.endp = _endpos;
17479 MenhirLib.EngineTypes.next = _menhir_stack;
17480 });
17481 (fun _menhir_env ->
17482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17483 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17484 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17485 let _endpos = _startpos in
17486 let _v : 'tv_list_mzl_eexpr__ =
17487 # 114 "standard.mly"
17488 ( [] )
17489 # 17490 "parser_cocci_menhir.ml"
17490 in
17491 _menhir_env.MenhirLib.EngineTypes.stack <- {
17492 MenhirLib.EngineTypes.state = _menhir_s;
17493 MenhirLib.EngineTypes.semv = Obj.repr _v;
17494 MenhirLib.EngineTypes.startp = _startpos;
17495 MenhirLib.EngineTypes.endp = _endpos;
17496 MenhirLib.EngineTypes.next = _menhir_stack;
17497 });
17498 (fun _menhir_env ->
17499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17500 let {
17501 MenhirLib.EngineTypes.semv = xs;
17502 MenhirLib.EngineTypes.startp = _startpos_xs_;
17503 MenhirLib.EngineTypes.endp = _endpos_xs_;
17504 MenhirLib.EngineTypes.next = {
17505 MenhirLib.EngineTypes.state = _menhir_s;
17506 MenhirLib.EngineTypes.semv = x;
17507 MenhirLib.EngineTypes.startp = _startpos_x_;
17508 MenhirLib.EngineTypes.endp = _endpos_x_;
17509 MenhirLib.EngineTypes.next = _menhir_stack;
17510 };
17511 } = _menhir_stack in
17512 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
17513 let x : 'tv_mzl_eexpr_ = Obj.magic x in
17514 let _startpos = _startpos_x_ in
17515 let _endpos = _endpos_xs_ in
17516 let _v : 'tv_list_mzl_eexpr__ =
17517 # 116 "standard.mly"
17518 ( x :: xs )
17519 # 17520 "parser_cocci_menhir.ml"
17520 in
17521 _menhir_env.MenhirLib.EngineTypes.stack <- {
17522 MenhirLib.EngineTypes.state = _menhir_s;
17523 MenhirLib.EngineTypes.semv = Obj.repr _v;
17524 MenhirLib.EngineTypes.startp = _startpos;
17525 MenhirLib.EngineTypes.endp = _endpos;
17526 MenhirLib.EngineTypes.next = _menhir_stack;
17527 });
17528 (fun _menhir_env ->
17529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17530 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17531 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17532 let _endpos = _startpos in
17533 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17534 # 114 "standard.mly"
17535 ( [] )
17536 # 17537 "parser_cocci_menhir.ml"
17537 in
17538 _menhir_env.MenhirLib.EngineTypes.stack <- {
17539 MenhirLib.EngineTypes.state = _menhir_s;
17540 MenhirLib.EngineTypes.semv = Obj.repr _v;
17541 MenhirLib.EngineTypes.startp = _startpos;
17542 MenhirLib.EngineTypes.endp = _endpos;
17543 MenhirLib.EngineTypes.next = _menhir_stack;
17544 });
17545 (fun _menhir_env ->
17546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17547 let {
17548 MenhirLib.EngineTypes.semv = xs;
17549 MenhirLib.EngineTypes.startp = _startpos_xs_;
17550 MenhirLib.EngineTypes.endp = _endpos_xs_;
17551 MenhirLib.EngineTypes.next = {
17552 MenhirLib.EngineTypes.state = _menhir_s;
17553 MenhirLib.EngineTypes.semv = x;
17554 MenhirLib.EngineTypes.startp = _startpos_x_;
17555 MenhirLib.EngineTypes.endp = _endpos_x_;
17556 MenhirLib.EngineTypes.next = _menhir_stack;
17557 };
17558 } = _menhir_stack in
17559 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
17560 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
17561 let _startpos = _startpos_x_ in
17562 let _endpos = _endpos_xs_ in
17563 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17564 # 116 "standard.mly"
17565 ( x :: xs )
17566 # 17567 "parser_cocci_menhir.ml"
17567 in
17568 _menhir_env.MenhirLib.EngineTypes.stack <- {
17569 MenhirLib.EngineTypes.state = _menhir_s;
17570 MenhirLib.EngineTypes.semv = Obj.repr _v;
17571 MenhirLib.EngineTypes.startp = _startpos;
17572 MenhirLib.EngineTypes.endp = _endpos;
17573 MenhirLib.EngineTypes.next = _menhir_stack;
17574 });
17575 (fun _menhir_env ->
17576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17577 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17578 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17579 let _endpos = _startpos in
17580 let _v : 'tv_list_mzl_fun_start__ =
17581 # 114 "standard.mly"
17582 ( [] )
17583 # 17584 "parser_cocci_menhir.ml"
17584 in
17585 _menhir_env.MenhirLib.EngineTypes.stack <- {
17586 MenhirLib.EngineTypes.state = _menhir_s;
17587 MenhirLib.EngineTypes.semv = Obj.repr _v;
17588 MenhirLib.EngineTypes.startp = _startpos;
17589 MenhirLib.EngineTypes.endp = _endpos;
17590 MenhirLib.EngineTypes.next = _menhir_stack;
17591 });
17592 (fun _menhir_env ->
17593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17594 let {
17595 MenhirLib.EngineTypes.semv = xs;
17596 MenhirLib.EngineTypes.startp = _startpos_xs_;
17597 MenhirLib.EngineTypes.endp = _endpos_xs_;
17598 MenhirLib.EngineTypes.next = {
17599 MenhirLib.EngineTypes.state = _menhir_s;
17600 MenhirLib.EngineTypes.semv = x;
17601 MenhirLib.EngineTypes.startp = _startpos_x_;
17602 MenhirLib.EngineTypes.endp = _endpos_x_;
17603 MenhirLib.EngineTypes.next = _menhir_stack;
17604 };
17605 } = _menhir_stack in
17606 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
17607 let x : 'tv_mzl_fun_start_ = Obj.magic x in
17608 let _startpos = _startpos_x_ in
17609 let _endpos = _endpos_xs_ in
17610 let _v : 'tv_list_mzl_fun_start__ =
17611 # 116 "standard.mly"
17612 ( x :: xs )
17613 # 17614 "parser_cocci_menhir.ml"
17614 in
17615 _menhir_env.MenhirLib.EngineTypes.stack <- {
17616 MenhirLib.EngineTypes.state = _menhir_s;
17617 MenhirLib.EngineTypes.semv = Obj.repr _v;
17618 MenhirLib.EngineTypes.startp = _startpos;
17619 MenhirLib.EngineTypes.endp = _endpos;
17620 MenhirLib.EngineTypes.next = _menhir_stack;
17621 });
17622 (fun _menhir_env ->
17623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17624 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17625 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17626 let _endpos = _startpos in
17627 let _v : 'tv_list_mzl_rule_elem_statement__ =
17628 # 114 "standard.mly"
17629 ( [] )
17630 # 17631 "parser_cocci_menhir.ml"
17631 in
17632 _menhir_env.MenhirLib.EngineTypes.stack <- {
17633 MenhirLib.EngineTypes.state = _menhir_s;
17634 MenhirLib.EngineTypes.semv = Obj.repr _v;
17635 MenhirLib.EngineTypes.startp = _startpos;
17636 MenhirLib.EngineTypes.endp = _endpos;
17637 MenhirLib.EngineTypes.next = _menhir_stack;
17638 });
17639 (fun _menhir_env ->
17640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17641 let {
17642 MenhirLib.EngineTypes.semv = xs;
17643 MenhirLib.EngineTypes.startp = _startpos_xs_;
17644 MenhirLib.EngineTypes.endp = _endpos_xs_;
17645 MenhirLib.EngineTypes.next = {
17646 MenhirLib.EngineTypes.state = _menhir_s;
17647 MenhirLib.EngineTypes.semv = x;
17648 MenhirLib.EngineTypes.startp = _startpos_x_;
17649 MenhirLib.EngineTypes.endp = _endpos_x_;
17650 MenhirLib.EngineTypes.next = _menhir_stack;
17651 };
17652 } = _menhir_stack in
17653 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
17654 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
17655 let _startpos = _startpos_x_ in
17656 let _endpos = _endpos_xs_ in
17657 let _v : 'tv_list_mzl_rule_elem_statement__ =
17658 # 116 "standard.mly"
17659 ( x :: xs )
17660 # 17661 "parser_cocci_menhir.ml"
17661 in
17662 _menhir_env.MenhirLib.EngineTypes.stack <- {
17663 MenhirLib.EngineTypes.state = _menhir_s;
17664 MenhirLib.EngineTypes.semv = Obj.repr _v;
17665 MenhirLib.EngineTypes.startp = _startpos;
17666 MenhirLib.EngineTypes.endp = _endpos;
17667 MenhirLib.EngineTypes.next = _menhir_stack;
17668 });
17669 (fun _menhir_env ->
17670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17671 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17672 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17673 let _endpos = _startpos in
17674 let _v : 'tv_list_mzl_statement__ =
17675 # 114 "standard.mly"
17676 ( [] )
17677 # 17678 "parser_cocci_menhir.ml"
17678 in
17679 _menhir_env.MenhirLib.EngineTypes.stack <- {
17680 MenhirLib.EngineTypes.state = _menhir_s;
17681 MenhirLib.EngineTypes.semv = Obj.repr _v;
17682 MenhirLib.EngineTypes.startp = _startpos;
17683 MenhirLib.EngineTypes.endp = _endpos;
17684 MenhirLib.EngineTypes.next = _menhir_stack;
17685 });
17686 (fun _menhir_env ->
17687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17688 let {
17689 MenhirLib.EngineTypes.semv = xs;
17690 MenhirLib.EngineTypes.startp = _startpos_xs_;
17691 MenhirLib.EngineTypes.endp = _endpos_xs_;
17692 MenhirLib.EngineTypes.next = {
17693 MenhirLib.EngineTypes.state = _menhir_s;
17694 MenhirLib.EngineTypes.semv = x;
17695 MenhirLib.EngineTypes.startp = _startpos_x_;
17696 MenhirLib.EngineTypes.endp = _endpos_x_;
17697 MenhirLib.EngineTypes.next = _menhir_stack;
17698 };
17699 } = _menhir_stack in
17700 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
17701 let x : 'tv_mzl_statement_ = Obj.magic x in
17702 let _startpos = _startpos_x_ in
17703 let _endpos = _endpos_xs_ in
17704 let _v : 'tv_list_mzl_statement__ =
17705 # 116 "standard.mly"
17706 ( x :: xs )
17707 # 17708 "parser_cocci_menhir.ml"
17708 in
17709 _menhir_env.MenhirLib.EngineTypes.stack <- {
17710 MenhirLib.EngineTypes.state = _menhir_s;
17711 MenhirLib.EngineTypes.semv = Obj.repr _v;
17712 MenhirLib.EngineTypes.startp = _startpos;
17713 MenhirLib.EngineTypes.endp = _endpos;
17714 MenhirLib.EngineTypes.next = _menhir_stack;
17715 });
17716 (fun _menhir_env ->
17717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17718 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17719 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17720 let _endpos = _startpos in
17721 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
17722 # 114 "standard.mly"
17723 ( [] )
17724 # 17725 "parser_cocci_menhir.ml"
17725 in
17726 _menhir_env.MenhirLib.EngineTypes.stack <- {
17727 MenhirLib.EngineTypes.state = _menhir_s;
17728 MenhirLib.EngineTypes.semv = Obj.repr _v;
17729 MenhirLib.EngineTypes.startp = _startpos;
17730 MenhirLib.EngineTypes.endp = _endpos;
17731 MenhirLib.EngineTypes.next = _menhir_stack;
17732 });
17733 (fun _menhir_env ->
17734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17735 let {
17736 MenhirLib.EngineTypes.semv = xs;
17737 MenhirLib.EngineTypes.startp = _startpos_xs_;
17738 MenhirLib.EngineTypes.endp = _endpos_xs_;
17739 MenhirLib.EngineTypes.next = {
17740 MenhirLib.EngineTypes.semv = y0;
17741 MenhirLib.EngineTypes.startp = _startpos_y0_;
17742 MenhirLib.EngineTypes.endp = _endpos_y0_;
17743 MenhirLib.EngineTypes.next = {
17744 MenhirLib.EngineTypes.state = _menhir_s;
17745 MenhirLib.EngineTypes.semv = x0;
17746 MenhirLib.EngineTypes.startp = _startpos_x0_;
17747 MenhirLib.EngineTypes.endp = _endpos_x0_;
17748 MenhirLib.EngineTypes.next = _menhir_stack;
17749 };
17750 };
17751 } = _menhir_stack in
17752 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
17753 let y0 : 'tv_dexpr = Obj.magic y0 in
17754 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
17755 let _startpos = _startpos_x0_ in
17756 let _endpos = _endpos_xs_ in
17757 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
17758 let y = y0 in
17759 let x = x0 in
17760
17761 # 70 "standard.mly"
17762 ( (x, y) )
17763 # 17764 "parser_cocci_menhir.ml"
17764
17765 in
17766
17767 # 116 "standard.mly"
17768 ( x :: xs )
17769 # 17770 "parser_cocci_menhir.ml"
17770 in
17771 _menhir_env.MenhirLib.EngineTypes.stack <- {
17772 MenhirLib.EngineTypes.state = _menhir_s;
17773 MenhirLib.EngineTypes.semv = Obj.repr _v;
17774 MenhirLib.EngineTypes.startp = _startpos;
17775 MenhirLib.EngineTypes.endp = _endpos;
17776 MenhirLib.EngineTypes.next = _menhir_stack;
17777 });
17778 (fun _menhir_env ->
17779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17780 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17781 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17782 let _endpos = _startpos in
17783 let _v : 'tv_list_whenppdecs_ =
17784 # 114 "standard.mly"
17785 ( [] )
17786 # 17787 "parser_cocci_menhir.ml"
17787 in
17788 _menhir_env.MenhirLib.EngineTypes.stack <- {
17789 MenhirLib.EngineTypes.state = _menhir_s;
17790 MenhirLib.EngineTypes.semv = Obj.repr _v;
17791 MenhirLib.EngineTypes.startp = _startpos;
17792 MenhirLib.EngineTypes.endp = _endpos;
17793 MenhirLib.EngineTypes.next = _menhir_stack;
17794 });
17795 (fun _menhir_env ->
17796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17797 let {
17798 MenhirLib.EngineTypes.semv = xs;
17799 MenhirLib.EngineTypes.startp = _startpos_xs_;
17800 MenhirLib.EngineTypes.endp = _endpos_xs_;
17801 MenhirLib.EngineTypes.next = {
17802 MenhirLib.EngineTypes.state = _menhir_s;
17803 MenhirLib.EngineTypes.semv = x;
17804 MenhirLib.EngineTypes.startp = _startpos_x_;
17805 MenhirLib.EngineTypes.endp = _endpos_x_;
17806 MenhirLib.EngineTypes.next = _menhir_stack;
17807 };
17808 } = _menhir_stack in
17809 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
17810 let x : 'tv_whenppdecs = Obj.magic x in
17811 let _startpos = _startpos_x_ in
17812 let _endpos = _endpos_xs_ in
17813 let _v : 'tv_list_whenppdecs_ =
17814 # 116 "standard.mly"
17815 ( x :: xs )
17816 # 17817 "parser_cocci_menhir.ml"
17817 in
17818 _menhir_env.MenhirLib.EngineTypes.stack <- {
17819 MenhirLib.EngineTypes.state = _menhir_s;
17820 MenhirLib.EngineTypes.semv = Obj.repr _v;
17821 MenhirLib.EngineTypes.startp = _startpos;
17822 MenhirLib.EngineTypes.endp = _endpos;
17823 MenhirLib.EngineTypes.next = _menhir_stack;
17824 });
17825 (fun _menhir_env ->
17826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17827 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17828 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17829 let _endpos = _startpos in
17830 let _v : 'tv_loption_choose_iso_ =
17831 # 57 "standard.mly"
17832 ( [] )
17833 # 17834 "parser_cocci_menhir.ml"
17834 in
17835 _menhir_env.MenhirLib.EngineTypes.stack <- {
17836 MenhirLib.EngineTypes.state = _menhir_s;
17837 MenhirLib.EngineTypes.semv = Obj.repr _v;
17838 MenhirLib.EngineTypes.startp = _startpos;
17839 MenhirLib.EngineTypes.endp = _endpos;
17840 MenhirLib.EngineTypes.next = _menhir_stack;
17841 });
17842 (fun _menhir_env ->
17843 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17844 let {
17845 MenhirLib.EngineTypes.state = _menhir_s;
17846 MenhirLib.EngineTypes.semv = x;
17847 MenhirLib.EngineTypes.startp = _startpos_x_;
17848 MenhirLib.EngineTypes.endp = _endpos_x_;
17849 MenhirLib.EngineTypes.next = _menhir_stack;
17850 } = _menhir_stack in
17851 let x : 'tv_choose_iso = Obj.magic x in
17852 let _startpos = _startpos_x_ in
17853 let _endpos = _endpos_x_ in
17854 let _v : 'tv_loption_choose_iso_ =
17855 # 59 "standard.mly"
17856 ( x )
17857 # 17858 "parser_cocci_menhir.ml"
17858 in
17859 _menhir_env.MenhirLib.EngineTypes.stack <- {
17860 MenhirLib.EngineTypes.state = _menhir_s;
17861 MenhirLib.EngineTypes.semv = Obj.repr _v;
17862 MenhirLib.EngineTypes.startp = _startpos;
17863 MenhirLib.EngineTypes.endp = _endpos;
17864 MenhirLib.EngineTypes.next = _menhir_stack;
17865 });
17866 (fun _menhir_env ->
17867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17868 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17869 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17870 let _endpos = _startpos in
17871 let _v : 'tv_loption_disable_ =
17872 # 57 "standard.mly"
17873 ( [] )
17874 # 17875 "parser_cocci_menhir.ml"
17875 in
17876 _menhir_env.MenhirLib.EngineTypes.stack <- {
17877 MenhirLib.EngineTypes.state = _menhir_s;
17878 MenhirLib.EngineTypes.semv = Obj.repr _v;
17879 MenhirLib.EngineTypes.startp = _startpos;
17880 MenhirLib.EngineTypes.endp = _endpos;
17881 MenhirLib.EngineTypes.next = _menhir_stack;
17882 });
17883 (fun _menhir_env ->
17884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17885 let {
17886 MenhirLib.EngineTypes.state = _menhir_s;
17887 MenhirLib.EngineTypes.semv = x;
17888 MenhirLib.EngineTypes.startp = _startpos_x_;
17889 MenhirLib.EngineTypes.endp = _endpos_x_;
17890 MenhirLib.EngineTypes.next = _menhir_stack;
17891 } = _menhir_stack in
17892 let x : 'tv_disable = Obj.magic x in
17893 let _startpos = _startpos_x_ in
17894 let _endpos = _endpos_x_ in
17895 let _v : 'tv_loption_disable_ =
17896 # 59 "standard.mly"
17897 ( x )
17898 # 17899 "parser_cocci_menhir.ml"
17899 in
17900 _menhir_env.MenhirLib.EngineTypes.stack <- {
17901 MenhirLib.EngineTypes.state = _menhir_s;
17902 MenhirLib.EngineTypes.semv = Obj.repr _v;
17903 MenhirLib.EngineTypes.startp = _startpos;
17904 MenhirLib.EngineTypes.endp = _endpos;
17905 MenhirLib.EngineTypes.next = _menhir_stack;
17906 });
17907 (fun _menhir_env ->
17908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17909 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17910 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17911 let _endpos = _startpos in
17912 let _v : 'tv_loption_filespec_ =
17913 # 57 "standard.mly"
17914 ( [] )
17915 # 17916 "parser_cocci_menhir.ml"
17916 in
17917 _menhir_env.MenhirLib.EngineTypes.stack <- {
17918 MenhirLib.EngineTypes.state = _menhir_s;
17919 MenhirLib.EngineTypes.semv = Obj.repr _v;
17920 MenhirLib.EngineTypes.startp = _startpos;
17921 MenhirLib.EngineTypes.endp = _endpos;
17922 MenhirLib.EngineTypes.next = _menhir_stack;
17923 });
17924 (fun _menhir_env ->
17925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17926 let {
17927 MenhirLib.EngineTypes.state = _menhir_s;
17928 MenhirLib.EngineTypes.semv = x;
17929 MenhirLib.EngineTypes.startp = _startpos_x_;
17930 MenhirLib.EngineTypes.endp = _endpos_x_;
17931 MenhirLib.EngineTypes.next = _menhir_stack;
17932 } = _menhir_stack in
17933 let x : 'tv_filespec = Obj.magic x in
17934 let _startpos = _startpos_x_ in
17935 let _endpos = _endpos_x_ in
17936 let _v : 'tv_loption_filespec_ =
17937 # 59 "standard.mly"
17938 ( x )
17939 # 17940 "parser_cocci_menhir.ml"
17940 in
17941 _menhir_env.MenhirLib.EngineTypes.stack <- {
17942 MenhirLib.EngineTypes.state = _menhir_s;
17943 MenhirLib.EngineTypes.semv = Obj.repr _v;
17944 MenhirLib.EngineTypes.startp = _startpos;
17945 MenhirLib.EngineTypes.endp = _endpos;
17946 MenhirLib.EngineTypes.next = _menhir_stack;
17947 });
17948 (fun _menhir_env ->
17949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17950 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17951 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17952 let _endpos = _startpos in
17953 let _v : 'tv_loption_minus_start_ =
17954 # 57 "standard.mly"
17955 ( [] )
17956 # 17957 "parser_cocci_menhir.ml"
17957 in
17958 _menhir_env.MenhirLib.EngineTypes.stack <- {
17959 MenhirLib.EngineTypes.state = _menhir_s;
17960 MenhirLib.EngineTypes.semv = Obj.repr _v;
17961 MenhirLib.EngineTypes.startp = _startpos;
17962 MenhirLib.EngineTypes.endp = _endpos;
17963 MenhirLib.EngineTypes.next = _menhir_stack;
17964 });
17965 (fun _menhir_env ->
17966 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17967 let {
17968 MenhirLib.EngineTypes.state = _menhir_s;
17969 MenhirLib.EngineTypes.semv = x;
17970 MenhirLib.EngineTypes.startp = _startpos_x_;
17971 MenhirLib.EngineTypes.endp = _endpos_x_;
17972 MenhirLib.EngineTypes.next = _menhir_stack;
17973 } = _menhir_stack in
17974 let x : 'tv_minus_start = Obj.magic x in
17975 let _startpos = _startpos_x_ in
17976 let _endpos = _endpos_x_ in
17977 let _v : 'tv_loption_minus_start_ =
17978 # 59 "standard.mly"
17979 ( x )
17980 # 17981 "parser_cocci_menhir.ml"
17981 in
17982 _menhir_env.MenhirLib.EngineTypes.stack <- {
17983 MenhirLib.EngineTypes.state = _menhir_s;
17984 MenhirLib.EngineTypes.semv = Obj.repr _v;
17985 MenhirLib.EngineTypes.startp = _startpos;
17986 MenhirLib.EngineTypes.endp = _endpos;
17987 MenhirLib.EngineTypes.next = _menhir_stack;
17988 });
17989 (fun _menhir_env ->
17990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17991 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17992 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17993 let _endpos = _startpos in
17994 let _v : 'tv_loption_not_ceq_ =
17995 # 57 "standard.mly"
17996 ( [] )
17997 # 17998 "parser_cocci_menhir.ml"
17998 in
17999 _menhir_env.MenhirLib.EngineTypes.stack <- {
18000 MenhirLib.EngineTypes.state = _menhir_s;
18001 MenhirLib.EngineTypes.semv = Obj.repr _v;
18002 MenhirLib.EngineTypes.startp = _startpos;
18003 MenhirLib.EngineTypes.endp = _endpos;
18004 MenhirLib.EngineTypes.next = _menhir_stack;
18005 });
18006 (fun _menhir_env ->
18007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18008 let {
18009 MenhirLib.EngineTypes.state = _menhir_s;
18010 MenhirLib.EngineTypes.semv = x;
18011 MenhirLib.EngineTypes.startp = _startpos_x_;
18012 MenhirLib.EngineTypes.endp = _endpos_x_;
18013 MenhirLib.EngineTypes.next = _menhir_stack;
18014 } = _menhir_stack in
18015 let x : 'tv_not_ceq = Obj.magic x in
18016 let _startpos = _startpos_x_ in
18017 let _endpos = _endpos_x_ in
18018 let _v : 'tv_loption_not_ceq_ =
18019 # 59 "standard.mly"
18020 ( x )
18021 # 18022 "parser_cocci_menhir.ml"
18022 in
18023 _menhir_env.MenhirLib.EngineTypes.stack <- {
18024 MenhirLib.EngineTypes.state = _menhir_s;
18025 MenhirLib.EngineTypes.semv = Obj.repr _v;
18026 MenhirLib.EngineTypes.startp = _startpos;
18027 MenhirLib.EngineTypes.endp = _endpos;
18028 MenhirLib.EngineTypes.next = _menhir_stack;
18029 });
18030 (fun _menhir_env ->
18031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18032 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18033 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18034 let _endpos = _startpos in
18035 let _v : 'tv_loption_not_pos_ =
18036 # 57 "standard.mly"
18037 ( [] )
18038 # 18039 "parser_cocci_menhir.ml"
18039 in
18040 _menhir_env.MenhirLib.EngineTypes.stack <- {
18041 MenhirLib.EngineTypes.state = _menhir_s;
18042 MenhirLib.EngineTypes.semv = Obj.repr _v;
18043 MenhirLib.EngineTypes.startp = _startpos;
18044 MenhirLib.EngineTypes.endp = _endpos;
18045 MenhirLib.EngineTypes.next = _menhir_stack;
18046 });
18047 (fun _menhir_env ->
18048 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18049 let {
18050 MenhirLib.EngineTypes.state = _menhir_s;
18051 MenhirLib.EngineTypes.semv = x;
18052 MenhirLib.EngineTypes.startp = _startpos_x_;
18053 MenhirLib.EngineTypes.endp = _endpos_x_;
18054 MenhirLib.EngineTypes.next = _menhir_stack;
18055 } = _menhir_stack in
18056 let x : 'tv_not_pos = Obj.magic x in
18057 let _startpos = _startpos_x_ in
18058 let _endpos = _endpos_x_ in
18059 let _v : 'tv_loption_not_pos_ =
18060 # 59 "standard.mly"
18061 ( x )
18062 # 18063 "parser_cocci_menhir.ml"
18063 in
18064 _menhir_env.MenhirLib.EngineTypes.stack <- {
18065 MenhirLib.EngineTypes.state = _menhir_s;
18066 MenhirLib.EngineTypes.semv = Obj.repr _v;
18067 MenhirLib.EngineTypes.startp = _startpos;
18068 MenhirLib.EngineTypes.endp = _endpos;
18069 MenhirLib.EngineTypes.next = _menhir_stack;
18070 });
18071 (fun _menhir_env ->
18072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18073 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18074 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18075 let _endpos = _startpos in
18076 let _v : 'tv_loption_plus_start_ =
18077 # 57 "standard.mly"
18078 ( [] )
18079 # 18080 "parser_cocci_menhir.ml"
18080 in
18081 _menhir_env.MenhirLib.EngineTypes.stack <- {
18082 MenhirLib.EngineTypes.state = _menhir_s;
18083 MenhirLib.EngineTypes.semv = Obj.repr _v;
18084 MenhirLib.EngineTypes.startp = _startpos;
18085 MenhirLib.EngineTypes.endp = _endpos;
18086 MenhirLib.EngineTypes.next = _menhir_stack;
18087 });
18088 (fun _menhir_env ->
18089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18090 let {
18091 MenhirLib.EngineTypes.state = _menhir_s;
18092 MenhirLib.EngineTypes.semv = x;
18093 MenhirLib.EngineTypes.startp = _startpos_x_;
18094 MenhirLib.EngineTypes.endp = _endpos_x_;
18095 MenhirLib.EngineTypes.next = _menhir_stack;
18096 } = _menhir_stack in
18097 let x : 'tv_plus_start = Obj.magic x in
18098 let _startpos = _startpos_x_ in
18099 let _endpos = _endpos_x_ in
18100 let _v : 'tv_loption_plus_start_ =
18101 # 59 "standard.mly"
18102 ( x )
18103 # 18104 "parser_cocci_menhir.ml"
18104 in
18105 _menhir_env.MenhirLib.EngineTypes.stack <- {
18106 MenhirLib.EngineTypes.state = _menhir_s;
18107 MenhirLib.EngineTypes.semv = Obj.repr _v;
18108 MenhirLib.EngineTypes.startp = _startpos;
18109 MenhirLib.EngineTypes.endp = _endpos;
18110 MenhirLib.EngineTypes.next = _menhir_stack;
18111 });
18112 (fun _menhir_env ->
18113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18114 let {
18115 MenhirLib.EngineTypes.state = _menhir_s;
18116 MenhirLib.EngineTypes.semv = t;
18117 MenhirLib.EngineTypes.startp = _startpos_t_;
18118 MenhirLib.EngineTypes.endp = _endpos_t_;
18119 MenhirLib.EngineTypes.next = _menhir_stack;
18120 } = _menhir_stack in
18121 let t : 'tv_typedef_ctype = Obj.magic t in
18122 let _startpos = _startpos_t_ in
18123 let _endpos = _endpos_t_ in
18124 let _v : 'tv_meta_exp_type =
18125 # 462 "parser_cocci_menhir.mly"
18126 ( [Ast0_cocci.ast0_type_to_type t] )
18127 # 18128 "parser_cocci_menhir.ml"
18128 in
18129 _menhir_env.MenhirLib.EngineTypes.stack <- {
18130 MenhirLib.EngineTypes.state = _menhir_s;
18131 MenhirLib.EngineTypes.semv = Obj.repr _v;
18132 MenhirLib.EngineTypes.startp = _startpos;
18133 MenhirLib.EngineTypes.endp = _endpos;
18134 MenhirLib.EngineTypes.next = _menhir_stack;
18135 });
18136 (fun _menhir_env ->
18137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18138 let {
18139 MenhirLib.EngineTypes.semv = m;
18140 MenhirLib.EngineTypes.startp = _startpos_m_;
18141 MenhirLib.EngineTypes.endp = _endpos_m_;
18142 MenhirLib.EngineTypes.next = {
18143 MenhirLib.EngineTypes.startp = _startpos__3_;
18144 MenhirLib.EngineTypes.endp = _endpos__3_;
18145 MenhirLib.EngineTypes.next = {
18146 MenhirLib.EngineTypes.semv = t;
18147 MenhirLib.EngineTypes.startp = _startpos_t_;
18148 MenhirLib.EngineTypes.endp = _endpos_t_;
18149 MenhirLib.EngineTypes.next = {
18150 MenhirLib.EngineTypes.state = _menhir_s;
18151 MenhirLib.EngineTypes.startp = _startpos__1_;
18152 MenhirLib.EngineTypes.endp = _endpos__1_;
18153 MenhirLib.EngineTypes.next = _menhir_stack;
18154 };
18155 };
18156 };
18157 } = _menhir_stack in
18158 let m : 'tv_list_TMul_ = Obj.magic m in
18159 let t : 'tv_comma_list_ctype_ = Obj.magic t in
18160 let _startpos = _startpos__1_ in
18161 let _endpos = _endpos_m_ in
18162 let _v : 'tv_meta_exp_type =
18163 # 464 "parser_cocci_menhir.mly"
18164 ( List.map
18165 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
18166 t )
18167 # 18168 "parser_cocci_menhir.ml"
18168 in
18169 _menhir_env.MenhirLib.EngineTypes.stack <- {
18170 MenhirLib.EngineTypes.state = _menhir_s;
18171 MenhirLib.EngineTypes.semv = Obj.repr _v;
18172 MenhirLib.EngineTypes.startp = _startpos;
18173 MenhirLib.EngineTypes.endp = _endpos;
18174 MenhirLib.EngineTypes.next = _menhir_stack;
18175 });
18176 (fun _menhir_env ->
18177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18178 let {
18179 MenhirLib.EngineTypes.semv = _3;
18180 MenhirLib.EngineTypes.startp = _startpos__3_;
18181 MenhirLib.EngineTypes.endp = _endpos__3_;
18182 MenhirLib.EngineTypes.next = {
18183 MenhirLib.EngineTypes.startp = _startpos__2_;
18184 MenhirLib.EngineTypes.endp = _endpos__2_;
18185 MenhirLib.EngineTypes.next = {
18186 MenhirLib.EngineTypes.state = _menhir_s;
18187 MenhirLib.EngineTypes.semv = _1;
18188 MenhirLib.EngineTypes.startp = _startpos__1_;
18189 MenhirLib.EngineTypes.endp = _endpos__1_;
18190 MenhirLib.EngineTypes.next = _menhir_stack;
18191 };
18192 };
18193 } = _menhir_stack in
18194 let _3 : 'tv_pure_ident = Obj.magic _3 in
18195 let _1 : (
18196 # 47 "parser_cocci_menhir.mly"
18197 (string)
18198 # 18199 "parser_cocci_menhir.ml"
18199 ) = Obj.magic _1 in
18200 let _startpos = _startpos__1_ in
18201 let _endpos = _endpos__3_ in
18202 let _v : 'tv_meta_ident =
18203 # 1395 "parser_cocci_menhir.mly"
18204 ( (Some _1,P.id2name _3) )
18205 # 18206 "parser_cocci_menhir.ml"
18206 in
18207 _menhir_env.MenhirLib.EngineTypes.stack <- {
18208 MenhirLib.EngineTypes.state = _menhir_s;
18209 MenhirLib.EngineTypes.semv = Obj.repr _v;
18210 MenhirLib.EngineTypes.startp = _startpos;
18211 MenhirLib.EngineTypes.endp = _endpos;
18212 MenhirLib.EngineTypes.next = _menhir_stack;
18213 });
18214 (fun _menhir_env ->
18215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18216 let {
18217 MenhirLib.EngineTypes.state = _menhir_s;
18218 MenhirLib.EngineTypes.semv = m;
18219 MenhirLib.EngineTypes.startp = _startpos_m_;
18220 MenhirLib.EngineTypes.endp = _endpos_m_;
18221 MenhirLib.EngineTypes.next = _menhir_stack;
18222 } = _menhir_stack in
18223 let m : 'tv_metadec = Obj.magic m in
18224 let _startpos = _startpos_m_ in
18225 let _endpos = _endpos_m_ in
18226 let _v : (
18227 # 157 "parser_cocci_menhir.mly"
18228 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
18229 # 18230 "parser_cocci_menhir.ml"
18230 ) =
18231 # 181 "parser_cocci_menhir.mly"
18232 ( m (!Ast0.rule_name) )
18233 # 18234 "parser_cocci_menhir.ml"
18234 in
18235 _menhir_env.MenhirLib.EngineTypes.stack <- {
18236 MenhirLib.EngineTypes.state = _menhir_s;
18237 MenhirLib.EngineTypes.semv = Obj.repr _v;
18238 MenhirLib.EngineTypes.startp = _startpos;
18239 MenhirLib.EngineTypes.endp = _endpos;
18240 MenhirLib.EngineTypes.next = _menhir_stack;
18241 });
18242 (fun _menhir_env ->
18243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18244 let {
18245 MenhirLib.EngineTypes.startp = _startpos__5_;
18246 MenhirLib.EngineTypes.endp = _endpos__5_;
18247 MenhirLib.EngineTypes.next = {
18248 MenhirLib.EngineTypes.semv = ids;
18249 MenhirLib.EngineTypes.startp = _startpos_ids_;
18250 MenhirLib.EngineTypes.endp = _endpos_ids_;
18251 MenhirLib.EngineTypes.next = {
18252 MenhirLib.EngineTypes.startp = _startpos__3_;
18253 MenhirLib.EngineTypes.endp = _endpos__3_;
18254 MenhirLib.EngineTypes.next = {
18255 MenhirLib.EngineTypes.semv = ispure;
18256 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18257 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18258 MenhirLib.EngineTypes.next = {
18259 MenhirLib.EngineTypes.state = _menhir_s;
18260 MenhirLib.EngineTypes.semv = ar;
18261 MenhirLib.EngineTypes.startp = _startpos_ar_;
18262 MenhirLib.EngineTypes.endp = _endpos_ar_;
18263 MenhirLib.EngineTypes.next = _menhir_stack;
18264 };
18265 };
18266 };
18267 };
18268 } = _menhir_stack in
18269 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18270 let ispure : 'tv_pure = Obj.magic ispure in
18271 let ar : 'tv_arity = Obj.magic ar in
18272 let _startpos = _startpos_ar_ in
18273 let _endpos = _endpos__5_ in
18274 let _v : 'tv_metadec = let kindfn =
18275
18276 # 327 "parser_cocci_menhir.mly"
18277 ( (fun arity name pure check_meta ->
18278 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
18279 !Data.add_param_meta name pure; tok) )
18280 # 18281 "parser_cocci_menhir.ml"
18281
18282 in
18283
18284 # 270 "parser_cocci_menhir.mly"
18285 ( P.create_metadec ar ispure kindfn ids )
18286 # 18287 "parser_cocci_menhir.ml"
18287 in
18288 _menhir_env.MenhirLib.EngineTypes.stack <- {
18289 MenhirLib.EngineTypes.state = _menhir_s;
18290 MenhirLib.EngineTypes.semv = Obj.repr _v;
18291 MenhirLib.EngineTypes.startp = _startpos;
18292 MenhirLib.EngineTypes.endp = _endpos;
18293 MenhirLib.EngineTypes.next = _menhir_stack;
18294 });
18295 (fun _menhir_env ->
18296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18297 let {
18298 MenhirLib.EngineTypes.startp = _startpos__6_;
18299 MenhirLib.EngineTypes.endp = _endpos__6_;
18300 MenhirLib.EngineTypes.next = {
18301 MenhirLib.EngineTypes.semv = ids;
18302 MenhirLib.EngineTypes.startp = _startpos_ids_;
18303 MenhirLib.EngineTypes.endp = _endpos_ids_;
18304 MenhirLib.EngineTypes.next = {
18305 MenhirLib.EngineTypes.startp = _startpos__4_;
18306 MenhirLib.EngineTypes.endp = _endpos__4_;
18307 MenhirLib.EngineTypes.next = {
18308 MenhirLib.EngineTypes.startp = _startpos__3_;
18309 MenhirLib.EngineTypes.endp = _endpos__3_;
18310 MenhirLib.EngineTypes.next = {
18311 MenhirLib.EngineTypes.semv = ispure;
18312 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18313 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18314 MenhirLib.EngineTypes.next = {
18315 MenhirLib.EngineTypes.state = _menhir_s;
18316 MenhirLib.EngineTypes.semv = ar;
18317 MenhirLib.EngineTypes.startp = _startpos_ar_;
18318 MenhirLib.EngineTypes.endp = _endpos_ar_;
18319 MenhirLib.EngineTypes.next = _menhir_stack;
18320 };
18321 };
18322 };
18323 };
18324 };
18325 } = _menhir_stack in
18326 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18327 let ispure : 'tv_pure = Obj.magic ispure in
18328 let ar : 'tv_arity = Obj.magic ar in
18329 let _startpos = _startpos_ar_ in
18330 let _endpos = _endpos__6_ in
18331 let _v : 'tv_metadec = let kindfn =
18332
18333 # 331 "parser_cocci_menhir.mly"
18334 ( (fun arity name pure check_meta ->
18335 let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
18336 !Data.add_paramlist_meta name None pure; tok) )
18337 # 18338 "parser_cocci_menhir.ml"
18338
18339 in
18340
18341 # 270 "parser_cocci_menhir.mly"
18342 ( P.create_metadec ar ispure kindfn ids )
18343 # 18344 "parser_cocci_menhir.ml"
18344 in
18345 _menhir_env.MenhirLib.EngineTypes.stack <- {
18346 MenhirLib.EngineTypes.state = _menhir_s;
18347 MenhirLib.EngineTypes.semv = Obj.repr _v;
18348 MenhirLib.EngineTypes.startp = _startpos;
18349 MenhirLib.EngineTypes.endp = _endpos;
18350 MenhirLib.EngineTypes.next = _menhir_stack;
18351 });
18352 (fun _menhir_env ->
18353 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18354 let {
18355 MenhirLib.EngineTypes.startp = _startpos__6_;
18356 MenhirLib.EngineTypes.endp = _endpos__6_;
18357 MenhirLib.EngineTypes.next = {
18358 MenhirLib.EngineTypes.semv = ids;
18359 MenhirLib.EngineTypes.startp = _startpos_ids_;
18360 MenhirLib.EngineTypes.endp = _endpos_ids_;
18361 MenhirLib.EngineTypes.next = {
18362 MenhirLib.EngineTypes.startp = _startpos__4_;
18363 MenhirLib.EngineTypes.endp = _endpos__4_;
18364 MenhirLib.EngineTypes.next = {
18365 MenhirLib.EngineTypes.startp = _startpos__3_;
18366 MenhirLib.EngineTypes.endp = _endpos__3_;
18367 MenhirLib.EngineTypes.next = {
18368 MenhirLib.EngineTypes.semv = ispure;
18369 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18370 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18371 MenhirLib.EngineTypes.next = {
18372 MenhirLib.EngineTypes.state = _menhir_s;
18373 MenhirLib.EngineTypes.semv = ar;
18374 MenhirLib.EngineTypes.startp = _startpos_ar_;
18375 MenhirLib.EngineTypes.endp = _endpos_ar_;
18376 MenhirLib.EngineTypes.next = _menhir_stack;
18377 };
18378 };
18379 };
18380 };
18381 };
18382 } = _menhir_stack in
18383 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18384 let ispure : 'tv_pure = Obj.magic ispure in
18385 let ar : 'tv_arity = Obj.magic ar in
18386 let _startpos = _startpos_ar_ in
18387 let _endpos = _endpos__6_ in
18388 let _v : 'tv_metadec = let kindfn =
18389
18390 # 335 "parser_cocci_menhir.mly"
18391 ( (fun arity name pure check_meta ->
18392 let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
18393 !Data.add_explist_meta name None pure; tok) )
18394 # 18395 "parser_cocci_menhir.ml"
18395
18396 in
18397
18398 # 270 "parser_cocci_menhir.mly"
18399 ( P.create_metadec ar ispure kindfn ids )
18400 # 18401 "parser_cocci_menhir.ml"
18401 in
18402 _menhir_env.MenhirLib.EngineTypes.stack <- {
18403 MenhirLib.EngineTypes.state = _menhir_s;
18404 MenhirLib.EngineTypes.semv = Obj.repr _v;
18405 MenhirLib.EngineTypes.startp = _startpos;
18406 MenhirLib.EngineTypes.endp = _endpos;
18407 MenhirLib.EngineTypes.next = _menhir_stack;
18408 });
18409 (fun _menhir_env ->
18410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18411 let {
18412 MenhirLib.EngineTypes.startp = _startpos__5_;
18413 MenhirLib.EngineTypes.endp = _endpos__5_;
18414 MenhirLib.EngineTypes.next = {
18415 MenhirLib.EngineTypes.semv = ids;
18416 MenhirLib.EngineTypes.startp = _startpos_ids_;
18417 MenhirLib.EngineTypes.endp = _endpos_ids_;
18418 MenhirLib.EngineTypes.next = {
18419 MenhirLib.EngineTypes.startp = _startpos__3_;
18420 MenhirLib.EngineTypes.endp = _endpos__3_;
18421 MenhirLib.EngineTypes.next = {
18422 MenhirLib.EngineTypes.semv = ispure;
18423 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18424 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18425 MenhirLib.EngineTypes.next = {
18426 MenhirLib.EngineTypes.state = _menhir_s;
18427 MenhirLib.EngineTypes.semv = ar;
18428 MenhirLib.EngineTypes.startp = _startpos_ar_;
18429 MenhirLib.EngineTypes.endp = _endpos_ar_;
18430 MenhirLib.EngineTypes.next = _menhir_stack;
18431 };
18432 };
18433 };
18434 };
18435 } = _menhir_stack in
18436 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18437 let ispure : 'tv_pure = Obj.magic ispure in
18438 let ar : 'tv_arity = Obj.magic ar in
18439 let _startpos = _startpos_ar_ in
18440 let _endpos = _endpos__5_ in
18441 let _v : 'tv_metadec = let kindfn =
18442
18443 # 339 "parser_cocci_menhir.mly"
18444 ( (fun arity name pure check_meta ->
18445 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
18446 !Data.add_type_meta name pure; tok) )
18447 # 18448 "parser_cocci_menhir.ml"
18448
18449 in
18450
18451 # 270 "parser_cocci_menhir.mly"
18452 ( P.create_metadec ar ispure kindfn ids )
18453 # 18454 "parser_cocci_menhir.ml"
18454 in
18455 _menhir_env.MenhirLib.EngineTypes.stack <- {
18456 MenhirLib.EngineTypes.state = _menhir_s;
18457 MenhirLib.EngineTypes.semv = Obj.repr _v;
18458 MenhirLib.EngineTypes.startp = _startpos;
18459 MenhirLib.EngineTypes.endp = _endpos;
18460 MenhirLib.EngineTypes.next = _menhir_stack;
18461 });
18462 (fun _menhir_env ->
18463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18464 let {
18465 MenhirLib.EngineTypes.startp = _startpos__5_;
18466 MenhirLib.EngineTypes.endp = _endpos__5_;
18467 MenhirLib.EngineTypes.next = {
18468 MenhirLib.EngineTypes.semv = ids;
18469 MenhirLib.EngineTypes.startp = _startpos_ids_;
18470 MenhirLib.EngineTypes.endp = _endpos_ids_;
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 } = _menhir_stack in
18489 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18490 let ispure : 'tv_pure = Obj.magic ispure in
18491 let ar : 'tv_arity = Obj.magic ar in
18492 let _startpos = _startpos_ar_ in
18493 let _endpos = _endpos__5_ in
18494 let _v : 'tv_metadec = let kindfn =
18495
18496 # 343 "parser_cocci_menhir.mly"
18497 ( (fun arity name pure check_meta ->
18498 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
18499 !Data.add_init_meta name pure; tok) )
18500 # 18501 "parser_cocci_menhir.ml"
18501
18502 in
18503
18504 # 270 "parser_cocci_menhir.mly"
18505 ( P.create_metadec ar ispure kindfn ids )
18506 # 18507 "parser_cocci_menhir.ml"
18507 in
18508 _menhir_env.MenhirLib.EngineTypes.stack <- {
18509 MenhirLib.EngineTypes.state = _menhir_s;
18510 MenhirLib.EngineTypes.semv = Obj.repr _v;
18511 MenhirLib.EngineTypes.startp = _startpos;
18512 MenhirLib.EngineTypes.endp = _endpos;
18513 MenhirLib.EngineTypes.next = _menhir_stack;
18514 });
18515 (fun _menhir_env ->
18516 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18517 let {
18518 MenhirLib.EngineTypes.startp = _startpos__5_;
18519 MenhirLib.EngineTypes.endp = _endpos__5_;
18520 MenhirLib.EngineTypes.next = {
18521 MenhirLib.EngineTypes.semv = ids;
18522 MenhirLib.EngineTypes.startp = _startpos_ids_;
18523 MenhirLib.EngineTypes.endp = _endpos_ids_;
18524 MenhirLib.EngineTypes.next = {
18525 MenhirLib.EngineTypes.startp = _startpos__3_;
18526 MenhirLib.EngineTypes.endp = _endpos__3_;
18527 MenhirLib.EngineTypes.next = {
18528 MenhirLib.EngineTypes.semv = ispure;
18529 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18530 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18531 MenhirLib.EngineTypes.next = {
18532 MenhirLib.EngineTypes.state = _menhir_s;
18533 MenhirLib.EngineTypes.semv = ar;
18534 MenhirLib.EngineTypes.startp = _startpos_ar_;
18535 MenhirLib.EngineTypes.endp = _endpos_ar_;
18536 MenhirLib.EngineTypes.next = _menhir_stack;
18537 };
18538 };
18539 };
18540 };
18541 } = _menhir_stack in
18542 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18543 let ispure : 'tv_pure = Obj.magic ispure in
18544 let ar : 'tv_arity = Obj.magic ar in
18545 let _startpos = _startpos_ar_ in
18546 let _endpos = _endpos__5_ in
18547 let _v : 'tv_metadec = let kindfn =
18548
18549 # 347 "parser_cocci_menhir.mly"
18550 ( (fun arity name pure check_meta ->
18551 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
18552 !Data.add_stm_meta name pure; tok) )
18553 # 18554 "parser_cocci_menhir.ml"
18554
18555 in
18556
18557 # 270 "parser_cocci_menhir.mly"
18558 ( P.create_metadec ar ispure kindfn ids )
18559 # 18560 "parser_cocci_menhir.ml"
18560 in
18561 _menhir_env.MenhirLib.EngineTypes.stack <- {
18562 MenhirLib.EngineTypes.state = _menhir_s;
18563 MenhirLib.EngineTypes.semv = Obj.repr _v;
18564 MenhirLib.EngineTypes.startp = _startpos;
18565 MenhirLib.EngineTypes.endp = _endpos;
18566 MenhirLib.EngineTypes.next = _menhir_stack;
18567 });
18568 (fun _menhir_env ->
18569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18570 let {
18571 MenhirLib.EngineTypes.startp = _startpos__6_;
18572 MenhirLib.EngineTypes.endp = _endpos__6_;
18573 MenhirLib.EngineTypes.next = {
18574 MenhirLib.EngineTypes.semv = ids;
18575 MenhirLib.EngineTypes.startp = _startpos_ids_;
18576 MenhirLib.EngineTypes.endp = _endpos_ids_;
18577 MenhirLib.EngineTypes.next = {
18578 MenhirLib.EngineTypes.startp = _startpos__4_;
18579 MenhirLib.EngineTypes.endp = _endpos__4_;
18580 MenhirLib.EngineTypes.next = {
18581 MenhirLib.EngineTypes.startp = _startpos__3_;
18582 MenhirLib.EngineTypes.endp = _endpos__3_;
18583 MenhirLib.EngineTypes.next = {
18584 MenhirLib.EngineTypes.semv = ispure;
18585 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18586 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18587 MenhirLib.EngineTypes.next = {
18588 MenhirLib.EngineTypes.state = _menhir_s;
18589 MenhirLib.EngineTypes.semv = ar;
18590 MenhirLib.EngineTypes.startp = _startpos_ar_;
18591 MenhirLib.EngineTypes.endp = _endpos_ar_;
18592 MenhirLib.EngineTypes.next = _menhir_stack;
18593 };
18594 };
18595 };
18596 };
18597 };
18598 } = _menhir_stack in
18599 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18600 let ispure : 'tv_pure = Obj.magic ispure in
18601 let ar : 'tv_arity = Obj.magic ar in
18602 let _startpos = _startpos_ar_ in
18603 let _endpos = _endpos__6_ in
18604 let _v : 'tv_metadec = let kindfn =
18605
18606 # 351 "parser_cocci_menhir.mly"
18607 ( (fun arity name pure check_meta ->
18608 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
18609 !Data.add_stmlist_meta name pure; tok) )
18610 # 18611 "parser_cocci_menhir.ml"
18611
18612 in
18613
18614 # 270 "parser_cocci_menhir.mly"
18615 ( P.create_metadec ar ispure kindfn ids )
18616 # 18617 "parser_cocci_menhir.ml"
18617 in
18618 _menhir_env.MenhirLib.EngineTypes.stack <- {
18619 MenhirLib.EngineTypes.state = _menhir_s;
18620 MenhirLib.EngineTypes.semv = Obj.repr _v;
18621 MenhirLib.EngineTypes.startp = _startpos;
18622 MenhirLib.EngineTypes.endp = _endpos;
18623 MenhirLib.EngineTypes.next = _menhir_stack;
18624 });
18625 (fun _menhir_env ->
18626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18627 let {
18628 MenhirLib.EngineTypes.startp = _startpos__5_;
18629 MenhirLib.EngineTypes.endp = _endpos__5_;
18630 MenhirLib.EngineTypes.next = {
18631 MenhirLib.EngineTypes.semv = ids;
18632 MenhirLib.EngineTypes.startp = _startpos_ids_;
18633 MenhirLib.EngineTypes.endp = _endpos_ids_;
18634 MenhirLib.EngineTypes.next = {
18635 MenhirLib.EngineTypes.startp = _startpos__3_;
18636 MenhirLib.EngineTypes.endp = _endpos__3_;
18637 MenhirLib.EngineTypes.next = {
18638 MenhirLib.EngineTypes.semv = ispure;
18639 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18640 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18641 MenhirLib.EngineTypes.next = {
18642 MenhirLib.EngineTypes.state = _menhir_s;
18643 MenhirLib.EngineTypes.semv = ar;
18644 MenhirLib.EngineTypes.startp = _startpos_ar_;
18645 MenhirLib.EngineTypes.endp = _endpos_ar_;
18646 MenhirLib.EngineTypes.next = _menhir_stack;
18647 };
18648 };
18649 };
18650 };
18651 } = _menhir_stack in
18652 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18653 let ispure : 'tv_pure = Obj.magic ispure in
18654 let ar : 'tv_arity = Obj.magic ar in
18655 let _startpos = _startpos_ar_ in
18656 let _endpos = _endpos__5_ in
18657 let _v : 'tv_metadec = let kindfn =
18658
18659 # 355 "parser_cocci_menhir.mly"
18660 ( (fun arity (_,name) pure check_meta ->
18661 if arity = Ast.NONE && pure = Ast0.Impure
18662 then (!Data.add_type_name name; [])
18663 else raise (Semantic_cocci.Semantic "bad typedef")) )
18664 # 18665 "parser_cocci_menhir.ml"
18665
18666 in
18667
18668 # 270 "parser_cocci_menhir.mly"
18669 ( P.create_metadec ar ispure kindfn ids )
18670 # 18671 "parser_cocci_menhir.ml"
18671 in
18672 _menhir_env.MenhirLib.EngineTypes.stack <- {
18673 MenhirLib.EngineTypes.state = _menhir_s;
18674 MenhirLib.EngineTypes.semv = Obj.repr _v;
18675 MenhirLib.EngineTypes.startp = _startpos;
18676 MenhirLib.EngineTypes.endp = _endpos;
18677 MenhirLib.EngineTypes.next = _menhir_stack;
18678 });
18679 (fun _menhir_env ->
18680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18681 let {
18682 MenhirLib.EngineTypes.startp = _startpos__6_;
18683 MenhirLib.EngineTypes.endp = _endpos__6_;
18684 MenhirLib.EngineTypes.next = {
18685 MenhirLib.EngineTypes.semv = ids;
18686 MenhirLib.EngineTypes.startp = _startpos_ids_;
18687 MenhirLib.EngineTypes.endp = _endpos_ids_;
18688 MenhirLib.EngineTypes.next = {
18689 MenhirLib.EngineTypes.startp = _startpos__4_;
18690 MenhirLib.EngineTypes.endp = _endpos__4_;
18691 MenhirLib.EngineTypes.next = {
18692 MenhirLib.EngineTypes.startp = _startpos__3_;
18693 MenhirLib.EngineTypes.endp = _endpos__3_;
18694 MenhirLib.EngineTypes.next = {
18695 MenhirLib.EngineTypes.semv = ispure;
18696 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18697 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18698 MenhirLib.EngineTypes.next = {
18699 MenhirLib.EngineTypes.state = _menhir_s;
18700 MenhirLib.EngineTypes.semv = ar;
18701 MenhirLib.EngineTypes.startp = _startpos_ar_;
18702 MenhirLib.EngineTypes.endp = _endpos_ar_;
18703 MenhirLib.EngineTypes.next = _menhir_stack;
18704 };
18705 };
18706 };
18707 };
18708 };
18709 } = _menhir_stack in
18710 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18711 let ispure : 'tv_pure = Obj.magic ispure in
18712 let ar : 'tv_arity = Obj.magic ar in
18713 let _startpos = _startpos_ar_ in
18714 let _endpos = _endpos__6_ in
18715 let _v : 'tv_metadec = let kindfn =
18716
18717 # 360 "parser_cocci_menhir.mly"
18718 ( (fun arity (_,name) pure check_meta ->
18719 if arity = Ast.NONE && pure = Ast0.Impure
18720 then (!Data.add_declarer_name name; [])
18721 else raise (Semantic_cocci.Semantic "bad declarer")) )
18722 # 18723 "parser_cocci_menhir.ml"
18723
18724 in
18725
18726 # 270 "parser_cocci_menhir.mly"
18727 ( P.create_metadec ar ispure kindfn ids )
18728 # 18729 "parser_cocci_menhir.ml"
18729 in
18730 _menhir_env.MenhirLib.EngineTypes.stack <- {
18731 MenhirLib.EngineTypes.state = _menhir_s;
18732 MenhirLib.EngineTypes.semv = Obj.repr _v;
18733 MenhirLib.EngineTypes.startp = _startpos;
18734 MenhirLib.EngineTypes.endp = _endpos;
18735 MenhirLib.EngineTypes.next = _menhir_stack;
18736 });
18737 (fun _menhir_env ->
18738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18739 let {
18740 MenhirLib.EngineTypes.startp = _startpos__6_;
18741 MenhirLib.EngineTypes.endp = _endpos__6_;
18742 MenhirLib.EngineTypes.next = {
18743 MenhirLib.EngineTypes.semv = ids;
18744 MenhirLib.EngineTypes.startp = _startpos_ids_;
18745 MenhirLib.EngineTypes.endp = _endpos_ids_;
18746 MenhirLib.EngineTypes.next = {
18747 MenhirLib.EngineTypes.startp = _startpos__4_;
18748 MenhirLib.EngineTypes.endp = _endpos__4_;
18749 MenhirLib.EngineTypes.next = {
18750 MenhirLib.EngineTypes.startp = _startpos__3_;
18751 MenhirLib.EngineTypes.endp = _endpos__3_;
18752 MenhirLib.EngineTypes.next = {
18753 MenhirLib.EngineTypes.semv = ispure;
18754 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18755 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18756 MenhirLib.EngineTypes.next = {
18757 MenhirLib.EngineTypes.state = _menhir_s;
18758 MenhirLib.EngineTypes.semv = ar;
18759 MenhirLib.EngineTypes.startp = _startpos_ar_;
18760 MenhirLib.EngineTypes.endp = _endpos_ar_;
18761 MenhirLib.EngineTypes.next = _menhir_stack;
18762 };
18763 };
18764 };
18765 };
18766 };
18767 } = _menhir_stack in
18768 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18769 let ispure : 'tv_pure = Obj.magic ispure in
18770 let ar : 'tv_arity = Obj.magic ar in
18771 let _startpos = _startpos_ar_ in
18772 let _endpos = _endpos__6_ in
18773 let _v : 'tv_metadec = let kindfn =
18774
18775 # 365 "parser_cocci_menhir.mly"
18776 ( (fun arity (_,name) pure check_meta ->
18777 if arity = Ast.NONE && pure = Ast0.Impure
18778 then (!Data.add_iterator_name name; [])
18779 else raise (Semantic_cocci.Semantic "bad iterator")) )
18780 # 18781 "parser_cocci_menhir.ml"
18781
18782 in
18783
18784 # 270 "parser_cocci_menhir.mly"
18785 ( P.create_metadec ar ispure kindfn ids )
18786 # 18787 "parser_cocci_menhir.ml"
18787 in
18788 _menhir_env.MenhirLib.EngineTypes.stack <- {
18789 MenhirLib.EngineTypes.state = _menhir_s;
18790 MenhirLib.EngineTypes.semv = Obj.repr _v;
18791 MenhirLib.EngineTypes.startp = _startpos;
18792 MenhirLib.EngineTypes.endp = _endpos;
18793 MenhirLib.EngineTypes.next = _menhir_stack;
18794 });
18795 (fun _menhir_env ->
18796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18797 let {
18798 MenhirLib.EngineTypes.startp = _startpos__4_;
18799 MenhirLib.EngineTypes.endp = _endpos__4_;
18800 MenhirLib.EngineTypes.next = {
18801 MenhirLib.EngineTypes.semv = ids;
18802 MenhirLib.EngineTypes.startp = _startpos_ids_;
18803 MenhirLib.EngineTypes.endp = _endpos_ids_;
18804 MenhirLib.EngineTypes.next = {
18805 MenhirLib.EngineTypes.startp = _startpos__2_;
18806 MenhirLib.EngineTypes.endp = _endpos__2_;
18807 MenhirLib.EngineTypes.next = {
18808 MenhirLib.EngineTypes.state = _menhir_s;
18809 MenhirLib.EngineTypes.startp = _startpos__1_;
18810 MenhirLib.EngineTypes.endp = _endpos__1_;
18811 MenhirLib.EngineTypes.next = _menhir_stack;
18812 };
18813 };
18814 };
18815 } = _menhir_stack in
18816 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
18817 let _startpos = _startpos__1_ in
18818 let _endpos = _endpos__4_ in
18819 let _v : 'tv_metadec = let kindfn =
18820
18821 # 321 "parser_cocci_menhir.mly"
18822 ( (fun name check_meta seed ->
18823 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
18824 !Data.add_fresh_id_meta name; tok) )
18825 # 18826 "parser_cocci_menhir.ml"
18826
18827 in
18828
18829 # 273 "parser_cocci_menhir.mly"
18830 ( P.create_fresh_metadec kindfn ids )
18831 # 18832 "parser_cocci_menhir.ml"
18832 in
18833 _menhir_env.MenhirLib.EngineTypes.stack <- {
18834 MenhirLib.EngineTypes.state = _menhir_s;
18835 MenhirLib.EngineTypes.semv = Obj.repr _v;
18836 MenhirLib.EngineTypes.startp = _startpos;
18837 MenhirLib.EngineTypes.endp = _endpos;
18838 MenhirLib.EngineTypes.next = _menhir_stack;
18839 });
18840 (fun _menhir_env ->
18841 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18842 let {
18843 MenhirLib.EngineTypes.startp = _startpos__5_;
18844 MenhirLib.EngineTypes.endp = _endpos__5_;
18845 MenhirLib.EngineTypes.next = {
18846 MenhirLib.EngineTypes.semv = ids;
18847 MenhirLib.EngineTypes.startp = _startpos_ids_;
18848 MenhirLib.EngineTypes.endp = _endpos_ids_;
18849 MenhirLib.EngineTypes.next = {
18850 MenhirLib.EngineTypes.startp = _startpos__3_;
18851 MenhirLib.EngineTypes.endp = _endpos__3_;
18852 MenhirLib.EngineTypes.next = {
18853 MenhirLib.EngineTypes.semv = ispure;
18854 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18855 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18856 MenhirLib.EngineTypes.next = {
18857 MenhirLib.EngineTypes.state = _menhir_s;
18858 MenhirLib.EngineTypes.semv = ar;
18859 MenhirLib.EngineTypes.startp = _startpos_ar_;
18860 MenhirLib.EngineTypes.endp = _endpos_ar_;
18861 MenhirLib.EngineTypes.next = _menhir_stack;
18862 };
18863 };
18864 };
18865 };
18866 } = _menhir_stack in
18867 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
18868 let ispure : 'tv_pure = Obj.magic ispure in
18869 let ar : 'tv_arity = Obj.magic ar in
18870 let _startpos = _startpos_ar_ in
18871 let _endpos = _endpos__5_ in
18872 let _v : 'tv_metadec = let kindfn =
18873
18874 # 372 "parser_cocci_menhir.mly"
18875 ( (fun arity name pure check_meta constraints ->
18876 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
18877 !Data.add_id_meta name constraints pure; tok) )
18878 # 18879 "parser_cocci_menhir.ml"
18879
18880 in
18881
18882 # 278 "parser_cocci_menhir.mly"
18883 ( P.create_metadec_with_constraints ar ispure kindfn ids )
18884 # 18885 "parser_cocci_menhir.ml"
18885 in
18886 _menhir_env.MenhirLib.EngineTypes.stack <- {
18887 MenhirLib.EngineTypes.state = _menhir_s;
18888 MenhirLib.EngineTypes.semv = Obj.repr _v;
18889 MenhirLib.EngineTypes.startp = _startpos;
18890 MenhirLib.EngineTypes.endp = _endpos;
18891 MenhirLib.EngineTypes.next = _menhir_stack;
18892 });
18893 (fun _menhir_env ->
18894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18895 let {
18896 MenhirLib.EngineTypes.startp = _startpos__5_;
18897 MenhirLib.EngineTypes.endp = _endpos__5_;
18898 MenhirLib.EngineTypes.next = {
18899 MenhirLib.EngineTypes.semv = ids;
18900 MenhirLib.EngineTypes.startp = _startpos_ids_;
18901 MenhirLib.EngineTypes.endp = _endpos_ids_;
18902 MenhirLib.EngineTypes.next = {
18903 MenhirLib.EngineTypes.startp = _startpos__3_;
18904 MenhirLib.EngineTypes.endp = _endpos__3_;
18905 MenhirLib.EngineTypes.next = {
18906 MenhirLib.EngineTypes.semv = ispure;
18907 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18908 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18909 MenhirLib.EngineTypes.next = {
18910 MenhirLib.EngineTypes.state = _menhir_s;
18911 MenhirLib.EngineTypes.semv = ar;
18912 MenhirLib.EngineTypes.startp = _startpos_ar_;
18913 MenhirLib.EngineTypes.endp = _endpos_ar_;
18914 MenhirLib.EngineTypes.next = _menhir_stack;
18915 };
18916 };
18917 };
18918 };
18919 } = _menhir_stack in
18920 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
18921 let ispure : 'tv_pure = Obj.magic ispure in
18922 let ar : 'tv_arity = Obj.magic ar in
18923 let _startpos = _startpos_ar_ in
18924 let _endpos = _endpos__5_ in
18925 let _v : 'tv_metadec = let kindfn =
18926
18927 # 376 "parser_cocci_menhir.mly"
18928 ( (fun arity name pure check_meta constraints ->
18929 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
18930 !Data.add_func_meta name constraints pure; tok) )
18931 # 18932 "parser_cocci_menhir.ml"
18932
18933 in
18934
18935 # 278 "parser_cocci_menhir.mly"
18936 ( P.create_metadec_with_constraints ar ispure kindfn ids )
18937 # 18938 "parser_cocci_menhir.ml"
18938 in
18939 _menhir_env.MenhirLib.EngineTypes.stack <- {
18940 MenhirLib.EngineTypes.state = _menhir_s;
18941 MenhirLib.EngineTypes.semv = Obj.repr _v;
18942 MenhirLib.EngineTypes.startp = _startpos;
18943 MenhirLib.EngineTypes.endp = _endpos;
18944 MenhirLib.EngineTypes.next = _menhir_stack;
18945 });
18946 (fun _menhir_env ->
18947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18948 let {
18949 MenhirLib.EngineTypes.startp = _startpos__6_;
18950 MenhirLib.EngineTypes.endp = _endpos__6_;
18951 MenhirLib.EngineTypes.next = {
18952 MenhirLib.EngineTypes.semv = ids;
18953 MenhirLib.EngineTypes.startp = _startpos_ids_;
18954 MenhirLib.EngineTypes.endp = _endpos_ids_;
18955 MenhirLib.EngineTypes.next = {
18956 MenhirLib.EngineTypes.startp = _startpos__4_;
18957 MenhirLib.EngineTypes.endp = _endpos__4_;
18958 MenhirLib.EngineTypes.next = {
18959 MenhirLib.EngineTypes.startp = _startpos__3_;
18960 MenhirLib.EngineTypes.endp = _endpos__3_;
18961 MenhirLib.EngineTypes.next = {
18962 MenhirLib.EngineTypes.semv = ispure;
18963 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18964 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18965 MenhirLib.EngineTypes.next = {
18966 MenhirLib.EngineTypes.state = _menhir_s;
18967 MenhirLib.EngineTypes.semv = ar;
18968 MenhirLib.EngineTypes.startp = _startpos_ar_;
18969 MenhirLib.EngineTypes.endp = _endpos_ar_;
18970 MenhirLib.EngineTypes.next = _menhir_stack;
18971 };
18972 };
18973 };
18974 };
18975 };
18976 } = _menhir_stack in
18977 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
18978 let ispure : 'tv_pure = Obj.magic ispure in
18979 let ar : 'tv_arity = Obj.magic ar in
18980 let _startpos = _startpos_ar_ in
18981 let _endpos = _endpos__6_ in
18982 let _v : 'tv_metadec = let kindfn =
18983
18984 # 380 "parser_cocci_menhir.mly"
18985 ( (fun arity name pure check_meta constraints ->
18986 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
18987 !Data.add_local_func_meta name constraints pure;
18988 tok) )
18989 # 18990 "parser_cocci_menhir.ml"
18990
18991 in
18992
18993 # 278 "parser_cocci_menhir.mly"
18994 ( P.create_metadec_with_constraints ar ispure kindfn ids )
18995 # 18996 "parser_cocci_menhir.ml"
18996 in
18997 _menhir_env.MenhirLib.EngineTypes.stack <- {
18998 MenhirLib.EngineTypes.state = _menhir_s;
18999 MenhirLib.EngineTypes.semv = Obj.repr _v;
19000 MenhirLib.EngineTypes.startp = _startpos;
19001 MenhirLib.EngineTypes.endp = _endpos;
19002 MenhirLib.EngineTypes.next = _menhir_stack;
19003 });
19004 (fun _menhir_env ->
19005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19006 let {
19007 MenhirLib.EngineTypes.startp = _startpos__5_;
19008 MenhirLib.EngineTypes.endp = _endpos__5_;
19009 MenhirLib.EngineTypes.next = {
19010 MenhirLib.EngineTypes.semv = ids;
19011 MenhirLib.EngineTypes.startp = _startpos_ids_;
19012 MenhirLib.EngineTypes.endp = _endpos_ids_;
19013 MenhirLib.EngineTypes.next = {
19014 MenhirLib.EngineTypes.startp = _startpos__3_;
19015 MenhirLib.EngineTypes.endp = _endpos__3_;
19016 MenhirLib.EngineTypes.next = {
19017 MenhirLib.EngineTypes.semv = ispure;
19018 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19019 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19020 MenhirLib.EngineTypes.next = {
19021 MenhirLib.EngineTypes.state = _menhir_s;
19022 MenhirLib.EngineTypes.semv = ar;
19023 MenhirLib.EngineTypes.startp = _startpos_ar_;
19024 MenhirLib.EngineTypes.endp = _endpos_ar_;
19025 MenhirLib.EngineTypes.next = _menhir_stack;
19026 };
19027 };
19028 };
19029 };
19030 } = _menhir_stack in
19031 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19032 let ispure : 'tv_pure = Obj.magic ispure in
19033 let ar : 'tv_arity = Obj.magic ar in
19034 let _startpos = _startpos_ar_ in
19035 let _endpos = _endpos__5_ in
19036 let _v : 'tv_metadec = let kindfn =
19037
19038 # 385 "parser_cocci_menhir.mly"
19039 ( (fun arity name pure check_meta constraints ->
19040 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
19041 !Data.add_declarer_meta name constraints pure; tok) )
19042 # 19043 "parser_cocci_menhir.ml"
19043
19044 in
19045
19046 # 278 "parser_cocci_menhir.mly"
19047 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19048 # 19049 "parser_cocci_menhir.ml"
19049 in
19050 _menhir_env.MenhirLib.EngineTypes.stack <- {
19051 MenhirLib.EngineTypes.state = _menhir_s;
19052 MenhirLib.EngineTypes.semv = Obj.repr _v;
19053 MenhirLib.EngineTypes.startp = _startpos;
19054 MenhirLib.EngineTypes.endp = _endpos;
19055 MenhirLib.EngineTypes.next = _menhir_stack;
19056 });
19057 (fun _menhir_env ->
19058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19059 let {
19060 MenhirLib.EngineTypes.startp = _startpos__5_;
19061 MenhirLib.EngineTypes.endp = _endpos__5_;
19062 MenhirLib.EngineTypes.next = {
19063 MenhirLib.EngineTypes.semv = ids;
19064 MenhirLib.EngineTypes.startp = _startpos_ids_;
19065 MenhirLib.EngineTypes.endp = _endpos_ids_;
19066 MenhirLib.EngineTypes.next = {
19067 MenhirLib.EngineTypes.startp = _startpos__3_;
19068 MenhirLib.EngineTypes.endp = _endpos__3_;
19069 MenhirLib.EngineTypes.next = {
19070 MenhirLib.EngineTypes.semv = ispure;
19071 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19072 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19073 MenhirLib.EngineTypes.next = {
19074 MenhirLib.EngineTypes.state = _menhir_s;
19075 MenhirLib.EngineTypes.semv = ar;
19076 MenhirLib.EngineTypes.startp = _startpos_ar_;
19077 MenhirLib.EngineTypes.endp = _endpos_ar_;
19078 MenhirLib.EngineTypes.next = _menhir_stack;
19079 };
19080 };
19081 };
19082 };
19083 } = _menhir_stack in
19084 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19085 let ispure : 'tv_pure = Obj.magic ispure in
19086 let ar : 'tv_arity = Obj.magic ar in
19087 let _startpos = _startpos_ar_ in
19088 let _endpos = _endpos__5_ in
19089 let _v : 'tv_metadec = let kindfn =
19090
19091 # 389 "parser_cocci_menhir.mly"
19092 ( (fun arity name pure check_meta constraints ->
19093 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
19094 !Data.add_iterator_meta name constraints pure; tok) )
19095 # 19096 "parser_cocci_menhir.ml"
19096
19097 in
19098
19099 # 278 "parser_cocci_menhir.mly"
19100 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19101 # 19102 "parser_cocci_menhir.ml"
19102 in
19103 _menhir_env.MenhirLib.EngineTypes.stack <- {
19104 MenhirLib.EngineTypes.state = _menhir_s;
19105 MenhirLib.EngineTypes.semv = Obj.repr _v;
19106 MenhirLib.EngineTypes.startp = _startpos;
19107 MenhirLib.EngineTypes.endp = _endpos;
19108 MenhirLib.EngineTypes.next = _menhir_stack;
19109 });
19110 (fun _menhir_env ->
19111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19112 let {
19113 MenhirLib.EngineTypes.startp = _startpos__5_;
19114 MenhirLib.EngineTypes.endp = _endpos__5_;
19115 MenhirLib.EngineTypes.next = {
19116 MenhirLib.EngineTypes.semv = ids;
19117 MenhirLib.EngineTypes.startp = _startpos_ids_;
19118 MenhirLib.EngineTypes.endp = _endpos_ids_;
19119 MenhirLib.EngineTypes.next = {
19120 MenhirLib.EngineTypes.startp = _startpos__3_;
19121 MenhirLib.EngineTypes.endp = _endpos__3_;
19122 MenhirLib.EngineTypes.next = {
19123 MenhirLib.EngineTypes.semv = ispure;
19124 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19125 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19126 MenhirLib.EngineTypes.next = {
19127 MenhirLib.EngineTypes.state = _menhir_s;
19128 MenhirLib.EngineTypes.semv = ar;
19129 MenhirLib.EngineTypes.startp = _startpos_ar_;
19130 MenhirLib.EngineTypes.endp = _endpos_ar_;
19131 MenhirLib.EngineTypes.next = _menhir_stack;
19132 };
19133 };
19134 };
19135 };
19136 } = _menhir_stack in
19137 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19138 let ispure : 'tv_pure = Obj.magic ispure in
19139 let ar : 'tv_arity = Obj.magic ar in
19140 let _startpos = _startpos_ar_ in
19141 let _endpos = _endpos__5_ in
19142 let _v : 'tv_metadec = let kindfn =
19143
19144 # 395 "parser_cocci_menhir.mly"
19145 ( (fun arity name pure check_meta constraints ->
19146 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
19147 !Data.add_err_meta name constraints pure; tok) )
19148 # 19149 "parser_cocci_menhir.ml"
19149
19150 in
19151
19152 # 283 "parser_cocci_menhir.mly"
19153 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19154 # 19155 "parser_cocci_menhir.ml"
19155 in
19156 _menhir_env.MenhirLib.EngineTypes.stack <- {
19157 MenhirLib.EngineTypes.state = _menhir_s;
19158 MenhirLib.EngineTypes.semv = Obj.repr _v;
19159 MenhirLib.EngineTypes.startp = _startpos;
19160 MenhirLib.EngineTypes.endp = _endpos;
19161 MenhirLib.EngineTypes.next = _menhir_stack;
19162 });
19163 (fun _menhir_env ->
19164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19165 let {
19166 MenhirLib.EngineTypes.startp = _startpos__6_;
19167 MenhirLib.EngineTypes.endp = _endpos__6_;
19168 MenhirLib.EngineTypes.next = {
19169 MenhirLib.EngineTypes.semv = ids;
19170 MenhirLib.EngineTypes.startp = _startpos_ids_;
19171 MenhirLib.EngineTypes.endp = _endpos_ids_;
19172 MenhirLib.EngineTypes.next = {
19173 MenhirLib.EngineTypes.startp = _startpos__4_;
19174 MenhirLib.EngineTypes.endp = _endpos__4_;
19175 MenhirLib.EngineTypes.next = {
19176 MenhirLib.EngineTypes.semv = l0;
19177 MenhirLib.EngineTypes.startp = _startpos_l0_;
19178 MenhirLib.EngineTypes.endp = _endpos_l0_;
19179 MenhirLib.EngineTypes.next = {
19180 MenhirLib.EngineTypes.semv = ispure;
19181 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19182 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19183 MenhirLib.EngineTypes.next = {
19184 MenhirLib.EngineTypes.state = _menhir_s;
19185 MenhirLib.EngineTypes.semv = ar;
19186 MenhirLib.EngineTypes.startp = _startpos_ar_;
19187 MenhirLib.EngineTypes.endp = _endpos_ar_;
19188 MenhirLib.EngineTypes.next = _menhir_stack;
19189 };
19190 };
19191 };
19192 };
19193 };
19194 } = _menhir_stack in
19195 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19196 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19197 let ispure : 'tv_pure = Obj.magic ispure in
19198 let ar : 'tv_arity = Obj.magic ar in
19199 let _startpos = _startpos_ar_ in
19200 let _endpos = _endpos__6_ in
19201 let _v : 'tv_metadec = let kindfn =
19202 let l = l0 in
19203 let ty =
19204
19205 # 39 "standard.mly"
19206 ( None )
19207 # 19208 "parser_cocci_menhir.ml"
19208
19209 in
19210
19211 # 399 "parser_cocci_menhir.mly"
19212 ( (fun arity name pure check_meta constraints ->
19213 match l with
19214 None ->
19215 !Data.add_idexp_meta ty name constraints pure;
19216 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19217 | Some _ ->
19218 !Data.add_local_idexp_meta ty name constraints pure;
19219 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19220 # 19221 "parser_cocci_menhir.ml"
19221
19222 in
19223
19224 # 283 "parser_cocci_menhir.mly"
19225 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19226 # 19227 "parser_cocci_menhir.ml"
19227 in
19228 _menhir_env.MenhirLib.EngineTypes.stack <- {
19229 MenhirLib.EngineTypes.state = _menhir_s;
19230 MenhirLib.EngineTypes.semv = Obj.repr _v;
19231 MenhirLib.EngineTypes.startp = _startpos;
19232 MenhirLib.EngineTypes.endp = _endpos;
19233 MenhirLib.EngineTypes.next = _menhir_stack;
19234 });
19235 (fun _menhir_env ->
19236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19237 let {
19238 MenhirLib.EngineTypes.startp = _startpos__7_;
19239 MenhirLib.EngineTypes.endp = _endpos__7_;
19240 MenhirLib.EngineTypes.next = {
19241 MenhirLib.EngineTypes.semv = ids;
19242 MenhirLib.EngineTypes.startp = _startpos_ids_;
19243 MenhirLib.EngineTypes.endp = _endpos_ids_;
19244 MenhirLib.EngineTypes.next = {
19245 MenhirLib.EngineTypes.semv = x00;
19246 MenhirLib.EngineTypes.startp = _startpos_x00_;
19247 MenhirLib.EngineTypes.endp = _endpos_x00_;
19248 MenhirLib.EngineTypes.next = {
19249 MenhirLib.EngineTypes.startp = _startpos__4_;
19250 MenhirLib.EngineTypes.endp = _endpos__4_;
19251 MenhirLib.EngineTypes.next = {
19252 MenhirLib.EngineTypes.semv = l0;
19253 MenhirLib.EngineTypes.startp = _startpos_l0_;
19254 MenhirLib.EngineTypes.endp = _endpos_l0_;
19255 MenhirLib.EngineTypes.next = {
19256 MenhirLib.EngineTypes.semv = ispure;
19257 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19258 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19259 MenhirLib.EngineTypes.next = {
19260 MenhirLib.EngineTypes.state = _menhir_s;
19261 MenhirLib.EngineTypes.semv = ar;
19262 MenhirLib.EngineTypes.startp = _startpos_ar_;
19263 MenhirLib.EngineTypes.endp = _endpos_ar_;
19264 MenhirLib.EngineTypes.next = _menhir_stack;
19265 };
19266 };
19267 };
19268 };
19269 };
19270 };
19271 } = _menhir_stack in
19272 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19273 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19274 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19275 let ispure : 'tv_pure = Obj.magic ispure in
19276 let ar : 'tv_arity = Obj.magic ar in
19277 let _startpos = _startpos_ar_ in
19278 let _endpos = _endpos__7_ in
19279 let _v : 'tv_metadec = let kindfn =
19280 let x0 = x00 in
19281 let l = l0 in
19282 let ty =
19283 let x = x0 in
19284
19285 # 41 "standard.mly"
19286 ( Some x )
19287 # 19288 "parser_cocci_menhir.ml"
19288
19289 in
19290
19291 # 399 "parser_cocci_menhir.mly"
19292 ( (fun arity name pure check_meta constraints ->
19293 match l with
19294 None ->
19295 !Data.add_idexp_meta ty name constraints pure;
19296 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19297 | Some _ ->
19298 !Data.add_local_idexp_meta ty name constraints pure;
19299 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19300 # 19301 "parser_cocci_menhir.ml"
19301
19302 in
19303
19304 # 283 "parser_cocci_menhir.mly"
19305 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19306 # 19307 "parser_cocci_menhir.ml"
19307 in
19308 _menhir_env.MenhirLib.EngineTypes.stack <- {
19309 MenhirLib.EngineTypes.state = _menhir_s;
19310 MenhirLib.EngineTypes.semv = Obj.repr _v;
19311 MenhirLib.EngineTypes.startp = _startpos;
19312 MenhirLib.EngineTypes.endp = _endpos;
19313 MenhirLib.EngineTypes.next = _menhir_stack;
19314 });
19315 (fun _menhir_env ->
19316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19317 let {
19318 MenhirLib.EngineTypes.startp = _startpos__7_;
19319 MenhirLib.EngineTypes.endp = _endpos__7_;
19320 MenhirLib.EngineTypes.next = {
19321 MenhirLib.EngineTypes.semv = ids;
19322 MenhirLib.EngineTypes.startp = _startpos_ids_;
19323 MenhirLib.EngineTypes.endp = _endpos_ids_;
19324 MenhirLib.EngineTypes.next = {
19325 MenhirLib.EngineTypes.semv = m0;
19326 MenhirLib.EngineTypes.startp = _startpos_m0_;
19327 MenhirLib.EngineTypes.endp = _endpos_m0_;
19328 MenhirLib.EngineTypes.next = {
19329 MenhirLib.EngineTypes.startp = _startpos__4_;
19330 MenhirLib.EngineTypes.endp = _endpos__4_;
19331 MenhirLib.EngineTypes.next = {
19332 MenhirLib.EngineTypes.semv = l0;
19333 MenhirLib.EngineTypes.startp = _startpos_l0_;
19334 MenhirLib.EngineTypes.endp = _endpos_l0_;
19335 MenhirLib.EngineTypes.next = {
19336 MenhirLib.EngineTypes.semv = ispure;
19337 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19338 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19339 MenhirLib.EngineTypes.next = {
19340 MenhirLib.EngineTypes.state = _menhir_s;
19341 MenhirLib.EngineTypes.semv = ar;
19342 MenhirLib.EngineTypes.startp = _startpos_ar_;
19343 MenhirLib.EngineTypes.endp = _endpos_ar_;
19344 MenhirLib.EngineTypes.next = _menhir_stack;
19345 };
19346 };
19347 };
19348 };
19349 };
19350 };
19351 } = _menhir_stack in
19352 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19353 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19354 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19355 let ispure : 'tv_pure = Obj.magic ispure in
19356 let ar : 'tv_arity = Obj.magic ar in
19357 let _startpos = _startpos_ar_ in
19358 let _endpos = _endpos__7_ in
19359 let _v : 'tv_metadec = let kindfn =
19360 let m = m0 in
19361 let l = l0 in
19362
19363 # 408 "parser_cocci_menhir.mly"
19364 ( (fun arity name pure check_meta constraints ->
19365 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19366 match l with
19367 None ->
19368 !Data.add_idexp_meta ty name constraints pure;
19369 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19370 | Some _ ->
19371 !Data.add_local_idexp_meta ty name constraints pure;
19372 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19373 # 19374 "parser_cocci_menhir.ml"
19374
19375 in
19376
19377 # 283 "parser_cocci_menhir.mly"
19378 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19379 # 19380 "parser_cocci_menhir.ml"
19380 in
19381 _menhir_env.MenhirLib.EngineTypes.stack <- {
19382 MenhirLib.EngineTypes.state = _menhir_s;
19383 MenhirLib.EngineTypes.semv = Obj.repr _v;
19384 MenhirLib.EngineTypes.startp = _startpos;
19385 MenhirLib.EngineTypes.endp = _endpos;
19386 MenhirLib.EngineTypes.next = _menhir_stack;
19387 });
19388 (fun _menhir_env ->
19389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19390 let {
19391 MenhirLib.EngineTypes.startp = _startpos__6_;
19392 MenhirLib.EngineTypes.endp = _endpos__6_;
19393 MenhirLib.EngineTypes.next = {
19394 MenhirLib.EngineTypes.semv = ids;
19395 MenhirLib.EngineTypes.startp = _startpos_ids_;
19396 MenhirLib.EngineTypes.endp = _endpos_ids_;
19397 MenhirLib.EngineTypes.next = {
19398 MenhirLib.EngineTypes.semv = m0;
19399 MenhirLib.EngineTypes.startp = _startpos_m0_;
19400 MenhirLib.EngineTypes.endp = _endpos_m0_;
19401 MenhirLib.EngineTypes.next = {
19402 MenhirLib.EngineTypes.startp = _startpos__3_;
19403 MenhirLib.EngineTypes.endp = _endpos__3_;
19404 MenhirLib.EngineTypes.next = {
19405 MenhirLib.EngineTypes.semv = ispure;
19406 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19407 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19408 MenhirLib.EngineTypes.next = {
19409 MenhirLib.EngineTypes.state = _menhir_s;
19410 MenhirLib.EngineTypes.semv = ar;
19411 MenhirLib.EngineTypes.startp = _startpos_ar_;
19412 MenhirLib.EngineTypes.endp = _endpos_ar_;
19413 MenhirLib.EngineTypes.next = _menhir_stack;
19414 };
19415 };
19416 };
19417 };
19418 };
19419 } = _menhir_stack in
19420 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19421 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19422 let ispure : 'tv_pure = Obj.magic ispure in
19423 let ar : 'tv_arity = Obj.magic ar in
19424 let _startpos = _startpos_ar_ in
19425 let _endpos = _endpos__6_ in
19426 let _v : 'tv_metadec = let kindfn =
19427 let m = m0 in
19428
19429 # 418 "parser_cocci_menhir.mly"
19430 ( (fun arity name pure check_meta constraints ->
19431 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19432 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19433 !Data.add_exp_meta ty name constraints pure; tok) )
19434 # 19435 "parser_cocci_menhir.ml"
19435
19436 in
19437
19438 # 283 "parser_cocci_menhir.mly"
19439 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19440 # 19441 "parser_cocci_menhir.ml"
19441 in
19442 _menhir_env.MenhirLib.EngineTypes.stack <- {
19443 MenhirLib.EngineTypes.state = _menhir_s;
19444 MenhirLib.EngineTypes.semv = Obj.repr _v;
19445 MenhirLib.EngineTypes.startp = _startpos;
19446 MenhirLib.EngineTypes.endp = _endpos;
19447 MenhirLib.EngineTypes.next = _menhir_stack;
19448 });
19449 (fun _menhir_env ->
19450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19451 let {
19452 MenhirLib.EngineTypes.startp = _startpos__7_;
19453 MenhirLib.EngineTypes.endp = _endpos__7_;
19454 MenhirLib.EngineTypes.next = {
19455 MenhirLib.EngineTypes.semv = ids;
19456 MenhirLib.EngineTypes.startp = _startpos_ids_;
19457 MenhirLib.EngineTypes.endp = _endpos_ids_;
19458 MenhirLib.EngineTypes.next = {
19459 MenhirLib.EngineTypes.startp = _startpos__5_;
19460 MenhirLib.EngineTypes.endp = _endpos__5_;
19461 MenhirLib.EngineTypes.next = {
19462 MenhirLib.EngineTypes.startp = _startpos__4_;
19463 MenhirLib.EngineTypes.endp = _endpos__4_;
19464 MenhirLib.EngineTypes.next = {
19465 MenhirLib.EngineTypes.semv = vl0;
19466 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19467 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19468 MenhirLib.EngineTypes.next = {
19469 MenhirLib.EngineTypes.semv = ispure;
19470 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19471 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19472 MenhirLib.EngineTypes.next = {
19473 MenhirLib.EngineTypes.state = _menhir_s;
19474 MenhirLib.EngineTypes.semv = ar;
19475 MenhirLib.EngineTypes.startp = _startpos_ar_;
19476 MenhirLib.EngineTypes.endp = _endpos_ar_;
19477 MenhirLib.EngineTypes.next = _menhir_stack;
19478 };
19479 };
19480 };
19481 };
19482 };
19483 };
19484 } = _menhir_stack in
19485 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19486 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19487 let ispure : 'tv_pure = Obj.magic ispure in
19488 let ar : 'tv_arity = Obj.magic ar in
19489 let _startpos = _startpos_ar_ in
19490 let _endpos = _endpos__7_ in
19491 let _v : 'tv_metadec = let kindfn =
19492 let vl = vl0 in
19493
19494 # 423 "parser_cocci_menhir.mly"
19495 ( (fun arity name pure check_meta constraints ->
19496 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
19497 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19498 !Data.add_exp_meta ty name constraints pure; tok) )
19499 # 19500 "parser_cocci_menhir.ml"
19500
19501 in
19502
19503 # 283 "parser_cocci_menhir.mly"
19504 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19505 # 19506 "parser_cocci_menhir.ml"
19506 in
19507 _menhir_env.MenhirLib.EngineTypes.stack <- {
19508 MenhirLib.EngineTypes.state = _menhir_s;
19509 MenhirLib.EngineTypes.semv = Obj.repr _v;
19510 MenhirLib.EngineTypes.startp = _startpos;
19511 MenhirLib.EngineTypes.endp = _endpos;
19512 MenhirLib.EngineTypes.next = _menhir_stack;
19513 });
19514 (fun _menhir_env ->
19515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19516 let {
19517 MenhirLib.EngineTypes.startp = _startpos__5_;
19518 MenhirLib.EngineTypes.endp = _endpos__5_;
19519 MenhirLib.EngineTypes.next = {
19520 MenhirLib.EngineTypes.semv = ids;
19521 MenhirLib.EngineTypes.startp = _startpos_ids_;
19522 MenhirLib.EngineTypes.endp = _endpos_ids_;
19523 MenhirLib.EngineTypes.next = {
19524 MenhirLib.EngineTypes.startp = _startpos__3_;
19525 MenhirLib.EngineTypes.endp = _endpos__3_;
19526 MenhirLib.EngineTypes.next = {
19527 MenhirLib.EngineTypes.semv = ispure;
19528 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19529 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19530 MenhirLib.EngineTypes.next = {
19531 MenhirLib.EngineTypes.state = _menhir_s;
19532 MenhirLib.EngineTypes.semv = ar;
19533 MenhirLib.EngineTypes.startp = _startpos_ar_;
19534 MenhirLib.EngineTypes.endp = _endpos_ar_;
19535 MenhirLib.EngineTypes.next = _menhir_stack;
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__ = Obj.magic ids in
19542 let ispure : 'tv_pure = Obj.magic ispure in
19543 let ar : 'tv_arity = Obj.magic ar in
19544 let _startpos = _startpos_ar_ in
19545 let _endpos = _endpos__5_ in
19546 let _v : 'tv_metadec = let kindfn =
19547 let ty =
19548
19549 # 39 "standard.mly"
19550 ( None )
19551 # 19552 "parser_cocci_menhir.ml"
19552
19553 in
19554
19555 # 428 "parser_cocci_menhir.mly"
19556 ( (fun arity name pure check_meta constraints ->
19557 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19558 !Data.add_const_meta ty name constraints pure; tok) )
19559 # 19560 "parser_cocci_menhir.ml"
19560
19561 in
19562
19563 # 283 "parser_cocci_menhir.mly"
19564 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19565 # 19566 "parser_cocci_menhir.ml"
19566 in
19567 _menhir_env.MenhirLib.EngineTypes.stack <- {
19568 MenhirLib.EngineTypes.state = _menhir_s;
19569 MenhirLib.EngineTypes.semv = Obj.repr _v;
19570 MenhirLib.EngineTypes.startp = _startpos;
19571 MenhirLib.EngineTypes.endp = _endpos;
19572 MenhirLib.EngineTypes.next = _menhir_stack;
19573 });
19574 (fun _menhir_env ->
19575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19576 let {
19577 MenhirLib.EngineTypes.startp = _startpos__6_;
19578 MenhirLib.EngineTypes.endp = _endpos__6_;
19579 MenhirLib.EngineTypes.next = {
19580 MenhirLib.EngineTypes.semv = ids;
19581 MenhirLib.EngineTypes.startp = _startpos_ids_;
19582 MenhirLib.EngineTypes.endp = _endpos_ids_;
19583 MenhirLib.EngineTypes.next = {
19584 MenhirLib.EngineTypes.semv = x00;
19585 MenhirLib.EngineTypes.startp = _startpos_x00_;
19586 MenhirLib.EngineTypes.endp = _endpos_x00_;
19587 MenhirLib.EngineTypes.next = {
19588 MenhirLib.EngineTypes.startp = _startpos__3_;
19589 MenhirLib.EngineTypes.endp = _endpos__3_;
19590 MenhirLib.EngineTypes.next = {
19591 MenhirLib.EngineTypes.semv = ispure;
19592 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19593 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19594 MenhirLib.EngineTypes.next = {
19595 MenhirLib.EngineTypes.state = _menhir_s;
19596 MenhirLib.EngineTypes.semv = ar;
19597 MenhirLib.EngineTypes.startp = _startpos_ar_;
19598 MenhirLib.EngineTypes.endp = _endpos_ar_;
19599 MenhirLib.EngineTypes.next = _menhir_stack;
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__ = Obj.magic ids in
19607 let x00 : 'tv_meta_exp_type = Obj.magic x00 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__6_ in
19612 let _v : 'tv_metadec = let kindfn =
19613 let x0 = x00 in
19614 let ty =
19615 let x = x0 in
19616
19617 # 41 "standard.mly"
19618 ( Some x )
19619 # 19620 "parser_cocci_menhir.ml"
19620
19621 in
19622
19623 # 428 "parser_cocci_menhir.mly"
19624 ( (fun arity name pure check_meta constraints ->
19625 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19626 !Data.add_const_meta ty name constraints pure; tok) )
19627 # 19628 "parser_cocci_menhir.ml"
19628
19629 in
19630
19631 # 283 "parser_cocci_menhir.mly"
19632 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19633 # 19634 "parser_cocci_menhir.ml"
19634 in
19635 _menhir_env.MenhirLib.EngineTypes.stack <- {
19636 MenhirLib.EngineTypes.state = _menhir_s;
19637 MenhirLib.EngineTypes.semv = Obj.repr _v;
19638 MenhirLib.EngineTypes.startp = _startpos;
19639 MenhirLib.EngineTypes.endp = _endpos;
19640 MenhirLib.EngineTypes.next = _menhir_stack;
19641 });
19642 (fun _menhir_env ->
19643 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19644 let {
19645 MenhirLib.EngineTypes.startp = _startpos__5_;
19646 MenhirLib.EngineTypes.endp = _endpos__5_;
19647 MenhirLib.EngineTypes.next = {
19648 MenhirLib.EngineTypes.semv = ids;
19649 MenhirLib.EngineTypes.startp = _startpos_ids_;
19650 MenhirLib.EngineTypes.endp = _endpos_ids_;
19651 MenhirLib.EngineTypes.next = {
19652 MenhirLib.EngineTypes.startp = _startpos__3_;
19653 MenhirLib.EngineTypes.endp = _endpos__3_;
19654 MenhirLib.EngineTypes.next = {
19655 MenhirLib.EngineTypes.semv = ispure;
19656 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19657 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19658 MenhirLib.EngineTypes.next = {
19659 MenhirLib.EngineTypes.state = _menhir_s;
19660 MenhirLib.EngineTypes.semv = ar;
19661 MenhirLib.EngineTypes.startp = _startpos_ar_;
19662 MenhirLib.EngineTypes.endp = _endpos_ar_;
19663 MenhirLib.EngineTypes.next = _menhir_stack;
19664 };
19665 };
19666 };
19667 };
19668 } = _menhir_stack in
19669 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
19670 let ispure : 'tv_pure = Obj.magic ispure in
19671 let ar : 'tv_arity = Obj.magic ar in
19672 let _startpos = _startpos_ar_ in
19673 let _endpos = _endpos__5_ in
19674 let _v : 'tv_metadec = let kindfn =
19675
19676 # 434 "parser_cocci_menhir.mly"
19677 ( (fun arity name pure check_meta constraints ->
19678 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
19679 !Data.add_exp_meta None name (Ast0.NotExpCstrt constraints) pure; tok) )
19680 # 19681 "parser_cocci_menhir.ml"
19681
19682 in
19683
19684 # 287 "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__5_;
19699 MenhirLib.EngineTypes.endp = _endpos__5_;
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 = vl0;
19706 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19707 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19708 MenhirLib.EngineTypes.next = {
19709 MenhirLib.EngineTypes.semv = ispure;
19710 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19711 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19712 MenhirLib.EngineTypes.next = {
19713 MenhirLib.EngineTypes.state = _menhir_s;
19714 MenhirLib.EngineTypes.semv = ar;
19715 MenhirLib.EngineTypes.startp = _startpos_ar_;
19716 MenhirLib.EngineTypes.endp = _endpos_ar_;
19717 MenhirLib.EngineTypes.next = _menhir_stack;
19718 };
19719 };
19720 };
19721 };
19722 } = _menhir_stack in
19723 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
19724 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19725 let ispure : 'tv_pure = Obj.magic ispure in
19726 let ar : 'tv_arity = Obj.magic ar in
19727 let _startpos = _startpos_ar_ in
19728 let _endpos = _endpos__5_ in
19729 let _v : 'tv_metadec = let kindfn =
19730 let vl = vl0 in
19731
19732 # 438 "parser_cocci_menhir.mly"
19733 ( (fun arity name pure check_meta constraints ->
19734 let ty = Some vl in
19735 List.iter
19736 (function c ->
19737 match Ast0.unwrap c with
19738 Ast0.Constant(_) ->
19739 if not
19740 (List.exists
19741 (function
19742 Type_cocci.BaseType(Type_cocci.IntType) -> true
19743 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
19744 | Type_cocci.BaseType(Type_cocci.LongType) -> true
19745 | _ -> false)
19746 vl)
19747 then failwith "metavariable with int constraint must be an int"
19748 | _ -> ())
19749 constraints;
19750 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19751 !Data.add_exp_meta ty name (Ast0.NotExpCstrt constraints) pure; tok)
19752 )
19753 # 19754 "parser_cocci_menhir.ml"
19754
19755 in
19756
19757 # 287 "parser_cocci_menhir.mly"
19758 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19759 # 19760 "parser_cocci_menhir.ml"
19760 in
19761 _menhir_env.MenhirLib.EngineTypes.stack <- {
19762 MenhirLib.EngineTypes.state = _menhir_s;
19763 MenhirLib.EngineTypes.semv = Obj.repr _v;
19764 MenhirLib.EngineTypes.startp = _startpos;
19765 MenhirLib.EngineTypes.endp = _endpos;
19766 MenhirLib.EngineTypes.next = _menhir_stack;
19767 });
19768 (fun _menhir_env ->
19769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19770 let {
19771 MenhirLib.EngineTypes.startp = _startpos__5_;
19772 MenhirLib.EngineTypes.endp = _endpos__5_;
19773 MenhirLib.EngineTypes.next = {
19774 MenhirLib.EngineTypes.semv = ids;
19775 MenhirLib.EngineTypes.startp = _startpos_ids_;
19776 MenhirLib.EngineTypes.endp = _endpos_ids_;
19777 MenhirLib.EngineTypes.next = {
19778 MenhirLib.EngineTypes.semv = a;
19779 MenhirLib.EngineTypes.startp = _startpos_a_;
19780 MenhirLib.EngineTypes.endp = _endpos_a_;
19781 MenhirLib.EngineTypes.next = {
19782 MenhirLib.EngineTypes.startp = _startpos__2_;
19783 MenhirLib.EngineTypes.endp = _endpos__2_;
19784 MenhirLib.EngineTypes.next = {
19785 MenhirLib.EngineTypes.state = _menhir_s;
19786 MenhirLib.EngineTypes.semv = ar;
19787 MenhirLib.EngineTypes.startp = _startpos_ar_;
19788 MenhirLib.EngineTypes.endp = _endpos_ar_;
19789 MenhirLib.EngineTypes.next = _menhir_stack;
19790 };
19791 };
19792 };
19793 };
19794 } = _menhir_stack in
19795 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
19796 let a : 'tv_option_TPosAny_ = Obj.magic a in
19797 let ar : 'tv_arity = Obj.magic ar in
19798 let _startpos = _startpos_ar_ in
19799 let _endpos = _endpos__5_ in
19800 let _v : 'tv_metadec =
19801 # 293 "parser_cocci_menhir.mly"
19802 ( (if !Data.in_generating
19803 then failwith "position variables not allowed in a generated rule file");
19804 let kindfn arity name pure check_meta constraints =
19805 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
19806 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
19807 !Data.add_pos_meta name constraints any; tok in
19808 P.create_metadec_with_constraints ar false kindfn ids )
19809 # 19810 "parser_cocci_menhir.ml"
19810 in
19811 _menhir_env.MenhirLib.EngineTypes.stack <- {
19812 MenhirLib.EngineTypes.state = _menhir_s;
19813 MenhirLib.EngineTypes.semv = Obj.repr _v;
19814 MenhirLib.EngineTypes.startp = _startpos;
19815 MenhirLib.EngineTypes.endp = _endpos;
19816 MenhirLib.EngineTypes.next = _menhir_stack;
19817 });
19818 (fun _menhir_env ->
19819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19820 let {
19821 MenhirLib.EngineTypes.startp = _startpos__9_;
19822 MenhirLib.EngineTypes.endp = _endpos__9_;
19823 MenhirLib.EngineTypes.next = {
19824 MenhirLib.EngineTypes.semv = ids;
19825 MenhirLib.EngineTypes.startp = _startpos_ids_;
19826 MenhirLib.EngineTypes.endp = _endpos_ids_;
19827 MenhirLib.EngineTypes.next = {
19828 MenhirLib.EngineTypes.startp = _startpos__7_;
19829 MenhirLib.EngineTypes.endp = _endpos__7_;
19830 MenhirLib.EngineTypes.next = {
19831 MenhirLib.EngineTypes.semv = id;
19832 MenhirLib.EngineTypes.startp = _startpos_id_;
19833 MenhirLib.EngineTypes.endp = _endpos_id_;
19834 MenhirLib.EngineTypes.next = {
19835 MenhirLib.EngineTypes.startp = _startpos__5_;
19836 MenhirLib.EngineTypes.endp = _endpos__5_;
19837 MenhirLib.EngineTypes.next = {
19838 MenhirLib.EngineTypes.startp = _startpos__4_;
19839 MenhirLib.EngineTypes.endp = _endpos__4_;
19840 MenhirLib.EngineTypes.next = {
19841 MenhirLib.EngineTypes.startp = _startpos__3_;
19842 MenhirLib.EngineTypes.endp = _endpos__3_;
19843 MenhirLib.EngineTypes.next = {
19844 MenhirLib.EngineTypes.semv = ispure;
19845 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19846 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19847 MenhirLib.EngineTypes.next = {
19848 MenhirLib.EngineTypes.state = _menhir_s;
19849 MenhirLib.EngineTypes.semv = ar;
19850 MenhirLib.EngineTypes.startp = _startpos_ar_;
19851 MenhirLib.EngineTypes.endp = _endpos_ar_;
19852 MenhirLib.EngineTypes.next = _menhir_stack;
19853 };
19854 };
19855 };
19856 };
19857 };
19858 };
19859 };
19860 };
19861 } = _menhir_stack in
19862 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19863 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
19864 let ispure : 'tv_pure = Obj.magic ispure in
19865 let ar : 'tv_arity = Obj.magic ar in
19866 let _startpos = _startpos_ar_ in
19867 let _endpos = _endpos__9_ in
19868 let _v : 'tv_metadec =
19869 # 303 "parser_cocci_menhir.mly"
19870 ( P.create_len_metadec ar ispure
19871 (fun lenname arity name pure check_meta ->
19872 let tok =
19873 check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
19874 !Data.add_paramlist_meta name (Some lenname) pure; tok)
19875 id ids )
19876 # 19877 "parser_cocci_menhir.ml"
19877 in
19878 _menhir_env.MenhirLib.EngineTypes.stack <- {
19879 MenhirLib.EngineTypes.state = _menhir_s;
19880 MenhirLib.EngineTypes.semv = Obj.repr _v;
19881 MenhirLib.EngineTypes.startp = _startpos;
19882 MenhirLib.EngineTypes.endp = _endpos;
19883 MenhirLib.EngineTypes.next = _menhir_stack;
19884 });
19885 (fun _menhir_env ->
19886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19887 let {
19888 MenhirLib.EngineTypes.startp = _startpos__9_;
19889 MenhirLib.EngineTypes.endp = _endpos__9_;
19890 MenhirLib.EngineTypes.next = {
19891 MenhirLib.EngineTypes.semv = ids;
19892 MenhirLib.EngineTypes.startp = _startpos_ids_;
19893 MenhirLib.EngineTypes.endp = _endpos_ids_;
19894 MenhirLib.EngineTypes.next = {
19895 MenhirLib.EngineTypes.startp = _startpos__7_;
19896 MenhirLib.EngineTypes.endp = _endpos__7_;
19897 MenhirLib.EngineTypes.next = {
19898 MenhirLib.EngineTypes.semv = id;
19899 MenhirLib.EngineTypes.startp = _startpos_id_;
19900 MenhirLib.EngineTypes.endp = _endpos_id_;
19901 MenhirLib.EngineTypes.next = {
19902 MenhirLib.EngineTypes.startp = _startpos__5_;
19903 MenhirLib.EngineTypes.endp = _endpos__5_;
19904 MenhirLib.EngineTypes.next = {
19905 MenhirLib.EngineTypes.startp = _startpos__4_;
19906 MenhirLib.EngineTypes.endp = _endpos__4_;
19907 MenhirLib.EngineTypes.next = {
19908 MenhirLib.EngineTypes.startp = _startpos__3_;
19909 MenhirLib.EngineTypes.endp = _endpos__3_;
19910 MenhirLib.EngineTypes.next = {
19911 MenhirLib.EngineTypes.semv = ispure;
19912 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19913 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19914 MenhirLib.EngineTypes.next = {
19915 MenhirLib.EngineTypes.state = _menhir_s;
19916 MenhirLib.EngineTypes.semv = ar;
19917 MenhirLib.EngineTypes.startp = _startpos_ar_;
19918 MenhirLib.EngineTypes.endp = _endpos_ar_;
19919 MenhirLib.EngineTypes.next = _menhir_stack;
19920 };
19921 };
19922 };
19923 };
19924 };
19925 };
19926 };
19927 };
19928 } = _menhir_stack in
19929 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19930 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
19931 let ispure : 'tv_pure = Obj.magic ispure in
19932 let ar : 'tv_arity = Obj.magic ar in
19933 let _startpos = _startpos_ar_ in
19934 let _endpos = _endpos__9_ in
19935 let _v : 'tv_metadec =
19936 # 312 "parser_cocci_menhir.mly"
19937 ( P.create_len_metadec ar ispure
19938 (fun lenname arity name pure check_meta ->
19939 let tok =
19940 check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
19941 !Data.add_explist_meta name (Some lenname) pure; tok)
19942 id ids )
19943 # 19944 "parser_cocci_menhir.ml"
19944 in
19945 _menhir_env.MenhirLib.EngineTypes.stack <- {
19946 MenhirLib.EngineTypes.state = _menhir_s;
19947 MenhirLib.EngineTypes.semv = Obj.repr _v;
19948 MenhirLib.EngineTypes.startp = _startpos;
19949 MenhirLib.EngineTypes.endp = _endpos;
19950 MenhirLib.EngineTypes.next = _menhir_stack;
19951 });
19952 (fun _menhir_env ->
19953 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19954 let {
19955 MenhirLib.EngineTypes.semv = b;
19956 MenhirLib.EngineTypes.startp = _startpos_b_;
19957 MenhirLib.EngineTypes.endp = _endpos_b_;
19958 MenhirLib.EngineTypes.next = {
19959 MenhirLib.EngineTypes.state = _menhir_s;
19960 MenhirLib.EngineTypes.semv = a;
19961 MenhirLib.EngineTypes.startp = _startpos_a_;
19962 MenhirLib.EngineTypes.endp = _endpos_a_;
19963 MenhirLib.EngineTypes.next = _menhir_stack;
19964 };
19965 } = _menhir_stack in
19966 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
19967 let a : 'tv_ctype = Obj.magic a in
19968 let _startpos = _startpos_a_ in
19969 let _endpos = _endpos_b_ in
19970 let _v : 'tv_midzero_list_ctype_ctype_ =
19971 # 1881 "parser_cocci_menhir.mly"
19972 ( let (mids,code) = List.split b in (mids,(a::code)) )
19973 # 19974 "parser_cocci_menhir.ml"
19974 in
19975 _menhir_env.MenhirLib.EngineTypes.stack <- {
19976 MenhirLib.EngineTypes.state = _menhir_s;
19977 MenhirLib.EngineTypes.semv = Obj.repr _v;
19978 MenhirLib.EngineTypes.startp = _startpos;
19979 MenhirLib.EngineTypes.endp = _endpos;
19980 MenhirLib.EngineTypes.next = _menhir_stack;
19981 });
19982 (fun _menhir_env ->
19983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19984 let {
19985 MenhirLib.EngineTypes.semv = b;
19986 MenhirLib.EngineTypes.startp = _startpos_b_;
19987 MenhirLib.EngineTypes.endp = _endpos_b_;
19988 MenhirLib.EngineTypes.next = {
19989 MenhirLib.EngineTypes.state = _menhir_s;
19990 MenhirLib.EngineTypes.semv = a;
19991 MenhirLib.EngineTypes.startp = _startpos_a_;
19992 MenhirLib.EngineTypes.endp = _endpos_a_;
19993 MenhirLib.EngineTypes.next = _menhir_stack;
19994 };
19995 } = _menhir_stack in
19996 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
19997 let a : 'tv_eexpr = Obj.magic a in
19998 let _startpos = _startpos_a_ in
19999 let _endpos = _endpos_b_ in
20000 let _v : 'tv_midzero_list_eexpr_eexpr_ =
20001 # 1881 "parser_cocci_menhir.mly"
20002 ( let (mids,code) = List.split b in (mids,(a::code)) )
20003 # 20004 "parser_cocci_menhir.ml"
20004 in
20005 _menhir_env.MenhirLib.EngineTypes.stack <- {
20006 MenhirLib.EngineTypes.state = _menhir_s;
20007 MenhirLib.EngineTypes.semv = Obj.repr _v;
20008 MenhirLib.EngineTypes.startp = _startpos;
20009 MenhirLib.EngineTypes.endp = _endpos;
20010 MenhirLib.EngineTypes.next = _menhir_stack;
20011 });
20012 (fun _menhir_env ->
20013 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20014 let {
20015 MenhirLib.EngineTypes.semv = b;
20016 MenhirLib.EngineTypes.startp = _startpos_b_;
20017 MenhirLib.EngineTypes.endp = _endpos_b_;
20018 MenhirLib.EngineTypes.next = {
20019 MenhirLib.EngineTypes.state = _menhir_s;
20020 MenhirLib.EngineTypes.semv = a;
20021 MenhirLib.EngineTypes.startp = _startpos_a_;
20022 MenhirLib.EngineTypes.endp = _endpos_a_;
20023 MenhirLib.EngineTypes.next = _menhir_stack;
20024 };
20025 } = _menhir_stack in
20026 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20027 let a : 'tv_expr = Obj.magic a in
20028 let _startpos = _startpos_a_ in
20029 let _endpos = _endpos_b_ in
20030 let _v : 'tv_midzero_list_expr_eexpr_ =
20031 # 1881 "parser_cocci_menhir.mly"
20032 ( let (mids,code) = List.split b in (mids,(a::code)) )
20033 # 20034 "parser_cocci_menhir.ml"
20034 in
20035 _menhir_env.MenhirLib.EngineTypes.stack <- {
20036 MenhirLib.EngineTypes.state = _menhir_s;
20037 MenhirLib.EngineTypes.semv = Obj.repr _v;
20038 MenhirLib.EngineTypes.startp = _startpos;
20039 MenhirLib.EngineTypes.endp = _endpos;
20040 MenhirLib.EngineTypes.next = _menhir_stack;
20041 });
20042 (fun _menhir_env ->
20043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20044 let {
20045 MenhirLib.EngineTypes.semv = b;
20046 MenhirLib.EngineTypes.startp = _startpos_b_;
20047 MenhirLib.EngineTypes.endp = _endpos_b_;
20048 MenhirLib.EngineTypes.next = {
20049 MenhirLib.EngineTypes.state = _menhir_s;
20050 MenhirLib.EngineTypes.semv = a;
20051 MenhirLib.EngineTypes.startp = _startpos_a_;
20052 MenhirLib.EngineTypes.endp = _endpos_a_;
20053 MenhirLib.EngineTypes.next = _menhir_stack;
20054 };
20055 } = _menhir_stack in
20056 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
20057 let a : 'tv_fun_after_stm = Obj.magic a in
20058 let _startpos = _startpos_a_ in
20059 let _endpos = _endpos_b_ in
20060 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
20061 # 1881 "parser_cocci_menhir.mly"
20062 ( let (mids,code) = List.split b in (mids,(a::code)) )
20063 # 20064 "parser_cocci_menhir.ml"
20064 in
20065 _menhir_env.MenhirLib.EngineTypes.stack <- {
20066 MenhirLib.EngineTypes.state = _menhir_s;
20067 MenhirLib.EngineTypes.semv = Obj.repr _v;
20068 MenhirLib.EngineTypes.startp = _startpos;
20069 MenhirLib.EngineTypes.endp = _endpos;
20070 MenhirLib.EngineTypes.next = _menhir_stack;
20071 });
20072 (fun _menhir_env ->
20073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20074 let {
20075 MenhirLib.EngineTypes.semv = b;
20076 MenhirLib.EngineTypes.startp = _startpos_b_;
20077 MenhirLib.EngineTypes.endp = _endpos_b_;
20078 MenhirLib.EngineTypes.next = {
20079 MenhirLib.EngineTypes.state = _menhir_s;
20080 MenhirLib.EngineTypes.semv = a;
20081 MenhirLib.EngineTypes.startp = _startpos_a_;
20082 MenhirLib.EngineTypes.endp = _endpos_a_;
20083 MenhirLib.EngineTypes.next = _menhir_stack;
20084 };
20085 } = _menhir_stack in
20086 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
20087 let a : 'tv_fun_start = Obj.magic a in
20088 let _startpos = _startpos_a_ in
20089 let _endpos = _endpos_b_ in
20090 let _v : 'tv_midzero_list_fun_start_fun_start_ =
20091 # 1881 "parser_cocci_menhir.mly"
20092 ( let (mids,code) = List.split b in (mids,(a::code)) )
20093 # 20094 "parser_cocci_menhir.ml"
20094 in
20095 _menhir_env.MenhirLib.EngineTypes.stack <- {
20096 MenhirLib.EngineTypes.state = _menhir_s;
20097 MenhirLib.EngineTypes.semv = Obj.repr _v;
20098 MenhirLib.EngineTypes.startp = _startpos;
20099 MenhirLib.EngineTypes.endp = _endpos;
20100 MenhirLib.EngineTypes.next = _menhir_stack;
20101 });
20102 (fun _menhir_env ->
20103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20104 let {
20105 MenhirLib.EngineTypes.semv = b;
20106 MenhirLib.EngineTypes.startp = _startpos_b_;
20107 MenhirLib.EngineTypes.endp = _endpos_b_;
20108 MenhirLib.EngineTypes.next = {
20109 MenhirLib.EngineTypes.state = _menhir_s;
20110 MenhirLib.EngineTypes.semv = a;
20111 MenhirLib.EngineTypes.startp = _startpos_a_;
20112 MenhirLib.EngineTypes.endp = _endpos_a_;
20113 MenhirLib.EngineTypes.next = _menhir_stack;
20114 };
20115 } = _menhir_stack in
20116 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
20117 let a : 'tv_rule_elem_statement = Obj.magic a in
20118 let _startpos = _startpos_a_ in
20119 let _endpos = _endpos_b_ in
20120 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
20121 # 1881 "parser_cocci_menhir.mly"
20122 ( let (mids,code) = List.split b in (mids,(a::code)) )
20123 # 20124 "parser_cocci_menhir.ml"
20124 in
20125 _menhir_env.MenhirLib.EngineTypes.stack <- {
20126 MenhirLib.EngineTypes.state = _menhir_s;
20127 MenhirLib.EngineTypes.semv = Obj.repr _v;
20128 MenhirLib.EngineTypes.startp = _startpos;
20129 MenhirLib.EngineTypes.endp = _endpos;
20130 MenhirLib.EngineTypes.next = _menhir_stack;
20131 });
20132 (fun _menhir_env ->
20133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20134 let {
20135 MenhirLib.EngineTypes.semv = b;
20136 MenhirLib.EngineTypes.startp = _startpos_b_;
20137 MenhirLib.EngineTypes.endp = _endpos_b_;
20138 MenhirLib.EngineTypes.next = {
20139 MenhirLib.EngineTypes.state = _menhir_s;
20140 MenhirLib.EngineTypes.semv = a;
20141 MenhirLib.EngineTypes.startp = _startpos_a_;
20142 MenhirLib.EngineTypes.endp = _endpos_a_;
20143 MenhirLib.EngineTypes.next = _menhir_stack;
20144 };
20145 } = _menhir_stack in
20146 let b : 'tv_list_mzl_statement__ = Obj.magic b in
20147 let a : 'tv_statement = Obj.magic a in
20148 let _startpos = _startpos_a_ in
20149 let _endpos = _endpos_b_ in
20150 let _v : 'tv_midzero_list_statement_statement_ =
20151 # 1881 "parser_cocci_menhir.mly"
20152 ( let (mids,code) = List.split b in (mids,(a::code)) )
20153 # 20154 "parser_cocci_menhir.ml"
20154 in
20155 _menhir_env.MenhirLib.EngineTypes.stack <- {
20156 MenhirLib.EngineTypes.state = _menhir_s;
20157 MenhirLib.EngineTypes.semv = Obj.repr _v;
20158 MenhirLib.EngineTypes.startp = _startpos;
20159 MenhirLib.EngineTypes.endp = _endpos;
20160 MenhirLib.EngineTypes.next = _menhir_stack;
20161 });
20162 (fun _menhir_env ->
20163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20164 let {
20165 MenhirLib.EngineTypes.semv = b;
20166 MenhirLib.EngineTypes.startp = _startpos_b_;
20167 MenhirLib.EngineTypes.endp = _endpos_b_;
20168 MenhirLib.EngineTypes.next = {
20169 MenhirLib.EngineTypes.state = _menhir_s;
20170 MenhirLib.EngineTypes.semv = f;
20171 MenhirLib.EngineTypes.startp = _startpos_f_;
20172 MenhirLib.EngineTypes.endp = _endpos_f_;
20173 MenhirLib.EngineTypes.next = _menhir_stack;
20174 };
20175 } = _menhir_stack in
20176 let b : 'tv_loption_minus_start_ = Obj.magic b in
20177 let f : 'tv_loption_filespec_ = Obj.magic f in
20178 let _startpos = _startpos_f_ in
20179 let _endpos = _endpos_b_ in
20180 let _v : 'tv_minus_body =
20181 # 606 "parser_cocci_menhir.mly"
20182 ( match f@b(*@ew*) with
20183 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20184 | code -> Top_level.top_level code )
20185 # 20186 "parser_cocci_menhir.ml"
20186 in
20187 _menhir_env.MenhirLib.EngineTypes.stack <- {
20188 MenhirLib.EngineTypes.state = _menhir_s;
20189 MenhirLib.EngineTypes.semv = Obj.repr _v;
20190 MenhirLib.EngineTypes.startp = _startpos;
20191 MenhirLib.EngineTypes.endp = _endpos;
20192 MenhirLib.EngineTypes.next = _menhir_stack;
20193 });
20194 (fun _menhir_env ->
20195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20196 let {
20197 MenhirLib.EngineTypes.semv = b;
20198 MenhirLib.EngineTypes.startp = _startpos_b_;
20199 MenhirLib.EngineTypes.endp = _endpos_b_;
20200 MenhirLib.EngineTypes.next = {
20201 MenhirLib.EngineTypes.state = _menhir_s;
20202 MenhirLib.EngineTypes.semv = f;
20203 MenhirLib.EngineTypes.startp = _startpos_f_;
20204 MenhirLib.EngineTypes.endp = _endpos_f_;
20205 MenhirLib.EngineTypes.next = _menhir_stack;
20206 };
20207 } = _menhir_stack in
20208 let b : 'tv_top_eexpr = Obj.magic b in
20209 let f : 'tv_loption_filespec_ = Obj.magic f in
20210 let _startpos = _startpos_f_ in
20211 let _endpos = _endpos_b_ in
20212 let _v : 'tv_minus_exp_body =
20213 # 620 "parser_cocci_menhir.mly"
20214 ( match f@[b](*@ew*) with
20215 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20216 | code -> Top_level.top_level code )
20217 # 20218 "parser_cocci_menhir.ml"
20218 in
20219 _menhir_env.MenhirLib.EngineTypes.stack <- {
20220 MenhirLib.EngineTypes.state = _menhir_s;
20221 MenhirLib.EngineTypes.semv = Obj.repr _v;
20222 MenhirLib.EngineTypes.startp = _startpos;
20223 MenhirLib.EngineTypes.endp = _endpos;
20224 MenhirLib.EngineTypes.next = _menhir_stack;
20225 });
20226 (fun _menhir_env ->
20227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20228 let {
20229 MenhirLib.EngineTypes.startp = _startpos__2_;
20230 MenhirLib.EngineTypes.endp = _endpos__2_;
20231 MenhirLib.EngineTypes.next = {
20232 MenhirLib.EngineTypes.state = _menhir_s;
20233 MenhirLib.EngineTypes.semv = _1;
20234 MenhirLib.EngineTypes.startp = _startpos__1_;
20235 MenhirLib.EngineTypes.endp = _endpos__1_;
20236 MenhirLib.EngineTypes.next = _menhir_stack;
20237 };
20238 } = _menhir_stack in
20239 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
20240 let _startpos = _startpos__1_ in
20241 let _endpos = _endpos__2_ in
20242 let _v : (
20243 # 137 "parser_cocci_menhir.mly"
20244 (Ast0_cocci.rule)
20245 # 20246 "parser_cocci_menhir.ml"
20246 ) =
20247 # 177 "parser_cocci_menhir.mly"
20248 ( _1 )
20249 # 20250 "parser_cocci_menhir.ml"
20250 in
20251 _menhir_env.MenhirLib.EngineTypes.stack <- {
20252 MenhirLib.EngineTypes.state = _menhir_s;
20253 MenhirLib.EngineTypes.semv = Obj.repr _v;
20254 MenhirLib.EngineTypes.startp = _startpos;
20255 MenhirLib.EngineTypes.endp = _endpos;
20256 MenhirLib.EngineTypes.next = _menhir_stack;
20257 });
20258 (fun _menhir_env ->
20259 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20260 let {
20261 MenhirLib.EngineTypes.startp = _startpos__2_;
20262 MenhirLib.EngineTypes.endp = _endpos__2_;
20263 MenhirLib.EngineTypes.next = {
20264 MenhirLib.EngineTypes.state = _menhir_s;
20265 MenhirLib.EngineTypes.semv = m;
20266 MenhirLib.EngineTypes.startp = _startpos_m_;
20267 MenhirLib.EngineTypes.endp = _endpos_m_;
20268 MenhirLib.EngineTypes.next = _menhir_stack;
20269 };
20270 } = _menhir_stack in
20271 let m : 'tv_minus_exp_body = Obj.magic m in
20272 let _startpos = _startpos_m_ in
20273 let _endpos = _endpos__2_ in
20274 let _v : (
20275 # 137 "parser_cocci_menhir.mly"
20276 (Ast0_cocci.rule)
20277 # 20278 "parser_cocci_menhir.ml"
20278 ) =
20279 # 177 "parser_cocci_menhir.mly"
20280 ( m )
20281 # 20282 "parser_cocci_menhir.ml"
20282 in
20283 _menhir_env.MenhirLib.EngineTypes.stack <- {
20284 MenhirLib.EngineTypes.state = _menhir_s;
20285 MenhirLib.EngineTypes.semv = Obj.repr _v;
20286 MenhirLib.EngineTypes.startp = _startpos;
20287 MenhirLib.EngineTypes.endp = _endpos;
20288 MenhirLib.EngineTypes.next = _menhir_stack;
20289 });
20290 (fun _menhir_env ->
20291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20292 let {
20293 MenhirLib.EngineTypes.startp = _startpos__2_;
20294 MenhirLib.EngineTypes.endp = _endpos__2_;
20295 MenhirLib.EngineTypes.next = {
20296 MenhirLib.EngineTypes.state = _menhir_s;
20297 MenhirLib.EngineTypes.semv = m;
20298 MenhirLib.EngineTypes.startp = _startpos_m_;
20299 MenhirLib.EngineTypes.endp = _endpos_m_;
20300 MenhirLib.EngineTypes.next = _menhir_stack;
20301 };
20302 } = _menhir_stack in
20303 let m : 'tv_minus_exp_body = Obj.magic m in
20304 let _startpos = _startpos_m_ in
20305 let _endpos = _endpos__2_ in
20306 let _v : (
20307 # 137 "parser_cocci_menhir.mly"
20308 (Ast0_cocci.rule)
20309 # 20310 "parser_cocci_menhir.ml"
20310 ) =
20311 # 178 "parser_cocci_menhir.mly"
20312 ( m )
20313 # 20314 "parser_cocci_menhir.ml"
20314 in
20315 _menhir_env.MenhirLib.EngineTypes.stack <- {
20316 MenhirLib.EngineTypes.state = _menhir_s;
20317 MenhirLib.EngineTypes.semv = Obj.repr _v;
20318 MenhirLib.EngineTypes.startp = _startpos;
20319 MenhirLib.EngineTypes.endp = _endpos;
20320 MenhirLib.EngineTypes.next = _menhir_stack;
20321 });
20322 (fun _menhir_env ->
20323 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20324 let {
20325 MenhirLib.EngineTypes.startp = _startpos__2_;
20326 MenhirLib.EngineTypes.endp = _endpos__2_;
20327 MenhirLib.EngineTypes.next = {
20328 MenhirLib.EngineTypes.state = _menhir_s;
20329 MenhirLib.EngineTypes.semv = _1;
20330 MenhirLib.EngineTypes.startp = _startpos__1_;
20331 MenhirLib.EngineTypes.endp = _endpos__1_;
20332 MenhirLib.EngineTypes.next = _menhir_stack;
20333 };
20334 } = _menhir_stack in
20335 let _1 : 'tv_minus_body = Obj.magic _1 in
20336 let _startpos = _startpos__1_ in
20337 let _endpos = _endpos__2_ in
20338 let _v : (
20339 # 134 "parser_cocci_menhir.mly"
20340 (Ast0_cocci.rule)
20341 # 20342 "parser_cocci_menhir.ml"
20342 ) =
20343 # 173 "parser_cocci_menhir.mly"
20344 ( _1 )
20345 # 20346 "parser_cocci_menhir.ml"
20346 in
20347 _menhir_env.MenhirLib.EngineTypes.stack <- {
20348 MenhirLib.EngineTypes.state = _menhir_s;
20349 MenhirLib.EngineTypes.semv = Obj.repr _v;
20350 MenhirLib.EngineTypes.startp = _startpos;
20351 MenhirLib.EngineTypes.endp = _endpos;
20352 MenhirLib.EngineTypes.next = _menhir_stack;
20353 });
20354 (fun _menhir_env ->
20355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20356 let {
20357 MenhirLib.EngineTypes.startp = _startpos__2_;
20358 MenhirLib.EngineTypes.endp = _endpos__2_;
20359 MenhirLib.EngineTypes.next = {
20360 MenhirLib.EngineTypes.state = _menhir_s;
20361 MenhirLib.EngineTypes.semv = m;
20362 MenhirLib.EngineTypes.startp = _startpos_m_;
20363 MenhirLib.EngineTypes.endp = _endpos_m_;
20364 MenhirLib.EngineTypes.next = _menhir_stack;
20365 };
20366 } = _menhir_stack in
20367 let m : 'tv_minus_body = Obj.magic m in
20368 let _startpos = _startpos_m_ in
20369 let _endpos = _endpos__2_ in
20370 let _v : (
20371 # 134 "parser_cocci_menhir.mly"
20372 (Ast0_cocci.rule)
20373 # 20374 "parser_cocci_menhir.ml"
20374 ) =
20375 # 173 "parser_cocci_menhir.mly"
20376 ( m )
20377 # 20378 "parser_cocci_menhir.ml"
20378 in
20379 _menhir_env.MenhirLib.EngineTypes.stack <- {
20380 MenhirLib.EngineTypes.state = _menhir_s;
20381 MenhirLib.EngineTypes.semv = Obj.repr _v;
20382 MenhirLib.EngineTypes.startp = _startpos;
20383 MenhirLib.EngineTypes.endp = _endpos;
20384 MenhirLib.EngineTypes.next = _menhir_stack;
20385 });
20386 (fun _menhir_env ->
20387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20388 let {
20389 MenhirLib.EngineTypes.startp = _startpos__2_;
20390 MenhirLib.EngineTypes.endp = _endpos__2_;
20391 MenhirLib.EngineTypes.next = {
20392 MenhirLib.EngineTypes.state = _menhir_s;
20393 MenhirLib.EngineTypes.semv = m;
20394 MenhirLib.EngineTypes.startp = _startpos_m_;
20395 MenhirLib.EngineTypes.endp = _endpos_m_;
20396 MenhirLib.EngineTypes.next = _menhir_stack;
20397 };
20398 } = _menhir_stack in
20399 let m : 'tv_minus_body = Obj.magic m in
20400 let _startpos = _startpos_m_ in
20401 let _endpos = _endpos__2_ in
20402 let _v : (
20403 # 134 "parser_cocci_menhir.mly"
20404 (Ast0_cocci.rule)
20405 # 20406 "parser_cocci_menhir.ml"
20406 ) =
20407 # 174 "parser_cocci_menhir.mly"
20408 ( m )
20409 # 20410 "parser_cocci_menhir.ml"
20410 in
20411 _menhir_env.MenhirLib.EngineTypes.stack <- {
20412 MenhirLib.EngineTypes.state = _menhir_s;
20413 MenhirLib.EngineTypes.semv = Obj.repr _v;
20414 MenhirLib.EngineTypes.startp = _startpos;
20415 MenhirLib.EngineTypes.endp = _endpos;
20416 MenhirLib.EngineTypes.next = _menhir_stack;
20417 });
20418 (fun _menhir_env ->
20419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20420 let {
20421 MenhirLib.EngineTypes.state = _menhir_s;
20422 MenhirLib.EngineTypes.semv = _1;
20423 MenhirLib.EngineTypes.startp = _startpos__1_;
20424 MenhirLib.EngineTypes.endp = _endpos__1_;
20425 MenhirLib.EngineTypes.next = _menhir_stack;
20426 } = _menhir_stack in
20427 let _1 : 'tv_fundecl = Obj.magic _1 in
20428 let _startpos = _startpos__1_ in
20429 let _endpos = _endpos__1_ in
20430 let _v : 'tv_minus_start =
20431 # 1690 "parser_cocci_menhir.mly"
20432 ( [Ast0.wrap(Ast0.DECL(_1))] )
20433 # 20434 "parser_cocci_menhir.ml"
20434 in
20435 _menhir_env.MenhirLib.EngineTypes.stack <- {
20436 MenhirLib.EngineTypes.state = _menhir_s;
20437 MenhirLib.EngineTypes.semv = Obj.repr _v;
20438 MenhirLib.EngineTypes.startp = _startpos;
20439 MenhirLib.EngineTypes.endp = _endpos;
20440 MenhirLib.EngineTypes.next = _menhir_stack;
20441 });
20442 (fun _menhir_env ->
20443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20444 let {
20445 MenhirLib.EngineTypes.state = _menhir_s;
20446 MenhirLib.EngineTypes.semv = _1;
20447 MenhirLib.EngineTypes.startp = _startpos__1_;
20448 MenhirLib.EngineTypes.endp = _endpos__1_;
20449 MenhirLib.EngineTypes.next = _menhir_stack;
20450 } = _menhir_stack in
20451 let _1 : 'tv_ctype = Obj.magic _1 in
20452 let _startpos = _startpos__1_ in
20453 let _endpos = _endpos__1_ in
20454 let _v : 'tv_minus_start =
20455 # 1691 "parser_cocci_menhir.mly"
20456 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
20457 # 20458 "parser_cocci_menhir.ml"
20458 in
20459 _menhir_env.MenhirLib.EngineTypes.stack <- {
20460 MenhirLib.EngineTypes.state = _menhir_s;
20461 MenhirLib.EngineTypes.semv = Obj.repr _v;
20462 MenhirLib.EngineTypes.startp = _startpos;
20463 MenhirLib.EngineTypes.endp = _endpos;
20464 MenhirLib.EngineTypes.next = _menhir_stack;
20465 });
20466 (fun _menhir_env ->
20467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20468 let {
20469 MenhirLib.EngineTypes.state = _menhir_s;
20470 MenhirLib.EngineTypes.semv = _1;
20471 MenhirLib.EngineTypes.startp = _startpos__1_;
20472 MenhirLib.EngineTypes.endp = _endpos__1_;
20473 MenhirLib.EngineTypes.next = _menhir_stack;
20474 } = _menhir_stack in
20475 let _1 : 'tv_top_init = Obj.magic _1 in
20476 let _startpos = _startpos__1_ in
20477 let _endpos = _endpos__1_ in
20478 let _v : 'tv_minus_start =
20479 # 1692 "parser_cocci_menhir.mly"
20480 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
20481 # 20482 "parser_cocci_menhir.ml"
20482 in
20483 _menhir_env.MenhirLib.EngineTypes.stack <- {
20484 MenhirLib.EngineTypes.state = _menhir_s;
20485 MenhirLib.EngineTypes.semv = Obj.repr _v;
20486 MenhirLib.EngineTypes.startp = _startpos;
20487 MenhirLib.EngineTypes.endp = _endpos;
20488 MenhirLib.EngineTypes.next = _menhir_stack;
20489 });
20490 (fun _menhir_env ->
20491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20492 let {
20493 MenhirLib.EngineTypes.state = _menhir_s;
20494 MenhirLib.EngineTypes.semv = _1;
20495 MenhirLib.EngineTypes.startp = _startpos__1_;
20496 MenhirLib.EngineTypes.endp = _endpos__1_;
20497 MenhirLib.EngineTypes.next = _menhir_stack;
20498 } = _menhir_stack in
20499 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
20500 let _startpos = _startpos__1_ in
20501 let _endpos = _endpos__1_ in
20502 let _v : 'tv_minus_start =
20503 # 1694 "parser_cocci_menhir.mly"
20504 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
20505 # 20506 "parser_cocci_menhir.ml"
20506 in
20507 _menhir_env.MenhirLib.EngineTypes.stack <- {
20508 MenhirLib.EngineTypes.state = _menhir_s;
20509 MenhirLib.EngineTypes.semv = Obj.repr _v;
20510 MenhirLib.EngineTypes.startp = _startpos;
20511 MenhirLib.EngineTypes.endp = _endpos;
20512 MenhirLib.EngineTypes.next = _menhir_stack;
20513 });
20514 (fun _menhir_env ->
20515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20516 let {
20517 MenhirLib.EngineTypes.semv = b;
20518 MenhirLib.EngineTypes.startp = _startpos_b_;
20519 MenhirLib.EngineTypes.endp = _endpos_b_;
20520 MenhirLib.EngineTypes.next = {
20521 MenhirLib.EngineTypes.state = _menhir_s;
20522 MenhirLib.EngineTypes.semv = a;
20523 MenhirLib.EngineTypes.startp = _startpos_a_;
20524 MenhirLib.EngineTypes.endp = _endpos_a_;
20525 MenhirLib.EngineTypes.next = _menhir_stack;
20526 };
20527 } = _menhir_stack in
20528 let b : 'tv_ctype = Obj.magic b in
20529 let a : (
20530 # 77 "parser_cocci_menhir.mly"
20531 (Data.clt)
20532 # 20533 "parser_cocci_menhir.ml"
20533 ) = Obj.magic a in
20534 let _startpos = _startpos_a_ in
20535 let _endpos = _endpos_b_ in
20536 let _v : 'tv_mzl_ctype_ =
20537 # 1884 "parser_cocci_menhir.mly"
20538 ( (P.clt2mcode "|" a, b) )
20539 # 20540 "parser_cocci_menhir.ml"
20540 in
20541 _menhir_env.MenhirLib.EngineTypes.stack <- {
20542 MenhirLib.EngineTypes.state = _menhir_s;
20543 MenhirLib.EngineTypes.semv = Obj.repr _v;
20544 MenhirLib.EngineTypes.startp = _startpos;
20545 MenhirLib.EngineTypes.endp = _endpos;
20546 MenhirLib.EngineTypes.next = _menhir_stack;
20547 });
20548 (fun _menhir_env ->
20549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20550 let {
20551 MenhirLib.EngineTypes.semv = b;
20552 MenhirLib.EngineTypes.startp = _startpos_b_;
20553 MenhirLib.EngineTypes.endp = _endpos_b_;
20554 MenhirLib.EngineTypes.next = {
20555 MenhirLib.EngineTypes.state = _menhir_s;
20556 MenhirLib.EngineTypes.semv = a;
20557 MenhirLib.EngineTypes.startp = _startpos_a_;
20558 MenhirLib.EngineTypes.endp = _endpos_a_;
20559 MenhirLib.EngineTypes.next = _menhir_stack;
20560 };
20561 } = _menhir_stack in
20562 let b : 'tv_eexpr = Obj.magic b in
20563 let a : (
20564 # 77 "parser_cocci_menhir.mly"
20565 (Data.clt)
20566 # 20567 "parser_cocci_menhir.ml"
20567 ) = Obj.magic a in
20568 let _startpos = _startpos_a_ in
20569 let _endpos = _endpos_b_ in
20570 let _v : 'tv_mzl_eexpr_ =
20571 # 1884 "parser_cocci_menhir.mly"
20572 ( (P.clt2mcode "|" a, b) )
20573 # 20574 "parser_cocci_menhir.ml"
20574 in
20575 _menhir_env.MenhirLib.EngineTypes.stack <- {
20576 MenhirLib.EngineTypes.state = _menhir_s;
20577 MenhirLib.EngineTypes.semv = Obj.repr _v;
20578 MenhirLib.EngineTypes.startp = _startpos;
20579 MenhirLib.EngineTypes.endp = _endpos;
20580 MenhirLib.EngineTypes.next = _menhir_stack;
20581 });
20582 (fun _menhir_env ->
20583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20584 let {
20585 MenhirLib.EngineTypes.semv = b;
20586 MenhirLib.EngineTypes.startp = _startpos_b_;
20587 MenhirLib.EngineTypes.endp = _endpos_b_;
20588 MenhirLib.EngineTypes.next = {
20589 MenhirLib.EngineTypes.state = _menhir_s;
20590 MenhirLib.EngineTypes.semv = a;
20591 MenhirLib.EngineTypes.startp = _startpos_a_;
20592 MenhirLib.EngineTypes.endp = _endpos_a_;
20593 MenhirLib.EngineTypes.next = _menhir_stack;
20594 };
20595 } = _menhir_stack in
20596 let b : 'tv_fun_after_dots_or = Obj.magic b in
20597 let a : (
20598 # 77 "parser_cocci_menhir.mly"
20599 (Data.clt)
20600 # 20601 "parser_cocci_menhir.ml"
20601 ) = Obj.magic a in
20602 let _startpos = _startpos_a_ in
20603 let _endpos = _endpos_b_ in
20604 let _v : 'tv_mzl_fun_after_dots_or_ =
20605 # 1884 "parser_cocci_menhir.mly"
20606 ( (P.clt2mcode "|" a, b) )
20607 # 20608 "parser_cocci_menhir.ml"
20608 in
20609 _menhir_env.MenhirLib.EngineTypes.stack <- {
20610 MenhirLib.EngineTypes.state = _menhir_s;
20611 MenhirLib.EngineTypes.semv = Obj.repr _v;
20612 MenhirLib.EngineTypes.startp = _startpos;
20613 MenhirLib.EngineTypes.endp = _endpos;
20614 MenhirLib.EngineTypes.next = _menhir_stack;
20615 });
20616 (fun _menhir_env ->
20617 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20618 let {
20619 MenhirLib.EngineTypes.semv = b;
20620 MenhirLib.EngineTypes.startp = _startpos_b_;
20621 MenhirLib.EngineTypes.endp = _endpos_b_;
20622 MenhirLib.EngineTypes.next = {
20623 MenhirLib.EngineTypes.state = _menhir_s;
20624 MenhirLib.EngineTypes.semv = a;
20625 MenhirLib.EngineTypes.startp = _startpos_a_;
20626 MenhirLib.EngineTypes.endp = _endpos_a_;
20627 MenhirLib.EngineTypes.next = _menhir_stack;
20628 };
20629 } = _menhir_stack in
20630 let b : 'tv_fun_start = Obj.magic b in
20631 let a : (
20632 # 77 "parser_cocci_menhir.mly"
20633 (Data.clt)
20634 # 20635 "parser_cocci_menhir.ml"
20635 ) = Obj.magic a in
20636 let _startpos = _startpos_a_ in
20637 let _endpos = _endpos_b_ in
20638 let _v : 'tv_mzl_fun_start_ =
20639 # 1884 "parser_cocci_menhir.mly"
20640 ( (P.clt2mcode "|" a, b) )
20641 # 20642 "parser_cocci_menhir.ml"
20642 in
20643 _menhir_env.MenhirLib.EngineTypes.stack <- {
20644 MenhirLib.EngineTypes.state = _menhir_s;
20645 MenhirLib.EngineTypes.semv = Obj.repr _v;
20646 MenhirLib.EngineTypes.startp = _startpos;
20647 MenhirLib.EngineTypes.endp = _endpos;
20648 MenhirLib.EngineTypes.next = _menhir_stack;
20649 });
20650 (fun _menhir_env ->
20651 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20652 let {
20653 MenhirLib.EngineTypes.semv = b;
20654 MenhirLib.EngineTypes.startp = _startpos_b_;
20655 MenhirLib.EngineTypes.endp = _endpos_b_;
20656 MenhirLib.EngineTypes.next = {
20657 MenhirLib.EngineTypes.state = _menhir_s;
20658 MenhirLib.EngineTypes.semv = a;
20659 MenhirLib.EngineTypes.startp = _startpos_a_;
20660 MenhirLib.EngineTypes.endp = _endpos_a_;
20661 MenhirLib.EngineTypes.next = _menhir_stack;
20662 };
20663 } = _menhir_stack in
20664 let b : 'tv_rule_elem_statement = Obj.magic b in
20665 let a : (
20666 # 77 "parser_cocci_menhir.mly"
20667 (Data.clt)
20668 # 20669 "parser_cocci_menhir.ml"
20669 ) = Obj.magic a in
20670 let _startpos = _startpos_a_ in
20671 let _endpos = _endpos_b_ in
20672 let _v : 'tv_mzl_rule_elem_statement_ =
20673 # 1884 "parser_cocci_menhir.mly"
20674 ( (P.clt2mcode "|" a, b) )
20675 # 20676 "parser_cocci_menhir.ml"
20676 in
20677 _menhir_env.MenhirLib.EngineTypes.stack <- {
20678 MenhirLib.EngineTypes.state = _menhir_s;
20679 MenhirLib.EngineTypes.semv = Obj.repr _v;
20680 MenhirLib.EngineTypes.startp = _startpos;
20681 MenhirLib.EngineTypes.endp = _endpos;
20682 MenhirLib.EngineTypes.next = _menhir_stack;
20683 });
20684 (fun _menhir_env ->
20685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20686 let {
20687 MenhirLib.EngineTypes.semv = b;
20688 MenhirLib.EngineTypes.startp = _startpos_b_;
20689 MenhirLib.EngineTypes.endp = _endpos_b_;
20690 MenhirLib.EngineTypes.next = {
20691 MenhirLib.EngineTypes.state = _menhir_s;
20692 MenhirLib.EngineTypes.semv = a;
20693 MenhirLib.EngineTypes.startp = _startpos_a_;
20694 MenhirLib.EngineTypes.endp = _endpos_a_;
20695 MenhirLib.EngineTypes.next = _menhir_stack;
20696 };
20697 } = _menhir_stack in
20698 let b : 'tv_statement = Obj.magic b in
20699 let a : (
20700 # 77 "parser_cocci_menhir.mly"
20701 (Data.clt)
20702 # 20703 "parser_cocci_menhir.ml"
20703 ) = Obj.magic a in
20704 let _startpos = _startpos_a_ in
20705 let _endpos = _endpos_b_ in
20706 let _v : 'tv_mzl_statement_ =
20707 # 1884 "parser_cocci_menhir.mly"
20708 ( (P.clt2mcode "|" a, b) )
20709 # 20710 "parser_cocci_menhir.ml"
20710 in
20711 _menhir_env.MenhirLib.EngineTypes.stack <- {
20712 MenhirLib.EngineTypes.state = _menhir_s;
20713 MenhirLib.EngineTypes.semv = Obj.repr _v;
20714 MenhirLib.EngineTypes.startp = _startpos;
20715 MenhirLib.EngineTypes.endp = _endpos;
20716 MenhirLib.EngineTypes.next = _menhir_stack;
20717 });
20718 (fun _menhir_env ->
20719 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20720 let {
20721 MenhirLib.EngineTypes.state = _menhir_s;
20722 MenhirLib.EngineTypes.semv = _1;
20723 MenhirLib.EngineTypes.startp = _startpos__1_;
20724 MenhirLib.EngineTypes.endp = _endpos__1_;
20725 MenhirLib.EngineTypes.next = _menhir_stack;
20726 } = _menhir_stack in
20727 let _1 : 'tv_decl = Obj.magic _1 in
20728 let _startpos = _startpos__1_ in
20729 let _endpos = _endpos__1_ in
20730 let _v : 'tv_name_opt_decl =
20731 # 829 "parser_cocci_menhir.mly"
20732 ( _1 )
20733 # 20734 "parser_cocci_menhir.ml"
20734 in
20735 _menhir_env.MenhirLib.EngineTypes.stack <- {
20736 MenhirLib.EngineTypes.state = _menhir_s;
20737 MenhirLib.EngineTypes.semv = Obj.repr _v;
20738 MenhirLib.EngineTypes.startp = _startpos;
20739 MenhirLib.EngineTypes.endp = _endpos;
20740 MenhirLib.EngineTypes.next = _menhir_stack;
20741 });
20742 (fun _menhir_env ->
20743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20744 let {
20745 MenhirLib.EngineTypes.semv = rp1;
20746 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20747 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20748 MenhirLib.EngineTypes.next = {
20749 MenhirLib.EngineTypes.semv = d;
20750 MenhirLib.EngineTypes.startp = _startpos_d_;
20751 MenhirLib.EngineTypes.endp = _endpos_d_;
20752 MenhirLib.EngineTypes.next = {
20753 MenhirLib.EngineTypes.semv = lp1;
20754 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20755 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20756 MenhirLib.EngineTypes.next = {
20757 MenhirLib.EngineTypes.semv = rp;
20758 MenhirLib.EngineTypes.startp = _startpos_rp_;
20759 MenhirLib.EngineTypes.endp = _endpos_rp_;
20760 MenhirLib.EngineTypes.next = {
20761 MenhirLib.EngineTypes.semv = s;
20762 MenhirLib.EngineTypes.startp = _startpos_s_;
20763 MenhirLib.EngineTypes.endp = _endpos_s_;
20764 MenhirLib.EngineTypes.next = {
20765 MenhirLib.EngineTypes.semv = lp;
20766 MenhirLib.EngineTypes.startp = _startpos_lp_;
20767 MenhirLib.EngineTypes.endp = _endpos_lp_;
20768 MenhirLib.EngineTypes.next = {
20769 MenhirLib.EngineTypes.state = _menhir_s;
20770 MenhirLib.EngineTypes.semv = t;
20771 MenhirLib.EngineTypes.startp = _startpos_t_;
20772 MenhirLib.EngineTypes.endp = _endpos_t_;
20773 MenhirLib.EngineTypes.next = _menhir_stack;
20774 };
20775 };
20776 };
20777 };
20778 };
20779 };
20780 } = _menhir_stack in
20781 let rp1 : (
20782 # 77 "parser_cocci_menhir.mly"
20783 (Data.clt)
20784 # 20785 "parser_cocci_menhir.ml"
20785 ) = Obj.magic rp1 in
20786 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
20787 let lp1 : (
20788 # 76 "parser_cocci_menhir.mly"
20789 (Data.clt)
20790 # 20791 "parser_cocci_menhir.ml"
20791 ) = Obj.magic lp1 in
20792 let rp : (
20793 # 77 "parser_cocci_menhir.mly"
20794 (Data.clt)
20795 # 20796 "parser_cocci_menhir.ml"
20796 ) = Obj.magic rp in
20797 let s : (
20798 # 99 "parser_cocci_menhir.mly"
20799 (Data.clt)
20800 # 20801 "parser_cocci_menhir.ml"
20801 ) = Obj.magic s in
20802 let lp : (
20803 # 76 "parser_cocci_menhir.mly"
20804 (Data.clt)
20805 # 20806 "parser_cocci_menhir.ml"
20806 ) = Obj.magic lp in
20807 let t : 'tv_ctype = Obj.magic t in
20808 let _startpos = _startpos_t_ in
20809 let _endpos = _endpos_rp1_ in
20810 let _v : 'tv_name_opt_decl =
20811 # 832 "parser_cocci_menhir.mly"
20812 ( let fnptr =
20813 Ast0.wrap
20814 (Ast0.FunctionPointer
20815 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
20816 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
20817 Ast0.wrap(Ast0.Param(fnptr, None)) )
20818 # 20819 "parser_cocci_menhir.ml"
20819 in
20820 _menhir_env.MenhirLib.EngineTypes.stack <- {
20821 MenhirLib.EngineTypes.state = _menhir_s;
20822 MenhirLib.EngineTypes.semv = Obj.repr _v;
20823 MenhirLib.EngineTypes.startp = _startpos;
20824 MenhirLib.EngineTypes.endp = _endpos;
20825 MenhirLib.EngineTypes.next = _menhir_stack;
20826 });
20827 (fun _menhir_env ->
20828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20829 let {
20830 MenhirLib.EngineTypes.semv = _2;
20831 MenhirLib.EngineTypes.startp = _startpos__2_;
20832 MenhirLib.EngineTypes.endp = _endpos__2_;
20833 MenhirLib.EngineTypes.next = {
20834 MenhirLib.EngineTypes.state = _menhir_s;
20835 MenhirLib.EngineTypes.semv = _1;
20836 MenhirLib.EngineTypes.startp = _startpos__1_;
20837 MenhirLib.EngineTypes.endp = _endpos__1_;
20838 MenhirLib.EngineTypes.next = _menhir_stack;
20839 };
20840 } = _menhir_stack in
20841 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
20842 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
20843 let _startpos = _startpos__1_ in
20844 let _endpos = _endpos__2_ in
20845 let _v : 'tv_nest_after_dots =
20846 # 1805 "parser_cocci_menhir.mly"
20847 (_1@_2)
20848 # 20849 "parser_cocci_menhir.ml"
20849 in
20850 _menhir_env.MenhirLib.EngineTypes.stack <- {
20851 MenhirLib.EngineTypes.state = _menhir_s;
20852 MenhirLib.EngineTypes.semv = Obj.repr _v;
20853 MenhirLib.EngineTypes.startp = _startpos;
20854 MenhirLib.EngineTypes.endp = _endpos;
20855 MenhirLib.EngineTypes.next = _menhir_stack;
20856 });
20857 (fun _menhir_env ->
20858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20859 let {
20860 MenhirLib.EngineTypes.semv = _2;
20861 MenhirLib.EngineTypes.startp = _startpos__2_;
20862 MenhirLib.EngineTypes.endp = _endpos__2_;
20863 MenhirLib.EngineTypes.next = {
20864 MenhirLib.EngineTypes.state = _menhir_s;
20865 MenhirLib.EngineTypes.startp = _startpos__1_;
20866 MenhirLib.EngineTypes.endp = _endpos__1_;
20867 MenhirLib.EngineTypes.next = _menhir_stack;
20868 };
20869 } = _menhir_stack in
20870 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
20871 let _startpos = _startpos__1_ in
20872 let _endpos = _endpos__2_ in
20873 let _v : 'tv_nest_after_dots =
20874 # 1806 "parser_cocci_menhir.mly"
20875 (_2)
20876 # 20877 "parser_cocci_menhir.ml"
20877 in
20878 _menhir_env.MenhirLib.EngineTypes.stack <- {
20879 MenhirLib.EngineTypes.state = _menhir_s;
20880 MenhirLib.EngineTypes.semv = Obj.repr _v;
20881 MenhirLib.EngineTypes.startp = _startpos;
20882 MenhirLib.EngineTypes.endp = _endpos;
20883 MenhirLib.EngineTypes.next = _menhir_stack;
20884 });
20885 (fun _menhir_env ->
20886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20887 let {
20888 MenhirLib.EngineTypes.semv = _2;
20889 MenhirLib.EngineTypes.startp = _startpos__2_;
20890 MenhirLib.EngineTypes.endp = _endpos__2_;
20891 MenhirLib.EngineTypes.next = {
20892 MenhirLib.EngineTypes.state = _menhir_s;
20893 MenhirLib.EngineTypes.semv = _1;
20894 MenhirLib.EngineTypes.startp = _startpos__1_;
20895 MenhirLib.EngineTypes.endp = _endpos__1_;
20896 MenhirLib.EngineTypes.next = _menhir_stack;
20897 };
20898 } = _menhir_stack in
20899 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
20900 let _1 : 'tv_expr = Obj.magic _1 in
20901 let _startpos = _startpos__1_ in
20902 let _endpos = _endpos__2_ in
20903 let _v : 'tv_nest_after_dots =
20904 # 1807 "parser_cocci_menhir.mly"
20905 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
20906 # 20907 "parser_cocci_menhir.ml"
20907 in
20908 _menhir_env.MenhirLib.EngineTypes.stack <- {
20909 MenhirLib.EngineTypes.state = _menhir_s;
20910 MenhirLib.EngineTypes.semv = Obj.repr _v;
20911 MenhirLib.EngineTypes.startp = _startpos;
20912 MenhirLib.EngineTypes.endp = _endpos;
20913 MenhirLib.EngineTypes.next = _menhir_stack;
20914 });
20915 (fun _menhir_env ->
20916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20917 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20918 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20919 let _endpos = _startpos in
20920 let _v : 'tv_nest_after_exp =
20921 # 1815 "parser_cocci_menhir.mly"
20922 ([])
20923 # 20924 "parser_cocci_menhir.ml"
20924 in
20925 _menhir_env.MenhirLib.EngineTypes.stack <- {
20926 MenhirLib.EngineTypes.state = _menhir_s;
20927 MenhirLib.EngineTypes.semv = Obj.repr _v;
20928 MenhirLib.EngineTypes.startp = _startpos;
20929 MenhirLib.EngineTypes.endp = _endpos;
20930 MenhirLib.EngineTypes.next = _menhir_stack;
20931 });
20932 (fun _menhir_env ->
20933 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20934 let {
20935 MenhirLib.EngineTypes.semv = _2;
20936 MenhirLib.EngineTypes.startp = _startpos__2_;
20937 MenhirLib.EngineTypes.endp = _endpos__2_;
20938 MenhirLib.EngineTypes.next = {
20939 MenhirLib.EngineTypes.state = _menhir_s;
20940 MenhirLib.EngineTypes.semv = _1;
20941 MenhirLib.EngineTypes.startp = _startpos__1_;
20942 MenhirLib.EngineTypes.endp = _endpos__1_;
20943 MenhirLib.EngineTypes.next = _menhir_stack;
20944 };
20945 } = _menhir_stack in
20946 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
20947 let _1 : 'tv_stm_dots = Obj.magic _1 in
20948 let _startpos = _startpos__1_ in
20949 let _endpos = _endpos__2_ in
20950 let _v : 'tv_nest_after_exp =
20951 # 1816 "parser_cocci_menhir.mly"
20952 (_1::_2)
20953 # 20954 "parser_cocci_menhir.ml"
20954 in
20955 _menhir_env.MenhirLib.EngineTypes.stack <- {
20956 MenhirLib.EngineTypes.state = _menhir_s;
20957 MenhirLib.EngineTypes.semv = Obj.repr _v;
20958 MenhirLib.EngineTypes.startp = _startpos;
20959 MenhirLib.EngineTypes.endp = _endpos;
20960 MenhirLib.EngineTypes.next = _menhir_stack;
20961 });
20962 (fun _menhir_env ->
20963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20964 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20965 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20966 let _endpos = _startpos in
20967 let _v : 'tv_nest_after_stm =
20968 # 1810 "parser_cocci_menhir.mly"
20969 ([])
20970 # 20971 "parser_cocci_menhir.ml"
20971 in
20972 _menhir_env.MenhirLib.EngineTypes.stack <- {
20973 MenhirLib.EngineTypes.state = _menhir_s;
20974 MenhirLib.EngineTypes.semv = Obj.repr _v;
20975 MenhirLib.EngineTypes.startp = _startpos;
20976 MenhirLib.EngineTypes.endp = _endpos;
20977 MenhirLib.EngineTypes.next = _menhir_stack;
20978 });
20979 (fun _menhir_env ->
20980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20981 let {
20982 MenhirLib.EngineTypes.semv = _2;
20983 MenhirLib.EngineTypes.startp = _startpos__2_;
20984 MenhirLib.EngineTypes.endp = _endpos__2_;
20985 MenhirLib.EngineTypes.next = {
20986 MenhirLib.EngineTypes.state = _menhir_s;
20987 MenhirLib.EngineTypes.semv = _1;
20988 MenhirLib.EngineTypes.startp = _startpos__1_;
20989 MenhirLib.EngineTypes.endp = _endpos__1_;
20990 MenhirLib.EngineTypes.next = _menhir_stack;
20991 };
20992 } = _menhir_stack in
20993 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
20994 let _1 : 'tv_stm_dots = Obj.magic _1 in
20995 let _startpos = _startpos__1_ in
20996 let _endpos = _endpos__2_ in
20997 let _v : 'tv_nest_after_stm =
20998 # 1811 "parser_cocci_menhir.mly"
20999 (_1::_2)
21000 # 21001 "parser_cocci_menhir.ml"
21001 in
21002 _menhir_env.MenhirLib.EngineTypes.stack <- {
21003 MenhirLib.EngineTypes.state = _menhir_s;
21004 MenhirLib.EngineTypes.semv = Obj.repr _v;
21005 MenhirLib.EngineTypes.startp = _startpos;
21006 MenhirLib.EngineTypes.endp = _endpos;
21007 MenhirLib.EngineTypes.next = _menhir_stack;
21008 });
21009 (fun _menhir_env ->
21010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21011 let {
21012 MenhirLib.EngineTypes.semv = _2;
21013 MenhirLib.EngineTypes.startp = _startpos__2_;
21014 MenhirLib.EngineTypes.endp = _endpos__2_;
21015 MenhirLib.EngineTypes.next = {
21016 MenhirLib.EngineTypes.state = _menhir_s;
21017 MenhirLib.EngineTypes.semv = _1;
21018 MenhirLib.EngineTypes.startp = _startpos__1_;
21019 MenhirLib.EngineTypes.endp = _endpos__1_;
21020 MenhirLib.EngineTypes.next = _menhir_stack;
21021 };
21022 } = _menhir_stack in
21023 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
21024 let _1 : 'tv_decl_statement = Obj.magic _1 in
21025 let _startpos = _startpos__1_ in
21026 let _endpos = _endpos__2_ in
21027 let _v : 'tv_nest_after_stm =
21028 # 1812 "parser_cocci_menhir.mly"
21029 (_1@_2)
21030 # 21031 "parser_cocci_menhir.ml"
21031 in
21032 _menhir_env.MenhirLib.EngineTypes.stack <- {
21033 MenhirLib.EngineTypes.state = _menhir_s;
21034 MenhirLib.EngineTypes.semv = Obj.repr _v;
21035 MenhirLib.EngineTypes.startp = _startpos;
21036 MenhirLib.EngineTypes.endp = _endpos;
21037 MenhirLib.EngineTypes.next = _menhir_stack;
21038 });
21039 (fun _menhir_env ->
21040 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21041 let {
21042 MenhirLib.EngineTypes.semv = c;
21043 MenhirLib.EngineTypes.startp = _startpos_c_;
21044 MenhirLib.EngineTypes.endp = _endpos_c_;
21045 MenhirLib.EngineTypes.next = {
21046 MenhirLib.EngineTypes.semv = e;
21047 MenhirLib.EngineTypes.startp = _startpos_e_;
21048 MenhirLib.EngineTypes.endp = _endpos_e_;
21049 MenhirLib.EngineTypes.next = {
21050 MenhirLib.EngineTypes.state = _menhir_s;
21051 MenhirLib.EngineTypes.semv = _1;
21052 MenhirLib.EngineTypes.startp = _startpos__1_;
21053 MenhirLib.EngineTypes.endp = _endpos__1_;
21054 MenhirLib.EngineTypes.next = _menhir_stack;
21055 };
21056 };
21057 } = _menhir_stack in
21058 let c : (
21059 # 73 "parser_cocci_menhir.mly"
21060 (Data.clt)
21061 # 21062 "parser_cocci_menhir.ml"
21062 ) = Obj.magic c in
21063 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21064 let _1 : (
21065 # 73 "parser_cocci_menhir.mly"
21066 (Data.clt)
21067 # 21068 "parser_cocci_menhir.ml"
21068 ) = Obj.magic _1 in
21069 let _startpos = _startpos__1_ in
21070 let _endpos = _endpos_c_ in
21071 let _v : 'tv_nest_expressions =
21072 # 1218 "parser_cocci_menhir.mly"
21073 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
21074 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21075 P.clt2mcode "...>" c, None, false)) )
21076 # 21077 "parser_cocci_menhir.ml"
21077 in
21078 _menhir_env.MenhirLib.EngineTypes.stack <- {
21079 MenhirLib.EngineTypes.state = _menhir_s;
21080 MenhirLib.EngineTypes.semv = Obj.repr _v;
21081 MenhirLib.EngineTypes.startp = _startpos;
21082 MenhirLib.EngineTypes.endp = _endpos;
21083 MenhirLib.EngineTypes.next = _menhir_stack;
21084 });
21085 (fun _menhir_env ->
21086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21087 let {
21088 MenhirLib.EngineTypes.semv = c;
21089 MenhirLib.EngineTypes.startp = _startpos_c_;
21090 MenhirLib.EngineTypes.endp = _endpos_c_;
21091 MenhirLib.EngineTypes.next = {
21092 MenhirLib.EngineTypes.semv = e;
21093 MenhirLib.EngineTypes.startp = _startpos_e_;
21094 MenhirLib.EngineTypes.endp = _endpos_e_;
21095 MenhirLib.EngineTypes.next = {
21096 MenhirLib.EngineTypes.state = _menhir_s;
21097 MenhirLib.EngineTypes.semv = _1;
21098 MenhirLib.EngineTypes.startp = _startpos__1_;
21099 MenhirLib.EngineTypes.endp = _endpos__1_;
21100 MenhirLib.EngineTypes.next = _menhir_stack;
21101 };
21102 };
21103 } = _menhir_stack in
21104 let c : (
21105 # 73 "parser_cocci_menhir.mly"
21106 (Data.clt)
21107 # 21108 "parser_cocci_menhir.ml"
21108 ) = Obj.magic c in
21109 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21110 let _1 : (
21111 # 73 "parser_cocci_menhir.mly"
21112 (Data.clt)
21113 # 21114 "parser_cocci_menhir.ml"
21114 ) = Obj.magic _1 in
21115 let _startpos = _startpos__1_ in
21116 let _endpos = _endpos_c_ in
21117 let _v : 'tv_nest_expressions =
21118 # 1222 "parser_cocci_menhir.mly"
21119 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
21120 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21121 P.clt2mcode "...+>" c, None, true)) )
21122 # 21123 "parser_cocci_menhir.ml"
21123 in
21124 _menhir_env.MenhirLib.EngineTypes.stack <- {
21125 MenhirLib.EngineTypes.state = _menhir_s;
21126 MenhirLib.EngineTypes.semv = Obj.repr _v;
21127 MenhirLib.EngineTypes.startp = _startpos;
21128 MenhirLib.EngineTypes.endp = _endpos;
21129 MenhirLib.EngineTypes.next = _menhir_stack;
21130 });
21131 (fun _menhir_env ->
21132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21133 let {
21134 MenhirLib.EngineTypes.state = _menhir_s;
21135 MenhirLib.EngineTypes.semv = _1;
21136 MenhirLib.EngineTypes.startp = _startpos__1_;
21137 MenhirLib.EngineTypes.endp = _endpos__1_;
21138 MenhirLib.EngineTypes.next = _menhir_stack;
21139 } = _menhir_stack in
21140 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
21141 let _startpos = _startpos__1_ in
21142 let _endpos = _endpos__1_ in
21143 let _v : 'tv_nest_start =
21144 # 1802 "parser_cocci_menhir.mly"
21145 ( Ast0.wrap(Ast0.DOTS(_1)) )
21146 # 21147 "parser_cocci_menhir.ml"
21147 in
21148 _menhir_env.MenhirLib.EngineTypes.stack <- {
21149 MenhirLib.EngineTypes.state = _menhir_s;
21150 MenhirLib.EngineTypes.semv = Obj.repr _v;
21151 MenhirLib.EngineTypes.startp = _startpos;
21152 MenhirLib.EngineTypes.endp = _endpos;
21153 MenhirLib.EngineTypes.next = _menhir_stack;
21154 });
21155 (fun _menhir_env ->
21156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21157 let {
21158 MenhirLib.EngineTypes.state = _menhir_s;
21159 MenhirLib.EngineTypes.startp = _startpos__1_;
21160 MenhirLib.EngineTypes.endp = _endpos__1_;
21161 MenhirLib.EngineTypes.next = _menhir_stack;
21162 } = _menhir_stack in
21163 let _startpos = _startpos__1_ in
21164 let _endpos = _endpos__1_ in
21165 let _v : (
21166 # 168 "parser_cocci_menhir.mly"
21167 (unit)
21168 # 21169 "parser_cocci_menhir.ml"
21169 ) =
21170 # 1947 "parser_cocci_menhir.mly"
21171 ( () )
21172 # 21173 "parser_cocci_menhir.ml"
21173 in
21174 _menhir_env.MenhirLib.EngineTypes.stack <- {
21175 MenhirLib.EngineTypes.state = _menhir_s;
21176 MenhirLib.EngineTypes.semv = Obj.repr _v;
21177 MenhirLib.EngineTypes.startp = _startpos;
21178 MenhirLib.EngineTypes.endp = _endpos;
21179 MenhirLib.EngineTypes.next = _menhir_stack;
21180 });
21181 (fun _menhir_env ->
21182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21183 let {
21184 MenhirLib.EngineTypes.startp = _startpos__2_;
21185 MenhirLib.EngineTypes.endp = _endpos__2_;
21186 MenhirLib.EngineTypes.next = {
21187 MenhirLib.EngineTypes.state = _menhir_s;
21188 MenhirLib.EngineTypes.startp = _startpos__1_;
21189 MenhirLib.EngineTypes.endp = _endpos__1_;
21190 MenhirLib.EngineTypes.next = _menhir_stack;
21191 };
21192 } = _menhir_stack in
21193 let _startpos = _startpos__1_ in
21194 let _endpos = _endpos__2_ in
21195 let _v : (
21196 # 168 "parser_cocci_menhir.mly"
21197 (unit)
21198 # 21199 "parser_cocci_menhir.ml"
21199 ) =
21200 # 1948 "parser_cocci_menhir.mly"
21201 ( () )
21202 # 21203 "parser_cocci_menhir.ml"
21203 in
21204 _menhir_env.MenhirLib.EngineTypes.stack <- {
21205 MenhirLib.EngineTypes.state = _menhir_s;
21206 MenhirLib.EngineTypes.semv = Obj.repr _v;
21207 MenhirLib.EngineTypes.startp = _startpos;
21208 MenhirLib.EngineTypes.endp = _endpos;
21209 MenhirLib.EngineTypes.next = _menhir_stack;
21210 });
21211 (fun _menhir_env ->
21212 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21213 let {
21214 MenhirLib.EngineTypes.state = _menhir_s;
21215 MenhirLib.EngineTypes.startp = _startpos__1_;
21216 MenhirLib.EngineTypes.endp = _endpos__1_;
21217 MenhirLib.EngineTypes.next = _menhir_stack;
21218 } = _menhir_stack in
21219 let _startpos = _startpos__1_ in
21220 let _endpos = _endpos__1_ in
21221 let _v : (
21222 # 168 "parser_cocci_menhir.mly"
21223 (unit)
21224 # 21225 "parser_cocci_menhir.ml"
21225 ) =
21226 # 1949 "parser_cocci_menhir.mly"
21227 ( () )
21228 # 21229 "parser_cocci_menhir.ml"
21229 in
21230 _menhir_env.MenhirLib.EngineTypes.stack <- {
21231 MenhirLib.EngineTypes.state = _menhir_s;
21232 MenhirLib.EngineTypes.semv = Obj.repr _v;
21233 MenhirLib.EngineTypes.startp = _startpos;
21234 MenhirLib.EngineTypes.endp = _endpos;
21235 MenhirLib.EngineTypes.next = _menhir_stack;
21236 });
21237 (fun _menhir_env ->
21238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21239 let {
21240 MenhirLib.EngineTypes.semv = dg;
21241 MenhirLib.EngineTypes.startp = _startpos_dg_;
21242 MenhirLib.EngineTypes.endp = _endpos_dg_;
21243 MenhirLib.EngineTypes.next = {
21244 MenhirLib.EngineTypes.state = _menhir_s;
21245 MenhirLib.EngineTypes.semv = g;
21246 MenhirLib.EngineTypes.startp = _startpos_g_;
21247 MenhirLib.EngineTypes.endp = _endpos_g_;
21248 MenhirLib.EngineTypes.next = _menhir_stack;
21249 };
21250 } = _menhir_stack in
21251 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
21252 let g : 'tv_dexpr = Obj.magic g in
21253 let _startpos = _startpos_g_ in
21254 let _endpos = _endpos_dg_ in
21255 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
21256 # 1386 "parser_cocci_menhir.mly"
21257 ( function dot_builder ->
21258 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
21259 # 21260 "parser_cocci_menhir.ml"
21260 in
21261 _menhir_env.MenhirLib.EngineTypes.stack <- {
21262 MenhirLib.EngineTypes.state = _menhir_s;
21263 MenhirLib.EngineTypes.semv = Obj.repr _v;
21264 MenhirLib.EngineTypes.startp = _startpos;
21265 MenhirLib.EngineTypes.endp = _endpos;
21266 MenhirLib.EngineTypes.next = _menhir_stack;
21267 });
21268 (fun _menhir_env ->
21269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21270 let {
21271 MenhirLib.EngineTypes.state = _menhir_s;
21272 MenhirLib.EngineTypes.semv = x;
21273 MenhirLib.EngineTypes.startp = _startpos_x_;
21274 MenhirLib.EngineTypes.endp = _endpos_x_;
21275 MenhirLib.EngineTypes.next = _menhir_stack;
21276 } = _menhir_stack in
21277 let x : (
21278 # 99 "parser_cocci_menhir.mly"
21279 (Data.clt)
21280 # 21281 "parser_cocci_menhir.ml"
21281 ) = Obj.magic x in
21282 let _startpos = _startpos_x_ in
21283 let _endpos = _endpos_x_ in
21284 let _v : 'tv_nonempty_list_TMul_ =
21285 # 124 "standard.mly"
21286 ( [ x ] )
21287 # 21288 "parser_cocci_menhir.ml"
21288 in
21289 _menhir_env.MenhirLib.EngineTypes.stack <- {
21290 MenhirLib.EngineTypes.state = _menhir_s;
21291 MenhirLib.EngineTypes.semv = Obj.repr _v;
21292 MenhirLib.EngineTypes.startp = _startpos;
21293 MenhirLib.EngineTypes.endp = _endpos;
21294 MenhirLib.EngineTypes.next = _menhir_stack;
21295 });
21296 (fun _menhir_env ->
21297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21298 let {
21299 MenhirLib.EngineTypes.semv = xs;
21300 MenhirLib.EngineTypes.startp = _startpos_xs_;
21301 MenhirLib.EngineTypes.endp = _endpos_xs_;
21302 MenhirLib.EngineTypes.next = {
21303 MenhirLib.EngineTypes.state = _menhir_s;
21304 MenhirLib.EngineTypes.semv = x;
21305 MenhirLib.EngineTypes.startp = _startpos_x_;
21306 MenhirLib.EngineTypes.endp = _endpos_x_;
21307 MenhirLib.EngineTypes.next = _menhir_stack;
21308 };
21309 } = _menhir_stack in
21310 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
21311 let x : (
21312 # 99 "parser_cocci_menhir.mly"
21313 (Data.clt)
21314 # 21315 "parser_cocci_menhir.ml"
21315 ) = Obj.magic x in
21316 let _startpos = _startpos_x_ in
21317 let _endpos = _endpos_xs_ in
21318 let _v : 'tv_nonempty_list_TMul_ =
21319 # 126 "standard.mly"
21320 ( x :: xs )
21321 # 21322 "parser_cocci_menhir.ml"
21322 in
21323 _menhir_env.MenhirLib.EngineTypes.stack <- {
21324 MenhirLib.EngineTypes.state = _menhir_s;
21325 MenhirLib.EngineTypes.semv = Obj.repr _v;
21326 MenhirLib.EngineTypes.startp = _startpos;
21327 MenhirLib.EngineTypes.endp = _endpos;
21328 MenhirLib.EngineTypes.next = _menhir_stack;
21329 });
21330 (fun _menhir_env ->
21331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21332 let {
21333 MenhirLib.EngineTypes.semv = i;
21334 MenhirLib.EngineTypes.startp = _startpos_i_;
21335 MenhirLib.EngineTypes.endp = _endpos_i_;
21336 MenhirLib.EngineTypes.next = {
21337 MenhirLib.EngineTypes.state = _menhir_s;
21338 MenhirLib.EngineTypes.startp = _startpos__1_;
21339 MenhirLib.EngineTypes.endp = _endpos__1_;
21340 MenhirLib.EngineTypes.next = _menhir_stack;
21341 };
21342 } = _menhir_stack in
21343 let i : 'tv_ident_or_const = Obj.magic i in
21344 let _startpos = _startpos__1_ in
21345 let _endpos = _endpos_i_ in
21346 let _v : 'tv_not_ceq =
21347 # 1523 "parser_cocci_menhir.mly"
21348 ( (if !Data.in_iso
21349 then failwith "constraints not allowed in iso file");
21350 (if !Data.in_generating
21351 then failwith "constraints not allowed in a generated rule file");
21352 [i] )
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.startp = _startpos__4_;
21366 MenhirLib.EngineTypes.endp = _endpos__4_;
21367 MenhirLib.EngineTypes.next = {
21368 MenhirLib.EngineTypes.semv = l;
21369 MenhirLib.EngineTypes.startp = _startpos_l_;
21370 MenhirLib.EngineTypes.endp = _endpos_l_;
21371 MenhirLib.EngineTypes.next = {
21372 MenhirLib.EngineTypes.startp = _startpos__2_;
21373 MenhirLib.EngineTypes.endp = _endpos__2_;
21374 MenhirLib.EngineTypes.next = {
21375 MenhirLib.EngineTypes.state = _menhir_s;
21376 MenhirLib.EngineTypes.startp = _startpos__1_;
21377 MenhirLib.EngineTypes.endp = _endpos__1_;
21378 MenhirLib.EngineTypes.next = _menhir_stack;
21379 };
21380 };
21381 };
21382 } = _menhir_stack in
21383 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
21384 let _startpos = _startpos__1_ in
21385 let _endpos = _endpos__4_ in
21386 let _v : 'tv_not_ceq =
21387 # 1529 "parser_cocci_menhir.mly"
21388 ( (if !Data.in_iso
21389 then failwith "constraints not allowed in iso file");
21390 (if !Data.in_generating
21391 then failwith "constraints not allowed in a generated rule file");
21392 l )
21393 # 21394 "parser_cocci_menhir.ml"
21394 in
21395 _menhir_env.MenhirLib.EngineTypes.stack <- {
21396 MenhirLib.EngineTypes.state = _menhir_s;
21397 MenhirLib.EngineTypes.semv = Obj.repr _v;
21398 MenhirLib.EngineTypes.startp = _startpos;
21399 MenhirLib.EngineTypes.endp = _endpos;
21400 MenhirLib.EngineTypes.next = _menhir_stack;
21401 });
21402 (fun _menhir_env ->
21403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21404 let {
21405 MenhirLib.EngineTypes.semv = i;
21406 MenhirLib.EngineTypes.startp = _startpos_i_;
21407 MenhirLib.EngineTypes.endp = _endpos_i_;
21408 MenhirLib.EngineTypes.next = {
21409 MenhirLib.EngineTypes.state = _menhir_s;
21410 MenhirLib.EngineTypes.startp = _startpos__1_;
21411 MenhirLib.EngineTypes.endp = _endpos__1_;
21412 MenhirLib.EngineTypes.next = _menhir_stack;
21413 };
21414 } = _menhir_stack in
21415 let i : 'tv_pure_ident = Obj.magic i in
21416 let _startpos = _startpos__1_ in
21417 let _endpos = _endpos_i_ in
21418 let _v : 'tv_not_eqe =
21419 # 1504 "parser_cocci_menhir.mly"
21420 ( (if !Data.in_iso
21421 then failwith "constraints not allowed in iso file");
21422 (if !Data.in_generating
21423 then failwith "constraints not allowed in a generated rule file");
21424 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
21425 )
21426 # 21427 "parser_cocci_menhir.ml"
21427 in
21428 _menhir_env.MenhirLib.EngineTypes.stack <- {
21429 MenhirLib.EngineTypes.state = _menhir_s;
21430 MenhirLib.EngineTypes.semv = Obj.repr _v;
21431 MenhirLib.EngineTypes.startp = _startpos;
21432 MenhirLib.EngineTypes.endp = _endpos;
21433 MenhirLib.EngineTypes.next = _menhir_stack;
21434 });
21435 (fun _menhir_env ->
21436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21437 let {
21438 MenhirLib.EngineTypes.startp = _startpos__4_;
21439 MenhirLib.EngineTypes.endp = _endpos__4_;
21440 MenhirLib.EngineTypes.next = {
21441 MenhirLib.EngineTypes.semv = l;
21442 MenhirLib.EngineTypes.startp = _startpos_l_;
21443 MenhirLib.EngineTypes.endp = _endpos_l_;
21444 MenhirLib.EngineTypes.next = {
21445 MenhirLib.EngineTypes.startp = _startpos__2_;
21446 MenhirLib.EngineTypes.endp = _endpos__2_;
21447 MenhirLib.EngineTypes.next = {
21448 MenhirLib.EngineTypes.state = _menhir_s;
21449 MenhirLib.EngineTypes.startp = _startpos__1_;
21450 MenhirLib.EngineTypes.endp = _endpos__1_;
21451 MenhirLib.EngineTypes.next = _menhir_stack;
21452 };
21453 };
21454 };
21455 } = _menhir_stack in
21456 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21457 let _startpos = _startpos__1_ in
21458 let _endpos = _endpos__4_ in
21459 let _v : 'tv_not_eqe =
21460 # 1511 "parser_cocci_menhir.mly"
21461 ( (if !Data.in_iso
21462 then failwith "constraints not allowed in iso file");
21463 (if !Data.in_generating
21464 then failwith "constraints not allowed in a generated rule file");
21465 List.map
21466 (function i ->
21467 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
21468 l
21469 )
21470 # 21471 "parser_cocci_menhir.ml"
21471 in
21472 _menhir_env.MenhirLib.EngineTypes.stack <- {
21473 MenhirLib.EngineTypes.state = _menhir_s;
21474 MenhirLib.EngineTypes.semv = Obj.repr _v;
21475 MenhirLib.EngineTypes.startp = _startpos;
21476 MenhirLib.EngineTypes.endp = _endpos;
21477 MenhirLib.EngineTypes.next = _menhir_stack;
21478 });
21479 (fun _menhir_env ->
21480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21481 let {
21482 MenhirLib.EngineTypes.semv = i;
21483 MenhirLib.EngineTypes.startp = _startpos_i_;
21484 MenhirLib.EngineTypes.endp = _endpos_i_;
21485 MenhirLib.EngineTypes.next = {
21486 MenhirLib.EngineTypes.state = _menhir_s;
21487 MenhirLib.EngineTypes.startp = _startpos__1_;
21488 MenhirLib.EngineTypes.endp = _endpos__1_;
21489 MenhirLib.EngineTypes.next = _menhir_stack;
21490 };
21491 } = _menhir_stack in
21492 let i : 'tv_pure_ident = Obj.magic i in
21493 let _startpos = _startpos__1_ in
21494 let _endpos = _endpos_i_ in
21495 let _v : 'tv_not_eqid =
21496 # 1483 "parser_cocci_menhir.mly"
21497 ( (if !Data.in_iso
21498 then failwith "constraints not allowed in iso file");
21499 (if !Data.in_generating
21500 (* pb: constraints not stored with metavars; too lazy to search for
21501 them in the pattern *)
21502 then failwith "constraints not allowed in a generated rule file");
21503 Ast.IdNegIdSet([fst i]) )
21504 # 21505 "parser_cocci_menhir.ml"
21505 in
21506 _menhir_env.MenhirLib.EngineTypes.stack <- {
21507 MenhirLib.EngineTypes.state = _menhir_s;
21508 MenhirLib.EngineTypes.semv = Obj.repr _v;
21509 MenhirLib.EngineTypes.startp = _startpos;
21510 MenhirLib.EngineTypes.endp = _endpos;
21511 MenhirLib.EngineTypes.next = _menhir_stack;
21512 });
21513 (fun _menhir_env ->
21514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21515 let {
21516 MenhirLib.EngineTypes.startp = _startpos__4_;
21517 MenhirLib.EngineTypes.endp = _endpos__4_;
21518 MenhirLib.EngineTypes.next = {
21519 MenhirLib.EngineTypes.semv = l;
21520 MenhirLib.EngineTypes.startp = _startpos_l_;
21521 MenhirLib.EngineTypes.endp = _endpos_l_;
21522 MenhirLib.EngineTypes.next = {
21523 MenhirLib.EngineTypes.startp = _startpos__2_;
21524 MenhirLib.EngineTypes.endp = _endpos__2_;
21525 MenhirLib.EngineTypes.next = {
21526 MenhirLib.EngineTypes.state = _menhir_s;
21527 MenhirLib.EngineTypes.startp = _startpos__1_;
21528 MenhirLib.EngineTypes.endp = _endpos__1_;
21529 MenhirLib.EngineTypes.next = _menhir_stack;
21530 };
21531 };
21532 };
21533 } = _menhir_stack in
21534 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21535 let _startpos = _startpos__1_ in
21536 let _endpos = _endpos__4_ in
21537 let _v : 'tv_not_eqid =
21538 # 1491 "parser_cocci_menhir.mly"
21539 ( (if !Data.in_iso
21540 then failwith "constraints not allowed in iso file");
21541 (if !Data.in_generating
21542 then failwith "constraints not allowed in a generated rule file");
21543 Ast.IdNegIdSet(List.map fst l)
21544 )
21545 # 21546 "parser_cocci_menhir.ml"
21546 in
21547 _menhir_env.MenhirLib.EngineTypes.stack <- {
21548 MenhirLib.EngineTypes.state = _menhir_s;
21549 MenhirLib.EngineTypes.semv = Obj.repr _v;
21550 MenhirLib.EngineTypes.startp = _startpos;
21551 MenhirLib.EngineTypes.endp = _endpos;
21552 MenhirLib.EngineTypes.next = _menhir_stack;
21553 });
21554 (fun _menhir_env ->
21555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21556 let {
21557 MenhirLib.EngineTypes.semv = i;
21558 MenhirLib.EngineTypes.startp = _startpos_i_;
21559 MenhirLib.EngineTypes.endp = _endpos_i_;
21560 MenhirLib.EngineTypes.next = {
21561 MenhirLib.EngineTypes.state = _menhir_s;
21562 MenhirLib.EngineTypes.startp = _startpos__1_;
21563 MenhirLib.EngineTypes.endp = _endpos__1_;
21564 MenhirLib.EngineTypes.next = _menhir_stack;
21565 };
21566 } = _menhir_stack in
21567 let i : 'tv_meta_ident = Obj.magic i in
21568 let _startpos = _startpos__1_ in
21569 let _endpos = _endpos_i_ in
21570 let _v : 'tv_not_pos =
21571 # 1543 "parser_cocci_menhir.mly"
21572 ( (if !Data.in_iso
21573 then failwith "constraints not allowed in iso file");
21574 (if !Data.in_generating
21575 then failwith "constraints not allowed in a generated rule file");
21576 match i with
21577 (None,_) -> failwith "constraint must be an inherited variable"
21578 | (Some rule,name) ->
21579 let i = (rule,name) in
21580 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
21581 [i] )
21582 # 21583 "parser_cocci_menhir.ml"
21583 in
21584 _menhir_env.MenhirLib.EngineTypes.stack <- {
21585 MenhirLib.EngineTypes.state = _menhir_s;
21586 MenhirLib.EngineTypes.semv = Obj.repr _v;
21587 MenhirLib.EngineTypes.startp = _startpos;
21588 MenhirLib.EngineTypes.endp = _endpos;
21589 MenhirLib.EngineTypes.next = _menhir_stack;
21590 });
21591 (fun _menhir_env ->
21592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21593 let {
21594 MenhirLib.EngineTypes.startp = _startpos__4_;
21595 MenhirLib.EngineTypes.endp = _endpos__4_;
21596 MenhirLib.EngineTypes.next = {
21597 MenhirLib.EngineTypes.semv = l;
21598 MenhirLib.EngineTypes.startp = _startpos_l_;
21599 MenhirLib.EngineTypes.endp = _endpos_l_;
21600 MenhirLib.EngineTypes.next = {
21601 MenhirLib.EngineTypes.startp = _startpos__2_;
21602 MenhirLib.EngineTypes.endp = _endpos__2_;
21603 MenhirLib.EngineTypes.next = {
21604 MenhirLib.EngineTypes.state = _menhir_s;
21605 MenhirLib.EngineTypes.startp = _startpos__1_;
21606 MenhirLib.EngineTypes.endp = _endpos__1_;
21607 MenhirLib.EngineTypes.next = _menhir_stack;
21608 };
21609 };
21610 };
21611 } = _menhir_stack in
21612 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
21613 let _startpos = _startpos__1_ in
21614 let _endpos = _endpos__4_ in
21615 let _v : 'tv_not_pos =
21616 # 1554 "parser_cocci_menhir.mly"
21617 ( (if !Data.in_iso
21618 then failwith "constraints not allowed in iso file");
21619 (if !Data.in_generating
21620 then failwith "constraints not allowed in a generated rule file");
21621 List.map
21622 (function
21623 (None,_) ->
21624 failwith "constraint must be an inherited variable"
21625 | (Some rule,name) ->
21626 let i = (rule,name) in
21627 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
21628 i)
21629 l )
21630 # 21631 "parser_cocci_menhir.ml"
21631 in
21632 _menhir_env.MenhirLib.EngineTypes.stack <- {
21633 MenhirLib.EngineTypes.state = _menhir_s;
21634 MenhirLib.EngineTypes.semv = Obj.repr _v;
21635 MenhirLib.EngineTypes.startp = _startpos;
21636 MenhirLib.EngineTypes.endp = _endpos;
21637 MenhirLib.EngineTypes.next = _menhir_stack;
21638 });
21639 (fun _menhir_env ->
21640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21641 let {
21642 MenhirLib.EngineTypes.state = _menhir_s;
21643 MenhirLib.EngineTypes.semv = _1;
21644 MenhirLib.EngineTypes.startp = _startpos__1_;
21645 MenhirLib.EngineTypes.endp = _endpos__1_;
21646 MenhirLib.EngineTypes.next = _menhir_stack;
21647 } = _menhir_stack in
21648 let _1 : 'tv_decl = Obj.magic _1 in
21649 let _startpos = _startpos__1_ in
21650 let _endpos = _endpos__1_ in
21651 let _v : 'tv_one_dec_decl_ =
21652 # 1628 "parser_cocci_menhir.mly"
21653 ( _1 )
21654 # 21655 "parser_cocci_menhir.ml"
21655 in
21656 _menhir_env.MenhirLib.EngineTypes.stack <- {
21657 MenhirLib.EngineTypes.state = _menhir_s;
21658 MenhirLib.EngineTypes.semv = Obj.repr _v;
21659 MenhirLib.EngineTypes.startp = _startpos;
21660 MenhirLib.EngineTypes.endp = _endpos;
21661 MenhirLib.EngineTypes.next = _menhir_stack;
21662 });
21663 (fun _menhir_env ->
21664 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21665 let {
21666 MenhirLib.EngineTypes.state = _menhir_s;
21667 MenhirLib.EngineTypes.semv = _1;
21668 MenhirLib.EngineTypes.startp = _startpos__1_;
21669 MenhirLib.EngineTypes.endp = _endpos__1_;
21670 MenhirLib.EngineTypes.next = _menhir_stack;
21671 } = _menhir_stack in
21672 let _1 : (
21673 # 66 "parser_cocci_menhir.mly"
21674 (Parse_aux.list_info)
21675 # 21676 "parser_cocci_menhir.ml"
21676 ) = Obj.magic _1 in
21677 let _startpos = _startpos__1_ in
21678 let _endpos = _endpos__1_ in
21679 let _v : 'tv_one_dec_decl_ =
21680 # 1630 "parser_cocci_menhir.mly"
21681 ( let (nm,lenname,pure,clt) = _1 in
21682 let nm = P.clt2mcode nm clt in
21683 let lenname =
21684 match lenname with
21685 Some nm -> Some(P.clt2mcode nm clt)
21686 | None -> None in
21687 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21688 # 21689 "parser_cocci_menhir.ml"
21689 in
21690 _menhir_env.MenhirLib.EngineTypes.stack <- {
21691 MenhirLib.EngineTypes.state = _menhir_s;
21692 MenhirLib.EngineTypes.semv = Obj.repr _v;
21693 MenhirLib.EngineTypes.startp = _startpos;
21694 MenhirLib.EngineTypes.endp = _endpos;
21695 MenhirLib.EngineTypes.next = _menhir_stack;
21696 });
21697 (fun _menhir_env ->
21698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21699 let {
21700 MenhirLib.EngineTypes.state = _menhir_s;
21701 MenhirLib.EngineTypes.semv = _1;
21702 MenhirLib.EngineTypes.startp = _startpos__1_;
21703 MenhirLib.EngineTypes.endp = _endpos__1_;
21704 MenhirLib.EngineTypes.next = _menhir_stack;
21705 } = _menhir_stack in
21706 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
21707 let _startpos = _startpos__1_ in
21708 let _endpos = _endpos__1_ in
21709 let _v : 'tv_one_dec_name_opt_decl_ =
21710 # 1628 "parser_cocci_menhir.mly"
21711 ( _1 )
21712 # 21713 "parser_cocci_menhir.ml"
21713 in
21714 _menhir_env.MenhirLib.EngineTypes.stack <- {
21715 MenhirLib.EngineTypes.state = _menhir_s;
21716 MenhirLib.EngineTypes.semv = Obj.repr _v;
21717 MenhirLib.EngineTypes.startp = _startpos;
21718 MenhirLib.EngineTypes.endp = _endpos;
21719 MenhirLib.EngineTypes.next = _menhir_stack;
21720 });
21721 (fun _menhir_env ->
21722 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21723 let {
21724 MenhirLib.EngineTypes.state = _menhir_s;
21725 MenhirLib.EngineTypes.semv = _1;
21726 MenhirLib.EngineTypes.startp = _startpos__1_;
21727 MenhirLib.EngineTypes.endp = _endpos__1_;
21728 MenhirLib.EngineTypes.next = _menhir_stack;
21729 } = _menhir_stack in
21730 let _1 : (
21731 # 66 "parser_cocci_menhir.mly"
21732 (Parse_aux.list_info)
21733 # 21734 "parser_cocci_menhir.ml"
21734 ) = Obj.magic _1 in
21735 let _startpos = _startpos__1_ in
21736 let _endpos = _endpos__1_ in
21737 let _v : 'tv_one_dec_name_opt_decl_ =
21738 # 1630 "parser_cocci_menhir.mly"
21739 ( let (nm,lenname,pure,clt) = _1 in
21740 let nm = P.clt2mcode nm clt in
21741 let lenname =
21742 match lenname with
21743 Some nm -> Some(P.clt2mcode nm clt)
21744 | None -> None in
21745 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21746 # 21747 "parser_cocci_menhir.ml"
21747 in
21748 _menhir_env.MenhirLib.EngineTypes.stack <- {
21749 MenhirLib.EngineTypes.state = _menhir_s;
21750 MenhirLib.EngineTypes.semv = Obj.repr _v;
21751 MenhirLib.EngineTypes.startp = _startpos;
21752 MenhirLib.EngineTypes.endp = _endpos;
21753 MenhirLib.EngineTypes.next = _menhir_stack;
21754 });
21755 (fun _menhir_env ->
21756 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21757 let {
21758 MenhirLib.EngineTypes.semv = pv;
21759 MenhirLib.EngineTypes.startp = _startpos_pv_;
21760 MenhirLib.EngineTypes.endp = _endpos_pv_;
21761 MenhirLib.EngineTypes.next = {
21762 MenhirLib.EngineTypes.state = _menhir_s;
21763 MenhirLib.EngineTypes.semv = t;
21764 MenhirLib.EngineTypes.startp = _startpos_t_;
21765 MenhirLib.EngineTypes.endp = _endpos_t_;
21766 MenhirLib.EngineTypes.next = _menhir_stack;
21767 };
21768 } = _menhir_stack in
21769 let pv : (
21770 # 107 "parser_cocci_menhir.mly"
21771 (Data.clt)
21772 # 21773 "parser_cocci_menhir.ml"
21773 ) = Obj.magic pv in
21774 let t : 'tv_ctype = Obj.magic t in
21775 let _startpos = _startpos_t_ in
21776 let _endpos = _endpos_pv_ in
21777 let _v : 'tv_one_decl_var =
21778 # 1007 "parser_cocci_menhir.mly"
21779 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
21780 # 21781 "parser_cocci_menhir.ml"
21781 in
21782 _menhir_env.MenhirLib.EngineTypes.stack <- {
21783 MenhirLib.EngineTypes.state = _menhir_s;
21784 MenhirLib.EngineTypes.semv = Obj.repr _v;
21785 MenhirLib.EngineTypes.startp = _startpos;
21786 MenhirLib.EngineTypes.endp = _endpos;
21787 MenhirLib.EngineTypes.next = _menhir_stack;
21788 });
21789 (fun _menhir_env ->
21790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21791 let {
21792 MenhirLib.EngineTypes.semv = pv;
21793 MenhirLib.EngineTypes.startp = _startpos_pv_;
21794 MenhirLib.EngineTypes.endp = _endpos_pv_;
21795 MenhirLib.EngineTypes.next = {
21796 MenhirLib.EngineTypes.semv = d;
21797 MenhirLib.EngineTypes.startp = _startpos_d_;
21798 MenhirLib.EngineTypes.endp = _endpos_d_;
21799 MenhirLib.EngineTypes.next = {
21800 MenhirLib.EngineTypes.state = _menhir_s;
21801 MenhirLib.EngineTypes.semv = t;
21802 MenhirLib.EngineTypes.startp = _startpos_t_;
21803 MenhirLib.EngineTypes.endp = _endpos_t_;
21804 MenhirLib.EngineTypes.next = _menhir_stack;
21805 };
21806 };
21807 } = _menhir_stack in
21808 let pv : (
21809 # 107 "parser_cocci_menhir.mly"
21810 (Data.clt)
21811 # 21812 "parser_cocci_menhir.ml"
21812 ) = Obj.magic pv in
21813 let d : 'tv_d_ident = Obj.magic d in
21814 let t : 'tv_ctype = Obj.magic t in
21815 let _startpos = _startpos_t_ in
21816 let _endpos = _endpos_pv_ in
21817 let _v : 'tv_one_decl_var = let s =
21818
21819 # 39 "standard.mly"
21820 ( None )
21821 # 21822 "parser_cocci_menhir.ml"
21822
21823 in
21824
21825 # 1009 "parser_cocci_menhir.mly"
21826 ( let (id,fn) = d in
21827 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
21828 # 21829 "parser_cocci_menhir.ml"
21829 in
21830 _menhir_env.MenhirLib.EngineTypes.stack <- {
21831 MenhirLib.EngineTypes.state = _menhir_s;
21832 MenhirLib.EngineTypes.semv = Obj.repr _v;
21833 MenhirLib.EngineTypes.startp = _startpos;
21834 MenhirLib.EngineTypes.endp = _endpos;
21835 MenhirLib.EngineTypes.next = _menhir_stack;
21836 });
21837 (fun _menhir_env ->
21838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21839 let {
21840 MenhirLib.EngineTypes.semv = pv;
21841 MenhirLib.EngineTypes.startp = _startpos_pv_;
21842 MenhirLib.EngineTypes.endp = _endpos_pv_;
21843 MenhirLib.EngineTypes.next = {
21844 MenhirLib.EngineTypes.semv = d;
21845 MenhirLib.EngineTypes.startp = _startpos_d_;
21846 MenhirLib.EngineTypes.endp = _endpos_d_;
21847 MenhirLib.EngineTypes.next = {
21848 MenhirLib.EngineTypes.semv = t;
21849 MenhirLib.EngineTypes.startp = _startpos_t_;
21850 MenhirLib.EngineTypes.endp = _endpos_t_;
21851 MenhirLib.EngineTypes.next = {
21852 MenhirLib.EngineTypes.state = _menhir_s;
21853 MenhirLib.EngineTypes.semv = x0;
21854 MenhirLib.EngineTypes.startp = _startpos_x0_;
21855 MenhirLib.EngineTypes.endp = _endpos_x0_;
21856 MenhirLib.EngineTypes.next = _menhir_stack;
21857 };
21858 };
21859 };
21860 } = _menhir_stack in
21861 let pv : (
21862 # 107 "parser_cocci_menhir.mly"
21863 (Data.clt)
21864 # 21865 "parser_cocci_menhir.ml"
21865 ) = Obj.magic pv in
21866 let d : 'tv_d_ident = Obj.magic d in
21867 let t : 'tv_ctype = Obj.magic t in
21868 let x0 : 'tv_storage = Obj.magic x0 in
21869 let _startpos = _startpos_x0_ in
21870 let _endpos = _endpos_pv_ in
21871 let _v : 'tv_one_decl_var = let s =
21872 let x = x0 in
21873
21874 # 41 "standard.mly"
21875 ( Some x )
21876 # 21877 "parser_cocci_menhir.ml"
21877
21878 in
21879
21880 # 1009 "parser_cocci_menhir.mly"
21881 ( let (id,fn) = d in
21882 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
21883 # 21884 "parser_cocci_menhir.ml"
21884 in
21885 _menhir_env.MenhirLib.EngineTypes.stack <- {
21886 MenhirLib.EngineTypes.state = _menhir_s;
21887 MenhirLib.EngineTypes.semv = Obj.repr _v;
21888 MenhirLib.EngineTypes.startp = _startpos;
21889 MenhirLib.EngineTypes.endp = _endpos;
21890 MenhirLib.EngineTypes.next = _menhir_stack;
21891 });
21892 (fun _menhir_env ->
21893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21894 let {
21895 MenhirLib.EngineTypes.state = _menhir_s;
21896 MenhirLib.EngineTypes.semv = f;
21897 MenhirLib.EngineTypes.startp = _startpos_f_;
21898 MenhirLib.EngineTypes.endp = _endpos_f_;
21899 MenhirLib.EngineTypes.next = _menhir_stack;
21900 } = _menhir_stack in
21901 let f : 'tv_funproto = Obj.magic f in
21902 let _startpos = _startpos_f_ in
21903 let _endpos = _endpos_f_ in
21904 let _v : 'tv_one_decl_var =
21905 # 1011 "parser_cocci_menhir.mly"
21906 ( f )
21907 # 21908 "parser_cocci_menhir.ml"
21908 in
21909 _menhir_env.MenhirLib.EngineTypes.stack <- {
21910 MenhirLib.EngineTypes.state = _menhir_s;
21911 MenhirLib.EngineTypes.semv = Obj.repr _v;
21912 MenhirLib.EngineTypes.startp = _startpos;
21913 MenhirLib.EngineTypes.endp = _endpos;
21914 MenhirLib.EngineTypes.next = _menhir_stack;
21915 });
21916 (fun _menhir_env ->
21917 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21918 let {
21919 MenhirLib.EngineTypes.semv = pv;
21920 MenhirLib.EngineTypes.startp = _startpos_pv_;
21921 MenhirLib.EngineTypes.endp = _endpos_pv_;
21922 MenhirLib.EngineTypes.next = {
21923 MenhirLib.EngineTypes.semv = e;
21924 MenhirLib.EngineTypes.startp = _startpos_e_;
21925 MenhirLib.EngineTypes.endp = _endpos_e_;
21926 MenhirLib.EngineTypes.next = {
21927 MenhirLib.EngineTypes.semv = q;
21928 MenhirLib.EngineTypes.startp = _startpos_q_;
21929 MenhirLib.EngineTypes.endp = _endpos_q_;
21930 MenhirLib.EngineTypes.next = {
21931 MenhirLib.EngineTypes.semv = d;
21932 MenhirLib.EngineTypes.startp = _startpos_d_;
21933 MenhirLib.EngineTypes.endp = _endpos_d_;
21934 MenhirLib.EngineTypes.next = {
21935 MenhirLib.EngineTypes.state = _menhir_s;
21936 MenhirLib.EngineTypes.semv = t;
21937 MenhirLib.EngineTypes.startp = _startpos_t_;
21938 MenhirLib.EngineTypes.endp = _endpos_t_;
21939 MenhirLib.EngineTypes.next = _menhir_stack;
21940 };
21941 };
21942 };
21943 };
21944 } = _menhir_stack in
21945 let pv : (
21946 # 107 "parser_cocci_menhir.mly"
21947 (Data.clt)
21948 # 21949 "parser_cocci_menhir.ml"
21949 ) = Obj.magic pv in
21950 let e : 'tv_initialize = Obj.magic e in
21951 let q : (
21952 # 107 "parser_cocci_menhir.mly"
21953 (Data.clt)
21954 # 21955 "parser_cocci_menhir.ml"
21955 ) = Obj.magic q in
21956 let d : 'tv_d_ident = Obj.magic d in
21957 let t : 'tv_ctype = Obj.magic t in
21958 let _startpos = _startpos_t_ in
21959 let _endpos = _endpos_pv_ in
21960 let _v : 'tv_one_decl_var = let s =
21961
21962 # 39 "standard.mly"
21963 ( None )
21964 # 21965 "parser_cocci_menhir.ml"
21965
21966 in
21967
21968 # 1013 "parser_cocci_menhir.mly"
21969 ( let (id,fn) = d in
21970 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
21971 # 21972 "parser_cocci_menhir.ml"
21972 in
21973 _menhir_env.MenhirLib.EngineTypes.stack <- {
21974 MenhirLib.EngineTypes.state = _menhir_s;
21975 MenhirLib.EngineTypes.semv = Obj.repr _v;
21976 MenhirLib.EngineTypes.startp = _startpos;
21977 MenhirLib.EngineTypes.endp = _endpos;
21978 MenhirLib.EngineTypes.next = _menhir_stack;
21979 });
21980 (fun _menhir_env ->
21981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21982 let {
21983 MenhirLib.EngineTypes.semv = pv;
21984 MenhirLib.EngineTypes.startp = _startpos_pv_;
21985 MenhirLib.EngineTypes.endp = _endpos_pv_;
21986 MenhirLib.EngineTypes.next = {
21987 MenhirLib.EngineTypes.semv = e;
21988 MenhirLib.EngineTypes.startp = _startpos_e_;
21989 MenhirLib.EngineTypes.endp = _endpos_e_;
21990 MenhirLib.EngineTypes.next = {
21991 MenhirLib.EngineTypes.semv = q;
21992 MenhirLib.EngineTypes.startp = _startpos_q_;
21993 MenhirLib.EngineTypes.endp = _endpos_q_;
21994 MenhirLib.EngineTypes.next = {
21995 MenhirLib.EngineTypes.semv = d;
21996 MenhirLib.EngineTypes.startp = _startpos_d_;
21997 MenhirLib.EngineTypes.endp = _endpos_d_;
21998 MenhirLib.EngineTypes.next = {
21999 MenhirLib.EngineTypes.semv = t;
22000 MenhirLib.EngineTypes.startp = _startpos_t_;
22001 MenhirLib.EngineTypes.endp = _endpos_t_;
22002 MenhirLib.EngineTypes.next = {
22003 MenhirLib.EngineTypes.state = _menhir_s;
22004 MenhirLib.EngineTypes.semv = x0;
22005 MenhirLib.EngineTypes.startp = _startpos_x0_;
22006 MenhirLib.EngineTypes.endp = _endpos_x0_;
22007 MenhirLib.EngineTypes.next = _menhir_stack;
22008 };
22009 };
22010 };
22011 };
22012 };
22013 } = _menhir_stack in
22014 let pv : (
22015 # 107 "parser_cocci_menhir.mly"
22016 (Data.clt)
22017 # 22018 "parser_cocci_menhir.ml"
22018 ) = Obj.magic pv in
22019 let e : 'tv_initialize = Obj.magic e in
22020 let q : (
22021 # 107 "parser_cocci_menhir.mly"
22022 (Data.clt)
22023 # 22024 "parser_cocci_menhir.ml"
22024 ) = Obj.magic q in
22025 let d : 'tv_d_ident = Obj.magic d in
22026 let t : 'tv_ctype = Obj.magic t in
22027 let x0 : 'tv_storage = Obj.magic x0 in
22028 let _startpos = _startpos_x0_ in
22029 let _endpos = _endpos_pv_ in
22030 let _v : 'tv_one_decl_var = let s =
22031 let x = x0 in
22032
22033 # 41 "standard.mly"
22034 ( Some x )
22035 # 22036 "parser_cocci_menhir.ml"
22036
22037 in
22038
22039 # 1013 "parser_cocci_menhir.mly"
22040 ( let (id,fn) = d in
22041 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22042 # 22043 "parser_cocci_menhir.ml"
22043 in
22044 _menhir_env.MenhirLib.EngineTypes.stack <- {
22045 MenhirLib.EngineTypes.state = _menhir_s;
22046 MenhirLib.EngineTypes.semv = Obj.repr _v;
22047 MenhirLib.EngineTypes.startp = _startpos;
22048 MenhirLib.EngineTypes.endp = _endpos;
22049 MenhirLib.EngineTypes.next = _menhir_stack;
22050 });
22051 (fun _menhir_env ->
22052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22053 let {
22054 MenhirLib.EngineTypes.semv = pv;
22055 MenhirLib.EngineTypes.startp = _startpos_pv_;
22056 MenhirLib.EngineTypes.endp = _endpos_pv_;
22057 MenhirLib.EngineTypes.next = {
22058 MenhirLib.EngineTypes.semv = d;
22059 MenhirLib.EngineTypes.startp = _startpos_d_;
22060 MenhirLib.EngineTypes.endp = _endpos_d_;
22061 MenhirLib.EngineTypes.next = {
22062 MenhirLib.EngineTypes.state = _menhir_s;
22063 MenhirLib.EngineTypes.semv = i;
22064 MenhirLib.EngineTypes.startp = _startpos_i_;
22065 MenhirLib.EngineTypes.endp = _endpos_i_;
22066 MenhirLib.EngineTypes.next = _menhir_stack;
22067 };
22068 };
22069 } = _menhir_stack in
22070 let pv : (
22071 # 107 "parser_cocci_menhir.mly"
22072 (Data.clt)
22073 # 22074 "parser_cocci_menhir.ml"
22074 ) = Obj.magic pv in
22075 let d : 'tv_d_ident = Obj.magic d in
22076 let i : 'tv_pure_ident = Obj.magic i in
22077 let _startpos = _startpos_i_ in
22078 let _endpos = _endpos_pv_ in
22079 let _v : 'tv_one_decl_var = let cv =
22080
22081 # 39 "standard.mly"
22082 ( None )
22083 # 22084 "parser_cocci_menhir.ml"
22084
22085 in
22086 let s =
22087
22088 # 39 "standard.mly"
22089 ( None )
22090 # 22091 "parser_cocci_menhir.ml"
22091
22092 in
22093
22094 # 1018 "parser_cocci_menhir.mly"
22095 ( let (id,fn) = d in
22096 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22097 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22098 # 22099 "parser_cocci_menhir.ml"
22099 in
22100 _menhir_env.MenhirLib.EngineTypes.stack <- {
22101 MenhirLib.EngineTypes.state = _menhir_s;
22102 MenhirLib.EngineTypes.semv = Obj.repr _v;
22103 MenhirLib.EngineTypes.startp = _startpos;
22104 MenhirLib.EngineTypes.endp = _endpos;
22105 MenhirLib.EngineTypes.next = _menhir_stack;
22106 });
22107 (fun _menhir_env ->
22108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22109 let {
22110 MenhirLib.EngineTypes.semv = pv;
22111 MenhirLib.EngineTypes.startp = _startpos_pv_;
22112 MenhirLib.EngineTypes.endp = _endpos_pv_;
22113 MenhirLib.EngineTypes.next = {
22114 MenhirLib.EngineTypes.semv = d;
22115 MenhirLib.EngineTypes.startp = _startpos_d_;
22116 MenhirLib.EngineTypes.endp = _endpos_d_;
22117 MenhirLib.EngineTypes.next = {
22118 MenhirLib.EngineTypes.semv = i;
22119 MenhirLib.EngineTypes.startp = _startpos_i_;
22120 MenhirLib.EngineTypes.endp = _endpos_i_;
22121 MenhirLib.EngineTypes.next = {
22122 MenhirLib.EngineTypes.state = _menhir_s;
22123 MenhirLib.EngineTypes.semv = x0;
22124 MenhirLib.EngineTypes.startp = _startpos_x0_;
22125 MenhirLib.EngineTypes.endp = _endpos_x0_;
22126 MenhirLib.EngineTypes.next = _menhir_stack;
22127 };
22128 };
22129 };
22130 } = _menhir_stack in
22131 let pv : (
22132 # 107 "parser_cocci_menhir.mly"
22133 (Data.clt)
22134 # 22135 "parser_cocci_menhir.ml"
22135 ) = Obj.magic pv in
22136 let d : 'tv_d_ident = Obj.magic d in
22137 let i : 'tv_pure_ident = Obj.magic i in
22138 let x0 : 'tv_const_vol = Obj.magic x0 in
22139 let _startpos = _startpos_x0_ in
22140 let _endpos = _endpos_pv_ in
22141 let _v : 'tv_one_decl_var = let cv =
22142 let x = x0 in
22143
22144 # 41 "standard.mly"
22145 ( Some x )
22146 # 22147 "parser_cocci_menhir.ml"
22147
22148 in
22149 let s =
22150
22151 # 39 "standard.mly"
22152 ( None )
22153 # 22154 "parser_cocci_menhir.ml"
22154
22155 in
22156
22157 # 1018 "parser_cocci_menhir.mly"
22158 ( let (id,fn) = d in
22159 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22160 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22161 # 22162 "parser_cocci_menhir.ml"
22162 in
22163 _menhir_env.MenhirLib.EngineTypes.stack <- {
22164 MenhirLib.EngineTypes.state = _menhir_s;
22165 MenhirLib.EngineTypes.semv = Obj.repr _v;
22166 MenhirLib.EngineTypes.startp = _startpos;
22167 MenhirLib.EngineTypes.endp = _endpos;
22168 MenhirLib.EngineTypes.next = _menhir_stack;
22169 });
22170 (fun _menhir_env ->
22171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22172 let {
22173 MenhirLib.EngineTypes.semv = pv;
22174 MenhirLib.EngineTypes.startp = _startpos_pv_;
22175 MenhirLib.EngineTypes.endp = _endpos_pv_;
22176 MenhirLib.EngineTypes.next = {
22177 MenhirLib.EngineTypes.semv = d;
22178 MenhirLib.EngineTypes.startp = _startpos_d_;
22179 MenhirLib.EngineTypes.endp = _endpos_d_;
22180 MenhirLib.EngineTypes.next = {
22181 MenhirLib.EngineTypes.semv = i;
22182 MenhirLib.EngineTypes.startp = _startpos_i_;
22183 MenhirLib.EngineTypes.endp = _endpos_i_;
22184 MenhirLib.EngineTypes.next = {
22185 MenhirLib.EngineTypes.state = _menhir_s;
22186 MenhirLib.EngineTypes.semv = x0;
22187 MenhirLib.EngineTypes.startp = _startpos_x0_;
22188 MenhirLib.EngineTypes.endp = _endpos_x0_;
22189 MenhirLib.EngineTypes.next = _menhir_stack;
22190 };
22191 };
22192 };
22193 } = _menhir_stack in
22194 let pv : (
22195 # 107 "parser_cocci_menhir.mly"
22196 (Data.clt)
22197 # 22198 "parser_cocci_menhir.ml"
22198 ) = Obj.magic pv in
22199 let d : 'tv_d_ident = Obj.magic d in
22200 let i : 'tv_pure_ident = Obj.magic i in
22201 let x0 : 'tv_storage = Obj.magic x0 in
22202 let _startpos = _startpos_x0_ in
22203 let _endpos = _endpos_pv_ in
22204 let _v : 'tv_one_decl_var = let cv =
22205
22206 # 39 "standard.mly"
22207 ( None )
22208 # 22209 "parser_cocci_menhir.ml"
22209
22210 in
22211 let s =
22212 let x = x0 in
22213
22214 # 41 "standard.mly"
22215 ( Some x )
22216 # 22217 "parser_cocci_menhir.ml"
22217
22218 in
22219
22220 # 1018 "parser_cocci_menhir.mly"
22221 ( let (id,fn) = d in
22222 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22223 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22224 # 22225 "parser_cocci_menhir.ml"
22225 in
22226 _menhir_env.MenhirLib.EngineTypes.stack <- {
22227 MenhirLib.EngineTypes.state = _menhir_s;
22228 MenhirLib.EngineTypes.semv = Obj.repr _v;
22229 MenhirLib.EngineTypes.startp = _startpos;
22230 MenhirLib.EngineTypes.endp = _endpos;
22231 MenhirLib.EngineTypes.next = _menhir_stack;
22232 });
22233 (fun _menhir_env ->
22234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22235 let {
22236 MenhirLib.EngineTypes.semv = pv;
22237 MenhirLib.EngineTypes.startp = _startpos_pv_;
22238 MenhirLib.EngineTypes.endp = _endpos_pv_;
22239 MenhirLib.EngineTypes.next = {
22240 MenhirLib.EngineTypes.semv = d;
22241 MenhirLib.EngineTypes.startp = _startpos_d_;
22242 MenhirLib.EngineTypes.endp = _endpos_d_;
22243 MenhirLib.EngineTypes.next = {
22244 MenhirLib.EngineTypes.semv = i;
22245 MenhirLib.EngineTypes.startp = _startpos_i_;
22246 MenhirLib.EngineTypes.endp = _endpos_i_;
22247 MenhirLib.EngineTypes.next = {
22248 MenhirLib.EngineTypes.semv = x1;
22249 MenhirLib.EngineTypes.startp = _startpos_x1_;
22250 MenhirLib.EngineTypes.endp = _endpos_x1_;
22251 MenhirLib.EngineTypes.next = {
22252 MenhirLib.EngineTypes.state = _menhir_s;
22253 MenhirLib.EngineTypes.semv = x0;
22254 MenhirLib.EngineTypes.startp = _startpos_x0_;
22255 MenhirLib.EngineTypes.endp = _endpos_x0_;
22256 MenhirLib.EngineTypes.next = _menhir_stack;
22257 };
22258 };
22259 };
22260 };
22261 } = _menhir_stack in
22262 let pv : (
22263 # 107 "parser_cocci_menhir.mly"
22264 (Data.clt)
22265 # 22266 "parser_cocci_menhir.ml"
22266 ) = Obj.magic pv in
22267 let d : 'tv_d_ident = Obj.magic d in
22268 let i : 'tv_pure_ident = Obj.magic i in
22269 let x1 : 'tv_const_vol = Obj.magic x1 in
22270 let x0 : 'tv_storage = Obj.magic x0 in
22271 let _startpos = _startpos_x0_ in
22272 let _endpos = _endpos_pv_ in
22273 let _v : 'tv_one_decl_var = let cv =
22274 let x = x1 in
22275
22276 # 41 "standard.mly"
22277 ( Some x )
22278 # 22279 "parser_cocci_menhir.ml"
22279
22280 in
22281 let s =
22282 let x = x0 in
22283
22284 # 41 "standard.mly"
22285 ( Some x )
22286 # 22287 "parser_cocci_menhir.ml"
22287
22288 in
22289
22290 # 1018 "parser_cocci_menhir.mly"
22291 ( let (id,fn) = d in
22292 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22293 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22294 # 22295 "parser_cocci_menhir.ml"
22295 in
22296 _menhir_env.MenhirLib.EngineTypes.stack <- {
22297 MenhirLib.EngineTypes.state = _menhir_s;
22298 MenhirLib.EngineTypes.semv = Obj.repr _v;
22299 MenhirLib.EngineTypes.startp = _startpos;
22300 MenhirLib.EngineTypes.endp = _endpos;
22301 MenhirLib.EngineTypes.next = _menhir_stack;
22302 });
22303 (fun _menhir_env ->
22304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22305 let {
22306 MenhirLib.EngineTypes.semv = pv;
22307 MenhirLib.EngineTypes.startp = _startpos_pv_;
22308 MenhirLib.EngineTypes.endp = _endpos_pv_;
22309 MenhirLib.EngineTypes.next = {
22310 MenhirLib.EngineTypes.semv = e;
22311 MenhirLib.EngineTypes.startp = _startpos_e_;
22312 MenhirLib.EngineTypes.endp = _endpos_e_;
22313 MenhirLib.EngineTypes.next = {
22314 MenhirLib.EngineTypes.semv = q;
22315 MenhirLib.EngineTypes.startp = _startpos_q_;
22316 MenhirLib.EngineTypes.endp = _endpos_q_;
22317 MenhirLib.EngineTypes.next = {
22318 MenhirLib.EngineTypes.semv = d;
22319 MenhirLib.EngineTypes.startp = _startpos_d_;
22320 MenhirLib.EngineTypes.endp = _endpos_d_;
22321 MenhirLib.EngineTypes.next = {
22322 MenhirLib.EngineTypes.state = _menhir_s;
22323 MenhirLib.EngineTypes.semv = i;
22324 MenhirLib.EngineTypes.startp = _startpos_i_;
22325 MenhirLib.EngineTypes.endp = _endpos_i_;
22326 MenhirLib.EngineTypes.next = _menhir_stack;
22327 };
22328 };
22329 };
22330 };
22331 } = _menhir_stack in
22332 let pv : (
22333 # 107 "parser_cocci_menhir.mly"
22334 (Data.clt)
22335 # 22336 "parser_cocci_menhir.ml"
22336 ) = Obj.magic pv in
22337 let e : 'tv_initialize = Obj.magic e in
22338 let q : (
22339 # 107 "parser_cocci_menhir.mly"
22340 (Data.clt)
22341 # 22342 "parser_cocci_menhir.ml"
22342 ) = Obj.magic q in
22343 let d : 'tv_d_ident = Obj.magic d in
22344 let i : 'tv_pure_ident = Obj.magic i in
22345 let _startpos = _startpos_i_ in
22346 let _endpos = _endpos_pv_ in
22347 let _v : 'tv_one_decl_var = let cv =
22348
22349 # 39 "standard.mly"
22350 ( None )
22351 # 22352 "parser_cocci_menhir.ml"
22352
22353 in
22354 let s =
22355
22356 # 39 "standard.mly"
22357 ( None )
22358 # 22359 "parser_cocci_menhir.ml"
22359
22360 in
22361
22362 # 1023 "parser_cocci_menhir.mly"
22363 ( let (id,fn) = d in
22364 !Data.add_type_name (P.id2name i);
22365 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22366 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22367 P.clt2mcode ";" pv)) )
22368 # 22369 "parser_cocci_menhir.ml"
22369 in
22370 _menhir_env.MenhirLib.EngineTypes.stack <- {
22371 MenhirLib.EngineTypes.state = _menhir_s;
22372 MenhirLib.EngineTypes.semv = Obj.repr _v;
22373 MenhirLib.EngineTypes.startp = _startpos;
22374 MenhirLib.EngineTypes.endp = _endpos;
22375 MenhirLib.EngineTypes.next = _menhir_stack;
22376 });
22377 (fun _menhir_env ->
22378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22379 let {
22380 MenhirLib.EngineTypes.semv = pv;
22381 MenhirLib.EngineTypes.startp = _startpos_pv_;
22382 MenhirLib.EngineTypes.endp = _endpos_pv_;
22383 MenhirLib.EngineTypes.next = {
22384 MenhirLib.EngineTypes.semv = e;
22385 MenhirLib.EngineTypes.startp = _startpos_e_;
22386 MenhirLib.EngineTypes.endp = _endpos_e_;
22387 MenhirLib.EngineTypes.next = {
22388 MenhirLib.EngineTypes.semv = q;
22389 MenhirLib.EngineTypes.startp = _startpos_q_;
22390 MenhirLib.EngineTypes.endp = _endpos_q_;
22391 MenhirLib.EngineTypes.next = {
22392 MenhirLib.EngineTypes.semv = d;
22393 MenhirLib.EngineTypes.startp = _startpos_d_;
22394 MenhirLib.EngineTypes.endp = _endpos_d_;
22395 MenhirLib.EngineTypes.next = {
22396 MenhirLib.EngineTypes.semv = i;
22397 MenhirLib.EngineTypes.startp = _startpos_i_;
22398 MenhirLib.EngineTypes.endp = _endpos_i_;
22399 MenhirLib.EngineTypes.next = {
22400 MenhirLib.EngineTypes.state = _menhir_s;
22401 MenhirLib.EngineTypes.semv = x0;
22402 MenhirLib.EngineTypes.startp = _startpos_x0_;
22403 MenhirLib.EngineTypes.endp = _endpos_x0_;
22404 MenhirLib.EngineTypes.next = _menhir_stack;
22405 };
22406 };
22407 };
22408 };
22409 };
22410 } = _menhir_stack in
22411 let pv : (
22412 # 107 "parser_cocci_menhir.mly"
22413 (Data.clt)
22414 # 22415 "parser_cocci_menhir.ml"
22415 ) = Obj.magic pv in
22416 let e : 'tv_initialize = Obj.magic e in
22417 let q : (
22418 # 107 "parser_cocci_menhir.mly"
22419 (Data.clt)
22420 # 22421 "parser_cocci_menhir.ml"
22421 ) = Obj.magic q in
22422 let d : 'tv_d_ident = Obj.magic d in
22423 let i : 'tv_pure_ident = Obj.magic i in
22424 let x0 : 'tv_const_vol = Obj.magic x0 in
22425 let _startpos = _startpos_x0_ in
22426 let _endpos = _endpos_pv_ in
22427 let _v : 'tv_one_decl_var = let cv =
22428 let x = x0 in
22429
22430 # 41 "standard.mly"
22431 ( Some x )
22432 # 22433 "parser_cocci_menhir.ml"
22433
22434 in
22435 let s =
22436
22437 # 39 "standard.mly"
22438 ( None )
22439 # 22440 "parser_cocci_menhir.ml"
22440
22441 in
22442
22443 # 1023 "parser_cocci_menhir.mly"
22444 ( let (id,fn) = d in
22445 !Data.add_type_name (P.id2name i);
22446 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22447 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22448 P.clt2mcode ";" pv)) )
22449 # 22450 "parser_cocci_menhir.ml"
22450 in
22451 _menhir_env.MenhirLib.EngineTypes.stack <- {
22452 MenhirLib.EngineTypes.state = _menhir_s;
22453 MenhirLib.EngineTypes.semv = Obj.repr _v;
22454 MenhirLib.EngineTypes.startp = _startpos;
22455 MenhirLib.EngineTypes.endp = _endpos;
22456 MenhirLib.EngineTypes.next = _menhir_stack;
22457 });
22458 (fun _menhir_env ->
22459 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22460 let {
22461 MenhirLib.EngineTypes.semv = pv;
22462 MenhirLib.EngineTypes.startp = _startpos_pv_;
22463 MenhirLib.EngineTypes.endp = _endpos_pv_;
22464 MenhirLib.EngineTypes.next = {
22465 MenhirLib.EngineTypes.semv = e;
22466 MenhirLib.EngineTypes.startp = _startpos_e_;
22467 MenhirLib.EngineTypes.endp = _endpos_e_;
22468 MenhirLib.EngineTypes.next = {
22469 MenhirLib.EngineTypes.semv = q;
22470 MenhirLib.EngineTypes.startp = _startpos_q_;
22471 MenhirLib.EngineTypes.endp = _endpos_q_;
22472 MenhirLib.EngineTypes.next = {
22473 MenhirLib.EngineTypes.semv = d;
22474 MenhirLib.EngineTypes.startp = _startpos_d_;
22475 MenhirLib.EngineTypes.endp = _endpos_d_;
22476 MenhirLib.EngineTypes.next = {
22477 MenhirLib.EngineTypes.semv = i;
22478 MenhirLib.EngineTypes.startp = _startpos_i_;
22479 MenhirLib.EngineTypes.endp = _endpos_i_;
22480 MenhirLib.EngineTypes.next = {
22481 MenhirLib.EngineTypes.state = _menhir_s;
22482 MenhirLib.EngineTypes.semv = x0;
22483 MenhirLib.EngineTypes.startp = _startpos_x0_;
22484 MenhirLib.EngineTypes.endp = _endpos_x0_;
22485 MenhirLib.EngineTypes.next = _menhir_stack;
22486 };
22487 };
22488 };
22489 };
22490 };
22491 } = _menhir_stack in
22492 let pv : (
22493 # 107 "parser_cocci_menhir.mly"
22494 (Data.clt)
22495 # 22496 "parser_cocci_menhir.ml"
22496 ) = Obj.magic pv in
22497 let e : 'tv_initialize = Obj.magic e in
22498 let q : (
22499 # 107 "parser_cocci_menhir.mly"
22500 (Data.clt)
22501 # 22502 "parser_cocci_menhir.ml"
22502 ) = Obj.magic q in
22503 let d : 'tv_d_ident = Obj.magic d in
22504 let i : 'tv_pure_ident = Obj.magic i in
22505 let x0 : 'tv_storage = Obj.magic x0 in
22506 let _startpos = _startpos_x0_ in
22507 let _endpos = _endpos_pv_ in
22508 let _v : 'tv_one_decl_var = let cv =
22509
22510 # 39 "standard.mly"
22511 ( None )
22512 # 22513 "parser_cocci_menhir.ml"
22513
22514 in
22515 let s =
22516 let x = x0 in
22517
22518 # 41 "standard.mly"
22519 ( Some x )
22520 # 22521 "parser_cocci_menhir.ml"
22521
22522 in
22523
22524 # 1023 "parser_cocci_menhir.mly"
22525 ( let (id,fn) = d in
22526 !Data.add_type_name (P.id2name i);
22527 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22528 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22529 P.clt2mcode ";" pv)) )
22530 # 22531 "parser_cocci_menhir.ml"
22531 in
22532 _menhir_env.MenhirLib.EngineTypes.stack <- {
22533 MenhirLib.EngineTypes.state = _menhir_s;
22534 MenhirLib.EngineTypes.semv = Obj.repr _v;
22535 MenhirLib.EngineTypes.startp = _startpos;
22536 MenhirLib.EngineTypes.endp = _endpos;
22537 MenhirLib.EngineTypes.next = _menhir_stack;
22538 });
22539 (fun _menhir_env ->
22540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22541 let {
22542 MenhirLib.EngineTypes.semv = pv;
22543 MenhirLib.EngineTypes.startp = _startpos_pv_;
22544 MenhirLib.EngineTypes.endp = _endpos_pv_;
22545 MenhirLib.EngineTypes.next = {
22546 MenhirLib.EngineTypes.semv = e;
22547 MenhirLib.EngineTypes.startp = _startpos_e_;
22548 MenhirLib.EngineTypes.endp = _endpos_e_;
22549 MenhirLib.EngineTypes.next = {
22550 MenhirLib.EngineTypes.semv = q;
22551 MenhirLib.EngineTypes.startp = _startpos_q_;
22552 MenhirLib.EngineTypes.endp = _endpos_q_;
22553 MenhirLib.EngineTypes.next = {
22554 MenhirLib.EngineTypes.semv = d;
22555 MenhirLib.EngineTypes.startp = _startpos_d_;
22556 MenhirLib.EngineTypes.endp = _endpos_d_;
22557 MenhirLib.EngineTypes.next = {
22558 MenhirLib.EngineTypes.semv = i;
22559 MenhirLib.EngineTypes.startp = _startpos_i_;
22560 MenhirLib.EngineTypes.endp = _endpos_i_;
22561 MenhirLib.EngineTypes.next = {
22562 MenhirLib.EngineTypes.semv = x1;
22563 MenhirLib.EngineTypes.startp = _startpos_x1_;
22564 MenhirLib.EngineTypes.endp = _endpos_x1_;
22565 MenhirLib.EngineTypes.next = {
22566 MenhirLib.EngineTypes.state = _menhir_s;
22567 MenhirLib.EngineTypes.semv = x0;
22568 MenhirLib.EngineTypes.startp = _startpos_x0_;
22569 MenhirLib.EngineTypes.endp = _endpos_x0_;
22570 MenhirLib.EngineTypes.next = _menhir_stack;
22571 };
22572 };
22573 };
22574 };
22575 };
22576 };
22577 } = _menhir_stack in
22578 let pv : (
22579 # 107 "parser_cocci_menhir.mly"
22580 (Data.clt)
22581 # 22582 "parser_cocci_menhir.ml"
22582 ) = Obj.magic pv in
22583 let e : 'tv_initialize = Obj.magic e in
22584 let q : (
22585 # 107 "parser_cocci_menhir.mly"
22586 (Data.clt)
22587 # 22588 "parser_cocci_menhir.ml"
22588 ) = Obj.magic q in
22589 let d : 'tv_d_ident = Obj.magic d in
22590 let i : 'tv_pure_ident = Obj.magic i in
22591 let x1 : 'tv_const_vol = Obj.magic x1 in
22592 let x0 : 'tv_storage = Obj.magic x0 in
22593 let _startpos = _startpos_x0_ in
22594 let _endpos = _endpos_pv_ in
22595 let _v : 'tv_one_decl_var = let cv =
22596 let x = x1 in
22597
22598 # 41 "standard.mly"
22599 ( Some x )
22600 # 22601 "parser_cocci_menhir.ml"
22601
22602 in
22603 let s =
22604 let x = x0 in
22605
22606 # 41 "standard.mly"
22607 ( Some x )
22608 # 22609 "parser_cocci_menhir.ml"
22609
22610 in
22611
22612 # 1023 "parser_cocci_menhir.mly"
22613 ( let (id,fn) = d in
22614 !Data.add_type_name (P.id2name i);
22615 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22616 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22617 P.clt2mcode ";" pv)) )
22618 # 22619 "parser_cocci_menhir.ml"
22619 in
22620 _menhir_env.MenhirLib.EngineTypes.stack <- {
22621 MenhirLib.EngineTypes.state = _menhir_s;
22622 MenhirLib.EngineTypes.semv = Obj.repr _v;
22623 MenhirLib.EngineTypes.startp = _startpos;
22624 MenhirLib.EngineTypes.endp = _endpos;
22625 MenhirLib.EngineTypes.next = _menhir_stack;
22626 });
22627 (fun _menhir_env ->
22628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22629 let {
22630 MenhirLib.EngineTypes.semv = pv;
22631 MenhirLib.EngineTypes.startp = _startpos_pv_;
22632 MenhirLib.EngineTypes.endp = _endpos_pv_;
22633 MenhirLib.EngineTypes.next = {
22634 MenhirLib.EngineTypes.semv = rp2;
22635 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22636 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22637 MenhirLib.EngineTypes.next = {
22638 MenhirLib.EngineTypes.semv = p;
22639 MenhirLib.EngineTypes.startp = _startpos_p_;
22640 MenhirLib.EngineTypes.endp = _endpos_p_;
22641 MenhirLib.EngineTypes.next = {
22642 MenhirLib.EngineTypes.semv = lp2;
22643 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22644 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22645 MenhirLib.EngineTypes.next = {
22646 MenhirLib.EngineTypes.semv = rp1;
22647 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22648 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22649 MenhirLib.EngineTypes.next = {
22650 MenhirLib.EngineTypes.semv = d;
22651 MenhirLib.EngineTypes.startp = _startpos_d_;
22652 MenhirLib.EngineTypes.endp = _endpos_d_;
22653 MenhirLib.EngineTypes.next = {
22654 MenhirLib.EngineTypes.semv = st;
22655 MenhirLib.EngineTypes.startp = _startpos_st_;
22656 MenhirLib.EngineTypes.endp = _endpos_st_;
22657 MenhirLib.EngineTypes.next = {
22658 MenhirLib.EngineTypes.semv = lp1;
22659 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22660 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22661 MenhirLib.EngineTypes.next = {
22662 MenhirLib.EngineTypes.state = _menhir_s;
22663 MenhirLib.EngineTypes.semv = t;
22664 MenhirLib.EngineTypes.startp = _startpos_t_;
22665 MenhirLib.EngineTypes.endp = _endpos_t_;
22666 MenhirLib.EngineTypes.next = _menhir_stack;
22667 };
22668 };
22669 };
22670 };
22671 };
22672 };
22673 };
22674 };
22675 } = _menhir_stack in
22676 let pv : (
22677 # 107 "parser_cocci_menhir.mly"
22678 (Data.clt)
22679 # 22680 "parser_cocci_menhir.ml"
22680 ) = Obj.magic pv in
22681 let rp2 : (
22682 # 77 "parser_cocci_menhir.mly"
22683 (Data.clt)
22684 # 22685 "parser_cocci_menhir.ml"
22685 ) = Obj.magic rp2 in
22686 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22687 let lp2 : (
22688 # 76 "parser_cocci_menhir.mly"
22689 (Data.clt)
22690 # 22691 "parser_cocci_menhir.ml"
22691 ) = Obj.magic lp2 in
22692 let rp1 : (
22693 # 77 "parser_cocci_menhir.mly"
22694 (Data.clt)
22695 # 22696 "parser_cocci_menhir.ml"
22696 ) = Obj.magic rp1 in
22697 let d : 'tv_d_ident = Obj.magic d in
22698 let st : (
22699 # 99 "parser_cocci_menhir.mly"
22700 (Data.clt)
22701 # 22702 "parser_cocci_menhir.ml"
22702 ) = Obj.magic st in
22703 let lp1 : (
22704 # 76 "parser_cocci_menhir.mly"
22705 (Data.clt)
22706 # 22707 "parser_cocci_menhir.ml"
22707 ) = Obj.magic lp1 in
22708 let t : 'tv_ctype = Obj.magic t in
22709 let _startpos = _startpos_t_ in
22710 let _endpos = _endpos_pv_ in
22711 let _v : 'tv_one_decl_var = let s =
22712
22713 # 39 "standard.mly"
22714 ( None )
22715 # 22716 "parser_cocci_menhir.ml"
22716
22717 in
22718
22719 # 1033 "parser_cocci_menhir.mly"
22720 ( let (id,fn) = d in
22721 let t =
22722 Ast0.wrap
22723 (Ast0.FunctionPointer
22724 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22725 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22726 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22727 # 22728 "parser_cocci_menhir.ml"
22728 in
22729 _menhir_env.MenhirLib.EngineTypes.stack <- {
22730 MenhirLib.EngineTypes.state = _menhir_s;
22731 MenhirLib.EngineTypes.semv = Obj.repr _v;
22732 MenhirLib.EngineTypes.startp = _startpos;
22733 MenhirLib.EngineTypes.endp = _endpos;
22734 MenhirLib.EngineTypes.next = _menhir_stack;
22735 });
22736 (fun _menhir_env ->
22737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22738 let {
22739 MenhirLib.EngineTypes.semv = pv;
22740 MenhirLib.EngineTypes.startp = _startpos_pv_;
22741 MenhirLib.EngineTypes.endp = _endpos_pv_;
22742 MenhirLib.EngineTypes.next = {
22743 MenhirLib.EngineTypes.semv = rp2;
22744 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22745 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22746 MenhirLib.EngineTypes.next = {
22747 MenhirLib.EngineTypes.semv = p;
22748 MenhirLib.EngineTypes.startp = _startpos_p_;
22749 MenhirLib.EngineTypes.endp = _endpos_p_;
22750 MenhirLib.EngineTypes.next = {
22751 MenhirLib.EngineTypes.semv = lp2;
22752 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22753 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22754 MenhirLib.EngineTypes.next = {
22755 MenhirLib.EngineTypes.semv = rp1;
22756 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22757 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22758 MenhirLib.EngineTypes.next = {
22759 MenhirLib.EngineTypes.semv = d;
22760 MenhirLib.EngineTypes.startp = _startpos_d_;
22761 MenhirLib.EngineTypes.endp = _endpos_d_;
22762 MenhirLib.EngineTypes.next = {
22763 MenhirLib.EngineTypes.semv = st;
22764 MenhirLib.EngineTypes.startp = _startpos_st_;
22765 MenhirLib.EngineTypes.endp = _endpos_st_;
22766 MenhirLib.EngineTypes.next = {
22767 MenhirLib.EngineTypes.semv = lp1;
22768 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22769 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22770 MenhirLib.EngineTypes.next = {
22771 MenhirLib.EngineTypes.semv = t;
22772 MenhirLib.EngineTypes.startp = _startpos_t_;
22773 MenhirLib.EngineTypes.endp = _endpos_t_;
22774 MenhirLib.EngineTypes.next = {
22775 MenhirLib.EngineTypes.state = _menhir_s;
22776 MenhirLib.EngineTypes.semv = x0;
22777 MenhirLib.EngineTypes.startp = _startpos_x0_;
22778 MenhirLib.EngineTypes.endp = _endpos_x0_;
22779 MenhirLib.EngineTypes.next = _menhir_stack;
22780 };
22781 };
22782 };
22783 };
22784 };
22785 };
22786 };
22787 };
22788 };
22789 } = _menhir_stack in
22790 let pv : (
22791 # 107 "parser_cocci_menhir.mly"
22792 (Data.clt)
22793 # 22794 "parser_cocci_menhir.ml"
22794 ) = Obj.magic pv in
22795 let rp2 : (
22796 # 77 "parser_cocci_menhir.mly"
22797 (Data.clt)
22798 # 22799 "parser_cocci_menhir.ml"
22799 ) = Obj.magic rp2 in
22800 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22801 let lp2 : (
22802 # 76 "parser_cocci_menhir.mly"
22803 (Data.clt)
22804 # 22805 "parser_cocci_menhir.ml"
22805 ) = Obj.magic lp2 in
22806 let rp1 : (
22807 # 77 "parser_cocci_menhir.mly"
22808 (Data.clt)
22809 # 22810 "parser_cocci_menhir.ml"
22810 ) = Obj.magic rp1 in
22811 let d : 'tv_d_ident = Obj.magic d in
22812 let st : (
22813 # 99 "parser_cocci_menhir.mly"
22814 (Data.clt)
22815 # 22816 "parser_cocci_menhir.ml"
22816 ) = Obj.magic st in
22817 let lp1 : (
22818 # 76 "parser_cocci_menhir.mly"
22819 (Data.clt)
22820 # 22821 "parser_cocci_menhir.ml"
22821 ) = Obj.magic lp1 in
22822 let t : 'tv_ctype = Obj.magic t in
22823 let x0 : 'tv_storage = Obj.magic x0 in
22824 let _startpos = _startpos_x0_ in
22825 let _endpos = _endpos_pv_ in
22826 let _v : 'tv_one_decl_var = let s =
22827 let x = x0 in
22828
22829 # 41 "standard.mly"
22830 ( Some x )
22831 # 22832 "parser_cocci_menhir.ml"
22832
22833 in
22834
22835 # 1033 "parser_cocci_menhir.mly"
22836 ( let (id,fn) = d in
22837 let t =
22838 Ast0.wrap
22839 (Ast0.FunctionPointer
22840 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22841 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22842 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22843 # 22844 "parser_cocci_menhir.ml"
22844 in
22845 _menhir_env.MenhirLib.EngineTypes.stack <- {
22846 MenhirLib.EngineTypes.state = _menhir_s;
22847 MenhirLib.EngineTypes.semv = Obj.repr _v;
22848 MenhirLib.EngineTypes.startp = _startpos;
22849 MenhirLib.EngineTypes.endp = _endpos;
22850 MenhirLib.EngineTypes.next = _menhir_stack;
22851 });
22852 (fun _menhir_env ->
22853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22854 let {
22855 MenhirLib.EngineTypes.semv = _5;
22856 MenhirLib.EngineTypes.startp = _startpos__5_;
22857 MenhirLib.EngineTypes.endp = _endpos__5_;
22858 MenhirLib.EngineTypes.next = {
22859 MenhirLib.EngineTypes.semv = _4;
22860 MenhirLib.EngineTypes.startp = _startpos__4_;
22861 MenhirLib.EngineTypes.endp = _endpos__4_;
22862 MenhirLib.EngineTypes.next = {
22863 MenhirLib.EngineTypes.semv = _3;
22864 MenhirLib.EngineTypes.startp = _startpos__3_;
22865 MenhirLib.EngineTypes.endp = _endpos__3_;
22866 MenhirLib.EngineTypes.next = {
22867 MenhirLib.EngineTypes.semv = _2;
22868 MenhirLib.EngineTypes.startp = _startpos__2_;
22869 MenhirLib.EngineTypes.endp = _endpos__2_;
22870 MenhirLib.EngineTypes.next = {
22871 MenhirLib.EngineTypes.state = _menhir_s;
22872 MenhirLib.EngineTypes.semv = _1;
22873 MenhirLib.EngineTypes.startp = _startpos__1_;
22874 MenhirLib.EngineTypes.endp = _endpos__1_;
22875 MenhirLib.EngineTypes.next = _menhir_stack;
22876 };
22877 };
22878 };
22879 };
22880 } = _menhir_stack in
22881 let _5 : (
22882 # 107 "parser_cocci_menhir.mly"
22883 (Data.clt)
22884 # 22885 "parser_cocci_menhir.ml"
22885 ) = Obj.magic _5 in
22886 let _4 : (
22887 # 77 "parser_cocci_menhir.mly"
22888 (Data.clt)
22889 # 22890 "parser_cocci_menhir.ml"
22890 ) = Obj.magic _4 in
22891 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
22892 let _2 : (
22893 # 76 "parser_cocci_menhir.mly"
22894 (Data.clt)
22895 # 22896 "parser_cocci_menhir.ml"
22896 ) = Obj.magic _2 in
22897 let _1 : 'tv_decl_ident = Obj.magic _1 in
22898 let _startpos = _startpos__1_ in
22899 let _endpos = _endpos__5_ in
22900 let _v : 'tv_one_decl_var =
22901 # 1041 "parser_cocci_menhir.mly"
22902 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
22903 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
22904 # 22905 "parser_cocci_menhir.ml"
22905 in
22906 _menhir_env.MenhirLib.EngineTypes.stack <- {
22907 MenhirLib.EngineTypes.state = _menhir_s;
22908 MenhirLib.EngineTypes.semv = Obj.repr _v;
22909 MenhirLib.EngineTypes.startp = _startpos;
22910 MenhirLib.EngineTypes.endp = _endpos;
22911 MenhirLib.EngineTypes.next = _menhir_stack;
22912 });
22913 (fun _menhir_env ->
22914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22915 let {
22916 MenhirLib.EngineTypes.semv = pv;
22917 MenhirLib.EngineTypes.startp = _startpos_pv_;
22918 MenhirLib.EngineTypes.endp = _endpos_pv_;
22919 MenhirLib.EngineTypes.next = {
22920 MenhirLib.EngineTypes.semv = e;
22921 MenhirLib.EngineTypes.startp = _startpos_e_;
22922 MenhirLib.EngineTypes.endp = _endpos_e_;
22923 MenhirLib.EngineTypes.next = {
22924 MenhirLib.EngineTypes.semv = q;
22925 MenhirLib.EngineTypes.startp = _startpos_q_;
22926 MenhirLib.EngineTypes.endp = _endpos_q_;
22927 MenhirLib.EngineTypes.next = {
22928 MenhirLib.EngineTypes.semv = rp2;
22929 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22930 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22931 MenhirLib.EngineTypes.next = {
22932 MenhirLib.EngineTypes.semv = p;
22933 MenhirLib.EngineTypes.startp = _startpos_p_;
22934 MenhirLib.EngineTypes.endp = _endpos_p_;
22935 MenhirLib.EngineTypes.next = {
22936 MenhirLib.EngineTypes.semv = lp2;
22937 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22938 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22939 MenhirLib.EngineTypes.next = {
22940 MenhirLib.EngineTypes.semv = rp1;
22941 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22942 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22943 MenhirLib.EngineTypes.next = {
22944 MenhirLib.EngineTypes.semv = d;
22945 MenhirLib.EngineTypes.startp = _startpos_d_;
22946 MenhirLib.EngineTypes.endp = _endpos_d_;
22947 MenhirLib.EngineTypes.next = {
22948 MenhirLib.EngineTypes.semv = st;
22949 MenhirLib.EngineTypes.startp = _startpos_st_;
22950 MenhirLib.EngineTypes.endp = _endpos_st_;
22951 MenhirLib.EngineTypes.next = {
22952 MenhirLib.EngineTypes.semv = lp1;
22953 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22954 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22955 MenhirLib.EngineTypes.next = {
22956 MenhirLib.EngineTypes.state = _menhir_s;
22957 MenhirLib.EngineTypes.semv = t;
22958 MenhirLib.EngineTypes.startp = _startpos_t_;
22959 MenhirLib.EngineTypes.endp = _endpos_t_;
22960 MenhirLib.EngineTypes.next = _menhir_stack;
22961 };
22962 };
22963 };
22964 };
22965 };
22966 };
22967 };
22968 };
22969 };
22970 };
22971 } = _menhir_stack in
22972 let pv : (
22973 # 107 "parser_cocci_menhir.mly"
22974 (Data.clt)
22975 # 22976 "parser_cocci_menhir.ml"
22976 ) = Obj.magic pv in
22977 let e : 'tv_initialize = Obj.magic e in
22978 let q : (
22979 # 107 "parser_cocci_menhir.mly"
22980 (Data.clt)
22981 # 22982 "parser_cocci_menhir.ml"
22982 ) = Obj.magic q in
22983 let rp2 : (
22984 # 77 "parser_cocci_menhir.mly"
22985 (Data.clt)
22986 # 22987 "parser_cocci_menhir.ml"
22987 ) = Obj.magic rp2 in
22988 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22989 let lp2 : (
22990 # 76 "parser_cocci_menhir.mly"
22991 (Data.clt)
22992 # 22993 "parser_cocci_menhir.ml"
22993 ) = Obj.magic lp2 in
22994 let rp1 : (
22995 # 77 "parser_cocci_menhir.mly"
22996 (Data.clt)
22997 # 22998 "parser_cocci_menhir.ml"
22998 ) = Obj.magic rp1 in
22999 let d : 'tv_d_ident = Obj.magic d in
23000 let st : (
23001 # 99 "parser_cocci_menhir.mly"
23002 (Data.clt)
23003 # 23004 "parser_cocci_menhir.ml"
23004 ) = Obj.magic st in
23005 let lp1 : (
23006 # 76 "parser_cocci_menhir.mly"
23007 (Data.clt)
23008 # 23009 "parser_cocci_menhir.ml"
23009 ) = Obj.magic lp1 in
23010 let t : 'tv_ctype = Obj.magic t in
23011 let _startpos = _startpos_t_ in
23012 let _endpos = _endpos_pv_ in
23013 let _v : 'tv_one_decl_var = let s =
23014
23015 # 39 "standard.mly"
23016 ( None )
23017 # 23018 "parser_cocci_menhir.ml"
23018
23019 in
23020
23021 # 1047 "parser_cocci_menhir.mly"
23022 ( let (id,fn) = d in
23023 let t =
23024 Ast0.wrap
23025 (Ast0.FunctionPointer
23026 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23027 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23028 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23029 # 23030 "parser_cocci_menhir.ml"
23030 in
23031 _menhir_env.MenhirLib.EngineTypes.stack <- {
23032 MenhirLib.EngineTypes.state = _menhir_s;
23033 MenhirLib.EngineTypes.semv = Obj.repr _v;
23034 MenhirLib.EngineTypes.startp = _startpos;
23035 MenhirLib.EngineTypes.endp = _endpos;
23036 MenhirLib.EngineTypes.next = _menhir_stack;
23037 });
23038 (fun _menhir_env ->
23039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23040 let {
23041 MenhirLib.EngineTypes.semv = pv;
23042 MenhirLib.EngineTypes.startp = _startpos_pv_;
23043 MenhirLib.EngineTypes.endp = _endpos_pv_;
23044 MenhirLib.EngineTypes.next = {
23045 MenhirLib.EngineTypes.semv = e;
23046 MenhirLib.EngineTypes.startp = _startpos_e_;
23047 MenhirLib.EngineTypes.endp = _endpos_e_;
23048 MenhirLib.EngineTypes.next = {
23049 MenhirLib.EngineTypes.semv = q;
23050 MenhirLib.EngineTypes.startp = _startpos_q_;
23051 MenhirLib.EngineTypes.endp = _endpos_q_;
23052 MenhirLib.EngineTypes.next = {
23053 MenhirLib.EngineTypes.semv = rp2;
23054 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23055 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23056 MenhirLib.EngineTypes.next = {
23057 MenhirLib.EngineTypes.semv = p;
23058 MenhirLib.EngineTypes.startp = _startpos_p_;
23059 MenhirLib.EngineTypes.endp = _endpos_p_;
23060 MenhirLib.EngineTypes.next = {
23061 MenhirLib.EngineTypes.semv = lp2;
23062 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23063 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23064 MenhirLib.EngineTypes.next = {
23065 MenhirLib.EngineTypes.semv = rp1;
23066 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23067 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23068 MenhirLib.EngineTypes.next = {
23069 MenhirLib.EngineTypes.semv = d;
23070 MenhirLib.EngineTypes.startp = _startpos_d_;
23071 MenhirLib.EngineTypes.endp = _endpos_d_;
23072 MenhirLib.EngineTypes.next = {
23073 MenhirLib.EngineTypes.semv = st;
23074 MenhirLib.EngineTypes.startp = _startpos_st_;
23075 MenhirLib.EngineTypes.endp = _endpos_st_;
23076 MenhirLib.EngineTypes.next = {
23077 MenhirLib.EngineTypes.semv = lp1;
23078 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23079 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23080 MenhirLib.EngineTypes.next = {
23081 MenhirLib.EngineTypes.semv = t;
23082 MenhirLib.EngineTypes.startp = _startpos_t_;
23083 MenhirLib.EngineTypes.endp = _endpos_t_;
23084 MenhirLib.EngineTypes.next = {
23085 MenhirLib.EngineTypes.state = _menhir_s;
23086 MenhirLib.EngineTypes.semv = x0;
23087 MenhirLib.EngineTypes.startp = _startpos_x0_;
23088 MenhirLib.EngineTypes.endp = _endpos_x0_;
23089 MenhirLib.EngineTypes.next = _menhir_stack;
23090 };
23091 };
23092 };
23093 };
23094 };
23095 };
23096 };
23097 };
23098 };
23099 };
23100 };
23101 } = _menhir_stack in
23102 let pv : (
23103 # 107 "parser_cocci_menhir.mly"
23104 (Data.clt)
23105 # 23106 "parser_cocci_menhir.ml"
23106 ) = Obj.magic pv in
23107 let e : 'tv_initialize = Obj.magic e in
23108 let q : (
23109 # 107 "parser_cocci_menhir.mly"
23110 (Data.clt)
23111 # 23112 "parser_cocci_menhir.ml"
23112 ) = Obj.magic q in
23113 let rp2 : (
23114 # 77 "parser_cocci_menhir.mly"
23115 (Data.clt)
23116 # 23117 "parser_cocci_menhir.ml"
23117 ) = Obj.magic rp2 in
23118 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23119 let lp2 : (
23120 # 76 "parser_cocci_menhir.mly"
23121 (Data.clt)
23122 # 23123 "parser_cocci_menhir.ml"
23123 ) = Obj.magic lp2 in
23124 let rp1 : (
23125 # 77 "parser_cocci_menhir.mly"
23126 (Data.clt)
23127 # 23128 "parser_cocci_menhir.ml"
23128 ) = Obj.magic rp1 in
23129 let d : 'tv_d_ident = Obj.magic d in
23130 let st : (
23131 # 99 "parser_cocci_menhir.mly"
23132 (Data.clt)
23133 # 23134 "parser_cocci_menhir.ml"
23134 ) = Obj.magic st in
23135 let lp1 : (
23136 # 76 "parser_cocci_menhir.mly"
23137 (Data.clt)
23138 # 23139 "parser_cocci_menhir.ml"
23139 ) = Obj.magic lp1 in
23140 let t : 'tv_ctype = Obj.magic t in
23141 let x0 : 'tv_storage = Obj.magic x0 in
23142 let _startpos = _startpos_x0_ in
23143 let _endpos = _endpos_pv_ in
23144 let _v : 'tv_one_decl_var = let s =
23145 let x = x0 in
23146
23147 # 41 "standard.mly"
23148 ( Some x )
23149 # 23150 "parser_cocci_menhir.ml"
23150
23151 in
23152
23153 # 1047 "parser_cocci_menhir.mly"
23154 ( let (id,fn) = d in
23155 let t =
23156 Ast0.wrap
23157 (Ast0.FunctionPointer
23158 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23159 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23160 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23161 # 23162 "parser_cocci_menhir.ml"
23162 in
23163 _menhir_env.MenhirLib.EngineTypes.stack <- {
23164 MenhirLib.EngineTypes.state = _menhir_s;
23165 MenhirLib.EngineTypes.semv = Obj.repr _v;
23166 MenhirLib.EngineTypes.startp = _startpos;
23167 MenhirLib.EngineTypes.endp = _endpos;
23168 MenhirLib.EngineTypes.next = _menhir_stack;
23169 });
23170 (fun _menhir_env ->
23171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23172 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23173 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23174 let _endpos = _startpos in
23175 let _v : 'tv_option_TLocal_ =
23176 # 29 "standard.mly"
23177 ( None )
23178 # 23179 "parser_cocci_menhir.ml"
23179 in
23180 _menhir_env.MenhirLib.EngineTypes.stack <- {
23181 MenhirLib.EngineTypes.state = _menhir_s;
23182 MenhirLib.EngineTypes.semv = Obj.repr _v;
23183 MenhirLib.EngineTypes.startp = _startpos;
23184 MenhirLib.EngineTypes.endp = _endpos;
23185 MenhirLib.EngineTypes.next = _menhir_stack;
23186 });
23187 (fun _menhir_env ->
23188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23189 let {
23190 MenhirLib.EngineTypes.state = _menhir_s;
23191 MenhirLib.EngineTypes.semv = x;
23192 MenhirLib.EngineTypes.startp = _startpos_x_;
23193 MenhirLib.EngineTypes.endp = _endpos_x_;
23194 MenhirLib.EngineTypes.next = _menhir_stack;
23195 } = _menhir_stack in
23196 let x : unit = Obj.magic x in
23197 let _startpos = _startpos_x_ in
23198 let _endpos = _endpos_x_ in
23199 let _v : 'tv_option_TLocal_ =
23200 # 31 "standard.mly"
23201 ( Some x )
23202 # 23203 "parser_cocci_menhir.ml"
23203 in
23204 _menhir_env.MenhirLib.EngineTypes.stack <- {
23205 MenhirLib.EngineTypes.state = _menhir_s;
23206 MenhirLib.EngineTypes.semv = Obj.repr _v;
23207 MenhirLib.EngineTypes.startp = _startpos;
23208 MenhirLib.EngineTypes.endp = _endpos;
23209 MenhirLib.EngineTypes.next = _menhir_stack;
23210 });
23211 (fun _menhir_env ->
23212 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23213 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23214 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23215 let _endpos = _startpos in
23216 let _v : 'tv_option_TPosAny_ =
23217 # 29 "standard.mly"
23218 ( None )
23219 # 23220 "parser_cocci_menhir.ml"
23220 in
23221 _menhir_env.MenhirLib.EngineTypes.stack <- {
23222 MenhirLib.EngineTypes.state = _menhir_s;
23223 MenhirLib.EngineTypes.semv = Obj.repr _v;
23224 MenhirLib.EngineTypes.startp = _startpos;
23225 MenhirLib.EngineTypes.endp = _endpos;
23226 MenhirLib.EngineTypes.next = _menhir_stack;
23227 });
23228 (fun _menhir_env ->
23229 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23230 let {
23231 MenhirLib.EngineTypes.state = _menhir_s;
23232 MenhirLib.EngineTypes.semv = x;
23233 MenhirLib.EngineTypes.startp = _startpos_x_;
23234 MenhirLib.EngineTypes.endp = _endpos_x_;
23235 MenhirLib.EngineTypes.next = _menhir_stack;
23236 } = _menhir_stack in
23237 let x : unit = Obj.magic x in
23238 let _startpos = _startpos_x_ in
23239 let _endpos = _endpos_x_ in
23240 let _v : 'tv_option_TPosAny_ =
23241 # 31 "standard.mly"
23242 ( Some x )
23243 # 23244 "parser_cocci_menhir.ml"
23244 in
23245 _menhir_env.MenhirLib.EngineTypes.stack <- {
23246 MenhirLib.EngineTypes.state = _menhir_s;
23247 MenhirLib.EngineTypes.semv = Obj.repr _v;
23248 MenhirLib.EngineTypes.startp = _startpos;
23249 MenhirLib.EngineTypes.endp = _endpos;
23250 MenhirLib.EngineTypes.next = _menhir_stack;
23251 });
23252 (fun _menhir_env ->
23253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23254 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23255 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23256 let _endpos = _startpos in
23257 let _v : 'tv_option_eexpr_ =
23258 # 29 "standard.mly"
23259 ( None )
23260 # 23261 "parser_cocci_menhir.ml"
23261 in
23262 _menhir_env.MenhirLib.EngineTypes.stack <- {
23263 MenhirLib.EngineTypes.state = _menhir_s;
23264 MenhirLib.EngineTypes.semv = Obj.repr _v;
23265 MenhirLib.EngineTypes.startp = _startpos;
23266 MenhirLib.EngineTypes.endp = _endpos;
23267 MenhirLib.EngineTypes.next = _menhir_stack;
23268 });
23269 (fun _menhir_env ->
23270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23271 let {
23272 MenhirLib.EngineTypes.state = _menhir_s;
23273 MenhirLib.EngineTypes.semv = x;
23274 MenhirLib.EngineTypes.startp = _startpos_x_;
23275 MenhirLib.EngineTypes.endp = _endpos_x_;
23276 MenhirLib.EngineTypes.next = _menhir_stack;
23277 } = _menhir_stack in
23278 let x : 'tv_eexpr = Obj.magic x in
23279 let _startpos = _startpos_x_ in
23280 let _endpos = _endpos_x_ in
23281 let _v : 'tv_option_eexpr_ =
23282 # 31 "standard.mly"
23283 ( Some x )
23284 # 23285 "parser_cocci_menhir.ml"
23285 in
23286 _menhir_env.MenhirLib.EngineTypes.stack <- {
23287 MenhirLib.EngineTypes.state = _menhir_s;
23288 MenhirLib.EngineTypes.semv = Obj.repr _v;
23289 MenhirLib.EngineTypes.startp = _startpos;
23290 MenhirLib.EngineTypes.endp = _endpos;
23291 MenhirLib.EngineTypes.next = _menhir_stack;
23292 });
23293 (fun _menhir_env ->
23294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23295 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23296 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23297 let _endpos = _startpos in
23298 let _v : 'tv_option_re_or_not_eqe_ =
23299 # 29 "standard.mly"
23300 ( None )
23301 # 23302 "parser_cocci_menhir.ml"
23302 in
23303 _menhir_env.MenhirLib.EngineTypes.stack <- {
23304 MenhirLib.EngineTypes.state = _menhir_s;
23305 MenhirLib.EngineTypes.semv = Obj.repr _v;
23306 MenhirLib.EngineTypes.startp = _startpos;
23307 MenhirLib.EngineTypes.endp = _endpos;
23308 MenhirLib.EngineTypes.next = _menhir_stack;
23309 });
23310 (fun _menhir_env ->
23311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23312 let {
23313 MenhirLib.EngineTypes.state = _menhir_s;
23314 MenhirLib.EngineTypes.semv = x;
23315 MenhirLib.EngineTypes.startp = _startpos_x_;
23316 MenhirLib.EngineTypes.endp = _endpos_x_;
23317 MenhirLib.EngineTypes.next = _menhir_stack;
23318 } = _menhir_stack in
23319 let x : 'tv_re_or_not_eqe = Obj.magic x in
23320 let _startpos = _startpos_x_ in
23321 let _endpos = _endpos_x_ in
23322 let _v : 'tv_option_re_or_not_eqe_ =
23323 # 31 "standard.mly"
23324 ( Some x )
23325 # 23326 "parser_cocci_menhir.ml"
23326 in
23327 _menhir_env.MenhirLib.EngineTypes.stack <- {
23328 MenhirLib.EngineTypes.state = _menhir_s;
23329 MenhirLib.EngineTypes.semv = Obj.repr _v;
23330 MenhirLib.EngineTypes.startp = _startpos;
23331 MenhirLib.EngineTypes.endp = _endpos;
23332 MenhirLib.EngineTypes.next = _menhir_stack;
23333 });
23334 (fun _menhir_env ->
23335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23336 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23337 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23338 let _endpos = _startpos in
23339 let _v : 'tv_option_re_or_not_eqid_ =
23340 # 29 "standard.mly"
23341 ( None )
23342 # 23343 "parser_cocci_menhir.ml"
23343 in
23344 _menhir_env.MenhirLib.EngineTypes.stack <- {
23345 MenhirLib.EngineTypes.state = _menhir_s;
23346 MenhirLib.EngineTypes.semv = Obj.repr _v;
23347 MenhirLib.EngineTypes.startp = _startpos;
23348 MenhirLib.EngineTypes.endp = _endpos;
23349 MenhirLib.EngineTypes.next = _menhir_stack;
23350 });
23351 (fun _menhir_env ->
23352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23353 let {
23354 MenhirLib.EngineTypes.state = _menhir_s;
23355 MenhirLib.EngineTypes.semv = x;
23356 MenhirLib.EngineTypes.startp = _startpos_x_;
23357 MenhirLib.EngineTypes.endp = _endpos_x_;
23358 MenhirLib.EngineTypes.next = _menhir_stack;
23359 } = _menhir_stack in
23360 let x : 'tv_re_or_not_eqid = Obj.magic x in
23361 let _startpos = _startpos_x_ in
23362 let _endpos = _endpos_x_ in
23363 let _v : 'tv_option_re_or_not_eqid_ =
23364 # 31 "standard.mly"
23365 ( Some x )
23366 # 23367 "parser_cocci_menhir.ml"
23367 in
23368 _menhir_env.MenhirLib.EngineTypes.stack <- {
23369 MenhirLib.EngineTypes.state = _menhir_s;
23370 MenhirLib.EngineTypes.semv = Obj.repr _v;
23371 MenhirLib.EngineTypes.startp = _startpos;
23372 MenhirLib.EngineTypes.endp = _endpos;
23373 MenhirLib.EngineTypes.next = _menhir_stack;
23374 });
23375 (fun _menhir_env ->
23376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23377 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23378 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23379 let _endpos = _startpos in
23380 let _v : 'tv_plus_after_dots =
23381 # 1752 "parser_cocci_menhir.mly"
23382 ([])
23383 # 23384 "parser_cocci_menhir.ml"
23384 in
23385 _menhir_env.MenhirLib.EngineTypes.stack <- {
23386 MenhirLib.EngineTypes.state = _menhir_s;
23387 MenhirLib.EngineTypes.semv = Obj.repr _v;
23388 MenhirLib.EngineTypes.startp = _startpos;
23389 MenhirLib.EngineTypes.endp = _endpos;
23390 MenhirLib.EngineTypes.next = _menhir_stack;
23391 });
23392 (fun _menhir_env ->
23393 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23394 let {
23395 MenhirLib.EngineTypes.semv = _2;
23396 MenhirLib.EngineTypes.startp = _startpos__2_;
23397 MenhirLib.EngineTypes.endp = _endpos__2_;
23398 MenhirLib.EngineTypes.next = {
23399 MenhirLib.EngineTypes.state = _menhir_s;
23400 MenhirLib.EngineTypes.startp = _startpos__1_;
23401 MenhirLib.EngineTypes.endp = _endpos__1_;
23402 MenhirLib.EngineTypes.next = _menhir_stack;
23403 };
23404 } = _menhir_stack in
23405 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23406 let _startpos = _startpos__1_ in
23407 let _endpos = _endpos__2_ in
23408 let _v : 'tv_plus_after_dots =
23409 # 1753 "parser_cocci_menhir.mly"
23410 (_2)
23411 # 23412 "parser_cocci_menhir.ml"
23412 in
23413 _menhir_env.MenhirLib.EngineTypes.stack <- {
23414 MenhirLib.EngineTypes.state = _menhir_s;
23415 MenhirLib.EngineTypes.semv = Obj.repr _v;
23416 MenhirLib.EngineTypes.startp = _startpos;
23417 MenhirLib.EngineTypes.endp = _endpos;
23418 MenhirLib.EngineTypes.next = _menhir_stack;
23419 });
23420 (fun _menhir_env ->
23421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23422 let {
23423 MenhirLib.EngineTypes.semv = _2;
23424 MenhirLib.EngineTypes.startp = _startpos__2_;
23425 MenhirLib.EngineTypes.endp = _endpos__2_;
23426 MenhirLib.EngineTypes.next = {
23427 MenhirLib.EngineTypes.state = _menhir_s;
23428 MenhirLib.EngineTypes.semv = _1;
23429 MenhirLib.EngineTypes.startp = _startpos__1_;
23430 MenhirLib.EngineTypes.endp = _endpos__1_;
23431 MenhirLib.EngineTypes.next = _menhir_stack;
23432 };
23433 } = _menhir_stack in
23434 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23435 let _1 : 'tv_expr = Obj.magic _1 in
23436 let _startpos = _startpos__1_ in
23437 let _endpos = _endpos__2_ in
23438 let _v : 'tv_plus_after_dots =
23439 # 1755 "parser_cocci_menhir.mly"
23440 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
23441 # 23442 "parser_cocci_menhir.ml"
23442 in
23443 _menhir_env.MenhirLib.EngineTypes.stack <- {
23444 MenhirLib.EngineTypes.state = _menhir_s;
23445 MenhirLib.EngineTypes.semv = Obj.repr _v;
23446 MenhirLib.EngineTypes.startp = _startpos;
23447 MenhirLib.EngineTypes.endp = _endpos;
23448 MenhirLib.EngineTypes.next = _menhir_stack;
23449 });
23450 (fun _menhir_env ->
23451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23452 let {
23453 MenhirLib.EngineTypes.semv = _2;
23454 MenhirLib.EngineTypes.startp = _startpos__2_;
23455 MenhirLib.EngineTypes.endp = _endpos__2_;
23456 MenhirLib.EngineTypes.next = {
23457 MenhirLib.EngineTypes.state = _menhir_s;
23458 MenhirLib.EngineTypes.semv = _1;
23459 MenhirLib.EngineTypes.startp = _startpos__1_;
23460 MenhirLib.EngineTypes.endp = _endpos__1_;
23461 MenhirLib.EngineTypes.next = _menhir_stack;
23462 };
23463 } = _menhir_stack in
23464 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23465 let _1 : 'tv_fundecl = Obj.magic _1 in
23466 let _startpos = _startpos__1_ in
23467 let _endpos = _endpos__2_ in
23468 let _v : 'tv_plus_after_dots =
23469 # 1756 "parser_cocci_menhir.mly"
23470 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23471 # 23472 "parser_cocci_menhir.ml"
23472 in
23473 _menhir_env.MenhirLib.EngineTypes.stack <- {
23474 MenhirLib.EngineTypes.state = _menhir_s;
23475 MenhirLib.EngineTypes.semv = Obj.repr _v;
23476 MenhirLib.EngineTypes.startp = _startpos;
23477 MenhirLib.EngineTypes.endp = _endpos;
23478 MenhirLib.EngineTypes.next = _menhir_stack;
23479 });
23480 (fun _menhir_env ->
23481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23482 let {
23483 MenhirLib.EngineTypes.semv = _2;
23484 MenhirLib.EngineTypes.startp = _startpos__2_;
23485 MenhirLib.EngineTypes.endp = _endpos__2_;
23486 MenhirLib.EngineTypes.next = {
23487 MenhirLib.EngineTypes.state = _menhir_s;
23488 MenhirLib.EngineTypes.semv = _1;
23489 MenhirLib.EngineTypes.startp = _startpos__1_;
23490 MenhirLib.EngineTypes.endp = _endpos__1_;
23491 MenhirLib.EngineTypes.next = _menhir_stack;
23492 };
23493 } = _menhir_stack in
23494 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23495 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
23496 let _startpos = _startpos__1_ in
23497 let _endpos = _endpos__2_ in
23498 let _v : 'tv_plus_after_dots =
23499 # 1758 "parser_cocci_menhir.mly"
23500 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23501 # 23502 "parser_cocci_menhir.ml"
23502 in
23503 _menhir_env.MenhirLib.EngineTypes.stack <- {
23504 MenhirLib.EngineTypes.state = _menhir_s;
23505 MenhirLib.EngineTypes.semv = Obj.repr _v;
23506 MenhirLib.EngineTypes.startp = _startpos;
23507 MenhirLib.EngineTypes.endp = _endpos;
23508 MenhirLib.EngineTypes.next = _menhir_stack;
23509 });
23510 (fun _menhir_env ->
23511 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23512 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23513 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23514 let _endpos = _startpos in
23515 let _v : 'tv_plus_after_exp =
23516 # 1748 "parser_cocci_menhir.mly"
23517 ([])
23518 # 23519 "parser_cocci_menhir.ml"
23519 in
23520 _menhir_env.MenhirLib.EngineTypes.stack <- {
23521 MenhirLib.EngineTypes.state = _menhir_s;
23522 MenhirLib.EngineTypes.semv = Obj.repr _v;
23523 MenhirLib.EngineTypes.startp = _startpos;
23524 MenhirLib.EngineTypes.endp = _endpos;
23525 MenhirLib.EngineTypes.next = _menhir_stack;
23526 });
23527 (fun _menhir_env ->
23528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23529 let {
23530 MenhirLib.EngineTypes.semv = _2;
23531 MenhirLib.EngineTypes.startp = _startpos__2_;
23532 MenhirLib.EngineTypes.endp = _endpos__2_;
23533 MenhirLib.EngineTypes.next = {
23534 MenhirLib.EngineTypes.state = _menhir_s;
23535 MenhirLib.EngineTypes.semv = _1;
23536 MenhirLib.EngineTypes.startp = _startpos__1_;
23537 MenhirLib.EngineTypes.endp = _endpos__1_;
23538 MenhirLib.EngineTypes.next = _menhir_stack;
23539 };
23540 } = _menhir_stack in
23541 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23542 let _1 : 'tv_stm_dots = Obj.magic _1 in
23543 let _startpos = _startpos__1_ in
23544 let _endpos = _endpos__2_ in
23545 let _v : 'tv_plus_after_exp =
23546 # 1749 "parser_cocci_menhir.mly"
23547 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23548 # 23549 "parser_cocci_menhir.ml"
23549 in
23550 _menhir_env.MenhirLib.EngineTypes.stack <- {
23551 MenhirLib.EngineTypes.state = _menhir_s;
23552 MenhirLib.EngineTypes.semv = Obj.repr _v;
23553 MenhirLib.EngineTypes.startp = _startpos;
23554 MenhirLib.EngineTypes.endp = _endpos;
23555 MenhirLib.EngineTypes.next = _menhir_stack;
23556 });
23557 (fun _menhir_env ->
23558 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23559 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23560 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23561 let _endpos = _startpos in
23562 let _v : 'tv_plus_after_stm =
23563 # 1761 "parser_cocci_menhir.mly"
23564 ([])
23565 # 23566 "parser_cocci_menhir.ml"
23566 in
23567 _menhir_env.MenhirLib.EngineTypes.stack <- {
23568 MenhirLib.EngineTypes.state = _menhir_s;
23569 MenhirLib.EngineTypes.semv = Obj.repr _v;
23570 MenhirLib.EngineTypes.startp = _startpos;
23571 MenhirLib.EngineTypes.endp = _endpos;
23572 MenhirLib.EngineTypes.next = _menhir_stack;
23573 });
23574 (fun _menhir_env ->
23575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23576 let {
23577 MenhirLib.EngineTypes.semv = _2;
23578 MenhirLib.EngineTypes.startp = _startpos__2_;
23579 MenhirLib.EngineTypes.endp = _endpos__2_;
23580 MenhirLib.EngineTypes.next = {
23581 MenhirLib.EngineTypes.state = _menhir_s;
23582 MenhirLib.EngineTypes.semv = _1;
23583 MenhirLib.EngineTypes.startp = _startpos__1_;
23584 MenhirLib.EngineTypes.endp = _endpos__1_;
23585 MenhirLib.EngineTypes.next = _menhir_stack;
23586 };
23587 } = _menhir_stack in
23588 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23589 let _1 : 'tv_stm_dots = Obj.magic _1 in
23590 let _startpos = _startpos__1_ in
23591 let _endpos = _endpos__2_ in
23592 let _v : 'tv_plus_after_stm =
23593 # 1762 "parser_cocci_menhir.mly"
23594 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23595 # 23596 "parser_cocci_menhir.ml"
23596 in
23597 _menhir_env.MenhirLib.EngineTypes.stack <- {
23598 MenhirLib.EngineTypes.state = _menhir_s;
23599 MenhirLib.EngineTypes.semv = Obj.repr _v;
23600 MenhirLib.EngineTypes.startp = _startpos;
23601 MenhirLib.EngineTypes.endp = _endpos;
23602 MenhirLib.EngineTypes.next = _menhir_stack;
23603 });
23604 (fun _menhir_env ->
23605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23606 let {
23607 MenhirLib.EngineTypes.semv = _2;
23608 MenhirLib.EngineTypes.startp = _startpos__2_;
23609 MenhirLib.EngineTypes.endp = _endpos__2_;
23610 MenhirLib.EngineTypes.next = {
23611 MenhirLib.EngineTypes.state = _menhir_s;
23612 MenhirLib.EngineTypes.semv = _1;
23613 MenhirLib.EngineTypes.startp = _startpos__1_;
23614 MenhirLib.EngineTypes.endp = _endpos__1_;
23615 MenhirLib.EngineTypes.next = _menhir_stack;
23616 };
23617 } = _menhir_stack in
23618 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23619 let _1 : 'tv_fundecl = Obj.magic _1 in
23620 let _startpos = _startpos__1_ in
23621 let _endpos = _endpos__2_ in
23622 let _v : 'tv_plus_after_stm =
23623 # 1763 "parser_cocci_menhir.mly"
23624 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23625 # 23626 "parser_cocci_menhir.ml"
23626 in
23627 _menhir_env.MenhirLib.EngineTypes.stack <- {
23628 MenhirLib.EngineTypes.state = _menhir_s;
23629 MenhirLib.EngineTypes.semv = Obj.repr _v;
23630 MenhirLib.EngineTypes.startp = _startpos;
23631 MenhirLib.EngineTypes.endp = _endpos;
23632 MenhirLib.EngineTypes.next = _menhir_stack;
23633 });
23634 (fun _menhir_env ->
23635 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23636 let {
23637 MenhirLib.EngineTypes.semv = _2;
23638 MenhirLib.EngineTypes.startp = _startpos__2_;
23639 MenhirLib.EngineTypes.endp = _endpos__2_;
23640 MenhirLib.EngineTypes.next = {
23641 MenhirLib.EngineTypes.state = _menhir_s;
23642 MenhirLib.EngineTypes.semv = _1;
23643 MenhirLib.EngineTypes.startp = _startpos__1_;
23644 MenhirLib.EngineTypes.endp = _endpos__1_;
23645 MenhirLib.EngineTypes.next = _menhir_stack;
23646 };
23647 } = _menhir_stack in
23648 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23649 let _1 : 'tv_decl_statement = Obj.magic _1 in
23650 let _startpos = _startpos__1_ in
23651 let _endpos = _endpos__2_ in
23652 let _v : 'tv_plus_after_stm =
23653 # 1765 "parser_cocci_menhir.mly"
23654 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23655 # 23656 "parser_cocci_menhir.ml"
23656 in
23657 _menhir_env.MenhirLib.EngineTypes.stack <- {
23658 MenhirLib.EngineTypes.state = _menhir_s;
23659 MenhirLib.EngineTypes.semv = Obj.repr _v;
23660 MenhirLib.EngineTypes.startp = _startpos;
23661 MenhirLib.EngineTypes.endp = _endpos;
23662 MenhirLib.EngineTypes.next = _menhir_stack;
23663 });
23664 (fun _menhir_env ->
23665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23666 let {
23667 MenhirLib.EngineTypes.semv = b;
23668 MenhirLib.EngineTypes.startp = _startpos_b_;
23669 MenhirLib.EngineTypes.endp = _endpos_b_;
23670 MenhirLib.EngineTypes.next = {
23671 MenhirLib.EngineTypes.state = _menhir_s;
23672 MenhirLib.EngineTypes.semv = f;
23673 MenhirLib.EngineTypes.startp = _startpos_f_;
23674 MenhirLib.EngineTypes.endp = _endpos_f_;
23675 MenhirLib.EngineTypes.next = _menhir_stack;
23676 };
23677 } = _menhir_stack in
23678 let b : 'tv_loption_plus_start_ = Obj.magic b in
23679 let f : 'tv_loption_filespec_ = Obj.magic f in
23680 let _startpos = _startpos_f_ in
23681 let _endpos = _endpos_b_ in
23682 let _v : 'tv_plus_body =
23683 # 614 "parser_cocci_menhir.mly"
23684 ( Top_level.top_level (f@b(*@ew*)) )
23685 # 23686 "parser_cocci_menhir.ml"
23686 in
23687 _menhir_env.MenhirLib.EngineTypes.stack <- {
23688 MenhirLib.EngineTypes.state = _menhir_s;
23689 MenhirLib.EngineTypes.semv = Obj.repr _v;
23690 MenhirLib.EngineTypes.startp = _startpos;
23691 MenhirLib.EngineTypes.endp = _endpos;
23692 MenhirLib.EngineTypes.next = _menhir_stack;
23693 });
23694 (fun _menhir_env ->
23695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23696 let {
23697 MenhirLib.EngineTypes.semv = b;
23698 MenhirLib.EngineTypes.startp = _startpos_b_;
23699 MenhirLib.EngineTypes.endp = _endpos_b_;
23700 MenhirLib.EngineTypes.next = {
23701 MenhirLib.EngineTypes.state = _menhir_s;
23702 MenhirLib.EngineTypes.semv = f;
23703 MenhirLib.EngineTypes.startp = _startpos_f_;
23704 MenhirLib.EngineTypes.endp = _endpos_f_;
23705 MenhirLib.EngineTypes.next = _menhir_stack;
23706 };
23707 } = _menhir_stack in
23708 let b : 'tv_top_eexpr = Obj.magic b in
23709 let f : 'tv_loption_filespec_ = Obj.magic f in
23710 let _startpos = _startpos_f_ in
23711 let _endpos = _endpos_b_ in
23712 let _v : 'tv_plus_exp_body =
23713 # 628 "parser_cocci_menhir.mly"
23714 ( Top_level.top_level (f@[b](*@ew*)) )
23715 # 23716 "parser_cocci_menhir.ml"
23716 in
23717 _menhir_env.MenhirLib.EngineTypes.stack <- {
23718 MenhirLib.EngineTypes.state = _menhir_s;
23719 MenhirLib.EngineTypes.semv = Obj.repr _v;
23720 MenhirLib.EngineTypes.startp = _startpos;
23721 MenhirLib.EngineTypes.endp = _endpos;
23722 MenhirLib.EngineTypes.next = _menhir_stack;
23723 });
23724 (fun _menhir_env ->
23725 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23726 let {
23727 MenhirLib.EngineTypes.startp = _startpos__2_;
23728 MenhirLib.EngineTypes.endp = _endpos__2_;
23729 MenhirLib.EngineTypes.next = {
23730 MenhirLib.EngineTypes.state = _menhir_s;
23731 MenhirLib.EngineTypes.semv = _1;
23732 MenhirLib.EngineTypes.startp = _startpos__1_;
23733 MenhirLib.EngineTypes.endp = _endpos__1_;
23734 MenhirLib.EngineTypes.next = _menhir_stack;
23735 };
23736 } = _menhir_stack in
23737 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
23738 let _startpos = _startpos__1_ in
23739 let _endpos = _endpos__2_ in
23740 let _v : (
23741 # 143 "parser_cocci_menhir.mly"
23742 (Ast0_cocci.rule)
23743 # 23744 "parser_cocci_menhir.ml"
23744 ) =
23745 # 179 "parser_cocci_menhir.mly"
23746 ( _1 )
23747 # 23748 "parser_cocci_menhir.ml"
23748 in
23749 _menhir_env.MenhirLib.EngineTypes.stack <- {
23750 MenhirLib.EngineTypes.state = _menhir_s;
23751 MenhirLib.EngineTypes.semv = Obj.repr _v;
23752 MenhirLib.EngineTypes.startp = _startpos;
23753 MenhirLib.EngineTypes.endp = _endpos;
23754 MenhirLib.EngineTypes.next = _menhir_stack;
23755 });
23756 (fun _menhir_env ->
23757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23758 let {
23759 MenhirLib.EngineTypes.startp = _startpos__2_;
23760 MenhirLib.EngineTypes.endp = _endpos__2_;
23761 MenhirLib.EngineTypes.next = {
23762 MenhirLib.EngineTypes.state = _menhir_s;
23763 MenhirLib.EngineTypes.semv = p;
23764 MenhirLib.EngineTypes.startp = _startpos_p_;
23765 MenhirLib.EngineTypes.endp = _endpos_p_;
23766 MenhirLib.EngineTypes.next = _menhir_stack;
23767 };
23768 } = _menhir_stack in
23769 let p : 'tv_plus_exp_body = Obj.magic p in
23770 let _startpos = _startpos_p_ in
23771 let _endpos = _endpos__2_ in
23772 let _v : (
23773 # 143 "parser_cocci_menhir.mly"
23774 (Ast0_cocci.rule)
23775 # 23776 "parser_cocci_menhir.ml"
23776 ) =
23777 # 179 "parser_cocci_menhir.mly"
23778 ( p )
23779 # 23780 "parser_cocci_menhir.ml"
23780 in
23781 _menhir_env.MenhirLib.EngineTypes.stack <- {
23782 MenhirLib.EngineTypes.state = _menhir_s;
23783 MenhirLib.EngineTypes.semv = Obj.repr _v;
23784 MenhirLib.EngineTypes.startp = _startpos;
23785 MenhirLib.EngineTypes.endp = _endpos;
23786 MenhirLib.EngineTypes.next = _menhir_stack;
23787 });
23788 (fun _menhir_env ->
23789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23790 let {
23791 MenhirLib.EngineTypes.startp = _startpos__2_;
23792 MenhirLib.EngineTypes.endp = _endpos__2_;
23793 MenhirLib.EngineTypes.next = {
23794 MenhirLib.EngineTypes.state = _menhir_s;
23795 MenhirLib.EngineTypes.semv = p;
23796 MenhirLib.EngineTypes.startp = _startpos_p_;
23797 MenhirLib.EngineTypes.endp = _endpos_p_;
23798 MenhirLib.EngineTypes.next = _menhir_stack;
23799 };
23800 } = _menhir_stack in
23801 let p : 'tv_plus_exp_body = Obj.magic p in
23802 let _startpos = _startpos_p_ in
23803 let _endpos = _endpos__2_ in
23804 let _v : (
23805 # 143 "parser_cocci_menhir.mly"
23806 (Ast0_cocci.rule)
23807 # 23808 "parser_cocci_menhir.ml"
23808 ) =
23809 # 180 "parser_cocci_menhir.mly"
23810 ( p )
23811 # 23812 "parser_cocci_menhir.ml"
23812 in
23813 _menhir_env.MenhirLib.EngineTypes.stack <- {
23814 MenhirLib.EngineTypes.state = _menhir_s;
23815 MenhirLib.EngineTypes.semv = Obj.repr _v;
23816 MenhirLib.EngineTypes.startp = _startpos;
23817 MenhirLib.EngineTypes.endp = _endpos;
23818 MenhirLib.EngineTypes.next = _menhir_stack;
23819 });
23820 (fun _menhir_env ->
23821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23822 let {
23823 MenhirLib.EngineTypes.startp = _startpos__2_;
23824 MenhirLib.EngineTypes.endp = _endpos__2_;
23825 MenhirLib.EngineTypes.next = {
23826 MenhirLib.EngineTypes.state = _menhir_s;
23827 MenhirLib.EngineTypes.semv = _1;
23828 MenhirLib.EngineTypes.startp = _startpos__1_;
23829 MenhirLib.EngineTypes.endp = _endpos__1_;
23830 MenhirLib.EngineTypes.next = _menhir_stack;
23831 };
23832 } = _menhir_stack in
23833 let _1 : 'tv_plus_body = Obj.magic _1 in
23834 let _startpos = _startpos__1_ in
23835 let _endpos = _endpos__2_ in
23836 let _v : (
23837 # 140 "parser_cocci_menhir.mly"
23838 (Ast0_cocci.rule)
23839 # 23840 "parser_cocci_menhir.ml"
23840 ) =
23841 # 175 "parser_cocci_menhir.mly"
23842 ( _1 )
23843 # 23844 "parser_cocci_menhir.ml"
23844 in
23845 _menhir_env.MenhirLib.EngineTypes.stack <- {
23846 MenhirLib.EngineTypes.state = _menhir_s;
23847 MenhirLib.EngineTypes.semv = Obj.repr _v;
23848 MenhirLib.EngineTypes.startp = _startpos;
23849 MenhirLib.EngineTypes.endp = _endpos;
23850 MenhirLib.EngineTypes.next = _menhir_stack;
23851 });
23852 (fun _menhir_env ->
23853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23854 let {
23855 MenhirLib.EngineTypes.startp = _startpos__2_;
23856 MenhirLib.EngineTypes.endp = _endpos__2_;
23857 MenhirLib.EngineTypes.next = {
23858 MenhirLib.EngineTypes.state = _menhir_s;
23859 MenhirLib.EngineTypes.semv = p;
23860 MenhirLib.EngineTypes.startp = _startpos_p_;
23861 MenhirLib.EngineTypes.endp = _endpos_p_;
23862 MenhirLib.EngineTypes.next = _menhir_stack;
23863 };
23864 } = _menhir_stack in
23865 let p : 'tv_plus_body = Obj.magic p in
23866 let _startpos = _startpos_p_ in
23867 let _endpos = _endpos__2_ in
23868 let _v : (
23869 # 140 "parser_cocci_menhir.mly"
23870 (Ast0_cocci.rule)
23871 # 23872 "parser_cocci_menhir.ml"
23872 ) =
23873 # 175 "parser_cocci_menhir.mly"
23874 ( p )
23875 # 23876 "parser_cocci_menhir.ml"
23876 in
23877 _menhir_env.MenhirLib.EngineTypes.stack <- {
23878 MenhirLib.EngineTypes.state = _menhir_s;
23879 MenhirLib.EngineTypes.semv = Obj.repr _v;
23880 MenhirLib.EngineTypes.startp = _startpos;
23881 MenhirLib.EngineTypes.endp = _endpos;
23882 MenhirLib.EngineTypes.next = _menhir_stack;
23883 });
23884 (fun _menhir_env ->
23885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23886 let {
23887 MenhirLib.EngineTypes.startp = _startpos__2_;
23888 MenhirLib.EngineTypes.endp = _endpos__2_;
23889 MenhirLib.EngineTypes.next = {
23890 MenhirLib.EngineTypes.state = _menhir_s;
23891 MenhirLib.EngineTypes.semv = p;
23892 MenhirLib.EngineTypes.startp = _startpos_p_;
23893 MenhirLib.EngineTypes.endp = _endpos_p_;
23894 MenhirLib.EngineTypes.next = _menhir_stack;
23895 };
23896 } = _menhir_stack in
23897 let p : 'tv_plus_body = Obj.magic p in
23898 let _startpos = _startpos_p_ in
23899 let _endpos = _endpos__2_ in
23900 let _v : (
23901 # 140 "parser_cocci_menhir.mly"
23902 (Ast0_cocci.rule)
23903 # 23904 "parser_cocci_menhir.ml"
23904 ) =
23905 # 176 "parser_cocci_menhir.mly"
23906 ( p )
23907 # 23908 "parser_cocci_menhir.ml"
23908 in
23909 _menhir_env.MenhirLib.EngineTypes.stack <- {
23910 MenhirLib.EngineTypes.state = _menhir_s;
23911 MenhirLib.EngineTypes.semv = Obj.repr _v;
23912 MenhirLib.EngineTypes.startp = _startpos;
23913 MenhirLib.EngineTypes.endp = _endpos;
23914 MenhirLib.EngineTypes.next = _menhir_stack;
23915 });
23916 (fun _menhir_env ->
23917 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23918 let {
23919 MenhirLib.EngineTypes.state = _menhir_s;
23920 MenhirLib.EngineTypes.semv = _1;
23921 MenhirLib.EngineTypes.startp = _startpos__1_;
23922 MenhirLib.EngineTypes.endp = _endpos__1_;
23923 MenhirLib.EngineTypes.next = _menhir_stack;
23924 } = _menhir_stack in
23925 let _1 : 'tv_ctype = Obj.magic _1 in
23926 let _startpos = _startpos__1_ in
23927 let _endpos = _endpos__1_ in
23928 let _v : 'tv_plus_start =
23929 # 1737 "parser_cocci_menhir.mly"
23930 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
23931 # 23932 "parser_cocci_menhir.ml"
23932 in
23933 _menhir_env.MenhirLib.EngineTypes.stack <- {
23934 MenhirLib.EngineTypes.state = _menhir_s;
23935 MenhirLib.EngineTypes.semv = Obj.repr _v;
23936 MenhirLib.EngineTypes.startp = _startpos;
23937 MenhirLib.EngineTypes.endp = _endpos;
23938 MenhirLib.EngineTypes.next = _menhir_stack;
23939 });
23940 (fun _menhir_env ->
23941 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23942 let {
23943 MenhirLib.EngineTypes.state = _menhir_s;
23944 MenhirLib.EngineTypes.semv = _1;
23945 MenhirLib.EngineTypes.startp = _startpos__1_;
23946 MenhirLib.EngineTypes.endp = _endpos__1_;
23947 MenhirLib.EngineTypes.next = _menhir_stack;
23948 } = _menhir_stack in
23949 let _1 : 'tv_top_init = Obj.magic _1 in
23950 let _startpos = _startpos__1_ in
23951 let _endpos = _endpos__1_ in
23952 let _v : 'tv_plus_start =
23953 # 1738 "parser_cocci_menhir.mly"
23954 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
23955 # 23956 "parser_cocci_menhir.ml"
23956 in
23957 _menhir_env.MenhirLib.EngineTypes.stack <- {
23958 MenhirLib.EngineTypes.state = _menhir_s;
23959 MenhirLib.EngineTypes.semv = Obj.repr _v;
23960 MenhirLib.EngineTypes.startp = _startpos;
23961 MenhirLib.EngineTypes.endp = _endpos;
23962 MenhirLib.EngineTypes.next = _menhir_stack;
23963 });
23964 (fun _menhir_env ->
23965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23966 let {
23967 MenhirLib.EngineTypes.semv = _2;
23968 MenhirLib.EngineTypes.startp = _startpos__2_;
23969 MenhirLib.EngineTypes.endp = _endpos__2_;
23970 MenhirLib.EngineTypes.next = {
23971 MenhirLib.EngineTypes.state = _menhir_s;
23972 MenhirLib.EngineTypes.semv = _1;
23973 MenhirLib.EngineTypes.startp = _startpos__1_;
23974 MenhirLib.EngineTypes.endp = _endpos__1_;
23975 MenhirLib.EngineTypes.next = _menhir_stack;
23976 };
23977 } = _menhir_stack in
23978 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23979 let _1 : 'tv_stm_dots = Obj.magic _1 in
23980 let _startpos = _startpos__1_ in
23981 let _endpos = _endpos__2_ in
23982 let _v : 'tv_plus_start =
23983 # 1740 "parser_cocci_menhir.mly"
23984 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23985 # 23986 "parser_cocci_menhir.ml"
23986 in
23987 _menhir_env.MenhirLib.EngineTypes.stack <- {
23988 MenhirLib.EngineTypes.state = _menhir_s;
23989 MenhirLib.EngineTypes.semv = Obj.repr _v;
23990 MenhirLib.EngineTypes.startp = _startpos;
23991 MenhirLib.EngineTypes.endp = _endpos;
23992 MenhirLib.EngineTypes.next = _menhir_stack;
23993 });
23994 (fun _menhir_env ->
23995 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23996 let {
23997 MenhirLib.EngineTypes.semv = _2;
23998 MenhirLib.EngineTypes.startp = _startpos__2_;
23999 MenhirLib.EngineTypes.endp = _endpos__2_;
24000 MenhirLib.EngineTypes.next = {
24001 MenhirLib.EngineTypes.state = _menhir_s;
24002 MenhirLib.EngineTypes.semv = _1;
24003 MenhirLib.EngineTypes.startp = _startpos__1_;
24004 MenhirLib.EngineTypes.endp = _endpos__1_;
24005 MenhirLib.EngineTypes.next = _menhir_stack;
24006 };
24007 } = _menhir_stack in
24008 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
24009 let _1 : 'tv_expr = Obj.magic _1 in
24010 let _startpos = _startpos__1_ in
24011 let _endpos = _endpos__2_ in
24012 let _v : 'tv_plus_start =
24013 # 1742 "parser_cocci_menhir.mly"
24014 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
24015 # 24016 "parser_cocci_menhir.ml"
24016 in
24017 _menhir_env.MenhirLib.EngineTypes.stack <- {
24018 MenhirLib.EngineTypes.state = _menhir_s;
24019 MenhirLib.EngineTypes.semv = Obj.repr _v;
24020 MenhirLib.EngineTypes.startp = _startpos;
24021 MenhirLib.EngineTypes.endp = _endpos;
24022 MenhirLib.EngineTypes.next = _menhir_stack;
24023 });
24024 (fun _menhir_env ->
24025 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24026 let {
24027 MenhirLib.EngineTypes.semv = _2;
24028 MenhirLib.EngineTypes.startp = _startpos__2_;
24029 MenhirLib.EngineTypes.endp = _endpos__2_;
24030 MenhirLib.EngineTypes.next = {
24031 MenhirLib.EngineTypes.state = _menhir_s;
24032 MenhirLib.EngineTypes.semv = _1;
24033 MenhirLib.EngineTypes.startp = _startpos__1_;
24034 MenhirLib.EngineTypes.endp = _endpos__1_;
24035 MenhirLib.EngineTypes.next = _menhir_stack;
24036 };
24037 } = _menhir_stack in
24038 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24039 let _1 : 'tv_fundecl = Obj.magic _1 in
24040 let _startpos = _startpos__1_ in
24041 let _endpos = _endpos__2_ in
24042 let _v : 'tv_plus_start =
24043 # 1743 "parser_cocci_menhir.mly"
24044 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
24045 # 24046 "parser_cocci_menhir.ml"
24046 in
24047 _menhir_env.MenhirLib.EngineTypes.stack <- {
24048 MenhirLib.EngineTypes.state = _menhir_s;
24049 MenhirLib.EngineTypes.semv = Obj.repr _v;
24050 MenhirLib.EngineTypes.startp = _startpos;
24051 MenhirLib.EngineTypes.endp = _endpos;
24052 MenhirLib.EngineTypes.next = _menhir_stack;
24053 });
24054 (fun _menhir_env ->
24055 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24056 let {
24057 MenhirLib.EngineTypes.semv = _2;
24058 MenhirLib.EngineTypes.startp = _startpos__2_;
24059 MenhirLib.EngineTypes.endp = _endpos__2_;
24060 MenhirLib.EngineTypes.next = {
24061 MenhirLib.EngineTypes.state = _menhir_s;
24062 MenhirLib.EngineTypes.semv = _1;
24063 MenhirLib.EngineTypes.startp = _startpos__1_;
24064 MenhirLib.EngineTypes.endp = _endpos__1_;
24065 MenhirLib.EngineTypes.next = _menhir_stack;
24066 };
24067 } = _menhir_stack in
24068 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24069 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
24070 let _startpos = _startpos__1_ in
24071 let _endpos = _endpos__2_ in
24072 let _v : 'tv_plus_start =
24073 # 1745 "parser_cocci_menhir.mly"
24074 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
24075 # 24076 "parser_cocci_menhir.ml"
24076 in
24077 _menhir_env.MenhirLib.EngineTypes.stack <- {
24078 MenhirLib.EngineTypes.state = _menhir_s;
24079 MenhirLib.EngineTypes.semv = Obj.repr _v;
24080 MenhirLib.EngineTypes.startp = _startpos;
24081 MenhirLib.EngineTypes.endp = _endpos;
24082 MenhirLib.EngineTypes.next = _menhir_stack;
24083 });
24084 (fun _menhir_env ->
24085 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24086 let {
24087 MenhirLib.EngineTypes.state = _menhir_s;
24088 MenhirLib.EngineTypes.semv = _1;
24089 MenhirLib.EngineTypes.startp = _startpos__1_;
24090 MenhirLib.EngineTypes.endp = _endpos__1_;
24091 MenhirLib.EngineTypes.next = _menhir_stack;
24092 } = _menhir_stack in
24093 let _1 : (
24094 # 47 "parser_cocci_menhir.mly"
24095 (string)
24096 # 24097 "parser_cocci_menhir.ml"
24097 ) = Obj.magic _1 in
24098 let _startpos = _startpos__1_ in
24099 let _endpos = _endpos__1_ in
24100 let _v : 'tv_pnrule =
24101 # 230 "parser_cocci_menhir.mly"
24102 ( Ast.Dep _1 )
24103 # 24104 "parser_cocci_menhir.ml"
24104 in
24105 _menhir_env.MenhirLib.EngineTypes.stack <- {
24106 MenhirLib.EngineTypes.state = _menhir_s;
24107 MenhirLib.EngineTypes.semv = Obj.repr _v;
24108 MenhirLib.EngineTypes.startp = _startpos;
24109 MenhirLib.EngineTypes.endp = _endpos;
24110 MenhirLib.EngineTypes.next = _menhir_stack;
24111 });
24112 (fun _menhir_env ->
24113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24114 let {
24115 MenhirLib.EngineTypes.semv = _2;
24116 MenhirLib.EngineTypes.startp = _startpos__2_;
24117 MenhirLib.EngineTypes.endp = _endpos__2_;
24118 MenhirLib.EngineTypes.next = {
24119 MenhirLib.EngineTypes.state = _menhir_s;
24120 MenhirLib.EngineTypes.startp = _startpos__1_;
24121 MenhirLib.EngineTypes.endp = _endpos__1_;
24122 MenhirLib.EngineTypes.next = _menhir_stack;
24123 };
24124 } = _menhir_stack in
24125 let _2 : (
24126 # 47 "parser_cocci_menhir.mly"
24127 (string)
24128 # 24129 "parser_cocci_menhir.ml"
24129 ) = Obj.magic _2 in
24130 let _startpos = _startpos__1_ in
24131 let _endpos = _endpos__2_ in
24132 let _v : 'tv_pnrule =
24133 # 231 "parser_cocci_menhir.mly"
24134 ( Ast.AntiDep _2 )
24135 # 24136 "parser_cocci_menhir.ml"
24136 in
24137 _menhir_env.MenhirLib.EngineTypes.stack <- {
24138 MenhirLib.EngineTypes.state = _menhir_s;
24139 MenhirLib.EngineTypes.semv = Obj.repr _v;
24140 MenhirLib.EngineTypes.startp = _startpos;
24141 MenhirLib.EngineTypes.endp = _endpos;
24142 MenhirLib.EngineTypes.next = _menhir_stack;
24143 });
24144 (fun _menhir_env ->
24145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24146 let {
24147 MenhirLib.EngineTypes.semv = _2;
24148 MenhirLib.EngineTypes.startp = _startpos__2_;
24149 MenhirLib.EngineTypes.endp = _endpos__2_;
24150 MenhirLib.EngineTypes.next = {
24151 MenhirLib.EngineTypes.state = _menhir_s;
24152 MenhirLib.EngineTypes.startp = _startpos__1_;
24153 MenhirLib.EngineTypes.endp = _endpos__1_;
24154 MenhirLib.EngineTypes.next = _menhir_stack;
24155 };
24156 } = _menhir_stack in
24157 let _2 : (
24158 # 47 "parser_cocci_menhir.mly"
24159 (string)
24160 # 24161 "parser_cocci_menhir.ml"
24161 ) = Obj.magic _2 in
24162 let _startpos = _startpos__1_ in
24163 let _endpos = _endpos__2_ in
24164 let _v : 'tv_pnrule =
24165 # 232 "parser_cocci_menhir.mly"
24166 ( Ast.EverDep _2 )
24167 # 24168 "parser_cocci_menhir.ml"
24168 in
24169 _menhir_env.MenhirLib.EngineTypes.stack <- {
24170 MenhirLib.EngineTypes.state = _menhir_s;
24171 MenhirLib.EngineTypes.semv = Obj.repr _v;
24172 MenhirLib.EngineTypes.startp = _startpos;
24173 MenhirLib.EngineTypes.endp = _endpos;
24174 MenhirLib.EngineTypes.next = _menhir_stack;
24175 });
24176 (fun _menhir_env ->
24177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24178 let {
24179 MenhirLib.EngineTypes.semv = _2;
24180 MenhirLib.EngineTypes.startp = _startpos__2_;
24181 MenhirLib.EngineTypes.endp = _endpos__2_;
24182 MenhirLib.EngineTypes.next = {
24183 MenhirLib.EngineTypes.state = _menhir_s;
24184 MenhirLib.EngineTypes.startp = _startpos__1_;
24185 MenhirLib.EngineTypes.endp = _endpos__1_;
24186 MenhirLib.EngineTypes.next = _menhir_stack;
24187 };
24188 } = _menhir_stack in
24189 let _2 : (
24190 # 47 "parser_cocci_menhir.mly"
24191 (string)
24192 # 24193 "parser_cocci_menhir.ml"
24193 ) = Obj.magic _2 in
24194 let _startpos = _startpos__1_ in
24195 let _endpos = _endpos__2_ in
24196 let _v : 'tv_pnrule =
24197 # 233 "parser_cocci_menhir.mly"
24198 ( Ast.NeverDep _2 )
24199 # 24200 "parser_cocci_menhir.ml"
24200 in
24201 _menhir_env.MenhirLib.EngineTypes.stack <- {
24202 MenhirLib.EngineTypes.state = _menhir_s;
24203 MenhirLib.EngineTypes.semv = Obj.repr _v;
24204 MenhirLib.EngineTypes.startp = _startpos;
24205 MenhirLib.EngineTypes.endp = _endpos;
24206 MenhirLib.EngineTypes.next = _menhir_stack;
24207 });
24208 (fun _menhir_env ->
24209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24210 let {
24211 MenhirLib.EngineTypes.startp = _startpos__3_;
24212 MenhirLib.EngineTypes.endp = _endpos__3_;
24213 MenhirLib.EngineTypes.next = {
24214 MenhirLib.EngineTypes.semv = _2;
24215 MenhirLib.EngineTypes.startp = _startpos__2_;
24216 MenhirLib.EngineTypes.endp = _endpos__2_;
24217 MenhirLib.EngineTypes.next = {
24218 MenhirLib.EngineTypes.state = _menhir_s;
24219 MenhirLib.EngineTypes.startp = _startpos__1_;
24220 MenhirLib.EngineTypes.endp = _endpos__1_;
24221 MenhirLib.EngineTypes.next = _menhir_stack;
24222 };
24223 };
24224 } = _menhir_stack in
24225 let _2 : 'tv_dep = Obj.magic _2 in
24226 let _startpos = _startpos__1_ in
24227 let _endpos = _endpos__3_ in
24228 let _v : 'tv_pnrule =
24229 # 234 "parser_cocci_menhir.mly"
24230 ( _2 )
24231 # 24232 "parser_cocci_menhir.ml"
24232 in
24233 _menhir_env.MenhirLib.EngineTypes.stack <- {
24234 MenhirLib.EngineTypes.state = _menhir_s;
24235 MenhirLib.EngineTypes.semv = Obj.repr _v;
24236 MenhirLib.EngineTypes.startp = _startpos;
24237 MenhirLib.EngineTypes.endp = _endpos;
24238 MenhirLib.EngineTypes.next = _menhir_stack;
24239 });
24240 (fun _menhir_env ->
24241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24242 let {
24243 MenhirLib.EngineTypes.state = _menhir_s;
24244 MenhirLib.EngineTypes.semv = _1;
24245 MenhirLib.EngineTypes.startp = _startpos__1_;
24246 MenhirLib.EngineTypes.endp = _endpos__1_;
24247 MenhirLib.EngineTypes.next = _menhir_stack;
24248 } = _menhir_stack in
24249 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24250 let _startpos = _startpos__1_ in
24251 let _endpos = _endpos__1_ in
24252 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24253 # 1319 "parser_cocci_menhir.mly"
24254 ( _1 )
24255 # 24256 "parser_cocci_menhir.ml"
24256 in
24257 _menhir_env.MenhirLib.EngineTypes.stack <- {
24258 MenhirLib.EngineTypes.state = _menhir_s;
24259 MenhirLib.EngineTypes.semv = Obj.repr _v;
24260 MenhirLib.EngineTypes.startp = _startpos;
24261 MenhirLib.EngineTypes.endp = _endpos;
24262 MenhirLib.EngineTypes.next = _menhir_stack;
24263 });
24264 (fun _menhir_env ->
24265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24266 let {
24267 MenhirLib.EngineTypes.semv = _4;
24268 MenhirLib.EngineTypes.startp = _startpos__4_;
24269 MenhirLib.EngineTypes.endp = _endpos__4_;
24270 MenhirLib.EngineTypes.next = {
24271 MenhirLib.EngineTypes.semv = _3;
24272 MenhirLib.EngineTypes.startp = _startpos__3_;
24273 MenhirLib.EngineTypes.endp = _endpos__3_;
24274 MenhirLib.EngineTypes.next = {
24275 MenhirLib.EngineTypes.semv = _2;
24276 MenhirLib.EngineTypes.startp = _startpos__2_;
24277 MenhirLib.EngineTypes.endp = _endpos__2_;
24278 MenhirLib.EngineTypes.next = {
24279 MenhirLib.EngineTypes.state = _menhir_s;
24280 MenhirLib.EngineTypes.semv = _1;
24281 MenhirLib.EngineTypes.startp = _startpos__1_;
24282 MenhirLib.EngineTypes.endp = _endpos__1_;
24283 MenhirLib.EngineTypes.next = _menhir_stack;
24284 };
24285 };
24286 };
24287 } = _menhir_stack in
24288 let _4 : (
24289 # 102 "parser_cocci_menhir.mly"
24290 (Data.clt)
24291 # 24292 "parser_cocci_menhir.ml"
24292 ) = Obj.magic _4 in
24293 let _3 : 'tv_eexpr = Obj.magic _3 in
24294 let _2 : (
24295 # 102 "parser_cocci_menhir.mly"
24296 (Data.clt)
24297 # 24298 "parser_cocci_menhir.ml"
24298 ) = Obj.magic _2 in
24299 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24300 let _startpos = _startpos__1_ in
24301 let _endpos = _endpos__4_ in
24302 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24303 # 1321 "parser_cocci_menhir.mly"
24304 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24305 P.clt2mcode "]" _4)) )
24306 # 24307 "parser_cocci_menhir.ml"
24307 in
24308 _menhir_env.MenhirLib.EngineTypes.stack <- {
24309 MenhirLib.EngineTypes.state = _menhir_s;
24310 MenhirLib.EngineTypes.semv = Obj.repr _v;
24311 MenhirLib.EngineTypes.startp = _startpos;
24312 MenhirLib.EngineTypes.endp = _endpos;
24313 MenhirLib.EngineTypes.next = _menhir_stack;
24314 });
24315 (fun _menhir_env ->
24316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24317 let {
24318 MenhirLib.EngineTypes.semv = _3;
24319 MenhirLib.EngineTypes.startp = _startpos__3_;
24320 MenhirLib.EngineTypes.endp = _endpos__3_;
24321 MenhirLib.EngineTypes.next = {
24322 MenhirLib.EngineTypes.semv = _2;
24323 MenhirLib.EngineTypes.startp = _startpos__2_;
24324 MenhirLib.EngineTypes.endp = _endpos__2_;
24325 MenhirLib.EngineTypes.next = {
24326 MenhirLib.EngineTypes.state = _menhir_s;
24327 MenhirLib.EngineTypes.semv = _1;
24328 MenhirLib.EngineTypes.startp = _startpos__1_;
24329 MenhirLib.EngineTypes.endp = _endpos__1_;
24330 MenhirLib.EngineTypes.next = _menhir_stack;
24331 };
24332 };
24333 } = _menhir_stack in
24334 let _3 : 'tv_ident = Obj.magic _3 in
24335 let _2 : (
24336 # 107 "parser_cocci_menhir.mly"
24337 (Data.clt)
24338 # 24339 "parser_cocci_menhir.ml"
24339 ) = Obj.magic _2 in
24340 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24341 let _startpos = _startpos__1_ in
24342 let _endpos = _endpos__3_ in
24343 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24344 # 1324 "parser_cocci_menhir.mly"
24345 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24346 # 24347 "parser_cocci_menhir.ml"
24347 in
24348 _menhir_env.MenhirLib.EngineTypes.stack <- {
24349 MenhirLib.EngineTypes.state = _menhir_s;
24350 MenhirLib.EngineTypes.semv = Obj.repr _v;
24351 MenhirLib.EngineTypes.startp = _startpos;
24352 MenhirLib.EngineTypes.endp = _endpos;
24353 MenhirLib.EngineTypes.next = _menhir_stack;
24354 });
24355 (fun _menhir_env ->
24356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24357 let {
24358 MenhirLib.EngineTypes.semv = _3;
24359 MenhirLib.EngineTypes.startp = _startpos__3_;
24360 MenhirLib.EngineTypes.endp = _endpos__3_;
24361 MenhirLib.EngineTypes.next = {
24362 MenhirLib.EngineTypes.semv = _2;
24363 MenhirLib.EngineTypes.startp = _startpos__2_;
24364 MenhirLib.EngineTypes.endp = _endpos__2_;
24365 MenhirLib.EngineTypes.next = {
24366 MenhirLib.EngineTypes.state = _menhir_s;
24367 MenhirLib.EngineTypes.semv = _1;
24368 MenhirLib.EngineTypes.startp = _startpos__1_;
24369 MenhirLib.EngineTypes.endp = _endpos__1_;
24370 MenhirLib.EngineTypes.next = _menhir_stack;
24371 };
24372 };
24373 } = _menhir_stack in
24374 let _3 : 'tv_ident = Obj.magic _3 in
24375 let _2 : (
24376 # 104 "parser_cocci_menhir.mly"
24377 (Data.clt)
24378 # 24379 "parser_cocci_menhir.ml"
24379 ) = Obj.magic _2 in
24380 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24381 let _startpos = _startpos__1_ in
24382 let _endpos = _endpos__3_ in
24383 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24384 # 1326 "parser_cocci_menhir.mly"
24385 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24386 _3)) )
24387 # 24388 "parser_cocci_menhir.ml"
24388 in
24389 _menhir_env.MenhirLib.EngineTypes.stack <- {
24390 MenhirLib.EngineTypes.state = _menhir_s;
24391 MenhirLib.EngineTypes.semv = Obj.repr _v;
24392 MenhirLib.EngineTypes.startp = _startpos;
24393 MenhirLib.EngineTypes.endp = _endpos;
24394 MenhirLib.EngineTypes.next = _menhir_stack;
24395 });
24396 (fun _menhir_env ->
24397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24398 let {
24399 MenhirLib.EngineTypes.semv = _2;
24400 MenhirLib.EngineTypes.startp = _startpos__2_;
24401 MenhirLib.EngineTypes.endp = _endpos__2_;
24402 MenhirLib.EngineTypes.next = {
24403 MenhirLib.EngineTypes.state = _menhir_s;
24404 MenhirLib.EngineTypes.semv = _1;
24405 MenhirLib.EngineTypes.startp = _startpos__1_;
24406 MenhirLib.EngineTypes.endp = _endpos__1_;
24407 MenhirLib.EngineTypes.next = _menhir_stack;
24408 };
24409 } = _menhir_stack in
24410 let _2 : (
24411 # 85 "parser_cocci_menhir.mly"
24412 (Data.clt)
24413 # 24414 "parser_cocci_menhir.ml"
24414 ) = Obj.magic _2 in
24415 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24416 let _startpos = _startpos__1_ in
24417 let _endpos = _endpos__2_ in
24418 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24419 # 1329 "parser_cocci_menhir.mly"
24420 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24421 # 24422 "parser_cocci_menhir.ml"
24422 in
24423 _menhir_env.MenhirLib.EngineTypes.stack <- {
24424 MenhirLib.EngineTypes.state = _menhir_s;
24425 MenhirLib.EngineTypes.semv = Obj.repr _v;
24426 MenhirLib.EngineTypes.startp = _startpos;
24427 MenhirLib.EngineTypes.endp = _endpos;
24428 MenhirLib.EngineTypes.next = _menhir_stack;
24429 });
24430 (fun _menhir_env ->
24431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24432 let {
24433 MenhirLib.EngineTypes.semv = _2;
24434 MenhirLib.EngineTypes.startp = _startpos__2_;
24435 MenhirLib.EngineTypes.endp = _endpos__2_;
24436 MenhirLib.EngineTypes.next = {
24437 MenhirLib.EngineTypes.state = _menhir_s;
24438 MenhirLib.EngineTypes.semv = _1;
24439 MenhirLib.EngineTypes.startp = _startpos__1_;
24440 MenhirLib.EngineTypes.endp = _endpos__1_;
24441 MenhirLib.EngineTypes.next = _menhir_stack;
24442 };
24443 } = _menhir_stack in
24444 let _2 : (
24445 # 85 "parser_cocci_menhir.mly"
24446 (Data.clt)
24447 # 24448 "parser_cocci_menhir.ml"
24448 ) = Obj.magic _2 in
24449 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24450 let _startpos = _startpos__1_ in
24451 let _endpos = _endpos__2_ in
24452 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24453 # 1331 "parser_cocci_menhir.mly"
24454 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24455 # 24456 "parser_cocci_menhir.ml"
24456 in
24457 _menhir_env.MenhirLib.EngineTypes.stack <- {
24458 MenhirLib.EngineTypes.state = _menhir_s;
24459 MenhirLib.EngineTypes.semv = Obj.repr _v;
24460 MenhirLib.EngineTypes.startp = _startpos;
24461 MenhirLib.EngineTypes.endp = _endpos;
24462 MenhirLib.EngineTypes.next = _menhir_stack;
24463 });
24464 (fun _menhir_env ->
24465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24466 let {
24467 MenhirLib.EngineTypes.semv = _4;
24468 MenhirLib.EngineTypes.startp = _startpos__4_;
24469 MenhirLib.EngineTypes.endp = _endpos__4_;
24470 MenhirLib.EngineTypes.next = {
24471 MenhirLib.EngineTypes.semv = _3;
24472 MenhirLib.EngineTypes.startp = _startpos__3_;
24473 MenhirLib.EngineTypes.endp = _endpos__3_;
24474 MenhirLib.EngineTypes.next = {
24475 MenhirLib.EngineTypes.semv = _2;
24476 MenhirLib.EngineTypes.startp = _startpos__2_;
24477 MenhirLib.EngineTypes.endp = _endpos__2_;
24478 MenhirLib.EngineTypes.next = {
24479 MenhirLib.EngineTypes.state = _menhir_s;
24480 MenhirLib.EngineTypes.semv = _1;
24481 MenhirLib.EngineTypes.startp = _startpos__1_;
24482 MenhirLib.EngineTypes.endp = _endpos__1_;
24483 MenhirLib.EngineTypes.next = _menhir_stack;
24484 };
24485 };
24486 };
24487 } = _menhir_stack in
24488 let _4 : (
24489 # 77 "parser_cocci_menhir.mly"
24490 (Data.clt)
24491 # 24492 "parser_cocci_menhir.ml"
24492 ) = Obj.magic _4 in
24493 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24494 let _2 : (
24495 # 76 "parser_cocci_menhir.mly"
24496 (Data.clt)
24497 # 24498 "parser_cocci_menhir.ml"
24498 ) = Obj.magic _2 in
24499 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24500 let _startpos = _startpos__1_ in
24501 let _endpos = _endpos__4_ in
24502 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24503 # 1333 "parser_cocci_menhir.mly"
24504 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24505 _3,
24506 P.clt2mcode ")" _4)) )
24507 # 24508 "parser_cocci_menhir.ml"
24508 in
24509 _menhir_env.MenhirLib.EngineTypes.stack <- {
24510 MenhirLib.EngineTypes.state = _menhir_s;
24511 MenhirLib.EngineTypes.semv = Obj.repr _v;
24512 MenhirLib.EngineTypes.startp = _startpos;
24513 MenhirLib.EngineTypes.endp = _endpos;
24514 MenhirLib.EngineTypes.next = _menhir_stack;
24515 });
24516 (fun _menhir_env ->
24517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24518 let {
24519 MenhirLib.EngineTypes.state = _menhir_s;
24520 MenhirLib.EngineTypes.semv = _1;
24521 MenhirLib.EngineTypes.startp = _startpos__1_;
24522 MenhirLib.EngineTypes.endp = _endpos__1_;
24523 MenhirLib.EngineTypes.next = _menhir_stack;
24524 } = _menhir_stack in
24525 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
24526 let _startpos = _startpos__1_ in
24527 let _endpos = _endpos__1_ in
24528 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24529 # 1319 "parser_cocci_menhir.mly"
24530 ( _1 )
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 = _4;
24544 MenhirLib.EngineTypes.startp = _startpos__4_;
24545 MenhirLib.EngineTypes.endp = _endpos__4_;
24546 MenhirLib.EngineTypes.next = {
24547 MenhirLib.EngineTypes.semv = _3;
24548 MenhirLib.EngineTypes.startp = _startpos__3_;
24549 MenhirLib.EngineTypes.endp = _endpos__3_;
24550 MenhirLib.EngineTypes.next = {
24551 MenhirLib.EngineTypes.semv = _2;
24552 MenhirLib.EngineTypes.startp = _startpos__2_;
24553 MenhirLib.EngineTypes.endp = _endpos__2_;
24554 MenhirLib.EngineTypes.next = {
24555 MenhirLib.EngineTypes.state = _menhir_s;
24556 MenhirLib.EngineTypes.semv = _1;
24557 MenhirLib.EngineTypes.startp = _startpos__1_;
24558 MenhirLib.EngineTypes.endp = _endpos__1_;
24559 MenhirLib.EngineTypes.next = _menhir_stack;
24560 };
24561 };
24562 };
24563 } = _menhir_stack in
24564 let _4 : (
24565 # 102 "parser_cocci_menhir.mly"
24566 (Data.clt)
24567 # 24568 "parser_cocci_menhir.ml"
24568 ) = Obj.magic _4 in
24569 let _3 : 'tv_eexpr = Obj.magic _3 in
24570 let _2 : (
24571 # 102 "parser_cocci_menhir.mly"
24572 (Data.clt)
24573 # 24574 "parser_cocci_menhir.ml"
24574 ) = Obj.magic _2 in
24575 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24576 let _startpos = _startpos__1_ in
24577 let _endpos = _endpos__4_ in
24578 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24579 # 1321 "parser_cocci_menhir.mly"
24580 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24581 P.clt2mcode "]" _4)) )
24582 # 24583 "parser_cocci_menhir.ml"
24583 in
24584 _menhir_env.MenhirLib.EngineTypes.stack <- {
24585 MenhirLib.EngineTypes.state = _menhir_s;
24586 MenhirLib.EngineTypes.semv = Obj.repr _v;
24587 MenhirLib.EngineTypes.startp = _startpos;
24588 MenhirLib.EngineTypes.endp = _endpos;
24589 MenhirLib.EngineTypes.next = _menhir_stack;
24590 });
24591 (fun _menhir_env ->
24592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24593 let {
24594 MenhirLib.EngineTypes.semv = _3;
24595 MenhirLib.EngineTypes.startp = _startpos__3_;
24596 MenhirLib.EngineTypes.endp = _endpos__3_;
24597 MenhirLib.EngineTypes.next = {
24598 MenhirLib.EngineTypes.semv = _2;
24599 MenhirLib.EngineTypes.startp = _startpos__2_;
24600 MenhirLib.EngineTypes.endp = _endpos__2_;
24601 MenhirLib.EngineTypes.next = {
24602 MenhirLib.EngineTypes.state = _menhir_s;
24603 MenhirLib.EngineTypes.semv = _1;
24604 MenhirLib.EngineTypes.startp = _startpos__1_;
24605 MenhirLib.EngineTypes.endp = _endpos__1_;
24606 MenhirLib.EngineTypes.next = _menhir_stack;
24607 };
24608 };
24609 } = _menhir_stack in
24610 let _3 : 'tv_ident = Obj.magic _3 in
24611 let _2 : (
24612 # 107 "parser_cocci_menhir.mly"
24613 (Data.clt)
24614 # 24615 "parser_cocci_menhir.ml"
24615 ) = Obj.magic _2 in
24616 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24617 let _startpos = _startpos__1_ in
24618 let _endpos = _endpos__3_ in
24619 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24620 # 1324 "parser_cocci_menhir.mly"
24621 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24622 # 24623 "parser_cocci_menhir.ml"
24623 in
24624 _menhir_env.MenhirLib.EngineTypes.stack <- {
24625 MenhirLib.EngineTypes.state = _menhir_s;
24626 MenhirLib.EngineTypes.semv = Obj.repr _v;
24627 MenhirLib.EngineTypes.startp = _startpos;
24628 MenhirLib.EngineTypes.endp = _endpos;
24629 MenhirLib.EngineTypes.next = _menhir_stack;
24630 });
24631 (fun _menhir_env ->
24632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24633 let {
24634 MenhirLib.EngineTypes.semv = _3;
24635 MenhirLib.EngineTypes.startp = _startpos__3_;
24636 MenhirLib.EngineTypes.endp = _endpos__3_;
24637 MenhirLib.EngineTypes.next = {
24638 MenhirLib.EngineTypes.semv = _2;
24639 MenhirLib.EngineTypes.startp = _startpos__2_;
24640 MenhirLib.EngineTypes.endp = _endpos__2_;
24641 MenhirLib.EngineTypes.next = {
24642 MenhirLib.EngineTypes.state = _menhir_s;
24643 MenhirLib.EngineTypes.semv = _1;
24644 MenhirLib.EngineTypes.startp = _startpos__1_;
24645 MenhirLib.EngineTypes.endp = _endpos__1_;
24646 MenhirLib.EngineTypes.next = _menhir_stack;
24647 };
24648 };
24649 } = _menhir_stack in
24650 let _3 : 'tv_ident = Obj.magic _3 in
24651 let _2 : (
24652 # 104 "parser_cocci_menhir.mly"
24653 (Data.clt)
24654 # 24655 "parser_cocci_menhir.ml"
24655 ) = Obj.magic _2 in
24656 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24657 let _startpos = _startpos__1_ in
24658 let _endpos = _endpos__3_ in
24659 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24660 # 1326 "parser_cocci_menhir.mly"
24661 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24662 _3)) )
24663 # 24664 "parser_cocci_menhir.ml"
24664 in
24665 _menhir_env.MenhirLib.EngineTypes.stack <- {
24666 MenhirLib.EngineTypes.state = _menhir_s;
24667 MenhirLib.EngineTypes.semv = Obj.repr _v;
24668 MenhirLib.EngineTypes.startp = _startpos;
24669 MenhirLib.EngineTypes.endp = _endpos;
24670 MenhirLib.EngineTypes.next = _menhir_stack;
24671 });
24672 (fun _menhir_env ->
24673 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24674 let {
24675 MenhirLib.EngineTypes.semv = _2;
24676 MenhirLib.EngineTypes.startp = _startpos__2_;
24677 MenhirLib.EngineTypes.endp = _endpos__2_;
24678 MenhirLib.EngineTypes.next = {
24679 MenhirLib.EngineTypes.state = _menhir_s;
24680 MenhirLib.EngineTypes.semv = _1;
24681 MenhirLib.EngineTypes.startp = _startpos__1_;
24682 MenhirLib.EngineTypes.endp = _endpos__1_;
24683 MenhirLib.EngineTypes.next = _menhir_stack;
24684 };
24685 } = _menhir_stack in
24686 let _2 : (
24687 # 85 "parser_cocci_menhir.mly"
24688 (Data.clt)
24689 # 24690 "parser_cocci_menhir.ml"
24690 ) = Obj.magic _2 in
24691 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24692 let _startpos = _startpos__1_ in
24693 let _endpos = _endpos__2_ in
24694 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24695 # 1329 "parser_cocci_menhir.mly"
24696 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24697 # 24698 "parser_cocci_menhir.ml"
24698 in
24699 _menhir_env.MenhirLib.EngineTypes.stack <- {
24700 MenhirLib.EngineTypes.state = _menhir_s;
24701 MenhirLib.EngineTypes.semv = Obj.repr _v;
24702 MenhirLib.EngineTypes.startp = _startpos;
24703 MenhirLib.EngineTypes.endp = _endpos;
24704 MenhirLib.EngineTypes.next = _menhir_stack;
24705 });
24706 (fun _menhir_env ->
24707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24708 let {
24709 MenhirLib.EngineTypes.semv = _2;
24710 MenhirLib.EngineTypes.startp = _startpos__2_;
24711 MenhirLib.EngineTypes.endp = _endpos__2_;
24712 MenhirLib.EngineTypes.next = {
24713 MenhirLib.EngineTypes.state = _menhir_s;
24714 MenhirLib.EngineTypes.semv = _1;
24715 MenhirLib.EngineTypes.startp = _startpos__1_;
24716 MenhirLib.EngineTypes.endp = _endpos__1_;
24717 MenhirLib.EngineTypes.next = _menhir_stack;
24718 };
24719 } = _menhir_stack in
24720 let _2 : (
24721 # 85 "parser_cocci_menhir.mly"
24722 (Data.clt)
24723 # 24724 "parser_cocci_menhir.ml"
24724 ) = Obj.magic _2 in
24725 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24726 let _startpos = _startpos__1_ in
24727 let _endpos = _endpos__2_ in
24728 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24729 # 1331 "parser_cocci_menhir.mly"
24730 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24731 # 24732 "parser_cocci_menhir.ml"
24732 in
24733 _menhir_env.MenhirLib.EngineTypes.stack <- {
24734 MenhirLib.EngineTypes.state = _menhir_s;
24735 MenhirLib.EngineTypes.semv = Obj.repr _v;
24736 MenhirLib.EngineTypes.startp = _startpos;
24737 MenhirLib.EngineTypes.endp = _endpos;
24738 MenhirLib.EngineTypes.next = _menhir_stack;
24739 });
24740 (fun _menhir_env ->
24741 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24742 let {
24743 MenhirLib.EngineTypes.semv = _4;
24744 MenhirLib.EngineTypes.startp = _startpos__4_;
24745 MenhirLib.EngineTypes.endp = _endpos__4_;
24746 MenhirLib.EngineTypes.next = {
24747 MenhirLib.EngineTypes.semv = _3;
24748 MenhirLib.EngineTypes.startp = _startpos__3_;
24749 MenhirLib.EngineTypes.endp = _endpos__3_;
24750 MenhirLib.EngineTypes.next = {
24751 MenhirLib.EngineTypes.semv = _2;
24752 MenhirLib.EngineTypes.startp = _startpos__2_;
24753 MenhirLib.EngineTypes.endp = _endpos__2_;
24754 MenhirLib.EngineTypes.next = {
24755 MenhirLib.EngineTypes.state = _menhir_s;
24756 MenhirLib.EngineTypes.semv = _1;
24757 MenhirLib.EngineTypes.startp = _startpos__1_;
24758 MenhirLib.EngineTypes.endp = _endpos__1_;
24759 MenhirLib.EngineTypes.next = _menhir_stack;
24760 };
24761 };
24762 };
24763 } = _menhir_stack in
24764 let _4 : (
24765 # 77 "parser_cocci_menhir.mly"
24766 (Data.clt)
24767 # 24768 "parser_cocci_menhir.ml"
24768 ) = Obj.magic _4 in
24769 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24770 let _2 : (
24771 # 76 "parser_cocci_menhir.mly"
24772 (Data.clt)
24773 # 24774 "parser_cocci_menhir.ml"
24774 ) = Obj.magic _2 in
24775 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24776 let _startpos = _startpos__1_ in
24777 let _endpos = _endpos__4_ in
24778 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24779 # 1333 "parser_cocci_menhir.mly"
24780 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24781 _3,
24782 P.clt2mcode ")" _4)) )
24783 # 24784 "parser_cocci_menhir.ml"
24784 in
24785 _menhir_env.MenhirLib.EngineTypes.stack <- {
24786 MenhirLib.EngineTypes.state = _menhir_s;
24787 MenhirLib.EngineTypes.semv = Obj.repr _v;
24788 MenhirLib.EngineTypes.startp = _startpos;
24789 MenhirLib.EngineTypes.endp = _endpos;
24790 MenhirLib.EngineTypes.next = _menhir_stack;
24791 });
24792 (fun _menhir_env ->
24793 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24794 let {
24795 MenhirLib.EngineTypes.state = _menhir_s;
24796 MenhirLib.EngineTypes.semv = _1;
24797 MenhirLib.EngineTypes.startp = _startpos__1_;
24798 MenhirLib.EngineTypes.endp = _endpos__1_;
24799 MenhirLib.EngineTypes.next = _menhir_stack;
24800 } = _menhir_stack in
24801 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24802 let _startpos = _startpos__1_ in
24803 let _endpos = _endpos__1_ in
24804 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24805 # 1319 "parser_cocci_menhir.mly"
24806 ( _1 )
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 = _4;
24820 MenhirLib.EngineTypes.startp = _startpos__4_;
24821 MenhirLib.EngineTypes.endp = _endpos__4_;
24822 MenhirLib.EngineTypes.next = {
24823 MenhirLib.EngineTypes.semv = _3;
24824 MenhirLib.EngineTypes.startp = _startpos__3_;
24825 MenhirLib.EngineTypes.endp = _endpos__3_;
24826 MenhirLib.EngineTypes.next = {
24827 MenhirLib.EngineTypes.semv = _2;
24828 MenhirLib.EngineTypes.startp = _startpos__2_;
24829 MenhirLib.EngineTypes.endp = _endpos__2_;
24830 MenhirLib.EngineTypes.next = {
24831 MenhirLib.EngineTypes.state = _menhir_s;
24832 MenhirLib.EngineTypes.semv = _1;
24833 MenhirLib.EngineTypes.startp = _startpos__1_;
24834 MenhirLib.EngineTypes.endp = _endpos__1_;
24835 MenhirLib.EngineTypes.next = _menhir_stack;
24836 };
24837 };
24838 };
24839 } = _menhir_stack in
24840 let _4 : (
24841 # 102 "parser_cocci_menhir.mly"
24842 (Data.clt)
24843 # 24844 "parser_cocci_menhir.ml"
24844 ) = Obj.magic _4 in
24845 let _3 : 'tv_eexpr = Obj.magic _3 in
24846 let _2 : (
24847 # 102 "parser_cocci_menhir.mly"
24848 (Data.clt)
24849 # 24850 "parser_cocci_menhir.ml"
24850 ) = Obj.magic _2 in
24851 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24852 let _startpos = _startpos__1_ in
24853 let _endpos = _endpos__4_ in
24854 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24855 # 1321 "parser_cocci_menhir.mly"
24856 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24857 P.clt2mcode "]" _4)) )
24858 # 24859 "parser_cocci_menhir.ml"
24859 in
24860 _menhir_env.MenhirLib.EngineTypes.stack <- {
24861 MenhirLib.EngineTypes.state = _menhir_s;
24862 MenhirLib.EngineTypes.semv = Obj.repr _v;
24863 MenhirLib.EngineTypes.startp = _startpos;
24864 MenhirLib.EngineTypes.endp = _endpos;
24865 MenhirLib.EngineTypes.next = _menhir_stack;
24866 });
24867 (fun _menhir_env ->
24868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24869 let {
24870 MenhirLib.EngineTypes.semv = _3;
24871 MenhirLib.EngineTypes.startp = _startpos__3_;
24872 MenhirLib.EngineTypes.endp = _endpos__3_;
24873 MenhirLib.EngineTypes.next = {
24874 MenhirLib.EngineTypes.semv = _2;
24875 MenhirLib.EngineTypes.startp = _startpos__2_;
24876 MenhirLib.EngineTypes.endp = _endpos__2_;
24877 MenhirLib.EngineTypes.next = {
24878 MenhirLib.EngineTypes.state = _menhir_s;
24879 MenhirLib.EngineTypes.semv = _1;
24880 MenhirLib.EngineTypes.startp = _startpos__1_;
24881 MenhirLib.EngineTypes.endp = _endpos__1_;
24882 MenhirLib.EngineTypes.next = _menhir_stack;
24883 };
24884 };
24885 } = _menhir_stack in
24886 let _3 : 'tv_ident = Obj.magic _3 in
24887 let _2 : (
24888 # 107 "parser_cocci_menhir.mly"
24889 (Data.clt)
24890 # 24891 "parser_cocci_menhir.ml"
24891 ) = Obj.magic _2 in
24892 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24893 let _startpos = _startpos__1_ in
24894 let _endpos = _endpos__3_ in
24895 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24896 # 1324 "parser_cocci_menhir.mly"
24897 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24898 # 24899 "parser_cocci_menhir.ml"
24899 in
24900 _menhir_env.MenhirLib.EngineTypes.stack <- {
24901 MenhirLib.EngineTypes.state = _menhir_s;
24902 MenhirLib.EngineTypes.semv = Obj.repr _v;
24903 MenhirLib.EngineTypes.startp = _startpos;
24904 MenhirLib.EngineTypes.endp = _endpos;
24905 MenhirLib.EngineTypes.next = _menhir_stack;
24906 });
24907 (fun _menhir_env ->
24908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24909 let {
24910 MenhirLib.EngineTypes.semv = _3;
24911 MenhirLib.EngineTypes.startp = _startpos__3_;
24912 MenhirLib.EngineTypes.endp = _endpos__3_;
24913 MenhirLib.EngineTypes.next = {
24914 MenhirLib.EngineTypes.semv = _2;
24915 MenhirLib.EngineTypes.startp = _startpos__2_;
24916 MenhirLib.EngineTypes.endp = _endpos__2_;
24917 MenhirLib.EngineTypes.next = {
24918 MenhirLib.EngineTypes.state = _menhir_s;
24919 MenhirLib.EngineTypes.semv = _1;
24920 MenhirLib.EngineTypes.startp = _startpos__1_;
24921 MenhirLib.EngineTypes.endp = _endpos__1_;
24922 MenhirLib.EngineTypes.next = _menhir_stack;
24923 };
24924 };
24925 } = _menhir_stack in
24926 let _3 : 'tv_ident = Obj.magic _3 in
24927 let _2 : (
24928 # 104 "parser_cocci_menhir.mly"
24929 (Data.clt)
24930 # 24931 "parser_cocci_menhir.ml"
24931 ) = Obj.magic _2 in
24932 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24933 let _startpos = _startpos__1_ in
24934 let _endpos = _endpos__3_ in
24935 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24936 # 1326 "parser_cocci_menhir.mly"
24937 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24938 _3)) )
24939 # 24940 "parser_cocci_menhir.ml"
24940 in
24941 _menhir_env.MenhirLib.EngineTypes.stack <- {
24942 MenhirLib.EngineTypes.state = _menhir_s;
24943 MenhirLib.EngineTypes.semv = Obj.repr _v;
24944 MenhirLib.EngineTypes.startp = _startpos;
24945 MenhirLib.EngineTypes.endp = _endpos;
24946 MenhirLib.EngineTypes.next = _menhir_stack;
24947 });
24948 (fun _menhir_env ->
24949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24950 let {
24951 MenhirLib.EngineTypes.semv = _2;
24952 MenhirLib.EngineTypes.startp = _startpos__2_;
24953 MenhirLib.EngineTypes.endp = _endpos__2_;
24954 MenhirLib.EngineTypes.next = {
24955 MenhirLib.EngineTypes.state = _menhir_s;
24956 MenhirLib.EngineTypes.semv = _1;
24957 MenhirLib.EngineTypes.startp = _startpos__1_;
24958 MenhirLib.EngineTypes.endp = _endpos__1_;
24959 MenhirLib.EngineTypes.next = _menhir_stack;
24960 };
24961 } = _menhir_stack in
24962 let _2 : (
24963 # 85 "parser_cocci_menhir.mly"
24964 (Data.clt)
24965 # 24966 "parser_cocci_menhir.ml"
24966 ) = Obj.magic _2 in
24967 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24968 let _startpos = _startpos__1_ in
24969 let _endpos = _endpos__2_ in
24970 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24971 # 1329 "parser_cocci_menhir.mly"
24972 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24973 # 24974 "parser_cocci_menhir.ml"
24974 in
24975 _menhir_env.MenhirLib.EngineTypes.stack <- {
24976 MenhirLib.EngineTypes.state = _menhir_s;
24977 MenhirLib.EngineTypes.semv = Obj.repr _v;
24978 MenhirLib.EngineTypes.startp = _startpos;
24979 MenhirLib.EngineTypes.endp = _endpos;
24980 MenhirLib.EngineTypes.next = _menhir_stack;
24981 });
24982 (fun _menhir_env ->
24983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24984 let {
24985 MenhirLib.EngineTypes.semv = _2;
24986 MenhirLib.EngineTypes.startp = _startpos__2_;
24987 MenhirLib.EngineTypes.endp = _endpos__2_;
24988 MenhirLib.EngineTypes.next = {
24989 MenhirLib.EngineTypes.state = _menhir_s;
24990 MenhirLib.EngineTypes.semv = _1;
24991 MenhirLib.EngineTypes.startp = _startpos__1_;
24992 MenhirLib.EngineTypes.endp = _endpos__1_;
24993 MenhirLib.EngineTypes.next = _menhir_stack;
24994 };
24995 } = _menhir_stack in
24996 let _2 : (
24997 # 85 "parser_cocci_menhir.mly"
24998 (Data.clt)
24999 # 25000 "parser_cocci_menhir.ml"
25000 ) = Obj.magic _2 in
25001 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25002 let _startpos = _startpos__1_ in
25003 let _endpos = _endpos__2_ in
25004 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25005 # 1331 "parser_cocci_menhir.mly"
25006 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25007 # 25008 "parser_cocci_menhir.ml"
25008 in
25009 _menhir_env.MenhirLib.EngineTypes.stack <- {
25010 MenhirLib.EngineTypes.state = _menhir_s;
25011 MenhirLib.EngineTypes.semv = Obj.repr _v;
25012 MenhirLib.EngineTypes.startp = _startpos;
25013 MenhirLib.EngineTypes.endp = _endpos;
25014 MenhirLib.EngineTypes.next = _menhir_stack;
25015 });
25016 (fun _menhir_env ->
25017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25018 let {
25019 MenhirLib.EngineTypes.semv = _4;
25020 MenhirLib.EngineTypes.startp = _startpos__4_;
25021 MenhirLib.EngineTypes.endp = _endpos__4_;
25022 MenhirLib.EngineTypes.next = {
25023 MenhirLib.EngineTypes.semv = _3;
25024 MenhirLib.EngineTypes.startp = _startpos__3_;
25025 MenhirLib.EngineTypes.endp = _endpos__3_;
25026 MenhirLib.EngineTypes.next = {
25027 MenhirLib.EngineTypes.semv = _2;
25028 MenhirLib.EngineTypes.startp = _startpos__2_;
25029 MenhirLib.EngineTypes.endp = _endpos__2_;
25030 MenhirLib.EngineTypes.next = {
25031 MenhirLib.EngineTypes.state = _menhir_s;
25032 MenhirLib.EngineTypes.semv = _1;
25033 MenhirLib.EngineTypes.startp = _startpos__1_;
25034 MenhirLib.EngineTypes.endp = _endpos__1_;
25035 MenhirLib.EngineTypes.next = _menhir_stack;
25036 };
25037 };
25038 };
25039 } = _menhir_stack in
25040 let _4 : (
25041 # 77 "parser_cocci_menhir.mly"
25042 (Data.clt)
25043 # 25044 "parser_cocci_menhir.ml"
25044 ) = Obj.magic _4 in
25045 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25046 let _2 : (
25047 # 76 "parser_cocci_menhir.mly"
25048 (Data.clt)
25049 # 25050 "parser_cocci_menhir.ml"
25050 ) = Obj.magic _2 in
25051 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25052 let _startpos = _startpos__1_ in
25053 let _endpos = _endpos__4_ in
25054 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25055 # 1333 "parser_cocci_menhir.mly"
25056 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25057 _3,
25058 P.clt2mcode ")" _4)) )
25059 # 25060 "parser_cocci_menhir.ml"
25060 in
25061 _menhir_env.MenhirLib.EngineTypes.stack <- {
25062 MenhirLib.EngineTypes.state = _menhir_s;
25063 MenhirLib.EngineTypes.semv = Obj.repr _v;
25064 MenhirLib.EngineTypes.startp = _startpos;
25065 MenhirLib.EngineTypes.endp = _endpos;
25066 MenhirLib.EngineTypes.next = _menhir_stack;
25067 });
25068 (fun _menhir_env ->
25069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25070 let {
25071 MenhirLib.EngineTypes.state = _menhir_s;
25072 MenhirLib.EngineTypes.semv = _1;
25073 MenhirLib.EngineTypes.startp = _startpos__1_;
25074 MenhirLib.EngineTypes.endp = _endpos__1_;
25075 MenhirLib.EngineTypes.next = _menhir_stack;
25076 } = _menhir_stack in
25077 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
25078 let _startpos = _startpos__1_ in
25079 let _endpos = _endpos__1_ in
25080 let _v : 'tv_postfix_expr_expr_invalid_ =
25081 # 1319 "parser_cocci_menhir.mly"
25082 ( _1 )
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 = _4;
25096 MenhirLib.EngineTypes.startp = _startpos__4_;
25097 MenhirLib.EngineTypes.endp = _endpos__4_;
25098 MenhirLib.EngineTypes.next = {
25099 MenhirLib.EngineTypes.semv = _3;
25100 MenhirLib.EngineTypes.startp = _startpos__3_;
25101 MenhirLib.EngineTypes.endp = _endpos__3_;
25102 MenhirLib.EngineTypes.next = {
25103 MenhirLib.EngineTypes.semv = _2;
25104 MenhirLib.EngineTypes.startp = _startpos__2_;
25105 MenhirLib.EngineTypes.endp = _endpos__2_;
25106 MenhirLib.EngineTypes.next = {
25107 MenhirLib.EngineTypes.state = _menhir_s;
25108 MenhirLib.EngineTypes.semv = _1;
25109 MenhirLib.EngineTypes.startp = _startpos__1_;
25110 MenhirLib.EngineTypes.endp = _endpos__1_;
25111 MenhirLib.EngineTypes.next = _menhir_stack;
25112 };
25113 };
25114 };
25115 } = _menhir_stack in
25116 let _4 : (
25117 # 102 "parser_cocci_menhir.mly"
25118 (Data.clt)
25119 # 25120 "parser_cocci_menhir.ml"
25120 ) = Obj.magic _4 in
25121 let _3 : 'tv_eexpr = Obj.magic _3 in
25122 let _2 : (
25123 # 102 "parser_cocci_menhir.mly"
25124 (Data.clt)
25125 # 25126 "parser_cocci_menhir.ml"
25126 ) = Obj.magic _2 in
25127 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25128 let _startpos = _startpos__1_ in
25129 let _endpos = _endpos__4_ in
25130 let _v : 'tv_postfix_expr_expr_invalid_ =
25131 # 1321 "parser_cocci_menhir.mly"
25132 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25133 P.clt2mcode "]" _4)) )
25134 # 25135 "parser_cocci_menhir.ml"
25135 in
25136 _menhir_env.MenhirLib.EngineTypes.stack <- {
25137 MenhirLib.EngineTypes.state = _menhir_s;
25138 MenhirLib.EngineTypes.semv = Obj.repr _v;
25139 MenhirLib.EngineTypes.startp = _startpos;
25140 MenhirLib.EngineTypes.endp = _endpos;
25141 MenhirLib.EngineTypes.next = _menhir_stack;
25142 });
25143 (fun _menhir_env ->
25144 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25145 let {
25146 MenhirLib.EngineTypes.semv = _3;
25147 MenhirLib.EngineTypes.startp = _startpos__3_;
25148 MenhirLib.EngineTypes.endp = _endpos__3_;
25149 MenhirLib.EngineTypes.next = {
25150 MenhirLib.EngineTypes.semv = _2;
25151 MenhirLib.EngineTypes.startp = _startpos__2_;
25152 MenhirLib.EngineTypes.endp = _endpos__2_;
25153 MenhirLib.EngineTypes.next = {
25154 MenhirLib.EngineTypes.state = _menhir_s;
25155 MenhirLib.EngineTypes.semv = _1;
25156 MenhirLib.EngineTypes.startp = _startpos__1_;
25157 MenhirLib.EngineTypes.endp = _endpos__1_;
25158 MenhirLib.EngineTypes.next = _menhir_stack;
25159 };
25160 };
25161 } = _menhir_stack in
25162 let _3 : 'tv_ident = Obj.magic _3 in
25163 let _2 : (
25164 # 107 "parser_cocci_menhir.mly"
25165 (Data.clt)
25166 # 25167 "parser_cocci_menhir.ml"
25167 ) = Obj.magic _2 in
25168 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25169 let _startpos = _startpos__1_ in
25170 let _endpos = _endpos__3_ in
25171 let _v : 'tv_postfix_expr_expr_invalid_ =
25172 # 1324 "parser_cocci_menhir.mly"
25173 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25174 # 25175 "parser_cocci_menhir.ml"
25175 in
25176 _menhir_env.MenhirLib.EngineTypes.stack <- {
25177 MenhirLib.EngineTypes.state = _menhir_s;
25178 MenhirLib.EngineTypes.semv = Obj.repr _v;
25179 MenhirLib.EngineTypes.startp = _startpos;
25180 MenhirLib.EngineTypes.endp = _endpos;
25181 MenhirLib.EngineTypes.next = _menhir_stack;
25182 });
25183 (fun _menhir_env ->
25184 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25185 let {
25186 MenhirLib.EngineTypes.semv = _3;
25187 MenhirLib.EngineTypes.startp = _startpos__3_;
25188 MenhirLib.EngineTypes.endp = _endpos__3_;
25189 MenhirLib.EngineTypes.next = {
25190 MenhirLib.EngineTypes.semv = _2;
25191 MenhirLib.EngineTypes.startp = _startpos__2_;
25192 MenhirLib.EngineTypes.endp = _endpos__2_;
25193 MenhirLib.EngineTypes.next = {
25194 MenhirLib.EngineTypes.state = _menhir_s;
25195 MenhirLib.EngineTypes.semv = _1;
25196 MenhirLib.EngineTypes.startp = _startpos__1_;
25197 MenhirLib.EngineTypes.endp = _endpos__1_;
25198 MenhirLib.EngineTypes.next = _menhir_stack;
25199 };
25200 };
25201 } = _menhir_stack in
25202 let _3 : 'tv_ident = Obj.magic _3 in
25203 let _2 : (
25204 # 104 "parser_cocci_menhir.mly"
25205 (Data.clt)
25206 # 25207 "parser_cocci_menhir.ml"
25207 ) = Obj.magic _2 in
25208 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25209 let _startpos = _startpos__1_ in
25210 let _endpos = _endpos__3_ in
25211 let _v : 'tv_postfix_expr_expr_invalid_ =
25212 # 1326 "parser_cocci_menhir.mly"
25213 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25214 _3)) )
25215 # 25216 "parser_cocci_menhir.ml"
25216 in
25217 _menhir_env.MenhirLib.EngineTypes.stack <- {
25218 MenhirLib.EngineTypes.state = _menhir_s;
25219 MenhirLib.EngineTypes.semv = Obj.repr _v;
25220 MenhirLib.EngineTypes.startp = _startpos;
25221 MenhirLib.EngineTypes.endp = _endpos;
25222 MenhirLib.EngineTypes.next = _menhir_stack;
25223 });
25224 (fun _menhir_env ->
25225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25226 let {
25227 MenhirLib.EngineTypes.semv = _2;
25228 MenhirLib.EngineTypes.startp = _startpos__2_;
25229 MenhirLib.EngineTypes.endp = _endpos__2_;
25230 MenhirLib.EngineTypes.next = {
25231 MenhirLib.EngineTypes.state = _menhir_s;
25232 MenhirLib.EngineTypes.semv = _1;
25233 MenhirLib.EngineTypes.startp = _startpos__1_;
25234 MenhirLib.EngineTypes.endp = _endpos__1_;
25235 MenhirLib.EngineTypes.next = _menhir_stack;
25236 };
25237 } = _menhir_stack in
25238 let _2 : (
25239 # 85 "parser_cocci_menhir.mly"
25240 (Data.clt)
25241 # 25242 "parser_cocci_menhir.ml"
25242 ) = Obj.magic _2 in
25243 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25244 let _startpos = _startpos__1_ in
25245 let _endpos = _endpos__2_ in
25246 let _v : 'tv_postfix_expr_expr_invalid_ =
25247 # 1329 "parser_cocci_menhir.mly"
25248 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25249 # 25250 "parser_cocci_menhir.ml"
25250 in
25251 _menhir_env.MenhirLib.EngineTypes.stack <- {
25252 MenhirLib.EngineTypes.state = _menhir_s;
25253 MenhirLib.EngineTypes.semv = Obj.repr _v;
25254 MenhirLib.EngineTypes.startp = _startpos;
25255 MenhirLib.EngineTypes.endp = _endpos;
25256 MenhirLib.EngineTypes.next = _menhir_stack;
25257 });
25258 (fun _menhir_env ->
25259 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25260 let {
25261 MenhirLib.EngineTypes.semv = _2;
25262 MenhirLib.EngineTypes.startp = _startpos__2_;
25263 MenhirLib.EngineTypes.endp = _endpos__2_;
25264 MenhirLib.EngineTypes.next = {
25265 MenhirLib.EngineTypes.state = _menhir_s;
25266 MenhirLib.EngineTypes.semv = _1;
25267 MenhirLib.EngineTypes.startp = _startpos__1_;
25268 MenhirLib.EngineTypes.endp = _endpos__1_;
25269 MenhirLib.EngineTypes.next = _menhir_stack;
25270 };
25271 } = _menhir_stack in
25272 let _2 : (
25273 # 85 "parser_cocci_menhir.mly"
25274 (Data.clt)
25275 # 25276 "parser_cocci_menhir.ml"
25276 ) = Obj.magic _2 in
25277 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25278 let _startpos = _startpos__1_ in
25279 let _endpos = _endpos__2_ in
25280 let _v : 'tv_postfix_expr_expr_invalid_ =
25281 # 1331 "parser_cocci_menhir.mly"
25282 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25283 # 25284 "parser_cocci_menhir.ml"
25284 in
25285 _menhir_env.MenhirLib.EngineTypes.stack <- {
25286 MenhirLib.EngineTypes.state = _menhir_s;
25287 MenhirLib.EngineTypes.semv = Obj.repr _v;
25288 MenhirLib.EngineTypes.startp = _startpos;
25289 MenhirLib.EngineTypes.endp = _endpos;
25290 MenhirLib.EngineTypes.next = _menhir_stack;
25291 });
25292 (fun _menhir_env ->
25293 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25294 let {
25295 MenhirLib.EngineTypes.semv = _4;
25296 MenhirLib.EngineTypes.startp = _startpos__4_;
25297 MenhirLib.EngineTypes.endp = _endpos__4_;
25298 MenhirLib.EngineTypes.next = {
25299 MenhirLib.EngineTypes.semv = _3;
25300 MenhirLib.EngineTypes.startp = _startpos__3_;
25301 MenhirLib.EngineTypes.endp = _endpos__3_;
25302 MenhirLib.EngineTypes.next = {
25303 MenhirLib.EngineTypes.semv = _2;
25304 MenhirLib.EngineTypes.startp = _startpos__2_;
25305 MenhirLib.EngineTypes.endp = _endpos__2_;
25306 MenhirLib.EngineTypes.next = {
25307 MenhirLib.EngineTypes.state = _menhir_s;
25308 MenhirLib.EngineTypes.semv = _1;
25309 MenhirLib.EngineTypes.startp = _startpos__1_;
25310 MenhirLib.EngineTypes.endp = _endpos__1_;
25311 MenhirLib.EngineTypes.next = _menhir_stack;
25312 };
25313 };
25314 };
25315 } = _menhir_stack in
25316 let _4 : (
25317 # 77 "parser_cocci_menhir.mly"
25318 (Data.clt)
25319 # 25320 "parser_cocci_menhir.ml"
25320 ) = Obj.magic _4 in
25321 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25322 let _2 : (
25323 # 76 "parser_cocci_menhir.mly"
25324 (Data.clt)
25325 # 25326 "parser_cocci_menhir.ml"
25326 ) = Obj.magic _2 in
25327 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25328 let _startpos = _startpos__1_ in
25329 let _endpos = _endpos__4_ in
25330 let _v : 'tv_postfix_expr_expr_invalid_ =
25331 # 1333 "parser_cocci_menhir.mly"
25332 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25333 _3,
25334 P.clt2mcode ")" _4)) )
25335 # 25336 "parser_cocci_menhir.ml"
25336 in
25337 _menhir_env.MenhirLib.EngineTypes.stack <- {
25338 MenhirLib.EngineTypes.state = _menhir_s;
25339 MenhirLib.EngineTypes.semv = Obj.repr _v;
25340 MenhirLib.EngineTypes.startp = _startpos;
25341 MenhirLib.EngineTypes.endp = _endpos;
25342 MenhirLib.EngineTypes.next = _menhir_stack;
25343 });
25344 (fun _menhir_env ->
25345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25346 let {
25347 MenhirLib.EngineTypes.state = _menhir_s;
25348 MenhirLib.EngineTypes.semv = _1;
25349 MenhirLib.EngineTypes.startp = _startpos__1_;
25350 MenhirLib.EngineTypes.endp = _endpos__1_;
25351 MenhirLib.EngineTypes.next = _menhir_stack;
25352 } = _menhir_stack in
25353 let _1 : 'tv_func_ident = Obj.magic _1 in
25354 let _startpos = _startpos__1_ in
25355 let _endpos = _endpos__1_ in
25356 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25357 # 1338 "parser_cocci_menhir.mly"
25358 ( Ast0.wrap(Ast0.Ident(_1)) )
25359 # 25360 "parser_cocci_menhir.ml"
25360 in
25361 _menhir_env.MenhirLib.EngineTypes.stack <- {
25362 MenhirLib.EngineTypes.state = _menhir_s;
25363 MenhirLib.EngineTypes.semv = Obj.repr _v;
25364 MenhirLib.EngineTypes.startp = _startpos;
25365 MenhirLib.EngineTypes.endp = _endpos;
25366 MenhirLib.EngineTypes.next = _menhir_stack;
25367 });
25368 (fun _menhir_env ->
25369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25370 let {
25371 MenhirLib.EngineTypes.state = _menhir_s;
25372 MenhirLib.EngineTypes.semv = _1;
25373 MenhirLib.EngineTypes.startp = _startpos__1_;
25374 MenhirLib.EngineTypes.endp = _endpos__1_;
25375 MenhirLib.EngineTypes.next = _menhir_stack;
25376 } = _menhir_stack in
25377 let _1 : (
25378 # 87 "parser_cocci_menhir.mly"
25379 (string * Data.clt)
25380 # 25381 "parser_cocci_menhir.ml"
25381 ) = Obj.magic _1 in
25382 let _startpos = _startpos__1_ in
25383 let _endpos = _endpos__1_ in
25384 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25385 # 1340 "parser_cocci_menhir.mly"
25386 ( let (x,clt) = _1 in
25387 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25388 # 25389 "parser_cocci_menhir.ml"
25389 in
25390 _menhir_env.MenhirLib.EngineTypes.stack <- {
25391 MenhirLib.EngineTypes.state = _menhir_s;
25392 MenhirLib.EngineTypes.semv = Obj.repr _v;
25393 MenhirLib.EngineTypes.startp = _startpos;
25394 MenhirLib.EngineTypes.endp = _endpos;
25395 MenhirLib.EngineTypes.next = _menhir_stack;
25396 });
25397 (fun _menhir_env ->
25398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25399 let {
25400 MenhirLib.EngineTypes.state = _menhir_s;
25401 MenhirLib.EngineTypes.semv = _1;
25402 MenhirLib.EngineTypes.startp = _startpos__1_;
25403 MenhirLib.EngineTypes.endp = _endpos__1_;
25404 MenhirLib.EngineTypes.next = _menhir_stack;
25405 } = _menhir_stack in
25406 let _1 : (
25407 # 87 "parser_cocci_menhir.mly"
25408 (string * Data.clt)
25409 # 25410 "parser_cocci_menhir.ml"
25410 ) = Obj.magic _1 in
25411 let _startpos = _startpos__1_ in
25412 let _endpos = _endpos__1_ in
25413 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25414 # 1343 "parser_cocci_menhir.mly"
25415 ( let (x,clt) = _1 in
25416 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25417 # 25418 "parser_cocci_menhir.ml"
25418 in
25419 _menhir_env.MenhirLib.EngineTypes.stack <- {
25420 MenhirLib.EngineTypes.state = _menhir_s;
25421 MenhirLib.EngineTypes.semv = Obj.repr _v;
25422 MenhirLib.EngineTypes.startp = _startpos;
25423 MenhirLib.EngineTypes.endp = _endpos;
25424 MenhirLib.EngineTypes.next = _menhir_stack;
25425 });
25426 (fun _menhir_env ->
25427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25428 let {
25429 MenhirLib.EngineTypes.state = _menhir_s;
25430 MenhirLib.EngineTypes.semv = _1;
25431 MenhirLib.EngineTypes.startp = _startpos__1_;
25432 MenhirLib.EngineTypes.endp = _endpos__1_;
25433 MenhirLib.EngineTypes.next = _menhir_stack;
25434 } = _menhir_stack in
25435 let _1 : (
25436 # 87 "parser_cocci_menhir.mly"
25437 (string * Data.clt)
25438 # 25439 "parser_cocci_menhir.ml"
25439 ) = Obj.magic _1 in
25440 let _startpos = _startpos__1_ in
25441 let _endpos = _endpos__1_ in
25442 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25443 # 1346 "parser_cocci_menhir.mly"
25444 ( let (x,clt) = _1 in
25445 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25446 # 25447 "parser_cocci_menhir.ml"
25447 in
25448 _menhir_env.MenhirLib.EngineTypes.stack <- {
25449 MenhirLib.EngineTypes.state = _menhir_s;
25450 MenhirLib.EngineTypes.semv = Obj.repr _v;
25451 MenhirLib.EngineTypes.startp = _startpos;
25452 MenhirLib.EngineTypes.endp = _endpos;
25453 MenhirLib.EngineTypes.next = _menhir_stack;
25454 });
25455 (fun _menhir_env ->
25456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25457 let {
25458 MenhirLib.EngineTypes.state = _menhir_s;
25459 MenhirLib.EngineTypes.semv = _1;
25460 MenhirLib.EngineTypes.startp = _startpos__1_;
25461 MenhirLib.EngineTypes.endp = _endpos__1_;
25462 MenhirLib.EngineTypes.next = _menhir_stack;
25463 } = _menhir_stack in
25464 let _1 : (
25465 # 87 "parser_cocci_menhir.mly"
25466 (string * Data.clt)
25467 # 25468 "parser_cocci_menhir.ml"
25468 ) = Obj.magic _1 in
25469 let _startpos = _startpos__1_ in
25470 let _endpos = _endpos__1_ in
25471 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25472 # 1349 "parser_cocci_menhir.mly"
25473 ( let (x,clt) = _1 in
25474 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25475 # 25476 "parser_cocci_menhir.ml"
25476 in
25477 _menhir_env.MenhirLib.EngineTypes.stack <- {
25478 MenhirLib.EngineTypes.state = _menhir_s;
25479 MenhirLib.EngineTypes.semv = Obj.repr _v;
25480 MenhirLib.EngineTypes.startp = _startpos;
25481 MenhirLib.EngineTypes.endp = _endpos;
25482 MenhirLib.EngineTypes.next = _menhir_stack;
25483 });
25484 (fun _menhir_env ->
25485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25486 let {
25487 MenhirLib.EngineTypes.state = _menhir_s;
25488 MenhirLib.EngineTypes.semv = _1;
25489 MenhirLib.EngineTypes.startp = _startpos__1_;
25490 MenhirLib.EngineTypes.endp = _endpos__1_;
25491 MenhirLib.EngineTypes.next = _menhir_stack;
25492 } = _menhir_stack in
25493 let _1 : (
25494 # 67 "parser_cocci_menhir.mly"
25495 (Parse_aux.typed_expinfo)
25496 # 25497 "parser_cocci_menhir.ml"
25497 ) = Obj.magic _1 in
25498 let _startpos = _startpos__1_ in
25499 let _endpos = _endpos__1_ in
25500 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25501 # 1352 "parser_cocci_menhir.mly"
25502 ( let (nm,constraints,pure,ty,clt) = _1 in
25503 Ast0.wrap
25504 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25505 # 25506 "parser_cocci_menhir.ml"
25506 in
25507 _menhir_env.MenhirLib.EngineTypes.stack <- {
25508 MenhirLib.EngineTypes.state = _menhir_s;
25509 MenhirLib.EngineTypes.semv = Obj.repr _v;
25510 MenhirLib.EngineTypes.startp = _startpos;
25511 MenhirLib.EngineTypes.endp = _endpos;
25512 MenhirLib.EngineTypes.next = _menhir_stack;
25513 });
25514 (fun _menhir_env ->
25515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25516 let {
25517 MenhirLib.EngineTypes.state = _menhir_s;
25518 MenhirLib.EngineTypes.semv = _1;
25519 MenhirLib.EngineTypes.startp = _startpos__1_;
25520 MenhirLib.EngineTypes.endp = _endpos__1_;
25521 MenhirLib.EngineTypes.next = _menhir_stack;
25522 } = _menhir_stack in
25523 let _1 : (
25524 # 63 "parser_cocci_menhir.mly"
25525 (Parse_aux.expinfo)
25526 # 25527 "parser_cocci_menhir.ml"
25527 ) = Obj.magic _1 in
25528 let _startpos = _startpos__1_ in
25529 let _endpos = _endpos__1_ in
25530 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25531 # 1356 "parser_cocci_menhir.mly"
25532 ( let (nm,constraints,pure,clt) = _1 in
25533 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25534 # 25535 "parser_cocci_menhir.ml"
25535 in
25536 _menhir_env.MenhirLib.EngineTypes.stack <- {
25537 MenhirLib.EngineTypes.state = _menhir_s;
25538 MenhirLib.EngineTypes.semv = Obj.repr _v;
25539 MenhirLib.EngineTypes.startp = _startpos;
25540 MenhirLib.EngineTypes.endp = _endpos;
25541 MenhirLib.EngineTypes.next = _menhir_stack;
25542 });
25543 (fun _menhir_env ->
25544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25545 let {
25546 MenhirLib.EngineTypes.state = _menhir_s;
25547 MenhirLib.EngineTypes.semv = _1;
25548 MenhirLib.EngineTypes.startp = _startpos__1_;
25549 MenhirLib.EngineTypes.endp = _endpos__1_;
25550 MenhirLib.EngineTypes.next = _menhir_stack;
25551 } = _menhir_stack in
25552 let _1 : (
25553 # 67 "parser_cocci_menhir.mly"
25554 (Parse_aux.typed_expinfo)
25555 # 25556 "parser_cocci_menhir.ml"
25556 ) = Obj.magic _1 in
25557 let _startpos = _startpos__1_ in
25558 let _endpos = _endpos__1_ in
25559 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25560 # 1359 "parser_cocci_menhir.mly"
25561 ( let (nm,constraints,pure,ty,clt) = _1 in
25562 Ast0.wrap
25563 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25564 # 25565 "parser_cocci_menhir.ml"
25565 in
25566 _menhir_env.MenhirLib.EngineTypes.stack <- {
25567 MenhirLib.EngineTypes.state = _menhir_s;
25568 MenhirLib.EngineTypes.semv = Obj.repr _v;
25569 MenhirLib.EngineTypes.startp = _startpos;
25570 MenhirLib.EngineTypes.endp = _endpos;
25571 MenhirLib.EngineTypes.next = _menhir_stack;
25572 });
25573 (fun _menhir_env ->
25574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25575 let {
25576 MenhirLib.EngineTypes.state = _menhir_s;
25577 MenhirLib.EngineTypes.semv = _1;
25578 MenhirLib.EngineTypes.startp = _startpos__1_;
25579 MenhirLib.EngineTypes.endp = _endpos__1_;
25580 MenhirLib.EngineTypes.next = _menhir_stack;
25581 } = _menhir_stack in
25582 let _1 : (
25583 # 67 "parser_cocci_menhir.mly"
25584 (Parse_aux.typed_expinfo)
25585 # 25586 "parser_cocci_menhir.ml"
25586 ) = Obj.magic _1 in
25587 let _startpos = _startpos__1_ in
25588 let _endpos = _endpos__1_ in
25589 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25590 # 1363 "parser_cocci_menhir.mly"
25591 ( let (nm,constraints,pure,ty,clt) = _1 in
25592 Ast0.wrap
25593 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
25594 # 25595 "parser_cocci_menhir.ml"
25595 in
25596 _menhir_env.MenhirLib.EngineTypes.stack <- {
25597 MenhirLib.EngineTypes.state = _menhir_s;
25598 MenhirLib.EngineTypes.semv = Obj.repr _v;
25599 MenhirLib.EngineTypes.startp = _startpos;
25600 MenhirLib.EngineTypes.endp = _endpos;
25601 MenhirLib.EngineTypes.next = _menhir_stack;
25602 });
25603 (fun _menhir_env ->
25604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25605 let {
25606 MenhirLib.EngineTypes.state = _menhir_s;
25607 MenhirLib.EngineTypes.semv = _1;
25608 MenhirLib.EngineTypes.startp = _startpos__1_;
25609 MenhirLib.EngineTypes.endp = _endpos__1_;
25610 MenhirLib.EngineTypes.next = _menhir_stack;
25611 } = _menhir_stack in
25612 let _1 : (
25613 # 67 "parser_cocci_menhir.mly"
25614 (Parse_aux.typed_expinfo)
25615 # 25616 "parser_cocci_menhir.ml"
25616 ) = Obj.magic _1 in
25617 let _startpos = _startpos__1_ in
25618 let _endpos = _endpos__1_ in
25619 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25620 # 1367 "parser_cocci_menhir.mly"
25621 ( let (nm,constraints,pure,ty,clt) = _1 in
25622 Ast0.wrap
25623 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
25624 # 25625 "parser_cocci_menhir.ml"
25625 in
25626 _menhir_env.MenhirLib.EngineTypes.stack <- {
25627 MenhirLib.EngineTypes.state = _menhir_s;
25628 MenhirLib.EngineTypes.semv = Obj.repr _v;
25629 MenhirLib.EngineTypes.startp = _startpos;
25630 MenhirLib.EngineTypes.endp = _endpos;
25631 MenhirLib.EngineTypes.next = _menhir_stack;
25632 });
25633 (fun _menhir_env ->
25634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25635 let {
25636 MenhirLib.EngineTypes.semv = _3;
25637 MenhirLib.EngineTypes.startp = _startpos__3_;
25638 MenhirLib.EngineTypes.endp = _endpos__3_;
25639 MenhirLib.EngineTypes.next = {
25640 MenhirLib.EngineTypes.semv = _2;
25641 MenhirLib.EngineTypes.startp = _startpos__2_;
25642 MenhirLib.EngineTypes.endp = _endpos__2_;
25643 MenhirLib.EngineTypes.next = {
25644 MenhirLib.EngineTypes.state = _menhir_s;
25645 MenhirLib.EngineTypes.semv = _1;
25646 MenhirLib.EngineTypes.startp = _startpos__1_;
25647 MenhirLib.EngineTypes.endp = _endpos__1_;
25648 MenhirLib.EngineTypes.next = _menhir_stack;
25649 };
25650 };
25651 } = _menhir_stack in
25652 let _3 : (
25653 # 77 "parser_cocci_menhir.mly"
25654 (Data.clt)
25655 # 25656 "parser_cocci_menhir.ml"
25656 ) = Obj.magic _3 in
25657 let _2 : 'tv_eexpr = Obj.magic _2 in
25658 let _1 : (
25659 # 76 "parser_cocci_menhir.mly"
25660 (Data.clt)
25661 # 25662 "parser_cocci_menhir.ml"
25662 ) = Obj.magic _1 in
25663 let _startpos = _startpos__1_ in
25664 let _endpos = _endpos__3_ in
25665 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25666 # 1371 "parser_cocci_menhir.mly"
25667 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
25668 P.clt2mcode ")" _3)) )
25669 # 25670 "parser_cocci_menhir.ml"
25670 in
25671 _menhir_env.MenhirLib.EngineTypes.stack <- {
25672 MenhirLib.EngineTypes.state = _menhir_s;
25673 MenhirLib.EngineTypes.semv = Obj.repr _v;
25674 MenhirLib.EngineTypes.startp = _startpos;
25675 MenhirLib.EngineTypes.endp = _endpos;
25676 MenhirLib.EngineTypes.next = _menhir_stack;
25677 });
25678 (fun _menhir_env ->
25679 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25680 let {
25681 MenhirLib.EngineTypes.semv = _3;
25682 MenhirLib.EngineTypes.startp = _startpos__3_;
25683 MenhirLib.EngineTypes.endp = _endpos__3_;
25684 MenhirLib.EngineTypes.next = {
25685 MenhirLib.EngineTypes.semv = _2;
25686 MenhirLib.EngineTypes.startp = _startpos__2_;
25687 MenhirLib.EngineTypes.endp = _endpos__2_;
25688 MenhirLib.EngineTypes.next = {
25689 MenhirLib.EngineTypes.state = _menhir_s;
25690 MenhirLib.EngineTypes.semv = _1;
25691 MenhirLib.EngineTypes.startp = _startpos__1_;
25692 MenhirLib.EngineTypes.endp = _endpos__1_;
25693 MenhirLib.EngineTypes.next = _menhir_stack;
25694 };
25695 };
25696 } = _menhir_stack in
25697 let _3 : (
25698 # 77 "parser_cocci_menhir.mly"
25699 (Data.clt)
25700 # 25701 "parser_cocci_menhir.ml"
25701 ) = Obj.magic _3 in
25702 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
25703 let _1 : (
25704 # 76 "parser_cocci_menhir.mly"
25705 (Data.clt)
25706 # 25707 "parser_cocci_menhir.ml"
25707 ) = Obj.magic _1 in
25708 let _startpos = _startpos__1_ in
25709 let _endpos = _endpos__3_ in
25710 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25711 # 1374 "parser_cocci_menhir.mly"
25712 ( let (mids,code) = _2 in
25713 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
25714 code, mids,
25715 P.clt2mcode ")" _3)) )
25716 # 25717 "parser_cocci_menhir.ml"
25717 in
25718 _menhir_env.MenhirLib.EngineTypes.stack <- {
25719 MenhirLib.EngineTypes.state = _menhir_s;
25720 MenhirLib.EngineTypes.semv = Obj.repr _v;
25721 MenhirLib.EngineTypes.startp = _startpos;
25722 MenhirLib.EngineTypes.endp = _endpos;
25723 MenhirLib.EngineTypes.next = _menhir_stack;
25724 });
25725 (fun _menhir_env ->
25726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25727 let {
25728 MenhirLib.EngineTypes.state = _menhir_s;
25729 MenhirLib.EngineTypes.semv = _1;
25730 MenhirLib.EngineTypes.startp = _startpos__1_;
25731 MenhirLib.EngineTypes.endp = _endpos__1_;
25732 MenhirLib.EngineTypes.next = _menhir_stack;
25733 } = _menhir_stack in
25734 let _1 : 'tv_dot_expressions = Obj.magic _1 in
25735 let _startpos = _startpos__1_ in
25736 let _endpos = _endpos__1_ in
25737 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25738 # 1378 "parser_cocci_menhir.mly"
25739 ( _1 )
25740 # 25741 "parser_cocci_menhir.ml"
25741 in
25742 _menhir_env.MenhirLib.EngineTypes.stack <- {
25743 MenhirLib.EngineTypes.state = _menhir_s;
25744 MenhirLib.EngineTypes.semv = Obj.repr _v;
25745 MenhirLib.EngineTypes.startp = _startpos;
25746 MenhirLib.EngineTypes.endp = _endpos;
25747 MenhirLib.EngineTypes.next = _menhir_stack;
25748 });
25749 (fun _menhir_env ->
25750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25751 let {
25752 MenhirLib.EngineTypes.state = _menhir_s;
25753 MenhirLib.EngineTypes.semv = _1;
25754 MenhirLib.EngineTypes.startp = _startpos__1_;
25755 MenhirLib.EngineTypes.endp = _endpos__1_;
25756 MenhirLib.EngineTypes.next = _menhir_stack;
25757 } = _menhir_stack in
25758 let _1 : 'tv_func_ident = Obj.magic _1 in
25759 let _startpos = _startpos__1_ in
25760 let _endpos = _endpos__1_ in
25761 let _v : 'tv_primary_expr_eexpr_invalid_ =
25762 # 1338 "parser_cocci_menhir.mly"
25763 ( Ast0.wrap(Ast0.Ident(_1)) )
25764 # 25765 "parser_cocci_menhir.ml"
25765 in
25766 _menhir_env.MenhirLib.EngineTypes.stack <- {
25767 MenhirLib.EngineTypes.state = _menhir_s;
25768 MenhirLib.EngineTypes.semv = Obj.repr _v;
25769 MenhirLib.EngineTypes.startp = _startpos;
25770 MenhirLib.EngineTypes.endp = _endpos;
25771 MenhirLib.EngineTypes.next = _menhir_stack;
25772 });
25773 (fun _menhir_env ->
25774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25775 let {
25776 MenhirLib.EngineTypes.state = _menhir_s;
25777 MenhirLib.EngineTypes.semv = _1;
25778 MenhirLib.EngineTypes.startp = _startpos__1_;
25779 MenhirLib.EngineTypes.endp = _endpos__1_;
25780 MenhirLib.EngineTypes.next = _menhir_stack;
25781 } = _menhir_stack in
25782 let _1 : (
25783 # 87 "parser_cocci_menhir.mly"
25784 (string * Data.clt)
25785 # 25786 "parser_cocci_menhir.ml"
25786 ) = Obj.magic _1 in
25787 let _startpos = _startpos__1_ in
25788 let _endpos = _endpos__1_ in
25789 let _v : 'tv_primary_expr_eexpr_invalid_ =
25790 # 1340 "parser_cocci_menhir.mly"
25791 ( let (x,clt) = _1 in
25792 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25793 # 25794 "parser_cocci_menhir.ml"
25794 in
25795 _menhir_env.MenhirLib.EngineTypes.stack <- {
25796 MenhirLib.EngineTypes.state = _menhir_s;
25797 MenhirLib.EngineTypes.semv = Obj.repr _v;
25798 MenhirLib.EngineTypes.startp = _startpos;
25799 MenhirLib.EngineTypes.endp = _endpos;
25800 MenhirLib.EngineTypes.next = _menhir_stack;
25801 });
25802 (fun _menhir_env ->
25803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25804 let {
25805 MenhirLib.EngineTypes.state = _menhir_s;
25806 MenhirLib.EngineTypes.semv = _1;
25807 MenhirLib.EngineTypes.startp = _startpos__1_;
25808 MenhirLib.EngineTypes.endp = _endpos__1_;
25809 MenhirLib.EngineTypes.next = _menhir_stack;
25810 } = _menhir_stack in
25811 let _1 : (
25812 # 87 "parser_cocci_menhir.mly"
25813 (string * Data.clt)
25814 # 25815 "parser_cocci_menhir.ml"
25815 ) = Obj.magic _1 in
25816 let _startpos = _startpos__1_ in
25817 let _endpos = _endpos__1_ in
25818 let _v : 'tv_primary_expr_eexpr_invalid_ =
25819 # 1343 "parser_cocci_menhir.mly"
25820 ( let (x,clt) = _1 in
25821 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25822 # 25823 "parser_cocci_menhir.ml"
25823 in
25824 _menhir_env.MenhirLib.EngineTypes.stack <- {
25825 MenhirLib.EngineTypes.state = _menhir_s;
25826 MenhirLib.EngineTypes.semv = Obj.repr _v;
25827 MenhirLib.EngineTypes.startp = _startpos;
25828 MenhirLib.EngineTypes.endp = _endpos;
25829 MenhirLib.EngineTypes.next = _menhir_stack;
25830 });
25831 (fun _menhir_env ->
25832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25833 let {
25834 MenhirLib.EngineTypes.state = _menhir_s;
25835 MenhirLib.EngineTypes.semv = _1;
25836 MenhirLib.EngineTypes.startp = _startpos__1_;
25837 MenhirLib.EngineTypes.endp = _endpos__1_;
25838 MenhirLib.EngineTypes.next = _menhir_stack;
25839 } = _menhir_stack in
25840 let _1 : (
25841 # 87 "parser_cocci_menhir.mly"
25842 (string * Data.clt)
25843 # 25844 "parser_cocci_menhir.ml"
25844 ) = Obj.magic _1 in
25845 let _startpos = _startpos__1_ in
25846 let _endpos = _endpos__1_ in
25847 let _v : 'tv_primary_expr_eexpr_invalid_ =
25848 # 1346 "parser_cocci_menhir.mly"
25849 ( let (x,clt) = _1 in
25850 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25851 # 25852 "parser_cocci_menhir.ml"
25852 in
25853 _menhir_env.MenhirLib.EngineTypes.stack <- {
25854 MenhirLib.EngineTypes.state = _menhir_s;
25855 MenhirLib.EngineTypes.semv = Obj.repr _v;
25856 MenhirLib.EngineTypes.startp = _startpos;
25857 MenhirLib.EngineTypes.endp = _endpos;
25858 MenhirLib.EngineTypes.next = _menhir_stack;
25859 });
25860 (fun _menhir_env ->
25861 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25862 let {
25863 MenhirLib.EngineTypes.state = _menhir_s;
25864 MenhirLib.EngineTypes.semv = _1;
25865 MenhirLib.EngineTypes.startp = _startpos__1_;
25866 MenhirLib.EngineTypes.endp = _endpos__1_;
25867 MenhirLib.EngineTypes.next = _menhir_stack;
25868 } = _menhir_stack in
25869 let _1 : (
25870 # 87 "parser_cocci_menhir.mly"
25871 (string * Data.clt)
25872 # 25873 "parser_cocci_menhir.ml"
25873 ) = Obj.magic _1 in
25874 let _startpos = _startpos__1_ in
25875 let _endpos = _endpos__1_ in
25876 let _v : 'tv_primary_expr_eexpr_invalid_ =
25877 # 1349 "parser_cocci_menhir.mly"
25878 ( let (x,clt) = _1 in
25879 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25880 # 25881 "parser_cocci_menhir.ml"
25881 in
25882 _menhir_env.MenhirLib.EngineTypes.stack <- {
25883 MenhirLib.EngineTypes.state = _menhir_s;
25884 MenhirLib.EngineTypes.semv = Obj.repr _v;
25885 MenhirLib.EngineTypes.startp = _startpos;
25886 MenhirLib.EngineTypes.endp = _endpos;
25887 MenhirLib.EngineTypes.next = _menhir_stack;
25888 });
25889 (fun _menhir_env ->
25890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25891 let {
25892 MenhirLib.EngineTypes.state = _menhir_s;
25893 MenhirLib.EngineTypes.semv = _1;
25894 MenhirLib.EngineTypes.startp = _startpos__1_;
25895 MenhirLib.EngineTypes.endp = _endpos__1_;
25896 MenhirLib.EngineTypes.next = _menhir_stack;
25897 } = _menhir_stack in
25898 let _1 : (
25899 # 67 "parser_cocci_menhir.mly"
25900 (Parse_aux.typed_expinfo)
25901 # 25902 "parser_cocci_menhir.ml"
25902 ) = Obj.magic _1 in
25903 let _startpos = _startpos__1_ in
25904 let _endpos = _endpos__1_ in
25905 let _v : 'tv_primary_expr_eexpr_invalid_ =
25906 # 1352 "parser_cocci_menhir.mly"
25907 ( let (nm,constraints,pure,ty,clt) = _1 in
25908 Ast0.wrap
25909 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25910 # 25911 "parser_cocci_menhir.ml"
25911 in
25912 _menhir_env.MenhirLib.EngineTypes.stack <- {
25913 MenhirLib.EngineTypes.state = _menhir_s;
25914 MenhirLib.EngineTypes.semv = Obj.repr _v;
25915 MenhirLib.EngineTypes.startp = _startpos;
25916 MenhirLib.EngineTypes.endp = _endpos;
25917 MenhirLib.EngineTypes.next = _menhir_stack;
25918 });
25919 (fun _menhir_env ->
25920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25921 let {
25922 MenhirLib.EngineTypes.state = _menhir_s;
25923 MenhirLib.EngineTypes.semv = _1;
25924 MenhirLib.EngineTypes.startp = _startpos__1_;
25925 MenhirLib.EngineTypes.endp = _endpos__1_;
25926 MenhirLib.EngineTypes.next = _menhir_stack;
25927 } = _menhir_stack in
25928 let _1 : (
25929 # 63 "parser_cocci_menhir.mly"
25930 (Parse_aux.expinfo)
25931 # 25932 "parser_cocci_menhir.ml"
25932 ) = Obj.magic _1 in
25933 let _startpos = _startpos__1_ in
25934 let _endpos = _endpos__1_ in
25935 let _v : 'tv_primary_expr_eexpr_invalid_ =
25936 # 1356 "parser_cocci_menhir.mly"
25937 ( let (nm,constraints,pure,clt) = _1 in
25938 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25939 # 25940 "parser_cocci_menhir.ml"
25940 in
25941 _menhir_env.MenhirLib.EngineTypes.stack <- {
25942 MenhirLib.EngineTypes.state = _menhir_s;
25943 MenhirLib.EngineTypes.semv = Obj.repr _v;
25944 MenhirLib.EngineTypes.startp = _startpos;
25945 MenhirLib.EngineTypes.endp = _endpos;
25946 MenhirLib.EngineTypes.next = _menhir_stack;
25947 });
25948 (fun _menhir_env ->
25949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25950 let {
25951 MenhirLib.EngineTypes.state = _menhir_s;
25952 MenhirLib.EngineTypes.semv = _1;
25953 MenhirLib.EngineTypes.startp = _startpos__1_;
25954 MenhirLib.EngineTypes.endp = _endpos__1_;
25955 MenhirLib.EngineTypes.next = _menhir_stack;
25956 } = _menhir_stack in
25957 let _1 : (
25958 # 67 "parser_cocci_menhir.mly"
25959 (Parse_aux.typed_expinfo)
25960 # 25961 "parser_cocci_menhir.ml"
25961 ) = Obj.magic _1 in
25962 let _startpos = _startpos__1_ in
25963 let _endpos = _endpos__1_ in
25964 let _v : 'tv_primary_expr_eexpr_invalid_ =
25965 # 1359 "parser_cocci_menhir.mly"
25966 ( let (nm,constraints,pure,ty,clt) = _1 in
25967 Ast0.wrap
25968 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25969 # 25970 "parser_cocci_menhir.ml"
25970 in
25971 _menhir_env.MenhirLib.EngineTypes.stack <- {
25972 MenhirLib.EngineTypes.state = _menhir_s;
25973 MenhirLib.EngineTypes.semv = Obj.repr _v;
25974 MenhirLib.EngineTypes.startp = _startpos;
25975 MenhirLib.EngineTypes.endp = _endpos;
25976 MenhirLib.EngineTypes.next = _menhir_stack;
25977 });
25978 (fun _menhir_env ->
25979 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25980 let {
25981 MenhirLib.EngineTypes.state = _menhir_s;
25982 MenhirLib.EngineTypes.semv = _1;
25983 MenhirLib.EngineTypes.startp = _startpos__1_;
25984 MenhirLib.EngineTypes.endp = _endpos__1_;
25985 MenhirLib.EngineTypes.next = _menhir_stack;
25986 } = _menhir_stack in
25987 let _1 : (
25988 # 67 "parser_cocci_menhir.mly"
25989 (Parse_aux.typed_expinfo)
25990 # 25991 "parser_cocci_menhir.ml"
25991 ) = Obj.magic _1 in
25992 let _startpos = _startpos__1_ in
25993 let _endpos = _endpos__1_ in
25994 let _v : 'tv_primary_expr_eexpr_invalid_ =
25995 # 1363 "parser_cocci_menhir.mly"
25996 ( let (nm,constraints,pure,ty,clt) = _1 in
25997 Ast0.wrap
25998 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
25999 # 26000 "parser_cocci_menhir.ml"
26000 in
26001 _menhir_env.MenhirLib.EngineTypes.stack <- {
26002 MenhirLib.EngineTypes.state = _menhir_s;
26003 MenhirLib.EngineTypes.semv = Obj.repr _v;
26004 MenhirLib.EngineTypes.startp = _startpos;
26005 MenhirLib.EngineTypes.endp = _endpos;
26006 MenhirLib.EngineTypes.next = _menhir_stack;
26007 });
26008 (fun _menhir_env ->
26009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26010 let {
26011 MenhirLib.EngineTypes.state = _menhir_s;
26012 MenhirLib.EngineTypes.semv = _1;
26013 MenhirLib.EngineTypes.startp = _startpos__1_;
26014 MenhirLib.EngineTypes.endp = _endpos__1_;
26015 MenhirLib.EngineTypes.next = _menhir_stack;
26016 } = _menhir_stack in
26017 let _1 : (
26018 # 67 "parser_cocci_menhir.mly"
26019 (Parse_aux.typed_expinfo)
26020 # 26021 "parser_cocci_menhir.ml"
26021 ) = Obj.magic _1 in
26022 let _startpos = _startpos__1_ in
26023 let _endpos = _endpos__1_ in
26024 let _v : 'tv_primary_expr_eexpr_invalid_ =
26025 # 1367 "parser_cocci_menhir.mly"
26026 ( let (nm,constraints,pure,ty,clt) = _1 in
26027 Ast0.wrap
26028 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26029 # 26030 "parser_cocci_menhir.ml"
26030 in
26031 _menhir_env.MenhirLib.EngineTypes.stack <- {
26032 MenhirLib.EngineTypes.state = _menhir_s;
26033 MenhirLib.EngineTypes.semv = Obj.repr _v;
26034 MenhirLib.EngineTypes.startp = _startpos;
26035 MenhirLib.EngineTypes.endp = _endpos;
26036 MenhirLib.EngineTypes.next = _menhir_stack;
26037 });
26038 (fun _menhir_env ->
26039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26040 let {
26041 MenhirLib.EngineTypes.semv = _3;
26042 MenhirLib.EngineTypes.startp = _startpos__3_;
26043 MenhirLib.EngineTypes.endp = _endpos__3_;
26044 MenhirLib.EngineTypes.next = {
26045 MenhirLib.EngineTypes.semv = _2;
26046 MenhirLib.EngineTypes.startp = _startpos__2_;
26047 MenhirLib.EngineTypes.endp = _endpos__2_;
26048 MenhirLib.EngineTypes.next = {
26049 MenhirLib.EngineTypes.state = _menhir_s;
26050 MenhirLib.EngineTypes.semv = _1;
26051 MenhirLib.EngineTypes.startp = _startpos__1_;
26052 MenhirLib.EngineTypes.endp = _endpos__1_;
26053 MenhirLib.EngineTypes.next = _menhir_stack;
26054 };
26055 };
26056 } = _menhir_stack in
26057 let _3 : (
26058 # 77 "parser_cocci_menhir.mly"
26059 (Data.clt)
26060 # 26061 "parser_cocci_menhir.ml"
26061 ) = Obj.magic _3 in
26062 let _2 : 'tv_eexpr = Obj.magic _2 in
26063 let _1 : (
26064 # 76 "parser_cocci_menhir.mly"
26065 (Data.clt)
26066 # 26067 "parser_cocci_menhir.ml"
26067 ) = Obj.magic _1 in
26068 let _startpos = _startpos__1_ in
26069 let _endpos = _endpos__3_ in
26070 let _v : 'tv_primary_expr_eexpr_invalid_ =
26071 # 1371 "parser_cocci_menhir.mly"
26072 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26073 P.clt2mcode ")" _3)) )
26074 # 26075 "parser_cocci_menhir.ml"
26075 in
26076 _menhir_env.MenhirLib.EngineTypes.stack <- {
26077 MenhirLib.EngineTypes.state = _menhir_s;
26078 MenhirLib.EngineTypes.semv = Obj.repr _v;
26079 MenhirLib.EngineTypes.startp = _startpos;
26080 MenhirLib.EngineTypes.endp = _endpos;
26081 MenhirLib.EngineTypes.next = _menhir_stack;
26082 });
26083 (fun _menhir_env ->
26084 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26085 let {
26086 MenhirLib.EngineTypes.semv = _3;
26087 MenhirLib.EngineTypes.startp = _startpos__3_;
26088 MenhirLib.EngineTypes.endp = _endpos__3_;
26089 MenhirLib.EngineTypes.next = {
26090 MenhirLib.EngineTypes.semv = _2;
26091 MenhirLib.EngineTypes.startp = _startpos__2_;
26092 MenhirLib.EngineTypes.endp = _endpos__2_;
26093 MenhirLib.EngineTypes.next = {
26094 MenhirLib.EngineTypes.state = _menhir_s;
26095 MenhirLib.EngineTypes.semv = _1;
26096 MenhirLib.EngineTypes.startp = _startpos__1_;
26097 MenhirLib.EngineTypes.endp = _endpos__1_;
26098 MenhirLib.EngineTypes.next = _menhir_stack;
26099 };
26100 };
26101 } = _menhir_stack in
26102 let _3 : (
26103 # 77 "parser_cocci_menhir.mly"
26104 (Data.clt)
26105 # 26106 "parser_cocci_menhir.ml"
26106 ) = Obj.magic _3 in
26107 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26108 let _1 : (
26109 # 76 "parser_cocci_menhir.mly"
26110 (Data.clt)
26111 # 26112 "parser_cocci_menhir.ml"
26112 ) = Obj.magic _1 in
26113 let _startpos = _startpos__1_ in
26114 let _endpos = _endpos__3_ in
26115 let _v : 'tv_primary_expr_eexpr_invalid_ =
26116 # 1374 "parser_cocci_menhir.mly"
26117 ( let (mids,code) = _2 in
26118 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26119 code, mids,
26120 P.clt2mcode ")" _3)) )
26121 # 26122 "parser_cocci_menhir.ml"
26122 in
26123 _menhir_env.MenhirLib.EngineTypes.stack <- {
26124 MenhirLib.EngineTypes.state = _menhir_s;
26125 MenhirLib.EngineTypes.semv = Obj.repr _v;
26126 MenhirLib.EngineTypes.startp = _startpos;
26127 MenhirLib.EngineTypes.endp = _endpos;
26128 MenhirLib.EngineTypes.next = _menhir_stack;
26129 });
26130 (fun _menhir_env ->
26131 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26132 let {
26133 MenhirLib.EngineTypes.state = _menhir_s;
26134 MenhirLib.EngineTypes.semv = _1;
26135 MenhirLib.EngineTypes.startp = _startpos__1_;
26136 MenhirLib.EngineTypes.endp = _endpos__1_;
26137 MenhirLib.EngineTypes.next = _menhir_stack;
26138 } = _menhir_stack in
26139 let _1 : 'tv_invalid = Obj.magic _1 in
26140 let _startpos = _startpos__1_ in
26141 let _endpos = _endpos__1_ in
26142 let _v : 'tv_primary_expr_eexpr_invalid_ =
26143 # 1378 "parser_cocci_menhir.mly"
26144 ( _1 )
26145 # 26146 "parser_cocci_menhir.ml"
26146 in
26147 _menhir_env.MenhirLib.EngineTypes.stack <- {
26148 MenhirLib.EngineTypes.state = _menhir_s;
26149 MenhirLib.EngineTypes.semv = Obj.repr _v;
26150 MenhirLib.EngineTypes.startp = _startpos;
26151 MenhirLib.EngineTypes.endp = _endpos;
26152 MenhirLib.EngineTypes.next = _menhir_stack;
26153 });
26154 (fun _menhir_env ->
26155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26156 let {
26157 MenhirLib.EngineTypes.state = _menhir_s;
26158 MenhirLib.EngineTypes.semv = _1;
26159 MenhirLib.EngineTypes.startp = _startpos__1_;
26160 MenhirLib.EngineTypes.endp = _endpos__1_;
26161 MenhirLib.EngineTypes.next = _menhir_stack;
26162 } = _menhir_stack in
26163 let _1 : 'tv_func_ident = Obj.magic _1 in
26164 let _startpos = _startpos__1_ in
26165 let _endpos = _endpos__1_ in
26166 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26167 # 1338 "parser_cocci_menhir.mly"
26168 ( Ast0.wrap(Ast0.Ident(_1)) )
26169 # 26170 "parser_cocci_menhir.ml"
26170 in
26171 _menhir_env.MenhirLib.EngineTypes.stack <- {
26172 MenhirLib.EngineTypes.state = _menhir_s;
26173 MenhirLib.EngineTypes.semv = Obj.repr _v;
26174 MenhirLib.EngineTypes.startp = _startpos;
26175 MenhirLib.EngineTypes.endp = _endpos;
26176 MenhirLib.EngineTypes.next = _menhir_stack;
26177 });
26178 (fun _menhir_env ->
26179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26180 let {
26181 MenhirLib.EngineTypes.state = _menhir_s;
26182 MenhirLib.EngineTypes.semv = _1;
26183 MenhirLib.EngineTypes.startp = _startpos__1_;
26184 MenhirLib.EngineTypes.endp = _endpos__1_;
26185 MenhirLib.EngineTypes.next = _menhir_stack;
26186 } = _menhir_stack in
26187 let _1 : (
26188 # 87 "parser_cocci_menhir.mly"
26189 (string * Data.clt)
26190 # 26191 "parser_cocci_menhir.ml"
26191 ) = Obj.magic _1 in
26192 let _startpos = _startpos__1_ in
26193 let _endpos = _endpos__1_ in
26194 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26195 # 1340 "parser_cocci_menhir.mly"
26196 ( let (x,clt) = _1 in
26197 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26198 # 26199 "parser_cocci_menhir.ml"
26199 in
26200 _menhir_env.MenhirLib.EngineTypes.stack <- {
26201 MenhirLib.EngineTypes.state = _menhir_s;
26202 MenhirLib.EngineTypes.semv = Obj.repr _v;
26203 MenhirLib.EngineTypes.startp = _startpos;
26204 MenhirLib.EngineTypes.endp = _endpos;
26205 MenhirLib.EngineTypes.next = _menhir_stack;
26206 });
26207 (fun _menhir_env ->
26208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26209 let {
26210 MenhirLib.EngineTypes.state = _menhir_s;
26211 MenhirLib.EngineTypes.semv = _1;
26212 MenhirLib.EngineTypes.startp = _startpos__1_;
26213 MenhirLib.EngineTypes.endp = _endpos__1_;
26214 MenhirLib.EngineTypes.next = _menhir_stack;
26215 } = _menhir_stack in
26216 let _1 : (
26217 # 87 "parser_cocci_menhir.mly"
26218 (string * Data.clt)
26219 # 26220 "parser_cocci_menhir.ml"
26220 ) = Obj.magic _1 in
26221 let _startpos = _startpos__1_ in
26222 let _endpos = _endpos__1_ in
26223 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26224 # 1343 "parser_cocci_menhir.mly"
26225 ( let (x,clt) = _1 in
26226 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26227 # 26228 "parser_cocci_menhir.ml"
26228 in
26229 _menhir_env.MenhirLib.EngineTypes.stack <- {
26230 MenhirLib.EngineTypes.state = _menhir_s;
26231 MenhirLib.EngineTypes.semv = Obj.repr _v;
26232 MenhirLib.EngineTypes.startp = _startpos;
26233 MenhirLib.EngineTypes.endp = _endpos;
26234 MenhirLib.EngineTypes.next = _menhir_stack;
26235 });
26236 (fun _menhir_env ->
26237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26238 let {
26239 MenhirLib.EngineTypes.state = _menhir_s;
26240 MenhirLib.EngineTypes.semv = _1;
26241 MenhirLib.EngineTypes.startp = _startpos__1_;
26242 MenhirLib.EngineTypes.endp = _endpos__1_;
26243 MenhirLib.EngineTypes.next = _menhir_stack;
26244 } = _menhir_stack in
26245 let _1 : (
26246 # 87 "parser_cocci_menhir.mly"
26247 (string * Data.clt)
26248 # 26249 "parser_cocci_menhir.ml"
26249 ) = Obj.magic _1 in
26250 let _startpos = _startpos__1_ in
26251 let _endpos = _endpos__1_ in
26252 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26253 # 1346 "parser_cocci_menhir.mly"
26254 ( let (x,clt) = _1 in
26255 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26256 # 26257 "parser_cocci_menhir.ml"
26257 in
26258 _menhir_env.MenhirLib.EngineTypes.stack <- {
26259 MenhirLib.EngineTypes.state = _menhir_s;
26260 MenhirLib.EngineTypes.semv = Obj.repr _v;
26261 MenhirLib.EngineTypes.startp = _startpos;
26262 MenhirLib.EngineTypes.endp = _endpos;
26263 MenhirLib.EngineTypes.next = _menhir_stack;
26264 });
26265 (fun _menhir_env ->
26266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26267 let {
26268 MenhirLib.EngineTypes.state = _menhir_s;
26269 MenhirLib.EngineTypes.semv = _1;
26270 MenhirLib.EngineTypes.startp = _startpos__1_;
26271 MenhirLib.EngineTypes.endp = _endpos__1_;
26272 MenhirLib.EngineTypes.next = _menhir_stack;
26273 } = _menhir_stack in
26274 let _1 : (
26275 # 87 "parser_cocci_menhir.mly"
26276 (string * Data.clt)
26277 # 26278 "parser_cocci_menhir.ml"
26278 ) = Obj.magic _1 in
26279 let _startpos = _startpos__1_ in
26280 let _endpos = _endpos__1_ in
26281 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26282 # 1349 "parser_cocci_menhir.mly"
26283 ( let (x,clt) = _1 in
26284 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26285 # 26286 "parser_cocci_menhir.ml"
26286 in
26287 _menhir_env.MenhirLib.EngineTypes.stack <- {
26288 MenhirLib.EngineTypes.state = _menhir_s;
26289 MenhirLib.EngineTypes.semv = Obj.repr _v;
26290 MenhirLib.EngineTypes.startp = _startpos;
26291 MenhirLib.EngineTypes.endp = _endpos;
26292 MenhirLib.EngineTypes.next = _menhir_stack;
26293 });
26294 (fun _menhir_env ->
26295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26296 let {
26297 MenhirLib.EngineTypes.state = _menhir_s;
26298 MenhirLib.EngineTypes.semv = _1;
26299 MenhirLib.EngineTypes.startp = _startpos__1_;
26300 MenhirLib.EngineTypes.endp = _endpos__1_;
26301 MenhirLib.EngineTypes.next = _menhir_stack;
26302 } = _menhir_stack in
26303 let _1 : (
26304 # 67 "parser_cocci_menhir.mly"
26305 (Parse_aux.typed_expinfo)
26306 # 26307 "parser_cocci_menhir.ml"
26307 ) = Obj.magic _1 in
26308 let _startpos = _startpos__1_ in
26309 let _endpos = _endpos__1_ in
26310 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26311 # 1352 "parser_cocci_menhir.mly"
26312 ( let (nm,constraints,pure,ty,clt) = _1 in
26313 Ast0.wrap
26314 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26315 # 26316 "parser_cocci_menhir.ml"
26316 in
26317 _menhir_env.MenhirLib.EngineTypes.stack <- {
26318 MenhirLib.EngineTypes.state = _menhir_s;
26319 MenhirLib.EngineTypes.semv = Obj.repr _v;
26320 MenhirLib.EngineTypes.startp = _startpos;
26321 MenhirLib.EngineTypes.endp = _endpos;
26322 MenhirLib.EngineTypes.next = _menhir_stack;
26323 });
26324 (fun _menhir_env ->
26325 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26326 let {
26327 MenhirLib.EngineTypes.state = _menhir_s;
26328 MenhirLib.EngineTypes.semv = _1;
26329 MenhirLib.EngineTypes.startp = _startpos__1_;
26330 MenhirLib.EngineTypes.endp = _endpos__1_;
26331 MenhirLib.EngineTypes.next = _menhir_stack;
26332 } = _menhir_stack in
26333 let _1 : (
26334 # 63 "parser_cocci_menhir.mly"
26335 (Parse_aux.expinfo)
26336 # 26337 "parser_cocci_menhir.ml"
26337 ) = Obj.magic _1 in
26338 let _startpos = _startpos__1_ in
26339 let _endpos = _endpos__1_ in
26340 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26341 # 1356 "parser_cocci_menhir.mly"
26342 ( let (nm,constraints,pure,clt) = _1 in
26343 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26344 # 26345 "parser_cocci_menhir.ml"
26345 in
26346 _menhir_env.MenhirLib.EngineTypes.stack <- {
26347 MenhirLib.EngineTypes.state = _menhir_s;
26348 MenhirLib.EngineTypes.semv = Obj.repr _v;
26349 MenhirLib.EngineTypes.startp = _startpos;
26350 MenhirLib.EngineTypes.endp = _endpos;
26351 MenhirLib.EngineTypes.next = _menhir_stack;
26352 });
26353 (fun _menhir_env ->
26354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26355 let {
26356 MenhirLib.EngineTypes.state = _menhir_s;
26357 MenhirLib.EngineTypes.semv = _1;
26358 MenhirLib.EngineTypes.startp = _startpos__1_;
26359 MenhirLib.EngineTypes.endp = _endpos__1_;
26360 MenhirLib.EngineTypes.next = _menhir_stack;
26361 } = _menhir_stack in
26362 let _1 : (
26363 # 67 "parser_cocci_menhir.mly"
26364 (Parse_aux.typed_expinfo)
26365 # 26366 "parser_cocci_menhir.ml"
26366 ) = Obj.magic _1 in
26367 let _startpos = _startpos__1_ in
26368 let _endpos = _endpos__1_ in
26369 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26370 # 1359 "parser_cocci_menhir.mly"
26371 ( let (nm,constraints,pure,ty,clt) = _1 in
26372 Ast0.wrap
26373 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26374 # 26375 "parser_cocci_menhir.ml"
26375 in
26376 _menhir_env.MenhirLib.EngineTypes.stack <- {
26377 MenhirLib.EngineTypes.state = _menhir_s;
26378 MenhirLib.EngineTypes.semv = Obj.repr _v;
26379 MenhirLib.EngineTypes.startp = _startpos;
26380 MenhirLib.EngineTypes.endp = _endpos;
26381 MenhirLib.EngineTypes.next = _menhir_stack;
26382 });
26383 (fun _menhir_env ->
26384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26385 let {
26386 MenhirLib.EngineTypes.state = _menhir_s;
26387 MenhirLib.EngineTypes.semv = _1;
26388 MenhirLib.EngineTypes.startp = _startpos__1_;
26389 MenhirLib.EngineTypes.endp = _endpos__1_;
26390 MenhirLib.EngineTypes.next = _menhir_stack;
26391 } = _menhir_stack in
26392 let _1 : (
26393 # 67 "parser_cocci_menhir.mly"
26394 (Parse_aux.typed_expinfo)
26395 # 26396 "parser_cocci_menhir.ml"
26396 ) = Obj.magic _1 in
26397 let _startpos = _startpos__1_ in
26398 let _endpos = _endpos__1_ in
26399 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26400 # 1363 "parser_cocci_menhir.mly"
26401 ( let (nm,constraints,pure,ty,clt) = _1 in
26402 Ast0.wrap
26403 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26404 # 26405 "parser_cocci_menhir.ml"
26405 in
26406 _menhir_env.MenhirLib.EngineTypes.stack <- {
26407 MenhirLib.EngineTypes.state = _menhir_s;
26408 MenhirLib.EngineTypes.semv = Obj.repr _v;
26409 MenhirLib.EngineTypes.startp = _startpos;
26410 MenhirLib.EngineTypes.endp = _endpos;
26411 MenhirLib.EngineTypes.next = _menhir_stack;
26412 });
26413 (fun _menhir_env ->
26414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26415 let {
26416 MenhirLib.EngineTypes.state = _menhir_s;
26417 MenhirLib.EngineTypes.semv = _1;
26418 MenhirLib.EngineTypes.startp = _startpos__1_;
26419 MenhirLib.EngineTypes.endp = _endpos__1_;
26420 MenhirLib.EngineTypes.next = _menhir_stack;
26421 } = _menhir_stack in
26422 let _1 : (
26423 # 67 "parser_cocci_menhir.mly"
26424 (Parse_aux.typed_expinfo)
26425 # 26426 "parser_cocci_menhir.ml"
26426 ) = Obj.magic _1 in
26427 let _startpos = _startpos__1_ in
26428 let _endpos = _endpos__1_ in
26429 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26430 # 1367 "parser_cocci_menhir.mly"
26431 ( let (nm,constraints,pure,ty,clt) = _1 in
26432 Ast0.wrap
26433 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26434 # 26435 "parser_cocci_menhir.ml"
26435 in
26436 _menhir_env.MenhirLib.EngineTypes.stack <- {
26437 MenhirLib.EngineTypes.state = _menhir_s;
26438 MenhirLib.EngineTypes.semv = Obj.repr _v;
26439 MenhirLib.EngineTypes.startp = _startpos;
26440 MenhirLib.EngineTypes.endp = _endpos;
26441 MenhirLib.EngineTypes.next = _menhir_stack;
26442 });
26443 (fun _menhir_env ->
26444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26445 let {
26446 MenhirLib.EngineTypes.semv = _3;
26447 MenhirLib.EngineTypes.startp = _startpos__3_;
26448 MenhirLib.EngineTypes.endp = _endpos__3_;
26449 MenhirLib.EngineTypes.next = {
26450 MenhirLib.EngineTypes.semv = _2;
26451 MenhirLib.EngineTypes.startp = _startpos__2_;
26452 MenhirLib.EngineTypes.endp = _endpos__2_;
26453 MenhirLib.EngineTypes.next = {
26454 MenhirLib.EngineTypes.state = _menhir_s;
26455 MenhirLib.EngineTypes.semv = _1;
26456 MenhirLib.EngineTypes.startp = _startpos__1_;
26457 MenhirLib.EngineTypes.endp = _endpos__1_;
26458 MenhirLib.EngineTypes.next = _menhir_stack;
26459 };
26460 };
26461 } = _menhir_stack in
26462 let _3 : (
26463 # 77 "parser_cocci_menhir.mly"
26464 (Data.clt)
26465 # 26466 "parser_cocci_menhir.ml"
26466 ) = Obj.magic _3 in
26467 let _2 : 'tv_eexpr = Obj.magic _2 in
26468 let _1 : (
26469 # 76 "parser_cocci_menhir.mly"
26470 (Data.clt)
26471 # 26472 "parser_cocci_menhir.ml"
26472 ) = Obj.magic _1 in
26473 let _startpos = _startpos__1_ in
26474 let _endpos = _endpos__3_ in
26475 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26476 # 1371 "parser_cocci_menhir.mly"
26477 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26478 P.clt2mcode ")" _3)) )
26479 # 26480 "parser_cocci_menhir.ml"
26480 in
26481 _menhir_env.MenhirLib.EngineTypes.stack <- {
26482 MenhirLib.EngineTypes.state = _menhir_s;
26483 MenhirLib.EngineTypes.semv = Obj.repr _v;
26484 MenhirLib.EngineTypes.startp = _startpos;
26485 MenhirLib.EngineTypes.endp = _endpos;
26486 MenhirLib.EngineTypes.next = _menhir_stack;
26487 });
26488 (fun _menhir_env ->
26489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26490 let {
26491 MenhirLib.EngineTypes.semv = _3;
26492 MenhirLib.EngineTypes.startp = _startpos__3_;
26493 MenhirLib.EngineTypes.endp = _endpos__3_;
26494 MenhirLib.EngineTypes.next = {
26495 MenhirLib.EngineTypes.semv = _2;
26496 MenhirLib.EngineTypes.startp = _startpos__2_;
26497 MenhirLib.EngineTypes.endp = _endpos__2_;
26498 MenhirLib.EngineTypes.next = {
26499 MenhirLib.EngineTypes.state = _menhir_s;
26500 MenhirLib.EngineTypes.semv = _1;
26501 MenhirLib.EngineTypes.startp = _startpos__1_;
26502 MenhirLib.EngineTypes.endp = _endpos__1_;
26503 MenhirLib.EngineTypes.next = _menhir_stack;
26504 };
26505 };
26506 } = _menhir_stack in
26507 let _3 : (
26508 # 77 "parser_cocci_menhir.mly"
26509 (Data.clt)
26510 # 26511 "parser_cocci_menhir.ml"
26511 ) = Obj.magic _3 in
26512 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26513 let _1 : (
26514 # 76 "parser_cocci_menhir.mly"
26515 (Data.clt)
26516 # 26517 "parser_cocci_menhir.ml"
26517 ) = Obj.magic _1 in
26518 let _startpos = _startpos__1_ in
26519 let _endpos = _endpos__3_ in
26520 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26521 # 1374 "parser_cocci_menhir.mly"
26522 ( let (mids,code) = _2 in
26523 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26524 code, mids,
26525 P.clt2mcode ")" _3)) )
26526 # 26527 "parser_cocci_menhir.ml"
26527 in
26528 _menhir_env.MenhirLib.EngineTypes.stack <- {
26529 MenhirLib.EngineTypes.state = _menhir_s;
26530 MenhirLib.EngineTypes.semv = Obj.repr _v;
26531 MenhirLib.EngineTypes.startp = _startpos;
26532 MenhirLib.EngineTypes.endp = _endpos;
26533 MenhirLib.EngineTypes.next = _menhir_stack;
26534 });
26535 (fun _menhir_env ->
26536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26537 let {
26538 MenhirLib.EngineTypes.state = _menhir_s;
26539 MenhirLib.EngineTypes.semv = _1;
26540 MenhirLib.EngineTypes.startp = _startpos__1_;
26541 MenhirLib.EngineTypes.endp = _endpos__1_;
26542 MenhirLib.EngineTypes.next = _menhir_stack;
26543 } = _menhir_stack in
26544 let _1 : 'tv_nest_expressions = Obj.magic _1 in
26545 let _startpos = _startpos__1_ in
26546 let _endpos = _endpos__1_ in
26547 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26548 # 1378 "parser_cocci_menhir.mly"
26549 ( _1 )
26550 # 26551 "parser_cocci_menhir.ml"
26551 in
26552 _menhir_env.MenhirLib.EngineTypes.stack <- {
26553 MenhirLib.EngineTypes.state = _menhir_s;
26554 MenhirLib.EngineTypes.semv = Obj.repr _v;
26555 MenhirLib.EngineTypes.startp = _startpos;
26556 MenhirLib.EngineTypes.endp = _endpos;
26557 MenhirLib.EngineTypes.next = _menhir_stack;
26558 });
26559 (fun _menhir_env ->
26560 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26561 let {
26562 MenhirLib.EngineTypes.state = _menhir_s;
26563 MenhirLib.EngineTypes.semv = _1;
26564 MenhirLib.EngineTypes.startp = _startpos__1_;
26565 MenhirLib.EngineTypes.endp = _endpos__1_;
26566 MenhirLib.EngineTypes.next = _menhir_stack;
26567 } = _menhir_stack in
26568 let _1 : 'tv_func_ident = Obj.magic _1 in
26569 let _startpos = _startpos__1_ in
26570 let _endpos = _endpos__1_ in
26571 let _v : 'tv_primary_expr_expr_invalid_ =
26572 # 1338 "parser_cocci_menhir.mly"
26573 ( Ast0.wrap(Ast0.Ident(_1)) )
26574 # 26575 "parser_cocci_menhir.ml"
26575 in
26576 _menhir_env.MenhirLib.EngineTypes.stack <- {
26577 MenhirLib.EngineTypes.state = _menhir_s;
26578 MenhirLib.EngineTypes.semv = Obj.repr _v;
26579 MenhirLib.EngineTypes.startp = _startpos;
26580 MenhirLib.EngineTypes.endp = _endpos;
26581 MenhirLib.EngineTypes.next = _menhir_stack;
26582 });
26583 (fun _menhir_env ->
26584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26585 let {
26586 MenhirLib.EngineTypes.state = _menhir_s;
26587 MenhirLib.EngineTypes.semv = _1;
26588 MenhirLib.EngineTypes.startp = _startpos__1_;
26589 MenhirLib.EngineTypes.endp = _endpos__1_;
26590 MenhirLib.EngineTypes.next = _menhir_stack;
26591 } = _menhir_stack in
26592 let _1 : (
26593 # 87 "parser_cocci_menhir.mly"
26594 (string * Data.clt)
26595 # 26596 "parser_cocci_menhir.ml"
26596 ) = Obj.magic _1 in
26597 let _startpos = _startpos__1_ in
26598 let _endpos = _endpos__1_ in
26599 let _v : 'tv_primary_expr_expr_invalid_ =
26600 # 1340 "parser_cocci_menhir.mly"
26601 ( let (x,clt) = _1 in
26602 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26603 # 26604 "parser_cocci_menhir.ml"
26604 in
26605 _menhir_env.MenhirLib.EngineTypes.stack <- {
26606 MenhirLib.EngineTypes.state = _menhir_s;
26607 MenhirLib.EngineTypes.semv = Obj.repr _v;
26608 MenhirLib.EngineTypes.startp = _startpos;
26609 MenhirLib.EngineTypes.endp = _endpos;
26610 MenhirLib.EngineTypes.next = _menhir_stack;
26611 });
26612 (fun _menhir_env ->
26613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26614 let {
26615 MenhirLib.EngineTypes.state = _menhir_s;
26616 MenhirLib.EngineTypes.semv = _1;
26617 MenhirLib.EngineTypes.startp = _startpos__1_;
26618 MenhirLib.EngineTypes.endp = _endpos__1_;
26619 MenhirLib.EngineTypes.next = _menhir_stack;
26620 } = _menhir_stack in
26621 let _1 : (
26622 # 87 "parser_cocci_menhir.mly"
26623 (string * Data.clt)
26624 # 26625 "parser_cocci_menhir.ml"
26625 ) = Obj.magic _1 in
26626 let _startpos = _startpos__1_ in
26627 let _endpos = _endpos__1_ in
26628 let _v : 'tv_primary_expr_expr_invalid_ =
26629 # 1343 "parser_cocci_menhir.mly"
26630 ( let (x,clt) = _1 in
26631 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26632 # 26633 "parser_cocci_menhir.ml"
26633 in
26634 _menhir_env.MenhirLib.EngineTypes.stack <- {
26635 MenhirLib.EngineTypes.state = _menhir_s;
26636 MenhirLib.EngineTypes.semv = Obj.repr _v;
26637 MenhirLib.EngineTypes.startp = _startpos;
26638 MenhirLib.EngineTypes.endp = _endpos;
26639 MenhirLib.EngineTypes.next = _menhir_stack;
26640 });
26641 (fun _menhir_env ->
26642 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26643 let {
26644 MenhirLib.EngineTypes.state = _menhir_s;
26645 MenhirLib.EngineTypes.semv = _1;
26646 MenhirLib.EngineTypes.startp = _startpos__1_;
26647 MenhirLib.EngineTypes.endp = _endpos__1_;
26648 MenhirLib.EngineTypes.next = _menhir_stack;
26649 } = _menhir_stack in
26650 let _1 : (
26651 # 87 "parser_cocci_menhir.mly"
26652 (string * Data.clt)
26653 # 26654 "parser_cocci_menhir.ml"
26654 ) = Obj.magic _1 in
26655 let _startpos = _startpos__1_ in
26656 let _endpos = _endpos__1_ in
26657 let _v : 'tv_primary_expr_expr_invalid_ =
26658 # 1346 "parser_cocci_menhir.mly"
26659 ( let (x,clt) = _1 in
26660 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26661 # 26662 "parser_cocci_menhir.ml"
26662 in
26663 _menhir_env.MenhirLib.EngineTypes.stack <- {
26664 MenhirLib.EngineTypes.state = _menhir_s;
26665 MenhirLib.EngineTypes.semv = Obj.repr _v;
26666 MenhirLib.EngineTypes.startp = _startpos;
26667 MenhirLib.EngineTypes.endp = _endpos;
26668 MenhirLib.EngineTypes.next = _menhir_stack;
26669 });
26670 (fun _menhir_env ->
26671 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26672 let {
26673 MenhirLib.EngineTypes.state = _menhir_s;
26674 MenhirLib.EngineTypes.semv = _1;
26675 MenhirLib.EngineTypes.startp = _startpos__1_;
26676 MenhirLib.EngineTypes.endp = _endpos__1_;
26677 MenhirLib.EngineTypes.next = _menhir_stack;
26678 } = _menhir_stack in
26679 let _1 : (
26680 # 87 "parser_cocci_menhir.mly"
26681 (string * Data.clt)
26682 # 26683 "parser_cocci_menhir.ml"
26683 ) = Obj.magic _1 in
26684 let _startpos = _startpos__1_ in
26685 let _endpos = _endpos__1_ in
26686 let _v : 'tv_primary_expr_expr_invalid_ =
26687 # 1349 "parser_cocci_menhir.mly"
26688 ( let (x,clt) = _1 in
26689 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26690 # 26691 "parser_cocci_menhir.ml"
26691 in
26692 _menhir_env.MenhirLib.EngineTypes.stack <- {
26693 MenhirLib.EngineTypes.state = _menhir_s;
26694 MenhirLib.EngineTypes.semv = Obj.repr _v;
26695 MenhirLib.EngineTypes.startp = _startpos;
26696 MenhirLib.EngineTypes.endp = _endpos;
26697 MenhirLib.EngineTypes.next = _menhir_stack;
26698 });
26699 (fun _menhir_env ->
26700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26701 let {
26702 MenhirLib.EngineTypes.state = _menhir_s;
26703 MenhirLib.EngineTypes.semv = _1;
26704 MenhirLib.EngineTypes.startp = _startpos__1_;
26705 MenhirLib.EngineTypes.endp = _endpos__1_;
26706 MenhirLib.EngineTypes.next = _menhir_stack;
26707 } = _menhir_stack in
26708 let _1 : (
26709 # 67 "parser_cocci_menhir.mly"
26710 (Parse_aux.typed_expinfo)
26711 # 26712 "parser_cocci_menhir.ml"
26712 ) = Obj.magic _1 in
26713 let _startpos = _startpos__1_ in
26714 let _endpos = _endpos__1_ in
26715 let _v : 'tv_primary_expr_expr_invalid_ =
26716 # 1352 "parser_cocci_menhir.mly"
26717 ( let (nm,constraints,pure,ty,clt) = _1 in
26718 Ast0.wrap
26719 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26720 # 26721 "parser_cocci_menhir.ml"
26721 in
26722 _menhir_env.MenhirLib.EngineTypes.stack <- {
26723 MenhirLib.EngineTypes.state = _menhir_s;
26724 MenhirLib.EngineTypes.semv = Obj.repr _v;
26725 MenhirLib.EngineTypes.startp = _startpos;
26726 MenhirLib.EngineTypes.endp = _endpos;
26727 MenhirLib.EngineTypes.next = _menhir_stack;
26728 });
26729 (fun _menhir_env ->
26730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26731 let {
26732 MenhirLib.EngineTypes.state = _menhir_s;
26733 MenhirLib.EngineTypes.semv = _1;
26734 MenhirLib.EngineTypes.startp = _startpos__1_;
26735 MenhirLib.EngineTypes.endp = _endpos__1_;
26736 MenhirLib.EngineTypes.next = _menhir_stack;
26737 } = _menhir_stack in
26738 let _1 : (
26739 # 63 "parser_cocci_menhir.mly"
26740 (Parse_aux.expinfo)
26741 # 26742 "parser_cocci_menhir.ml"
26742 ) = Obj.magic _1 in
26743 let _startpos = _startpos__1_ in
26744 let _endpos = _endpos__1_ in
26745 let _v : 'tv_primary_expr_expr_invalid_ =
26746 # 1356 "parser_cocci_menhir.mly"
26747 ( let (nm,constraints,pure,clt) = _1 in
26748 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26749 # 26750 "parser_cocci_menhir.ml"
26750 in
26751 _menhir_env.MenhirLib.EngineTypes.stack <- {
26752 MenhirLib.EngineTypes.state = _menhir_s;
26753 MenhirLib.EngineTypes.semv = Obj.repr _v;
26754 MenhirLib.EngineTypes.startp = _startpos;
26755 MenhirLib.EngineTypes.endp = _endpos;
26756 MenhirLib.EngineTypes.next = _menhir_stack;
26757 });
26758 (fun _menhir_env ->
26759 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26760 let {
26761 MenhirLib.EngineTypes.state = _menhir_s;
26762 MenhirLib.EngineTypes.semv = _1;
26763 MenhirLib.EngineTypes.startp = _startpos__1_;
26764 MenhirLib.EngineTypes.endp = _endpos__1_;
26765 MenhirLib.EngineTypes.next = _menhir_stack;
26766 } = _menhir_stack in
26767 let _1 : (
26768 # 67 "parser_cocci_menhir.mly"
26769 (Parse_aux.typed_expinfo)
26770 # 26771 "parser_cocci_menhir.ml"
26771 ) = Obj.magic _1 in
26772 let _startpos = _startpos__1_ in
26773 let _endpos = _endpos__1_ in
26774 let _v : 'tv_primary_expr_expr_invalid_ =
26775 # 1359 "parser_cocci_menhir.mly"
26776 ( let (nm,constraints,pure,ty,clt) = _1 in
26777 Ast0.wrap
26778 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26779 # 26780 "parser_cocci_menhir.ml"
26780 in
26781 _menhir_env.MenhirLib.EngineTypes.stack <- {
26782 MenhirLib.EngineTypes.state = _menhir_s;
26783 MenhirLib.EngineTypes.semv = Obj.repr _v;
26784 MenhirLib.EngineTypes.startp = _startpos;
26785 MenhirLib.EngineTypes.endp = _endpos;
26786 MenhirLib.EngineTypes.next = _menhir_stack;
26787 });
26788 (fun _menhir_env ->
26789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26790 let {
26791 MenhirLib.EngineTypes.state = _menhir_s;
26792 MenhirLib.EngineTypes.semv = _1;
26793 MenhirLib.EngineTypes.startp = _startpos__1_;
26794 MenhirLib.EngineTypes.endp = _endpos__1_;
26795 MenhirLib.EngineTypes.next = _menhir_stack;
26796 } = _menhir_stack in
26797 let _1 : (
26798 # 67 "parser_cocci_menhir.mly"
26799 (Parse_aux.typed_expinfo)
26800 # 26801 "parser_cocci_menhir.ml"
26801 ) = Obj.magic _1 in
26802 let _startpos = _startpos__1_ in
26803 let _endpos = _endpos__1_ in
26804 let _v : 'tv_primary_expr_expr_invalid_ =
26805 # 1363 "parser_cocci_menhir.mly"
26806 ( let (nm,constraints,pure,ty,clt) = _1 in
26807 Ast0.wrap
26808 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26809 # 26810 "parser_cocci_menhir.ml"
26810 in
26811 _menhir_env.MenhirLib.EngineTypes.stack <- {
26812 MenhirLib.EngineTypes.state = _menhir_s;
26813 MenhirLib.EngineTypes.semv = Obj.repr _v;
26814 MenhirLib.EngineTypes.startp = _startpos;
26815 MenhirLib.EngineTypes.endp = _endpos;
26816 MenhirLib.EngineTypes.next = _menhir_stack;
26817 });
26818 (fun _menhir_env ->
26819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26820 let {
26821 MenhirLib.EngineTypes.state = _menhir_s;
26822 MenhirLib.EngineTypes.semv = _1;
26823 MenhirLib.EngineTypes.startp = _startpos__1_;
26824 MenhirLib.EngineTypes.endp = _endpos__1_;
26825 MenhirLib.EngineTypes.next = _menhir_stack;
26826 } = _menhir_stack in
26827 let _1 : (
26828 # 67 "parser_cocci_menhir.mly"
26829 (Parse_aux.typed_expinfo)
26830 # 26831 "parser_cocci_menhir.ml"
26831 ) = Obj.magic _1 in
26832 let _startpos = _startpos__1_ in
26833 let _endpos = _endpos__1_ in
26834 let _v : 'tv_primary_expr_expr_invalid_ =
26835 # 1367 "parser_cocci_menhir.mly"
26836 ( let (nm,constraints,pure,ty,clt) = _1 in
26837 Ast0.wrap
26838 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26839 # 26840 "parser_cocci_menhir.ml"
26840 in
26841 _menhir_env.MenhirLib.EngineTypes.stack <- {
26842 MenhirLib.EngineTypes.state = _menhir_s;
26843 MenhirLib.EngineTypes.semv = Obj.repr _v;
26844 MenhirLib.EngineTypes.startp = _startpos;
26845 MenhirLib.EngineTypes.endp = _endpos;
26846 MenhirLib.EngineTypes.next = _menhir_stack;
26847 });
26848 (fun _menhir_env ->
26849 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26850 let {
26851 MenhirLib.EngineTypes.semv = _3;
26852 MenhirLib.EngineTypes.startp = _startpos__3_;
26853 MenhirLib.EngineTypes.endp = _endpos__3_;
26854 MenhirLib.EngineTypes.next = {
26855 MenhirLib.EngineTypes.semv = _2;
26856 MenhirLib.EngineTypes.startp = _startpos__2_;
26857 MenhirLib.EngineTypes.endp = _endpos__2_;
26858 MenhirLib.EngineTypes.next = {
26859 MenhirLib.EngineTypes.state = _menhir_s;
26860 MenhirLib.EngineTypes.semv = _1;
26861 MenhirLib.EngineTypes.startp = _startpos__1_;
26862 MenhirLib.EngineTypes.endp = _endpos__1_;
26863 MenhirLib.EngineTypes.next = _menhir_stack;
26864 };
26865 };
26866 } = _menhir_stack in
26867 let _3 : (
26868 # 77 "parser_cocci_menhir.mly"
26869 (Data.clt)
26870 # 26871 "parser_cocci_menhir.ml"
26871 ) = Obj.magic _3 in
26872 let _2 : 'tv_eexpr = Obj.magic _2 in
26873 let _1 : (
26874 # 76 "parser_cocci_menhir.mly"
26875 (Data.clt)
26876 # 26877 "parser_cocci_menhir.ml"
26877 ) = Obj.magic _1 in
26878 let _startpos = _startpos__1_ in
26879 let _endpos = _endpos__3_ in
26880 let _v : 'tv_primary_expr_expr_invalid_ =
26881 # 1371 "parser_cocci_menhir.mly"
26882 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26883 P.clt2mcode ")" _3)) )
26884 # 26885 "parser_cocci_menhir.ml"
26885 in
26886 _menhir_env.MenhirLib.EngineTypes.stack <- {
26887 MenhirLib.EngineTypes.state = _menhir_s;
26888 MenhirLib.EngineTypes.semv = Obj.repr _v;
26889 MenhirLib.EngineTypes.startp = _startpos;
26890 MenhirLib.EngineTypes.endp = _endpos;
26891 MenhirLib.EngineTypes.next = _menhir_stack;
26892 });
26893 (fun _menhir_env ->
26894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26895 let {
26896 MenhirLib.EngineTypes.semv = _3;
26897 MenhirLib.EngineTypes.startp = _startpos__3_;
26898 MenhirLib.EngineTypes.endp = _endpos__3_;
26899 MenhirLib.EngineTypes.next = {
26900 MenhirLib.EngineTypes.semv = _2;
26901 MenhirLib.EngineTypes.startp = _startpos__2_;
26902 MenhirLib.EngineTypes.endp = _endpos__2_;
26903 MenhirLib.EngineTypes.next = {
26904 MenhirLib.EngineTypes.state = _menhir_s;
26905 MenhirLib.EngineTypes.semv = _1;
26906 MenhirLib.EngineTypes.startp = _startpos__1_;
26907 MenhirLib.EngineTypes.endp = _endpos__1_;
26908 MenhirLib.EngineTypes.next = _menhir_stack;
26909 };
26910 };
26911 } = _menhir_stack in
26912 let _3 : (
26913 # 77 "parser_cocci_menhir.mly"
26914 (Data.clt)
26915 # 26916 "parser_cocci_menhir.ml"
26916 ) = Obj.magic _3 in
26917 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
26918 let _1 : (
26919 # 76 "parser_cocci_menhir.mly"
26920 (Data.clt)
26921 # 26922 "parser_cocci_menhir.ml"
26922 ) = Obj.magic _1 in
26923 let _startpos = _startpos__1_ in
26924 let _endpos = _endpos__3_ in
26925 let _v : 'tv_primary_expr_expr_invalid_ =
26926 # 1374 "parser_cocci_menhir.mly"
26927 ( let (mids,code) = _2 in
26928 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26929 code, mids,
26930 P.clt2mcode ")" _3)) )
26931 # 26932 "parser_cocci_menhir.ml"
26932 in
26933 _menhir_env.MenhirLib.EngineTypes.stack <- {
26934 MenhirLib.EngineTypes.state = _menhir_s;
26935 MenhirLib.EngineTypes.semv = Obj.repr _v;
26936 MenhirLib.EngineTypes.startp = _startpos;
26937 MenhirLib.EngineTypes.endp = _endpos;
26938 MenhirLib.EngineTypes.next = _menhir_stack;
26939 });
26940 (fun _menhir_env ->
26941 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26942 let {
26943 MenhirLib.EngineTypes.state = _menhir_s;
26944 MenhirLib.EngineTypes.semv = _1;
26945 MenhirLib.EngineTypes.startp = _startpos__1_;
26946 MenhirLib.EngineTypes.endp = _endpos__1_;
26947 MenhirLib.EngineTypes.next = _menhir_stack;
26948 } = _menhir_stack in
26949 let _1 : 'tv_invalid = Obj.magic _1 in
26950 let _startpos = _startpos__1_ in
26951 let _endpos = _endpos__1_ in
26952 let _v : 'tv_primary_expr_expr_invalid_ =
26953 # 1378 "parser_cocci_menhir.mly"
26954 ( _1 )
26955 # 26956 "parser_cocci_menhir.ml"
26956 in
26957 _menhir_env.MenhirLib.EngineTypes.stack <- {
26958 MenhirLib.EngineTypes.state = _menhir_s;
26959 MenhirLib.EngineTypes.semv = Obj.repr _v;
26960 MenhirLib.EngineTypes.startp = _startpos;
26961 MenhirLib.EngineTypes.endp = _endpos;
26962 MenhirLib.EngineTypes.next = _menhir_stack;
26963 });
26964 (fun _menhir_env ->
26965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26966 let {
26967 MenhirLib.EngineTypes.state = _menhir_s;
26968 MenhirLib.EngineTypes.startp = _startpos__1_;
26969 MenhirLib.EngineTypes.endp = _endpos__1_;
26970 MenhirLib.EngineTypes.next = _menhir_stack;
26971 } = _menhir_stack in
26972 let _startpos = _startpos__1_ in
26973 let _endpos = _endpos__1_ in
26974 let _v : 'tv_pure =
26975 # 190 "parser_cocci_menhir.mly"
26976 ( Ast0.Pure )
26977 # 26978 "parser_cocci_menhir.ml"
26978 in
26979 _menhir_env.MenhirLib.EngineTypes.stack <- {
26980 MenhirLib.EngineTypes.state = _menhir_s;
26981 MenhirLib.EngineTypes.semv = Obj.repr _v;
26982 MenhirLib.EngineTypes.startp = _startpos;
26983 MenhirLib.EngineTypes.endp = _endpos;
26984 MenhirLib.EngineTypes.next = _menhir_stack;
26985 });
26986 (fun _menhir_env ->
26987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26988 let {
26989 MenhirLib.EngineTypes.state = _menhir_s;
26990 MenhirLib.EngineTypes.startp = _startpos__1_;
26991 MenhirLib.EngineTypes.endp = _endpos__1_;
26992 MenhirLib.EngineTypes.next = _menhir_stack;
26993 } = _menhir_stack in
26994 let _startpos = _startpos__1_ in
26995 let _endpos = _endpos__1_ in
26996 let _v : 'tv_pure =
26997 # 191 "parser_cocci_menhir.mly"
26998 ( Ast0.Context )
26999 # 27000 "parser_cocci_menhir.ml"
27000 in
27001 _menhir_env.MenhirLib.EngineTypes.stack <- {
27002 MenhirLib.EngineTypes.state = _menhir_s;
27003 MenhirLib.EngineTypes.semv = Obj.repr _v;
27004 MenhirLib.EngineTypes.startp = _startpos;
27005 MenhirLib.EngineTypes.endp = _endpos;
27006 MenhirLib.EngineTypes.next = _menhir_stack;
27007 });
27008 (fun _menhir_env ->
27009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27010 let {
27011 MenhirLib.EngineTypes.startp = _startpos__2_;
27012 MenhirLib.EngineTypes.endp = _endpos__2_;
27013 MenhirLib.EngineTypes.next = {
27014 MenhirLib.EngineTypes.state = _menhir_s;
27015 MenhirLib.EngineTypes.startp = _startpos__1_;
27016 MenhirLib.EngineTypes.endp = _endpos__1_;
27017 MenhirLib.EngineTypes.next = _menhir_stack;
27018 };
27019 } = _menhir_stack in
27020 let _startpos = _startpos__1_ in
27021 let _endpos = _endpos__2_ in
27022 let _v : 'tv_pure =
27023 # 192 "parser_cocci_menhir.mly"
27024 ( Ast0.PureContext )
27025 # 27026 "parser_cocci_menhir.ml"
27026 in
27027 _menhir_env.MenhirLib.EngineTypes.stack <- {
27028 MenhirLib.EngineTypes.state = _menhir_s;
27029 MenhirLib.EngineTypes.semv = Obj.repr _v;
27030 MenhirLib.EngineTypes.startp = _startpos;
27031 MenhirLib.EngineTypes.endp = _endpos;
27032 MenhirLib.EngineTypes.next = _menhir_stack;
27033 });
27034 (fun _menhir_env ->
27035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27036 let {
27037 MenhirLib.EngineTypes.startp = _startpos__2_;
27038 MenhirLib.EngineTypes.endp = _endpos__2_;
27039 MenhirLib.EngineTypes.next = {
27040 MenhirLib.EngineTypes.state = _menhir_s;
27041 MenhirLib.EngineTypes.startp = _startpos__1_;
27042 MenhirLib.EngineTypes.endp = _endpos__1_;
27043 MenhirLib.EngineTypes.next = _menhir_stack;
27044 };
27045 } = _menhir_stack in
27046 let _startpos = _startpos__1_ in
27047 let _endpos = _endpos__2_ in
27048 let _v : 'tv_pure =
27049 # 193 "parser_cocci_menhir.mly"
27050 ( Ast0.PureContext )
27051 # 27052 "parser_cocci_menhir.ml"
27052 in
27053 _menhir_env.MenhirLib.EngineTypes.stack <- {
27054 MenhirLib.EngineTypes.state = _menhir_s;
27055 MenhirLib.EngineTypes.semv = Obj.repr _v;
27056 MenhirLib.EngineTypes.startp = _startpos;
27057 MenhirLib.EngineTypes.endp = _endpos;
27058 MenhirLib.EngineTypes.next = _menhir_stack;
27059 });
27060 (fun _menhir_env ->
27061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27062 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27063 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27064 let _endpos = _startpos in
27065 let _v : 'tv_pure =
27066 # 194 "parser_cocci_menhir.mly"
27067 ( Ast0.Impure )
27068 # 27069 "parser_cocci_menhir.ml"
27069 in
27070 _menhir_env.MenhirLib.EngineTypes.stack <- {
27071 MenhirLib.EngineTypes.state = _menhir_s;
27072 MenhirLib.EngineTypes.semv = Obj.repr _v;
27073 MenhirLib.EngineTypes.startp = _startpos;
27074 MenhirLib.EngineTypes.endp = _endpos;
27075 MenhirLib.EngineTypes.next = _menhir_stack;
27076 });
27077 (fun _menhir_env ->
27078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27079 let {
27080 MenhirLib.EngineTypes.state = _menhir_s;
27081 MenhirLib.EngineTypes.semv = _1;
27082 MenhirLib.EngineTypes.startp = _startpos__1_;
27083 MenhirLib.EngineTypes.endp = _endpos__1_;
27084 MenhirLib.EngineTypes.next = _menhir_stack;
27085 } = _menhir_stack in
27086 let _1 : (
27087 # 59 "parser_cocci_menhir.mly"
27088 (string * Data.clt)
27089 # 27090 "parser_cocci_menhir.ml"
27090 ) = Obj.magic _1 in
27091 let _startpos = _startpos__1_ in
27092 let _endpos = _endpos__1_ in
27093 let _v : 'tv_pure_ident =
27094 # 1392 "parser_cocci_menhir.mly"
27095 ( _1 )
27096 # 27097 "parser_cocci_menhir.ml"
27097 in
27098 _menhir_env.MenhirLib.EngineTypes.stack <- {
27099 MenhirLib.EngineTypes.state = _menhir_s;
27100 MenhirLib.EngineTypes.semv = Obj.repr _v;
27101 MenhirLib.EngineTypes.startp = _startpos;
27102 MenhirLib.EngineTypes.endp = _endpos;
27103 MenhirLib.EngineTypes.next = _menhir_stack;
27104 });
27105 (fun _menhir_env ->
27106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27107 let {
27108 MenhirLib.EngineTypes.state = _menhir_s;
27109 MenhirLib.EngineTypes.semv = _1;
27110 MenhirLib.EngineTypes.startp = _startpos__1_;
27111 MenhirLib.EngineTypes.endp = _endpos__1_;
27112 MenhirLib.EngineTypes.next = _menhir_stack;
27113 } = _menhir_stack in
27114 let _1 : 'tv_pure_ident = Obj.magic _1 in
27115 let _startpos = _startpos__1_ in
27116 let _endpos = _endpos__1_ in
27117 let _v : 'tv_pure_ident_or_meta_ident =
27118 # 1398 "parser_cocci_menhir.mly"
27119 ( (None,P.id2name _1) )
27120 # 27121 "parser_cocci_menhir.ml"
27121 in
27122 _menhir_env.MenhirLib.EngineTypes.stack <- {
27123 MenhirLib.EngineTypes.state = _menhir_s;
27124 MenhirLib.EngineTypes.semv = Obj.repr _v;
27125 MenhirLib.EngineTypes.startp = _startpos;
27126 MenhirLib.EngineTypes.endp = _endpos;
27127 MenhirLib.EngineTypes.next = _menhir_stack;
27128 });
27129 (fun _menhir_env ->
27130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27131 let {
27132 MenhirLib.EngineTypes.state = _menhir_s;
27133 MenhirLib.EngineTypes.semv = _1;
27134 MenhirLib.EngineTypes.startp = _startpos__1_;
27135 MenhirLib.EngineTypes.endp = _endpos__1_;
27136 MenhirLib.EngineTypes.next = _menhir_stack;
27137 } = _menhir_stack in
27138 let _1 : 'tv_meta_ident = Obj.magic _1 in
27139 let _startpos = _startpos__1_ in
27140 let _endpos = _endpos__1_ in
27141 let _v : 'tv_pure_ident_or_meta_ident =
27142 # 1399 "parser_cocci_menhir.mly"
27143 ( _1 )
27144 # 27145 "parser_cocci_menhir.ml"
27145 in
27146 _menhir_env.MenhirLib.EngineTypes.stack <- {
27147 MenhirLib.EngineTypes.state = _menhir_s;
27148 MenhirLib.EngineTypes.semv = Obj.repr _v;
27149 MenhirLib.EngineTypes.startp = _startpos;
27150 MenhirLib.EngineTypes.endp = _endpos;
27151 MenhirLib.EngineTypes.next = _menhir_stack;
27152 });
27153 (fun _menhir_env ->
27154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27155 let {
27156 MenhirLib.EngineTypes.state = _menhir_s;
27157 MenhirLib.EngineTypes.startp = _startpos__1_;
27158 MenhirLib.EngineTypes.endp = _endpos__1_;
27159 MenhirLib.EngineTypes.next = _menhir_stack;
27160 } = _menhir_stack in
27161 let _startpos = _startpos__1_ in
27162 let _endpos = _endpos__1_ in
27163 let _v : 'tv_pure_ident_or_meta_ident =
27164 # 1400 "parser_cocci_menhir.mly"
27165 ( (None, "identifier") )
27166 # 27167 "parser_cocci_menhir.ml"
27167 in
27168 _menhir_env.MenhirLib.EngineTypes.stack <- {
27169 MenhirLib.EngineTypes.state = _menhir_s;
27170 MenhirLib.EngineTypes.semv = Obj.repr _v;
27171 MenhirLib.EngineTypes.startp = _startpos;
27172 MenhirLib.EngineTypes.endp = _endpos;
27173 MenhirLib.EngineTypes.next = _menhir_stack;
27174 });
27175 (fun _menhir_env ->
27176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27177 let {
27178 MenhirLib.EngineTypes.state = _menhir_s;
27179 MenhirLib.EngineTypes.startp = _startpos__1_;
27180 MenhirLib.EngineTypes.endp = _endpos__1_;
27181 MenhirLib.EngineTypes.next = _menhir_stack;
27182 } = _menhir_stack in
27183 let _startpos = _startpos__1_ in
27184 let _endpos = _endpos__1_ in
27185 let _v : 'tv_pure_ident_or_meta_ident =
27186 # 1401 "parser_cocci_menhir.mly"
27187 ( (None, "expression") )
27188 # 27189 "parser_cocci_menhir.ml"
27189 in
27190 _menhir_env.MenhirLib.EngineTypes.stack <- {
27191 MenhirLib.EngineTypes.state = _menhir_s;
27192 MenhirLib.EngineTypes.semv = Obj.repr _v;
27193 MenhirLib.EngineTypes.startp = _startpos;
27194 MenhirLib.EngineTypes.endp = _endpos;
27195 MenhirLib.EngineTypes.next = _menhir_stack;
27196 });
27197 (fun _menhir_env ->
27198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27199 let {
27200 MenhirLib.EngineTypes.state = _menhir_s;
27201 MenhirLib.EngineTypes.startp = _startpos__1_;
27202 MenhirLib.EngineTypes.endp = _endpos__1_;
27203 MenhirLib.EngineTypes.next = _menhir_stack;
27204 } = _menhir_stack in
27205 let _startpos = _startpos__1_ in
27206 let _endpos = _endpos__1_ in
27207 let _v : 'tv_pure_ident_or_meta_ident =
27208 # 1402 "parser_cocci_menhir.mly"
27209 ( (None, "statement") )
27210 # 27211 "parser_cocci_menhir.ml"
27211 in
27212 _menhir_env.MenhirLib.EngineTypes.stack <- {
27213 MenhirLib.EngineTypes.state = _menhir_s;
27214 MenhirLib.EngineTypes.semv = Obj.repr _v;
27215 MenhirLib.EngineTypes.startp = _startpos;
27216 MenhirLib.EngineTypes.endp = _endpos;
27217 MenhirLib.EngineTypes.next = _menhir_stack;
27218 });
27219 (fun _menhir_env ->
27220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27221 let {
27222 MenhirLib.EngineTypes.state = _menhir_s;
27223 MenhirLib.EngineTypes.startp = _startpos__1_;
27224 MenhirLib.EngineTypes.endp = _endpos__1_;
27225 MenhirLib.EngineTypes.next = _menhir_stack;
27226 } = _menhir_stack in
27227 let _startpos = _startpos__1_ in
27228 let _endpos = _endpos__1_ in
27229 let _v : 'tv_pure_ident_or_meta_ident =
27230 # 1403 "parser_cocci_menhir.mly"
27231 ( (None, "function") )
27232 # 27233 "parser_cocci_menhir.ml"
27233 in
27234 _menhir_env.MenhirLib.EngineTypes.stack <- {
27235 MenhirLib.EngineTypes.state = _menhir_s;
27236 MenhirLib.EngineTypes.semv = Obj.repr _v;
27237 MenhirLib.EngineTypes.startp = _startpos;
27238 MenhirLib.EngineTypes.endp = _endpos;
27239 MenhirLib.EngineTypes.next = _menhir_stack;
27240 });
27241 (fun _menhir_env ->
27242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27243 let {
27244 MenhirLib.EngineTypes.state = _menhir_s;
27245 MenhirLib.EngineTypes.startp = _startpos__1_;
27246 MenhirLib.EngineTypes.endp = _endpos__1_;
27247 MenhirLib.EngineTypes.next = _menhir_stack;
27248 } = _menhir_stack in
27249 let _startpos = _startpos__1_ in
27250 let _endpos = _endpos__1_ in
27251 let _v : 'tv_pure_ident_or_meta_ident =
27252 # 1404 "parser_cocci_menhir.mly"
27253 ( (None, "local") )
27254 # 27255 "parser_cocci_menhir.ml"
27255 in
27256 _menhir_env.MenhirLib.EngineTypes.stack <- {
27257 MenhirLib.EngineTypes.state = _menhir_s;
27258 MenhirLib.EngineTypes.semv = Obj.repr _v;
27259 MenhirLib.EngineTypes.startp = _startpos;
27260 MenhirLib.EngineTypes.endp = _endpos;
27261 MenhirLib.EngineTypes.next = _menhir_stack;
27262 });
27263 (fun _menhir_env ->
27264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27265 let {
27266 MenhirLib.EngineTypes.state = _menhir_s;
27267 MenhirLib.EngineTypes.startp = _startpos__1_;
27268 MenhirLib.EngineTypes.endp = _endpos__1_;
27269 MenhirLib.EngineTypes.next = _menhir_stack;
27270 } = _menhir_stack in
27271 let _startpos = _startpos__1_ in
27272 let _endpos = _endpos__1_ in
27273 let _v : 'tv_pure_ident_or_meta_ident =
27274 # 1405 "parser_cocci_menhir.mly"
27275 ( (None, "type") )
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 {
27288 MenhirLib.EngineTypes.state = _menhir_s;
27289 MenhirLib.EngineTypes.startp = _startpos__1_;
27290 MenhirLib.EngineTypes.endp = _endpos__1_;
27291 MenhirLib.EngineTypes.next = _menhir_stack;
27292 } = _menhir_stack in
27293 let _startpos = _startpos__1_ in
27294 let _endpos = _endpos__1_ in
27295 let _v : 'tv_pure_ident_or_meta_ident =
27296 # 1406 "parser_cocci_menhir.mly"
27297 ( (None, "parameter") )
27298 # 27299 "parser_cocci_menhir.ml"
27299 in
27300 _menhir_env.MenhirLib.EngineTypes.stack <- {
27301 MenhirLib.EngineTypes.state = _menhir_s;
27302 MenhirLib.EngineTypes.semv = Obj.repr _v;
27303 MenhirLib.EngineTypes.startp = _startpos;
27304 MenhirLib.EngineTypes.endp = _endpos;
27305 MenhirLib.EngineTypes.next = _menhir_stack;
27306 });
27307 (fun _menhir_env ->
27308 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27309 let {
27310 MenhirLib.EngineTypes.state = _menhir_s;
27311 MenhirLib.EngineTypes.startp = _startpos__1_;
27312 MenhirLib.EngineTypes.endp = _endpos__1_;
27313 MenhirLib.EngineTypes.next = _menhir_stack;
27314 } = _menhir_stack in
27315 let _startpos = _startpos__1_ in
27316 let _endpos = _endpos__1_ in
27317 let _v : 'tv_pure_ident_or_meta_ident =
27318 # 1407 "parser_cocci_menhir.mly"
27319 ( (None, "idexpression") )
27320 # 27321 "parser_cocci_menhir.ml"
27321 in
27322 _menhir_env.MenhirLib.EngineTypes.stack <- {
27323 MenhirLib.EngineTypes.state = _menhir_s;
27324 MenhirLib.EngineTypes.semv = Obj.repr _v;
27325 MenhirLib.EngineTypes.startp = _startpos;
27326 MenhirLib.EngineTypes.endp = _endpos;
27327 MenhirLib.EngineTypes.next = _menhir_stack;
27328 });
27329 (fun _menhir_env ->
27330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27331 let {
27332 MenhirLib.EngineTypes.state = _menhir_s;
27333 MenhirLib.EngineTypes.startp = _startpos__1_;
27334 MenhirLib.EngineTypes.endp = _endpos__1_;
27335 MenhirLib.EngineTypes.next = _menhir_stack;
27336 } = _menhir_stack in
27337 let _startpos = _startpos__1_ in
27338 let _endpos = _endpos__1_ in
27339 let _v : 'tv_pure_ident_or_meta_ident =
27340 # 1408 "parser_cocci_menhir.mly"
27341 ( (None, "initialiser") )
27342 # 27343 "parser_cocci_menhir.ml"
27343 in
27344 _menhir_env.MenhirLib.EngineTypes.stack <- {
27345 MenhirLib.EngineTypes.state = _menhir_s;
27346 MenhirLib.EngineTypes.semv = Obj.repr _v;
27347 MenhirLib.EngineTypes.startp = _startpos;
27348 MenhirLib.EngineTypes.endp = _endpos;
27349 MenhirLib.EngineTypes.next = _menhir_stack;
27350 });
27351 (fun _menhir_env ->
27352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27353 let {
27354 MenhirLib.EngineTypes.state = _menhir_s;
27355 MenhirLib.EngineTypes.startp = _startpos__1_;
27356 MenhirLib.EngineTypes.endp = _endpos__1_;
27357 MenhirLib.EngineTypes.next = _menhir_stack;
27358 } = _menhir_stack in
27359 let _startpos = _startpos__1_ in
27360 let _endpos = _endpos__1_ in
27361 let _v : 'tv_pure_ident_or_meta_ident =
27362 # 1409 "parser_cocci_menhir.mly"
27363 ( (None, "list") )
27364 # 27365 "parser_cocci_menhir.ml"
27365 in
27366 _menhir_env.MenhirLib.EngineTypes.stack <- {
27367 MenhirLib.EngineTypes.state = _menhir_s;
27368 MenhirLib.EngineTypes.semv = Obj.repr _v;
27369 MenhirLib.EngineTypes.startp = _startpos;
27370 MenhirLib.EngineTypes.endp = _endpos;
27371 MenhirLib.EngineTypes.next = _menhir_stack;
27372 });
27373 (fun _menhir_env ->
27374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27375 let {
27376 MenhirLib.EngineTypes.state = _menhir_s;
27377 MenhirLib.EngineTypes.startp = _startpos__1_;
27378 MenhirLib.EngineTypes.endp = _endpos__1_;
27379 MenhirLib.EngineTypes.next = _menhir_stack;
27380 } = _menhir_stack in
27381 let _startpos = _startpos__1_ in
27382 let _endpos = _endpos__1_ in
27383 let _v : 'tv_pure_ident_or_meta_ident =
27384 # 1410 "parser_cocci_menhir.mly"
27385 ( (None, "fresh") )
27386 # 27387 "parser_cocci_menhir.ml"
27387 in
27388 _menhir_env.MenhirLib.EngineTypes.stack <- {
27389 MenhirLib.EngineTypes.state = _menhir_s;
27390 MenhirLib.EngineTypes.semv = Obj.repr _v;
27391 MenhirLib.EngineTypes.startp = _startpos;
27392 MenhirLib.EngineTypes.endp = _endpos;
27393 MenhirLib.EngineTypes.next = _menhir_stack;
27394 });
27395 (fun _menhir_env ->
27396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27397 let {
27398 MenhirLib.EngineTypes.state = _menhir_s;
27399 MenhirLib.EngineTypes.startp = _startpos__1_;
27400 MenhirLib.EngineTypes.endp = _endpos__1_;
27401 MenhirLib.EngineTypes.next = _menhir_stack;
27402 } = _menhir_stack in
27403 let _startpos = _startpos__1_ in
27404 let _endpos = _endpos__1_ in
27405 let _v : 'tv_pure_ident_or_meta_ident =
27406 # 1411 "parser_cocci_menhir.mly"
27407 ( (None, "constant") )
27408 # 27409 "parser_cocci_menhir.ml"
27409 in
27410 _menhir_env.MenhirLib.EngineTypes.stack <- {
27411 MenhirLib.EngineTypes.state = _menhir_s;
27412 MenhirLib.EngineTypes.semv = Obj.repr _v;
27413 MenhirLib.EngineTypes.startp = _startpos;
27414 MenhirLib.EngineTypes.endp = _endpos;
27415 MenhirLib.EngineTypes.next = _menhir_stack;
27416 });
27417 (fun _menhir_env ->
27418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27419 let {
27420 MenhirLib.EngineTypes.state = _menhir_s;
27421 MenhirLib.EngineTypes.startp = _startpos__1_;
27422 MenhirLib.EngineTypes.endp = _endpos__1_;
27423 MenhirLib.EngineTypes.next = _menhir_stack;
27424 } = _menhir_stack in
27425 let _startpos = _startpos__1_ in
27426 let _endpos = _endpos__1_ in
27427 let _v : 'tv_pure_ident_or_meta_ident =
27428 # 1412 "parser_cocci_menhir.mly"
27429 ( (None, "error") )
27430 # 27431 "parser_cocci_menhir.ml"
27431 in
27432 _menhir_env.MenhirLib.EngineTypes.stack <- {
27433 MenhirLib.EngineTypes.state = _menhir_s;
27434 MenhirLib.EngineTypes.semv = Obj.repr _v;
27435 MenhirLib.EngineTypes.startp = _startpos;
27436 MenhirLib.EngineTypes.endp = _endpos;
27437 MenhirLib.EngineTypes.next = _menhir_stack;
27438 });
27439 (fun _menhir_env ->
27440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27441 let {
27442 MenhirLib.EngineTypes.state = _menhir_s;
27443 MenhirLib.EngineTypes.startp = _startpos__1_;
27444 MenhirLib.EngineTypes.endp = _endpos__1_;
27445 MenhirLib.EngineTypes.next = _menhir_stack;
27446 } = _menhir_stack in
27447 let _startpos = _startpos__1_ in
27448 let _endpos = _endpos__1_ in
27449 let _v : 'tv_pure_ident_or_meta_ident =
27450 # 1413 "parser_cocci_menhir.mly"
27451 ( (None, "words") )
27452 # 27453 "parser_cocci_menhir.ml"
27453 in
27454 _menhir_env.MenhirLib.EngineTypes.stack <- {
27455 MenhirLib.EngineTypes.state = _menhir_s;
27456 MenhirLib.EngineTypes.semv = Obj.repr _v;
27457 MenhirLib.EngineTypes.startp = _startpos;
27458 MenhirLib.EngineTypes.endp = _endpos;
27459 MenhirLib.EngineTypes.next = _menhir_stack;
27460 });
27461 (fun _menhir_env ->
27462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27463 let {
27464 MenhirLib.EngineTypes.state = _menhir_s;
27465 MenhirLib.EngineTypes.startp = _startpos__1_;
27466 MenhirLib.EngineTypes.endp = _endpos__1_;
27467 MenhirLib.EngineTypes.next = _menhir_stack;
27468 } = _menhir_stack in
27469 let _startpos = _startpos__1_ in
27470 let _endpos = _endpos__1_ in
27471 let _v : 'tv_pure_ident_or_meta_ident =
27472 # 1414 "parser_cocci_menhir.mly"
27473 ( (None, "pure") )
27474 # 27475 "parser_cocci_menhir.ml"
27475 in
27476 _menhir_env.MenhirLib.EngineTypes.stack <- {
27477 MenhirLib.EngineTypes.state = _menhir_s;
27478 MenhirLib.EngineTypes.semv = Obj.repr _v;
27479 MenhirLib.EngineTypes.startp = _startpos;
27480 MenhirLib.EngineTypes.endp = _endpos;
27481 MenhirLib.EngineTypes.next = _menhir_stack;
27482 });
27483 (fun _menhir_env ->
27484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27485 let {
27486 MenhirLib.EngineTypes.state = _menhir_s;
27487 MenhirLib.EngineTypes.startp = _startpos__1_;
27488 MenhirLib.EngineTypes.endp = _endpos__1_;
27489 MenhirLib.EngineTypes.next = _menhir_stack;
27490 } = _menhir_stack in
27491 let _startpos = _startpos__1_ in
27492 let _endpos = _endpos__1_ in
27493 let _v : 'tv_pure_ident_or_meta_ident =
27494 # 1415 "parser_cocci_menhir.mly"
27495 ( (None, "context") )
27496 # 27497 "parser_cocci_menhir.ml"
27497 in
27498 _menhir_env.MenhirLib.EngineTypes.stack <- {
27499 MenhirLib.EngineTypes.state = _menhir_s;
27500 MenhirLib.EngineTypes.semv = Obj.repr _v;
27501 MenhirLib.EngineTypes.startp = _startpos;
27502 MenhirLib.EngineTypes.endp = _endpos;
27503 MenhirLib.EngineTypes.next = _menhir_stack;
27504 });
27505 (fun _menhir_env ->
27506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27507 let {
27508 MenhirLib.EngineTypes.state = _menhir_s;
27509 MenhirLib.EngineTypes.startp = _startpos__1_;
27510 MenhirLib.EngineTypes.endp = _endpos__1_;
27511 MenhirLib.EngineTypes.next = _menhir_stack;
27512 } = _menhir_stack in
27513 let _startpos = _startpos__1_ in
27514 let _endpos = _endpos__1_ in
27515 let _v : 'tv_pure_ident_or_meta_ident =
27516 # 1416 "parser_cocci_menhir.mly"
27517 ( (None, "generated") )
27518 # 27519 "parser_cocci_menhir.ml"
27519 in
27520 _menhir_env.MenhirLib.EngineTypes.stack <- {
27521 MenhirLib.EngineTypes.state = _menhir_s;
27522 MenhirLib.EngineTypes.semv = Obj.repr _v;
27523 MenhirLib.EngineTypes.startp = _startpos;
27524 MenhirLib.EngineTypes.endp = _endpos;
27525 MenhirLib.EngineTypes.next = _menhir_stack;
27526 });
27527 (fun _menhir_env ->
27528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27529 let {
27530 MenhirLib.EngineTypes.state = _menhir_s;
27531 MenhirLib.EngineTypes.startp = _startpos__1_;
27532 MenhirLib.EngineTypes.endp = _endpos__1_;
27533 MenhirLib.EngineTypes.next = _menhir_stack;
27534 } = _menhir_stack in
27535 let _startpos = _startpos__1_ in
27536 let _endpos = _endpos__1_ in
27537 let _v : 'tv_pure_ident_or_meta_ident =
27538 # 1417 "parser_cocci_menhir.mly"
27539 ( (None, "typedef") )
27540 # 27541 "parser_cocci_menhir.ml"
27541 in
27542 _menhir_env.MenhirLib.EngineTypes.stack <- {
27543 MenhirLib.EngineTypes.state = _menhir_s;
27544 MenhirLib.EngineTypes.semv = Obj.repr _v;
27545 MenhirLib.EngineTypes.startp = _startpos;
27546 MenhirLib.EngineTypes.endp = _endpos;
27547 MenhirLib.EngineTypes.next = _menhir_stack;
27548 });
27549 (fun _menhir_env ->
27550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27551 let {
27552 MenhirLib.EngineTypes.state = _menhir_s;
27553 MenhirLib.EngineTypes.startp = _startpos__1_;
27554 MenhirLib.EngineTypes.endp = _endpos__1_;
27555 MenhirLib.EngineTypes.next = _menhir_stack;
27556 } = _menhir_stack in
27557 let _startpos = _startpos__1_ in
27558 let _endpos = _endpos__1_ in
27559 let _v : 'tv_pure_ident_or_meta_ident =
27560 # 1418 "parser_cocci_menhir.mly"
27561 ( (None, "declarer") )
27562 # 27563 "parser_cocci_menhir.ml"
27563 in
27564 _menhir_env.MenhirLib.EngineTypes.stack <- {
27565 MenhirLib.EngineTypes.state = _menhir_s;
27566 MenhirLib.EngineTypes.semv = Obj.repr _v;
27567 MenhirLib.EngineTypes.startp = _startpos;
27568 MenhirLib.EngineTypes.endp = _endpos;
27569 MenhirLib.EngineTypes.next = _menhir_stack;
27570 });
27571 (fun _menhir_env ->
27572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27573 let {
27574 MenhirLib.EngineTypes.state = _menhir_s;
27575 MenhirLib.EngineTypes.startp = _startpos__1_;
27576 MenhirLib.EngineTypes.endp = _endpos__1_;
27577 MenhirLib.EngineTypes.next = _menhir_stack;
27578 } = _menhir_stack in
27579 let _startpos = _startpos__1_ in
27580 let _endpos = _endpos__1_ in
27581 let _v : 'tv_pure_ident_or_meta_ident =
27582 # 1419 "parser_cocci_menhir.mly"
27583 ( (None, "iterator") )
27584 # 27585 "parser_cocci_menhir.ml"
27585 in
27586 _menhir_env.MenhirLib.EngineTypes.stack <- {
27587 MenhirLib.EngineTypes.state = _menhir_s;
27588 MenhirLib.EngineTypes.semv = Obj.repr _v;
27589 MenhirLib.EngineTypes.startp = _startpos;
27590 MenhirLib.EngineTypes.endp = _endpos;
27591 MenhirLib.EngineTypes.next = _menhir_stack;
27592 });
27593 (fun _menhir_env ->
27594 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27595 let {
27596 MenhirLib.EngineTypes.state = _menhir_s;
27597 MenhirLib.EngineTypes.startp = _startpos__1_;
27598 MenhirLib.EngineTypes.endp = _endpos__1_;
27599 MenhirLib.EngineTypes.next = _menhir_stack;
27600 } = _menhir_stack in
27601 let _startpos = _startpos__1_ in
27602 let _endpos = _endpos__1_ in
27603 let _v : 'tv_pure_ident_or_meta_ident =
27604 # 1420 "parser_cocci_menhir.mly"
27605 ( (None, "name") )
27606 # 27607 "parser_cocci_menhir.ml"
27607 in
27608 _menhir_env.MenhirLib.EngineTypes.stack <- {
27609 MenhirLib.EngineTypes.state = _menhir_s;
27610 MenhirLib.EngineTypes.semv = Obj.repr _v;
27611 MenhirLib.EngineTypes.startp = _startpos;
27612 MenhirLib.EngineTypes.endp = _endpos;
27613 MenhirLib.EngineTypes.next = _menhir_stack;
27614 });
27615 (fun _menhir_env ->
27616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27617 let {
27618 MenhirLib.EngineTypes.state = _menhir_s;
27619 MenhirLib.EngineTypes.startp = _startpos__1_;
27620 MenhirLib.EngineTypes.endp = _endpos__1_;
27621 MenhirLib.EngineTypes.next = _menhir_stack;
27622 } = _menhir_stack in
27623 let _startpos = _startpos__1_ in
27624 let _endpos = _endpos__1_ in
27625 let _v : 'tv_pure_ident_or_meta_ident =
27626 # 1421 "parser_cocci_menhir.mly"
27627 ( (None, "position") )
27628 # 27629 "parser_cocci_menhir.ml"
27629 in
27630 _menhir_env.MenhirLib.EngineTypes.stack <- {
27631 MenhirLib.EngineTypes.state = _menhir_s;
27632 MenhirLib.EngineTypes.semv = Obj.repr _v;
27633 MenhirLib.EngineTypes.startp = _startpos;
27634 MenhirLib.EngineTypes.endp = _endpos;
27635 MenhirLib.EngineTypes.next = _menhir_stack;
27636 });
27637 (fun _menhir_env ->
27638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27639 let {
27640 MenhirLib.EngineTypes.semv = optc;
27641 MenhirLib.EngineTypes.startp = _startpos_optc_;
27642 MenhirLib.EngineTypes.endp = _endpos_optc_;
27643 MenhirLib.EngineTypes.next = {
27644 MenhirLib.EngineTypes.state = _menhir_s;
27645 MenhirLib.EngineTypes.semv = i;
27646 MenhirLib.EngineTypes.startp = _startpos_i_;
27647 MenhirLib.EngineTypes.endp = _endpos_i_;
27648 MenhirLib.EngineTypes.next = _menhir_stack;
27649 };
27650 } = _menhir_stack in
27651 let optc : 'tv_option_re_or_not_eqe_ = Obj.magic optc in
27652 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27653 let _startpos = _startpos_i_ in
27654 let _endpos = _endpos_optc_ in
27655 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ =
27656 # 1447 "parser_cocci_menhir.mly"
27657 (
27658 match optc with
27659 None -> (i, Ast0.NoConstraint)
27660 | Some c -> (i, c)
27661 )
27662 # 27663 "parser_cocci_menhir.ml"
27663 in
27664 _menhir_env.MenhirLib.EngineTypes.stack <- {
27665 MenhirLib.EngineTypes.state = _menhir_s;
27666 MenhirLib.EngineTypes.semv = Obj.repr _v;
27667 MenhirLib.EngineTypes.startp = _startpos;
27668 MenhirLib.EngineTypes.endp = _endpos;
27669 MenhirLib.EngineTypes.next = _menhir_stack;
27670 });
27671 (fun _menhir_env ->
27672 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27673 let {
27674 MenhirLib.EngineTypes.semv = c;
27675 MenhirLib.EngineTypes.startp = _startpos_c_;
27676 MenhirLib.EngineTypes.endp = _endpos_c_;
27677 MenhirLib.EngineTypes.next = {
27678 MenhirLib.EngineTypes.state = _menhir_s;
27679 MenhirLib.EngineTypes.semv = i;
27680 MenhirLib.EngineTypes.startp = _startpos_i_;
27681 MenhirLib.EngineTypes.endp = _endpos_i_;
27682 MenhirLib.EngineTypes.next = _menhir_stack;
27683 };
27684 } = _menhir_stack in
27685 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
27686 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27687 let _startpos = _startpos_i_ in
27688 let _endpos = _endpos_c_ in
27689 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
27690 # 1455 "parser_cocci_menhir.mly"
27691 (
27692 match c with
27693 None -> (i, Ast.IdNoConstraint)
27694 | Some constraint_ -> (i,constraint_)
27695 )
27696 # 27697 "parser_cocci_menhir.ml"
27697 in
27698 _menhir_env.MenhirLib.EngineTypes.stack <- {
27699 MenhirLib.EngineTypes.state = _menhir_s;
27700 MenhirLib.EngineTypes.semv = Obj.repr _v;
27701 MenhirLib.EngineTypes.startp = _startpos;
27702 MenhirLib.EngineTypes.endp = _endpos;
27703 MenhirLib.EngineTypes.next = _menhir_stack;
27704 });
27705 (fun _menhir_env ->
27706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27707 let {
27708 MenhirLib.EngineTypes.state = _menhir_s;
27709 MenhirLib.EngineTypes.semv = _1;
27710 MenhirLib.EngineTypes.startp = _startpos__1_;
27711 MenhirLib.EngineTypes.endp = _endpos__1_;
27712 MenhirLib.EngineTypes.next = _menhir_stack;
27713 } = _menhir_stack in
27714 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
27715 let _startpos = _startpos__1_ in
27716 let _endpos = _endpos__1_ in
27717 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
27718 # 1424 "parser_cocci_menhir.mly"
27719 ( (_1,Ast.NoVal) )
27720 # 27721 "parser_cocci_menhir.ml"
27721 in
27722 _menhir_env.MenhirLib.EngineTypes.stack <- {
27723 MenhirLib.EngineTypes.state = _menhir_s;
27724 MenhirLib.EngineTypes.semv = Obj.repr _v;
27725 MenhirLib.EngineTypes.startp = _startpos;
27726 MenhirLib.EngineTypes.endp = _endpos;
27727 MenhirLib.EngineTypes.next = _menhir_stack;
27728 });
27729 (fun _menhir_env ->
27730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27731 let {
27732 MenhirLib.EngineTypes.semv = _3;
27733 MenhirLib.EngineTypes.startp = _startpos__3_;
27734 MenhirLib.EngineTypes.endp = _endpos__3_;
27735 MenhirLib.EngineTypes.next = {
27736 MenhirLib.EngineTypes.startp = _startpos__2_;
27737 MenhirLib.EngineTypes.endp = _endpos__2_;
27738 MenhirLib.EngineTypes.next = {
27739 MenhirLib.EngineTypes.state = _menhir_s;
27740 MenhirLib.EngineTypes.semv = _1;
27741 MenhirLib.EngineTypes.startp = _startpos__1_;
27742 MenhirLib.EngineTypes.endp = _endpos__1_;
27743 MenhirLib.EngineTypes.next = _menhir_stack;
27744 };
27745 };
27746 } = _menhir_stack in
27747 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
27748 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
27749 let _startpos = _startpos__1_ in
27750 let _endpos = _endpos__3_ in
27751 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
27752 # 1427 "parser_cocci_menhir.mly"
27753 ( match _3 with
27754 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
27755 | _ -> (_1,Ast.ListSeed _3) )
27756 # 27757 "parser_cocci_menhir.ml"
27757 in
27758 _menhir_env.MenhirLib.EngineTypes.stack <- {
27759 MenhirLib.EngineTypes.state = _menhir_s;
27760 MenhirLib.EngineTypes.semv = Obj.repr _v;
27761 MenhirLib.EngineTypes.startp = _startpos;
27762 MenhirLib.EngineTypes.endp = _endpos;
27763 MenhirLib.EngineTypes.next = _menhir_stack;
27764 });
27765 (fun _menhir_env ->
27766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27767 let {
27768 MenhirLib.EngineTypes.semv = l;
27769 MenhirLib.EngineTypes.startp = _startpos_l_;
27770 MenhirLib.EngineTypes.endp = _endpos_l_;
27771 MenhirLib.EngineTypes.next = {
27772 MenhirLib.EngineTypes.state = _menhir_s;
27773 MenhirLib.EngineTypes.semv = i;
27774 MenhirLib.EngineTypes.startp = _startpos_i_;
27775 MenhirLib.EngineTypes.endp = _endpos_i_;
27776 MenhirLib.EngineTypes.next = _menhir_stack;
27777 };
27778 } = _menhir_stack in
27779 let l : 'tv_loption_not_ceq_ = Obj.magic l in
27780 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27781 let _startpos = _startpos_i_ in
27782 let _endpos = _endpos_l_ in
27783 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ =
27784 # 1441 "parser_cocci_menhir.mly"
27785 (
27786 (i, l)
27787 )
27788 # 27789 "parser_cocci_menhir.ml"
27789 in
27790 _menhir_env.MenhirLib.EngineTypes.stack <- {
27791 MenhirLib.EngineTypes.state = _menhir_s;
27792 MenhirLib.EngineTypes.semv = Obj.repr _v;
27793 MenhirLib.EngineTypes.startp = _startpos;
27794 MenhirLib.EngineTypes.endp = _endpos;
27795 MenhirLib.EngineTypes.next = _menhir_stack;
27796 });
27797 (fun _menhir_env ->
27798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27799 let {
27800 MenhirLib.EngineTypes.semv = l;
27801 MenhirLib.EngineTypes.startp = _startpos_l_;
27802 MenhirLib.EngineTypes.endp = _endpos_l_;
27803 MenhirLib.EngineTypes.next = {
27804 MenhirLib.EngineTypes.state = _menhir_s;
27805 MenhirLib.EngineTypes.semv = i;
27806 MenhirLib.EngineTypes.startp = _startpos_i_;
27807 MenhirLib.EngineTypes.endp = _endpos_i_;
27808 MenhirLib.EngineTypes.next = _menhir_stack;
27809 };
27810 } = _menhir_stack in
27811 let l : 'tv_loption_not_pos_ = Obj.magic l in
27812 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27813 let _startpos = _startpos_i_ in
27814 let _endpos = _endpos_l_ in
27815 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
27816 # 1441 "parser_cocci_menhir.mly"
27817 (
27818 (i, l)
27819 )
27820 # 27821 "parser_cocci_menhir.ml"
27821 in
27822 _menhir_env.MenhirLib.EngineTypes.stack <- {
27823 MenhirLib.EngineTypes.state = _menhir_s;
27824 MenhirLib.EngineTypes.semv = Obj.repr _v;
27825 MenhirLib.EngineTypes.startp = _startpos;
27826 MenhirLib.EngineTypes.endp = _endpos;
27827 MenhirLib.EngineTypes.next = _menhir_stack;
27828 });
27829 (fun _menhir_env ->
27830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27831 let {
27832 MenhirLib.EngineTypes.state = _menhir_s;
27833 MenhirLib.EngineTypes.semv = re;
27834 MenhirLib.EngineTypes.startp = _startpos_re_;
27835 MenhirLib.EngineTypes.endp = _endpos_re_;
27836 MenhirLib.EngineTypes.next = _menhir_stack;
27837 } = _menhir_stack in
27838 let re : 'tv_regexp_eqid = Obj.magic re in
27839 let _startpos = _startpos_re_ in
27840 let _endpos = _endpos_re_ in
27841 let _v : 'tv_re_or_not_eqe =
27842 # 1499 "parser_cocci_menhir.mly"
27843 (Ast0.NotIdCstrt (re))
27844 # 27845 "parser_cocci_menhir.ml"
27845 in
27846 _menhir_env.MenhirLib.EngineTypes.stack <- {
27847 MenhirLib.EngineTypes.state = _menhir_s;
27848 MenhirLib.EngineTypes.semv = Obj.repr _v;
27849 MenhirLib.EngineTypes.startp = _startpos;
27850 MenhirLib.EngineTypes.endp = _endpos;
27851 MenhirLib.EngineTypes.next = _menhir_stack;
27852 });
27853 (fun _menhir_env ->
27854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27855 let {
27856 MenhirLib.EngineTypes.state = _menhir_s;
27857 MenhirLib.EngineTypes.semv = ne;
27858 MenhirLib.EngineTypes.startp = _startpos_ne_;
27859 MenhirLib.EngineTypes.endp = _endpos_ne_;
27860 MenhirLib.EngineTypes.next = _menhir_stack;
27861 } = _menhir_stack in
27862 let ne : 'tv_not_eqe = Obj.magic ne in
27863 let _startpos = _startpos_ne_ in
27864 let _endpos = _endpos_ne_ in
27865 let _v : 'tv_re_or_not_eqe =
27866 # 1500 "parser_cocci_menhir.mly"
27867 (Ast0.NotExpCstrt (ne))
27868 # 27869 "parser_cocci_menhir.ml"
27869 in
27870 _menhir_env.MenhirLib.EngineTypes.stack <- {
27871 MenhirLib.EngineTypes.state = _menhir_s;
27872 MenhirLib.EngineTypes.semv = Obj.repr _v;
27873 MenhirLib.EngineTypes.startp = _startpos;
27874 MenhirLib.EngineTypes.endp = _endpos;
27875 MenhirLib.EngineTypes.next = _menhir_stack;
27876 });
27877 (fun _menhir_env ->
27878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27879 let {
27880 MenhirLib.EngineTypes.state = _menhir_s;
27881 MenhirLib.EngineTypes.semv = re;
27882 MenhirLib.EngineTypes.startp = _startpos_re_;
27883 MenhirLib.EngineTypes.endp = _endpos_re_;
27884 MenhirLib.EngineTypes.next = _menhir_stack;
27885 } = _menhir_stack in
27886 let re : 'tv_regexp_eqid = Obj.magic re in
27887 let _startpos = _startpos_re_ in
27888 let _endpos = _endpos_re_ in
27889 let _v : 'tv_re_or_not_eqid =
27890 # 1462 "parser_cocci_menhir.mly"
27891 (re)
27892 # 27893 "parser_cocci_menhir.ml"
27893 in
27894 _menhir_env.MenhirLib.EngineTypes.stack <- {
27895 MenhirLib.EngineTypes.state = _menhir_s;
27896 MenhirLib.EngineTypes.semv = Obj.repr _v;
27897 MenhirLib.EngineTypes.startp = _startpos;
27898 MenhirLib.EngineTypes.endp = _endpos;
27899 MenhirLib.EngineTypes.next = _menhir_stack;
27900 });
27901 (fun _menhir_env ->
27902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27903 let {
27904 MenhirLib.EngineTypes.state = _menhir_s;
27905 MenhirLib.EngineTypes.semv = ne;
27906 MenhirLib.EngineTypes.startp = _startpos_ne_;
27907 MenhirLib.EngineTypes.endp = _endpos_ne_;
27908 MenhirLib.EngineTypes.next = _menhir_stack;
27909 } = _menhir_stack in
27910 let ne : 'tv_not_eqid = Obj.magic ne in
27911 let _startpos = _startpos_ne_ in
27912 let _endpos = _endpos_ne_ in
27913 let _v : 'tv_re_or_not_eqid =
27914 # 1463 "parser_cocci_menhir.mly"
27915 (ne)
27916 # 27917 "parser_cocci_menhir.ml"
27917 in
27918 _menhir_env.MenhirLib.EngineTypes.stack <- {
27919 MenhirLib.EngineTypes.state = _menhir_s;
27920 MenhirLib.EngineTypes.semv = Obj.repr _v;
27921 MenhirLib.EngineTypes.startp = _startpos;
27922 MenhirLib.EngineTypes.endp = _endpos;
27923 MenhirLib.EngineTypes.next = _menhir_stack;
27924 });
27925 (fun _menhir_env ->
27926 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27927 let {
27928 MenhirLib.EngineTypes.semv = re;
27929 MenhirLib.EngineTypes.startp = _startpos_re_;
27930 MenhirLib.EngineTypes.endp = _endpos_re_;
27931 MenhirLib.EngineTypes.next = {
27932 MenhirLib.EngineTypes.state = _menhir_s;
27933 MenhirLib.EngineTypes.startp = _startpos__1_;
27934 MenhirLib.EngineTypes.endp = _endpos__1_;
27935 MenhirLib.EngineTypes.next = _menhir_stack;
27936 };
27937 } = _menhir_stack in
27938 let re : (
27939 # 87 "parser_cocci_menhir.mly"
27940 (string * Data.clt)
27941 # 27942 "parser_cocci_menhir.ml"
27942 ) = Obj.magic re in
27943 let _startpos = _startpos__1_ in
27944 let _endpos = _endpos_re_ in
27945 let _v : 'tv_regexp_eqid =
27946 # 1467 "parser_cocci_menhir.mly"
27947 ( (if !Data.in_iso
27948 then failwith "constraints not allowed in iso file");
27949 (if !Data.in_generating
27950 then failwith "constraints not allowed in a generated rule file");
27951 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
27952 )
27953 # 27954 "parser_cocci_menhir.ml"
27954 in
27955 _menhir_env.MenhirLib.EngineTypes.stack <- {
27956 MenhirLib.EngineTypes.state = _menhir_s;
27957 MenhirLib.EngineTypes.semv = Obj.repr _v;
27958 MenhirLib.EngineTypes.startp = _startpos;
27959 MenhirLib.EngineTypes.endp = _endpos;
27960 MenhirLib.EngineTypes.next = _menhir_stack;
27961 });
27962 (fun _menhir_env ->
27963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27964 let {
27965 MenhirLib.EngineTypes.semv = re;
27966 MenhirLib.EngineTypes.startp = _startpos_re_;
27967 MenhirLib.EngineTypes.endp = _endpos_re_;
27968 MenhirLib.EngineTypes.next = {
27969 MenhirLib.EngineTypes.state = _menhir_s;
27970 MenhirLib.EngineTypes.startp = _startpos__1_;
27971 MenhirLib.EngineTypes.endp = _endpos__1_;
27972 MenhirLib.EngineTypes.next = _menhir_stack;
27973 };
27974 } = _menhir_stack in
27975 let re : (
27976 # 87 "parser_cocci_menhir.mly"
27977 (string * Data.clt)
27978 # 27979 "parser_cocci_menhir.ml"
27979 ) = Obj.magic re in
27980 let _startpos = _startpos__1_ in
27981 let _endpos = _endpos_re_ in
27982 let _v : 'tv_regexp_eqid =
27983 # 1474 "parser_cocci_menhir.mly"
27984 ( (if !Data.in_iso
27985 then failwith "constraints not allowed in iso file");
27986 (if !Data.in_generating
27987 then failwith "constraints not allowed in a generated rule file");
27988 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
27989 )
27990 # 27991 "parser_cocci_menhir.ml"
27991 in
27992 _menhir_env.MenhirLib.EngineTypes.stack <- {
27993 MenhirLib.EngineTypes.state = _menhir_s;
27994 MenhirLib.EngineTypes.semv = Obj.repr _v;
27995 MenhirLib.EngineTypes.startp = _startpos;
27996 MenhirLib.EngineTypes.endp = _endpos;
27997 MenhirLib.EngineTypes.next = _menhir_stack;
27998 });
27999 (fun _menhir_env ->
28000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28001 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28002 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28003 let _endpos = _startpos in
28004 let _v : (
28005 # 131 "parser_cocci_menhir.mly"
28006 (unit)
28007 # 28008 "parser_cocci_menhir.ml"
28008 ) =
28009 # 172 "parser_cocci_menhir.mly"
28010 ( )
28011 # 28012 "parser_cocci_menhir.ml"
28012 in
28013 _menhir_env.MenhirLib.EngineTypes.stack <- {
28014 MenhirLib.EngineTypes.state = _menhir_s;
28015 MenhirLib.EngineTypes.semv = Obj.repr _v;
28016 MenhirLib.EngineTypes.startp = _startpos;
28017 MenhirLib.EngineTypes.endp = _endpos;
28018 MenhirLib.EngineTypes.next = _menhir_stack;
28019 });
28020 (fun _menhir_env ->
28021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28022 let {
28023 MenhirLib.EngineTypes.state = _menhir_s;
28024 MenhirLib.EngineTypes.semv = _1;
28025 MenhirLib.EngineTypes.startp = _startpos__1_;
28026 MenhirLib.EngineTypes.endp = _endpos__1_;
28027 MenhirLib.EngineTypes.next = _menhir_stack;
28028 } = _menhir_stack in
28029 let _1 : 'tv_one_decl_var = Obj.magic _1 in
28030 let _startpos = _startpos__1_ in
28031 let _endpos = _endpos__1_ in
28032 let _v : 'tv_rule_elem_statement =
28033 # 904 "parser_cocci_menhir.mly"
28034 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
28035 # 28036 "parser_cocci_menhir.ml"
28036 in
28037 _menhir_env.MenhirLib.EngineTypes.stack <- {
28038 MenhirLib.EngineTypes.state = _menhir_s;
28039 MenhirLib.EngineTypes.semv = Obj.repr _v;
28040 MenhirLib.EngineTypes.startp = _startpos;
28041 MenhirLib.EngineTypes.endp = _endpos;
28042 MenhirLib.EngineTypes.next = _menhir_stack;
28043 });
28044 (fun _menhir_env ->
28045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28046 let {
28047 MenhirLib.EngineTypes.semv = _2;
28048 MenhirLib.EngineTypes.startp = _startpos__2_;
28049 MenhirLib.EngineTypes.endp = _endpos__2_;
28050 MenhirLib.EngineTypes.next = {
28051 MenhirLib.EngineTypes.state = _menhir_s;
28052 MenhirLib.EngineTypes.semv = _1;
28053 MenhirLib.EngineTypes.startp = _startpos__1_;
28054 MenhirLib.EngineTypes.endp = _endpos__1_;
28055 MenhirLib.EngineTypes.next = _menhir_stack;
28056 };
28057 } = _menhir_stack in
28058 let _2 : (
28059 # 107 "parser_cocci_menhir.mly"
28060 (Data.clt)
28061 # 28062 "parser_cocci_menhir.ml"
28062 ) = Obj.magic _2 in
28063 let _1 : 'tv_expr = Obj.magic _1 in
28064 let _startpos = _startpos__1_ in
28065 let _endpos = _endpos__2_ in
28066 let _v : 'tv_rule_elem_statement =
28067 # 905 "parser_cocci_menhir.mly"
28068 ( P.exp_stm _1 _2 )
28069 # 28070 "parser_cocci_menhir.ml"
28070 in
28071 _menhir_env.MenhirLib.EngineTypes.stack <- {
28072 MenhirLib.EngineTypes.state = _menhir_s;
28073 MenhirLib.EngineTypes.semv = Obj.repr _v;
28074 MenhirLib.EngineTypes.startp = _startpos;
28075 MenhirLib.EngineTypes.endp = _endpos;
28076 MenhirLib.EngineTypes.next = _menhir_stack;
28077 });
28078 (fun _menhir_env ->
28079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28080 let {
28081 MenhirLib.EngineTypes.semv = _3;
28082 MenhirLib.EngineTypes.startp = _startpos__3_;
28083 MenhirLib.EngineTypes.endp = _endpos__3_;
28084 MenhirLib.EngineTypes.next = {
28085 MenhirLib.EngineTypes.semv = _2;
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 : (
28098 # 107 "parser_cocci_menhir.mly"
28099 (Data.clt)
28100 # 28101 "parser_cocci_menhir.ml"
28101 ) = Obj.magic _3 in
28102 let _2 : 'tv_eexpr = Obj.magic _2 in
28103 let _1 : (
28104 # 57 "parser_cocci_menhir.mly"
28105 (Data.clt)
28106 # 28107 "parser_cocci_menhir.ml"
28107 ) = Obj.magic _1 in
28108 let _startpos = _startpos__1_ in
28109 let _endpos = _endpos__3_ in
28110 let _v : 'tv_rule_elem_statement =
28111 # 906 "parser_cocci_menhir.mly"
28112 ( P.ret_exp _1 _2 _3 )
28113 # 28114 "parser_cocci_menhir.ml"
28114 in
28115 _menhir_env.MenhirLib.EngineTypes.stack <- {
28116 MenhirLib.EngineTypes.state = _menhir_s;
28117 MenhirLib.EngineTypes.semv = Obj.repr _v;
28118 MenhirLib.EngineTypes.startp = _startpos;
28119 MenhirLib.EngineTypes.endp = _endpos;
28120 MenhirLib.EngineTypes.next = _menhir_stack;
28121 });
28122 (fun _menhir_env ->
28123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28124 let {
28125 MenhirLib.EngineTypes.semv = _2;
28126 MenhirLib.EngineTypes.startp = _startpos__2_;
28127 MenhirLib.EngineTypes.endp = _endpos__2_;
28128 MenhirLib.EngineTypes.next = {
28129 MenhirLib.EngineTypes.state = _menhir_s;
28130 MenhirLib.EngineTypes.semv = _1;
28131 MenhirLib.EngineTypes.startp = _startpos__1_;
28132 MenhirLib.EngineTypes.endp = _endpos__1_;
28133 MenhirLib.EngineTypes.next = _menhir_stack;
28134 };
28135 } = _menhir_stack in
28136 let _2 : (
28137 # 107 "parser_cocci_menhir.mly"
28138 (Data.clt)
28139 # 28140 "parser_cocci_menhir.ml"
28140 ) = Obj.magic _2 in
28141 let _1 : (
28142 # 57 "parser_cocci_menhir.mly"
28143 (Data.clt)
28144 # 28145 "parser_cocci_menhir.ml"
28145 ) = Obj.magic _1 in
28146 let _startpos = _startpos__1_ in
28147 let _endpos = _endpos__2_ in
28148 let _v : 'tv_rule_elem_statement =
28149 # 907 "parser_cocci_menhir.mly"
28150 ( P.ret _1 _2 )
28151 # 28152 "parser_cocci_menhir.ml"
28152 in
28153 _menhir_env.MenhirLib.EngineTypes.stack <- {
28154 MenhirLib.EngineTypes.state = _menhir_s;
28155 MenhirLib.EngineTypes.semv = Obj.repr _v;
28156 MenhirLib.EngineTypes.startp = _startpos;
28157 MenhirLib.EngineTypes.endp = _endpos;
28158 MenhirLib.EngineTypes.next = _menhir_stack;
28159 });
28160 (fun _menhir_env ->
28161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28162 let {
28163 MenhirLib.EngineTypes.semv = _2;
28164 MenhirLib.EngineTypes.startp = _startpos__2_;
28165 MenhirLib.EngineTypes.endp = _endpos__2_;
28166 MenhirLib.EngineTypes.next = {
28167 MenhirLib.EngineTypes.state = _menhir_s;
28168 MenhirLib.EngineTypes.semv = _1;
28169 MenhirLib.EngineTypes.startp = _startpos__1_;
28170 MenhirLib.EngineTypes.endp = _endpos__1_;
28171 MenhirLib.EngineTypes.next = _menhir_stack;
28172 };
28173 } = _menhir_stack in
28174 let _2 : (
28175 # 107 "parser_cocci_menhir.mly"
28176 (Data.clt)
28177 # 28178 "parser_cocci_menhir.ml"
28178 ) = Obj.magic _2 in
28179 let _1 : (
28180 # 58 "parser_cocci_menhir.mly"
28181 (Data.clt)
28182 # 28183 "parser_cocci_menhir.ml"
28183 ) = Obj.magic _1 in
28184 let _startpos = _startpos__1_ in
28185 let _endpos = _endpos__2_ in
28186 let _v : 'tv_rule_elem_statement =
28187 # 908 "parser_cocci_menhir.mly"
28188 ( P.break _1 _2 )
28189 # 28190 "parser_cocci_menhir.ml"
28190 in
28191 _menhir_env.MenhirLib.EngineTypes.stack <- {
28192 MenhirLib.EngineTypes.state = _menhir_s;
28193 MenhirLib.EngineTypes.semv = Obj.repr _v;
28194 MenhirLib.EngineTypes.startp = _startpos;
28195 MenhirLib.EngineTypes.endp = _endpos;
28196 MenhirLib.EngineTypes.next = _menhir_stack;
28197 });
28198 (fun _menhir_env ->
28199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28200 let {
28201 MenhirLib.EngineTypes.semv = _2;
28202 MenhirLib.EngineTypes.startp = _startpos__2_;
28203 MenhirLib.EngineTypes.endp = _endpos__2_;
28204 MenhirLib.EngineTypes.next = {
28205 MenhirLib.EngineTypes.state = _menhir_s;
28206 MenhirLib.EngineTypes.semv = _1;
28207 MenhirLib.EngineTypes.startp = _startpos__1_;
28208 MenhirLib.EngineTypes.endp = _endpos__1_;
28209 MenhirLib.EngineTypes.next = _menhir_stack;
28210 };
28211 } = _menhir_stack in
28212 let _2 : (
28213 # 107 "parser_cocci_menhir.mly"
28214 (Data.clt)
28215 # 28216 "parser_cocci_menhir.ml"
28216 ) = Obj.magic _2 in
28217 let _1 : (
28218 # 58 "parser_cocci_menhir.mly"
28219 (Data.clt)
28220 # 28221 "parser_cocci_menhir.ml"
28221 ) = Obj.magic _1 in
28222 let _startpos = _startpos__1_ in
28223 let _endpos = _endpos__2_ in
28224 let _v : 'tv_rule_elem_statement =
28225 # 909 "parser_cocci_menhir.mly"
28226 ( P.cont _1 _2 )
28227 # 28228 "parser_cocci_menhir.ml"
28228 in
28229 _menhir_env.MenhirLib.EngineTypes.stack <- {
28230 MenhirLib.EngineTypes.state = _menhir_s;
28231 MenhirLib.EngineTypes.semv = Obj.repr _v;
28232 MenhirLib.EngineTypes.startp = _startpos;
28233 MenhirLib.EngineTypes.endp = _endpos;
28234 MenhirLib.EngineTypes.next = _menhir_stack;
28235 });
28236 (fun _menhir_env ->
28237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28238 let {
28239 MenhirLib.EngineTypes.semv = _3;
28240 MenhirLib.EngineTypes.startp = _startpos__3_;
28241 MenhirLib.EngineTypes.endp = _endpos__3_;
28242 MenhirLib.EngineTypes.next = {
28243 MenhirLib.EngineTypes.semv = _2;
28244 MenhirLib.EngineTypes.startp = _startpos__2_;
28245 MenhirLib.EngineTypes.endp = _endpos__2_;
28246 MenhirLib.EngineTypes.next = {
28247 MenhirLib.EngineTypes.state = _menhir_s;
28248 MenhirLib.EngineTypes.semv = _1;
28249 MenhirLib.EngineTypes.startp = _startpos__1_;
28250 MenhirLib.EngineTypes.endp = _endpos__1_;
28251 MenhirLib.EngineTypes.next = _menhir_stack;
28252 };
28253 };
28254 } = _menhir_stack in
28255 let _3 : (
28256 # 77 "parser_cocci_menhir.mly"
28257 (Data.clt)
28258 # 28259 "parser_cocci_menhir.ml"
28259 ) = Obj.magic _3 in
28260 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
28261 let _1 : (
28262 # 76 "parser_cocci_menhir.mly"
28263 (Data.clt)
28264 # 28265 "parser_cocci_menhir.ml"
28265 ) = Obj.magic _1 in
28266 let _startpos = _startpos__1_ in
28267 let _endpos = _endpos__3_ in
28268 let _v : 'tv_rule_elem_statement =
28269 # 911 "parser_cocci_menhir.mly"
28270 ( let (mids,code) = _2 in
28271 Ast0.wrap
28272 (Ast0.Disj(P.clt2mcode "(" _1,
28273 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
28274 mids, P.clt2mcode ")" _3)) )
28275 # 28276 "parser_cocci_menhir.ml"
28276 in
28277 _menhir_env.MenhirLib.EngineTypes.stack <- {
28278 MenhirLib.EngineTypes.state = _menhir_s;
28279 MenhirLib.EngineTypes.semv = Obj.repr _v;
28280 MenhirLib.EngineTypes.startp = _startpos;
28281 MenhirLib.EngineTypes.endp = _endpos;
28282 MenhirLib.EngineTypes.next = _menhir_stack;
28283 });
28284 (fun _menhir_env ->
28285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28286 let {
28287 MenhirLib.EngineTypes.startp = _startpos__7_;
28288 MenhirLib.EngineTypes.endp = _endpos__7_;
28289 MenhirLib.EngineTypes.next = {
28290 MenhirLib.EngineTypes.semv = ee;
28291 MenhirLib.EngineTypes.startp = _startpos_ee_;
28292 MenhirLib.EngineTypes.endp = _endpos_ee_;
28293 MenhirLib.EngineTypes.next = {
28294 MenhirLib.EngineTypes.semv = e;
28295 MenhirLib.EngineTypes.startp = _startpos_e_;
28296 MenhirLib.EngineTypes.endp = _endpos_e_;
28297 MenhirLib.EngineTypes.next = {
28298 MenhirLib.EngineTypes.semv = a;
28299 MenhirLib.EngineTypes.startp = _startpos_a_;
28300 MenhirLib.EngineTypes.endp = _endpos_a_;
28301 MenhirLib.EngineTypes.next = {
28302 MenhirLib.EngineTypes.semv = i;
28303 MenhirLib.EngineTypes.startp = _startpos_i_;
28304 MenhirLib.EngineTypes.endp = _endpos_i_;
28305 MenhirLib.EngineTypes.next = {
28306 MenhirLib.EngineTypes.semv = d;
28307 MenhirLib.EngineTypes.startp = _startpos_d_;
28308 MenhirLib.EngineTypes.endp = _endpos_d_;
28309 MenhirLib.EngineTypes.next = {
28310 MenhirLib.EngineTypes.state = _menhir_s;
28311 MenhirLib.EngineTypes.startp = _startpos__1_;
28312 MenhirLib.EngineTypes.endp = _endpos__1_;
28313 MenhirLib.EngineTypes.next = _menhir_stack;
28314 };
28315 };
28316 };
28317 };
28318 };
28319 };
28320 } = _menhir_stack in
28321 let ee : 'tv_is_expression = Obj.magic ee in
28322 let e : 'tv_exists = Obj.magic e in
28323 let a : 'tv_loption_disable_ = Obj.magic a in
28324 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28325 let d : 'tv_depends = Obj.magic d in
28326 let _startpos = _startpos__1_ in
28327 let _endpos = _endpos__7_ in
28328 let _v : (
28329 # 153 "parser_cocci_menhir.mly"
28330 (Ast_cocci.rulename)
28331 # 28332 "parser_cocci_menhir.ml"
28332 ) = let nm =
28333
28334 # 39 "standard.mly"
28335 ( None )
28336 # 28337 "parser_cocci_menhir.ml"
28337
28338 in
28339
28340 # 202 "parser_cocci_menhir.mly"
28341 ( P.make_cocci_rule_name_result nm d i a e ee )
28342 # 28343 "parser_cocci_menhir.ml"
28343 in
28344 _menhir_env.MenhirLib.EngineTypes.stack <- {
28345 MenhirLib.EngineTypes.state = _menhir_s;
28346 MenhirLib.EngineTypes.semv = Obj.repr _v;
28347 MenhirLib.EngineTypes.startp = _startpos;
28348 MenhirLib.EngineTypes.endp = _endpos;
28349 MenhirLib.EngineTypes.next = _menhir_stack;
28350 });
28351 (fun _menhir_env ->
28352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28353 let {
28354 MenhirLib.EngineTypes.startp = _startpos__8_;
28355 MenhirLib.EngineTypes.endp = _endpos__8_;
28356 MenhirLib.EngineTypes.next = {
28357 MenhirLib.EngineTypes.semv = ee;
28358 MenhirLib.EngineTypes.startp = _startpos_ee_;
28359 MenhirLib.EngineTypes.endp = _endpos_ee_;
28360 MenhirLib.EngineTypes.next = {
28361 MenhirLib.EngineTypes.semv = e;
28362 MenhirLib.EngineTypes.startp = _startpos_e_;
28363 MenhirLib.EngineTypes.endp = _endpos_e_;
28364 MenhirLib.EngineTypes.next = {
28365 MenhirLib.EngineTypes.semv = a;
28366 MenhirLib.EngineTypes.startp = _startpos_a_;
28367 MenhirLib.EngineTypes.endp = _endpos_a_;
28368 MenhirLib.EngineTypes.next = {
28369 MenhirLib.EngineTypes.semv = i;
28370 MenhirLib.EngineTypes.startp = _startpos_i_;
28371 MenhirLib.EngineTypes.endp = _endpos_i_;
28372 MenhirLib.EngineTypes.next = {
28373 MenhirLib.EngineTypes.semv = d;
28374 MenhirLib.EngineTypes.startp = _startpos_d_;
28375 MenhirLib.EngineTypes.endp = _endpos_d_;
28376 MenhirLib.EngineTypes.next = {
28377 MenhirLib.EngineTypes.startp = _startpos__2_;
28378 MenhirLib.EngineTypes.endp = _endpos__2_;
28379 MenhirLib.EngineTypes.next = {
28380 MenhirLib.EngineTypes.state = _menhir_s;
28381 MenhirLib.EngineTypes.semv = x0;
28382 MenhirLib.EngineTypes.startp = _startpos_x0_;
28383 MenhirLib.EngineTypes.endp = _endpos_x0_;
28384 MenhirLib.EngineTypes.next = _menhir_stack;
28385 };
28386 };
28387 };
28388 };
28389 };
28390 };
28391 };
28392 } = _menhir_stack in
28393 let ee : 'tv_is_expression = Obj.magic ee in
28394 let e : 'tv_exists = Obj.magic e in
28395 let a : 'tv_loption_disable_ = Obj.magic a in
28396 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28397 let d : 'tv_depends = Obj.magic d in
28398 let x0 : 'tv_pure_ident = Obj.magic x0 in
28399 let _startpos = _startpos_x0_ in
28400 let _endpos = _endpos__8_ in
28401 let _v : (
28402 # 153 "parser_cocci_menhir.mly"
28403 (Ast_cocci.rulename)
28404 # 28405 "parser_cocci_menhir.ml"
28405 ) = let nm =
28406 let x = x0 in
28407
28408 # 41 "standard.mly"
28409 ( Some x )
28410 # 28411 "parser_cocci_menhir.ml"
28411
28412 in
28413
28414 # 202 "parser_cocci_menhir.mly"
28415 ( P.make_cocci_rule_name_result nm d i a e ee )
28416 # 28417 "parser_cocci_menhir.ml"
28417 in
28418 _menhir_env.MenhirLib.EngineTypes.stack <- {
28419 MenhirLib.EngineTypes.state = _menhir_s;
28420 MenhirLib.EngineTypes.semv = Obj.repr _v;
28421 MenhirLib.EngineTypes.startp = _startpos;
28422 MenhirLib.EngineTypes.endp = _endpos;
28423 MenhirLib.EngineTypes.next = _menhir_stack;
28424 });
28425 (fun _menhir_env ->
28426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28427 let {
28428 MenhirLib.EngineTypes.startp = _startpos__8_;
28429 MenhirLib.EngineTypes.endp = _endpos__8_;
28430 MenhirLib.EngineTypes.next = {
28431 MenhirLib.EngineTypes.semv = ee;
28432 MenhirLib.EngineTypes.startp = _startpos_ee_;
28433 MenhirLib.EngineTypes.endp = _endpos_ee_;
28434 MenhirLib.EngineTypes.next = {
28435 MenhirLib.EngineTypes.semv = e;
28436 MenhirLib.EngineTypes.startp = _startpos_e_;
28437 MenhirLib.EngineTypes.endp = _endpos_e_;
28438 MenhirLib.EngineTypes.next = {
28439 MenhirLib.EngineTypes.semv = a;
28440 MenhirLib.EngineTypes.startp = _startpos_a_;
28441 MenhirLib.EngineTypes.endp = _endpos_a_;
28442 MenhirLib.EngineTypes.next = {
28443 MenhirLib.EngineTypes.semv = i;
28444 MenhirLib.EngineTypes.startp = _startpos_i_;
28445 MenhirLib.EngineTypes.endp = _endpos_i_;
28446 MenhirLib.EngineTypes.next = {
28447 MenhirLib.EngineTypes.semv = d;
28448 MenhirLib.EngineTypes.startp = _startpos_d_;
28449 MenhirLib.EngineTypes.endp = _endpos_d_;
28450 MenhirLib.EngineTypes.next = {
28451 MenhirLib.EngineTypes.startp = _startpos__2_;
28452 MenhirLib.EngineTypes.endp = _endpos__2_;
28453 MenhirLib.EngineTypes.next = {
28454 MenhirLib.EngineTypes.state = _menhir_s;
28455 MenhirLib.EngineTypes.startp = _startpos__1_;
28456 MenhirLib.EngineTypes.endp = _endpos__1_;
28457 MenhirLib.EngineTypes.next = _menhir_stack;
28458 };
28459 };
28460 };
28461 };
28462 };
28463 };
28464 };
28465 } = _menhir_stack in
28466 let ee : 'tv_is_expression = Obj.magic ee in
28467 let e : 'tv_exists = Obj.magic e in
28468 let a : 'tv_loption_disable_ = Obj.magic a in
28469 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28470 let d : 'tv_depends = Obj.magic d in
28471 let _startpos = _startpos__1_ in
28472 let _endpos = _endpos__8_ in
28473 let _v : (
28474 # 153 "parser_cocci_menhir.mly"
28475 (Ast_cocci.rulename)
28476 # 28477 "parser_cocci_menhir.ml"
28477 ) =
28478 # 207 "parser_cocci_menhir.mly"
28479 ( P.make_generated_rule_name_result None d i a e ee )
28480 # 28481 "parser_cocci_menhir.ml"
28481 in
28482 _menhir_env.MenhirLib.EngineTypes.stack <- {
28483 MenhirLib.EngineTypes.state = _menhir_s;
28484 MenhirLib.EngineTypes.semv = Obj.repr _v;
28485 MenhirLib.EngineTypes.startp = _startpos;
28486 MenhirLib.EngineTypes.endp = _endpos;
28487 MenhirLib.EngineTypes.next = _menhir_stack;
28488 });
28489 (fun _menhir_env ->
28490 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28491 let {
28492 MenhirLib.EngineTypes.startp = _startpos__5_;
28493 MenhirLib.EngineTypes.endp = _endpos__5_;
28494 MenhirLib.EngineTypes.next = {
28495 MenhirLib.EngineTypes.semv = d;
28496 MenhirLib.EngineTypes.startp = _startpos_d_;
28497 MenhirLib.EngineTypes.endp = _endpos_d_;
28498 MenhirLib.EngineTypes.next = {
28499 MenhirLib.EngineTypes.semv = lang;
28500 MenhirLib.EngineTypes.startp = _startpos_lang_;
28501 MenhirLib.EngineTypes.endp = _endpos_lang_;
28502 MenhirLib.EngineTypes.next = {
28503 MenhirLib.EngineTypes.startp = _startpos__2_;
28504 MenhirLib.EngineTypes.endp = _endpos__2_;
28505 MenhirLib.EngineTypes.next = {
28506 MenhirLib.EngineTypes.state = _menhir_s;
28507 MenhirLib.EngineTypes.startp = _startpos__1_;
28508 MenhirLib.EngineTypes.endp = _endpos__1_;
28509 MenhirLib.EngineTypes.next = _menhir_stack;
28510 };
28511 };
28512 };
28513 };
28514 } = _menhir_stack in
28515 let d : 'tv_depends = Obj.magic d in
28516 let lang : 'tv_pure_ident = Obj.magic lang in
28517 let _startpos = _startpos__1_ in
28518 let _endpos = _endpos__5_ in
28519 let _v : (
28520 # 153 "parser_cocci_menhir.mly"
28521 (Ast_cocci.rulename)
28522 # 28523 "parser_cocci_menhir.ml"
28523 ) =
28524 # 209 "parser_cocci_menhir.mly"
28525 ( P.make_script_rule_name_result lang d )
28526 # 28527 "parser_cocci_menhir.ml"
28527 in
28528 _menhir_env.MenhirLib.EngineTypes.stack <- {
28529 MenhirLib.EngineTypes.state = _menhir_s;
28530 MenhirLib.EngineTypes.semv = Obj.repr _v;
28531 MenhirLib.EngineTypes.startp = _startpos;
28532 MenhirLib.EngineTypes.endp = _endpos;
28533 MenhirLib.EngineTypes.next = _menhir_stack;
28534 });
28535 (fun _menhir_env ->
28536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28537 let {
28538 MenhirLib.EngineTypes.startp = _startpos__4_;
28539 MenhirLib.EngineTypes.endp = _endpos__4_;
28540 MenhirLib.EngineTypes.next = {
28541 MenhirLib.EngineTypes.semv = lang;
28542 MenhirLib.EngineTypes.startp = _startpos_lang_;
28543 MenhirLib.EngineTypes.endp = _endpos_lang_;
28544 MenhirLib.EngineTypes.next = {
28545 MenhirLib.EngineTypes.startp = _startpos__2_;
28546 MenhirLib.EngineTypes.endp = _endpos__2_;
28547 MenhirLib.EngineTypes.next = {
28548 MenhirLib.EngineTypes.state = _menhir_s;
28549 MenhirLib.EngineTypes.startp = _startpos__1_;
28550 MenhirLib.EngineTypes.endp = _endpos__1_;
28551 MenhirLib.EngineTypes.next = _menhir_stack;
28552 };
28553 };
28554 };
28555 } = _menhir_stack in
28556 let lang : 'tv_pure_ident = Obj.magic lang in
28557 let _startpos = _startpos__1_ in
28558 let _endpos = _endpos__4_ in
28559 let _v : (
28560 # 153 "parser_cocci_menhir.mly"
28561 (Ast_cocci.rulename)
28562 # 28563 "parser_cocci_menhir.ml"
28563 ) =
28564 # 211 "parser_cocci_menhir.mly"
28565 ( P.make_initial_script_rule_name_result lang )
28566 # 28567 "parser_cocci_menhir.ml"
28567 in
28568 _menhir_env.MenhirLib.EngineTypes.stack <- {
28569 MenhirLib.EngineTypes.state = _menhir_s;
28570 MenhirLib.EngineTypes.semv = Obj.repr _v;
28571 MenhirLib.EngineTypes.startp = _startpos;
28572 MenhirLib.EngineTypes.endp = _endpos;
28573 MenhirLib.EngineTypes.next = _menhir_stack;
28574 });
28575 (fun _menhir_env ->
28576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28577 let {
28578 MenhirLib.EngineTypes.startp = _startpos__4_;
28579 MenhirLib.EngineTypes.endp = _endpos__4_;
28580 MenhirLib.EngineTypes.next = {
28581 MenhirLib.EngineTypes.semv = lang;
28582 MenhirLib.EngineTypes.startp = _startpos_lang_;
28583 MenhirLib.EngineTypes.endp = _endpos_lang_;
28584 MenhirLib.EngineTypes.next = {
28585 MenhirLib.EngineTypes.startp = _startpos__2_;
28586 MenhirLib.EngineTypes.endp = _endpos__2_;
28587 MenhirLib.EngineTypes.next = {
28588 MenhirLib.EngineTypes.state = _menhir_s;
28589 MenhirLib.EngineTypes.startp = _startpos__1_;
28590 MenhirLib.EngineTypes.endp = _endpos__1_;
28591 MenhirLib.EngineTypes.next = _menhir_stack;
28592 };
28593 };
28594 };
28595 } = _menhir_stack in
28596 let lang : 'tv_pure_ident = Obj.magic lang in
28597 let _startpos = _startpos__1_ in
28598 let _endpos = _endpos__4_ in
28599 let _v : (
28600 # 153 "parser_cocci_menhir.mly"
28601 (Ast_cocci.rulename)
28602 # 28603 "parser_cocci_menhir.ml"
28603 ) =
28604 # 213 "parser_cocci_menhir.mly"
28605 ( P.make_final_script_rule_name_result lang )
28606 # 28607 "parser_cocci_menhir.ml"
28607 in
28608 _menhir_env.MenhirLib.EngineTypes.stack <- {
28609 MenhirLib.EngineTypes.state = _menhir_s;
28610 MenhirLib.EngineTypes.semv = Obj.repr _v;
28611 MenhirLib.EngineTypes.startp = _startpos;
28612 MenhirLib.EngineTypes.endp = _endpos;
28613 MenhirLib.EngineTypes.next = _menhir_stack;
28614 });
28615 (fun _menhir_env ->
28616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28617 let {
28618 MenhirLib.EngineTypes.startp = _startpos__6_;
28619 MenhirLib.EngineTypes.endp = _endpos__6_;
28620 MenhirLib.EngineTypes.next = {
28621 MenhirLib.EngineTypes.semv = cocci;
28622 MenhirLib.EngineTypes.startp = _startpos_cocci_;
28623 MenhirLib.EngineTypes.endp = _endpos_cocci_;
28624 MenhirLib.EngineTypes.next = {
28625 MenhirLib.EngineTypes.startp = _startpos__4_;
28626 MenhirLib.EngineTypes.endp = _endpos__4_;
28627 MenhirLib.EngineTypes.next = {
28628 MenhirLib.EngineTypes.semv = _3;
28629 MenhirLib.EngineTypes.startp = _startpos__3_;
28630 MenhirLib.EngineTypes.endp = _endpos__3_;
28631 MenhirLib.EngineTypes.next = {
28632 MenhirLib.EngineTypes.startp = _startpos__2_;
28633 MenhirLib.EngineTypes.endp = _endpos__2_;
28634 MenhirLib.EngineTypes.next = {
28635 MenhirLib.EngineTypes.state = _menhir_s;
28636 MenhirLib.EngineTypes.semv = py;
28637 MenhirLib.EngineTypes.startp = _startpos_py_;
28638 MenhirLib.EngineTypes.endp = _endpos_py_;
28639 MenhirLib.EngineTypes.next = _menhir_stack;
28640 };
28641 };
28642 };
28643 };
28644 };
28645 } = _menhir_stack in
28646 let cocci : 'tv_pure_ident = Obj.magic cocci in
28647 let _3 : (
28648 # 47 "parser_cocci_menhir.mly"
28649 (string)
28650 # 28651 "parser_cocci_menhir.ml"
28651 ) = Obj.magic _3 in
28652 let py : 'tv_pure_ident = Obj.magic py in
28653 let _startpos = _startpos_py_ in
28654 let _endpos = _endpos__6_ in
28655 let _v : (
28656 # 159 "parser_cocci_menhir.mly"
28657 (string * (string * string))
28658 # 28659 "parser_cocci_menhir.ml"
28659 ) =
28660 # 1952 "parser_cocci_menhir.mly"
28661 ( (P.id2name py, (_3, P.id2name cocci)) )
28662 # 28663 "parser_cocci_menhir.ml"
28663 in
28664 _menhir_env.MenhirLib.EngineTypes.stack <- {
28665 MenhirLib.EngineTypes.state = _menhir_s;
28666 MenhirLib.EngineTypes.semv = Obj.repr _v;
28667 MenhirLib.EngineTypes.startp = _startpos;
28668 MenhirLib.EngineTypes.endp = _endpos;
28669 MenhirLib.EngineTypes.next = _menhir_stack;
28670 });
28671 (fun _menhir_env ->
28672 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28673 let {
28674 MenhirLib.EngineTypes.state = _menhir_s;
28675 MenhirLib.EngineTypes.semv = _1;
28676 MenhirLib.EngineTypes.startp = _startpos__1_;
28677 MenhirLib.EngineTypes.endp = _endpos__1_;
28678 MenhirLib.EngineTypes.next = _menhir_stack;
28679 } = _menhir_stack in
28680 let _1 : (
28681 # 87 "parser_cocci_menhir.mly"
28682 (string * Data.clt)
28683 # 28684 "parser_cocci_menhir.ml"
28684 ) = Obj.magic _1 in
28685 let _startpos = _startpos__1_ in
28686 let _endpos = _endpos__1_ in
28687 let _v : 'tv_seed_elem =
28688 # 1432 "parser_cocci_menhir.mly"
28689 ( let (x,_) = _1 in Ast.SeedString x )
28690 # 28691 "parser_cocci_menhir.ml"
28691 in
28692 _menhir_env.MenhirLib.EngineTypes.stack <- {
28693 MenhirLib.EngineTypes.state = _menhir_s;
28694 MenhirLib.EngineTypes.semv = Obj.repr _v;
28695 MenhirLib.EngineTypes.startp = _startpos;
28696 MenhirLib.EngineTypes.endp = _endpos;
28697 MenhirLib.EngineTypes.next = _menhir_stack;
28698 });
28699 (fun _menhir_env ->
28700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28701 let {
28702 MenhirLib.EngineTypes.state = _menhir_s;
28703 MenhirLib.EngineTypes.semv = _1;
28704 MenhirLib.EngineTypes.startp = _startpos__1_;
28705 MenhirLib.EngineTypes.endp = _endpos__1_;
28706 MenhirLib.EngineTypes.next = _menhir_stack;
28707 } = _menhir_stack in
28708 let _1 : (
28709 # 61 "parser_cocci_menhir.mly"
28710 (Parse_aux.idinfo)
28711 # 28712 "parser_cocci_menhir.ml"
28712 ) = Obj.magic _1 in
28713 let _startpos = _startpos__1_ in
28714 let _endpos = _endpos__1_ in
28715 let _v : 'tv_seed_elem =
28716 # 1433 "parser_cocci_menhir.mly"
28717 ( let (x,_,_,_) = _1 in Ast.SeedId x )
28718 # 28719 "parser_cocci_menhir.ml"
28719 in
28720 _menhir_env.MenhirLib.EngineTypes.stack <- {
28721 MenhirLib.EngineTypes.state = _menhir_s;
28722 MenhirLib.EngineTypes.semv = Obj.repr _v;
28723 MenhirLib.EngineTypes.startp = _startpos;
28724 MenhirLib.EngineTypes.endp = _endpos;
28725 MenhirLib.EngineTypes.next = _menhir_stack;
28726 });
28727 (fun _menhir_env ->
28728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28729 let {
28730 MenhirLib.EngineTypes.semv = _3;
28731 MenhirLib.EngineTypes.startp = _startpos__3_;
28732 MenhirLib.EngineTypes.endp = _endpos__3_;
28733 MenhirLib.EngineTypes.next = {
28734 MenhirLib.EngineTypes.startp = _startpos__2_;
28735 MenhirLib.EngineTypes.endp = _endpos__2_;
28736 MenhirLib.EngineTypes.next = {
28737 MenhirLib.EngineTypes.state = _menhir_s;
28738 MenhirLib.EngineTypes.semv = _1;
28739 MenhirLib.EngineTypes.startp = _startpos__1_;
28740 MenhirLib.EngineTypes.endp = _endpos__1_;
28741 MenhirLib.EngineTypes.next = _menhir_stack;
28742 };
28743 };
28744 } = _menhir_stack in
28745 let _3 : 'tv_pure_ident = Obj.magic _3 in
28746 let _1 : (
28747 # 47 "parser_cocci_menhir.mly"
28748 (string)
28749 # 28750 "parser_cocci_menhir.ml"
28750 ) = Obj.magic _1 in
28751 let _startpos = _startpos__1_ in
28752 let _endpos = _endpos__3_ in
28753 let _v : 'tv_seed_elem =
28754 # 1435 "parser_cocci_menhir.mly"
28755 ( let nm = (_1,P.id2name _3) in
28756 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
28757 Ast.SeedId nm )
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.state = _menhir_s;
28771 MenhirLib.EngineTypes.semv = x;
28772 MenhirLib.EngineTypes.startp = _startpos_x_;
28773 MenhirLib.EngineTypes.endp = _endpos_x_;
28774 MenhirLib.EngineTypes.next = _menhir_stack;
28775 } = _menhir_stack in
28776 let x : (
28777 # 87 "parser_cocci_menhir.mly"
28778 (string * Data.clt)
28779 # 28780 "parser_cocci_menhir.ml"
28780 ) = Obj.magic x in
28781 let _startpos = _startpos_x_ in
28782 let _endpos = _endpos_x_ in
28783 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
28784 # 144 "standard.mly"
28785 ( [ x ] )
28786 # 28787 "parser_cocci_menhir.ml"
28787 in
28788 _menhir_env.MenhirLib.EngineTypes.stack <- {
28789 MenhirLib.EngineTypes.state = _menhir_s;
28790 MenhirLib.EngineTypes.semv = Obj.repr _v;
28791 MenhirLib.EngineTypes.startp = _startpos;
28792 MenhirLib.EngineTypes.endp = _endpos;
28793 MenhirLib.EngineTypes.next = _menhir_stack;
28794 });
28795 (fun _menhir_env ->
28796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28797 let {
28798 MenhirLib.EngineTypes.semv = xs;
28799 MenhirLib.EngineTypes.startp = _startpos_xs_;
28800 MenhirLib.EngineTypes.endp = _endpos_xs_;
28801 MenhirLib.EngineTypes.next = {
28802 MenhirLib.EngineTypes.startp = _startpos__2_;
28803 MenhirLib.EngineTypes.endp = _endpos__2_;
28804 MenhirLib.EngineTypes.next = {
28805 MenhirLib.EngineTypes.state = _menhir_s;
28806 MenhirLib.EngineTypes.semv = x;
28807 MenhirLib.EngineTypes.startp = _startpos_x_;
28808 MenhirLib.EngineTypes.endp = _endpos_x_;
28809 MenhirLib.EngineTypes.next = _menhir_stack;
28810 };
28811 };
28812 } = _menhir_stack in
28813 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
28814 let x : (
28815 # 87 "parser_cocci_menhir.mly"
28816 (string * Data.clt)
28817 # 28818 "parser_cocci_menhir.ml"
28818 ) = Obj.magic x in
28819 let _startpos = _startpos_x_ in
28820 let _endpos = _endpos_xs_ in
28821 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
28822 # 146 "standard.mly"
28823 ( x :: xs )
28824 # 28825 "parser_cocci_menhir.ml"
28825 in
28826 _menhir_env.MenhirLib.EngineTypes.stack <- {
28827 MenhirLib.EngineTypes.state = _menhir_s;
28828 MenhirLib.EngineTypes.semv = Obj.repr _v;
28829 MenhirLib.EngineTypes.startp = _startpos;
28830 MenhirLib.EngineTypes.endp = _endpos;
28831 MenhirLib.EngineTypes.next = _menhir_stack;
28832 });
28833 (fun _menhir_env ->
28834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28835 let {
28836 MenhirLib.EngineTypes.state = _menhir_s;
28837 MenhirLib.EngineTypes.semv = x;
28838 MenhirLib.EngineTypes.startp = _startpos_x_;
28839 MenhirLib.EngineTypes.endp = _endpos_x_;
28840 MenhirLib.EngineTypes.next = _menhir_stack;
28841 } = _menhir_stack in
28842 let x : 'tv_any_strict = Obj.magic x in
28843 let _startpos = _startpos_x_ in
28844 let _endpos = _endpos_x_ in
28845 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
28846 # 144 "standard.mly"
28847 ( [ x ] )
28848 # 28849 "parser_cocci_menhir.ml"
28849 in
28850 _menhir_env.MenhirLib.EngineTypes.stack <- {
28851 MenhirLib.EngineTypes.state = _menhir_s;
28852 MenhirLib.EngineTypes.semv = Obj.repr _v;
28853 MenhirLib.EngineTypes.startp = _startpos;
28854 MenhirLib.EngineTypes.endp = _endpos;
28855 MenhirLib.EngineTypes.next = _menhir_stack;
28856 });
28857 (fun _menhir_env ->
28858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28859 let {
28860 MenhirLib.EngineTypes.semv = xs;
28861 MenhirLib.EngineTypes.startp = _startpos_xs_;
28862 MenhirLib.EngineTypes.endp = _endpos_xs_;
28863 MenhirLib.EngineTypes.next = {
28864 MenhirLib.EngineTypes.startp = _startpos__2_;
28865 MenhirLib.EngineTypes.endp = _endpos__2_;
28866 MenhirLib.EngineTypes.next = {
28867 MenhirLib.EngineTypes.state = _menhir_s;
28868 MenhirLib.EngineTypes.semv = x;
28869 MenhirLib.EngineTypes.startp = _startpos_x_;
28870 MenhirLib.EngineTypes.endp = _endpos_x_;
28871 MenhirLib.EngineTypes.next = _menhir_stack;
28872 };
28873 };
28874 } = _menhir_stack in
28875 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
28876 let x : 'tv_any_strict = Obj.magic x in
28877 let _startpos = _startpos_x_ in
28878 let _endpos = _endpos_xs_ in
28879 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
28880 # 146 "standard.mly"
28881 ( x :: xs )
28882 # 28883 "parser_cocci_menhir.ml"
28883 in
28884 _menhir_env.MenhirLib.EngineTypes.stack <- {
28885 MenhirLib.EngineTypes.state = _menhir_s;
28886 MenhirLib.EngineTypes.semv = Obj.repr _v;
28887 MenhirLib.EngineTypes.startp = _startpos;
28888 MenhirLib.EngineTypes.endp = _endpos;
28889 MenhirLib.EngineTypes.next = _menhir_stack;
28890 });
28891 (fun _menhir_env ->
28892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28893 let {
28894 MenhirLib.EngineTypes.state = _menhir_s;
28895 MenhirLib.EngineTypes.semv = x;
28896 MenhirLib.EngineTypes.startp = _startpos_x_;
28897 MenhirLib.EngineTypes.endp = _endpos_x_;
28898 MenhirLib.EngineTypes.next = _menhir_stack;
28899 } = _menhir_stack in
28900 let x : 'tv_ctype = Obj.magic x in
28901 let _startpos = _startpos_x_ in
28902 let _endpos = _endpos_x_ in
28903 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
28904 # 144 "standard.mly"
28905 ( [ x ] )
28906 # 28907 "parser_cocci_menhir.ml"
28907 in
28908 _menhir_env.MenhirLib.EngineTypes.stack <- {
28909 MenhirLib.EngineTypes.state = _menhir_s;
28910 MenhirLib.EngineTypes.semv = Obj.repr _v;
28911 MenhirLib.EngineTypes.startp = _startpos;
28912 MenhirLib.EngineTypes.endp = _endpos;
28913 MenhirLib.EngineTypes.next = _menhir_stack;
28914 });
28915 (fun _menhir_env ->
28916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28917 let {
28918 MenhirLib.EngineTypes.semv = xs;
28919 MenhirLib.EngineTypes.startp = _startpos_xs_;
28920 MenhirLib.EngineTypes.endp = _endpos_xs_;
28921 MenhirLib.EngineTypes.next = {
28922 MenhirLib.EngineTypes.startp = _startpos__2_;
28923 MenhirLib.EngineTypes.endp = _endpos__2_;
28924 MenhirLib.EngineTypes.next = {
28925 MenhirLib.EngineTypes.state = _menhir_s;
28926 MenhirLib.EngineTypes.semv = x;
28927 MenhirLib.EngineTypes.startp = _startpos_x_;
28928 MenhirLib.EngineTypes.endp = _endpos_x_;
28929 MenhirLib.EngineTypes.next = _menhir_stack;
28930 };
28931 };
28932 } = _menhir_stack in
28933 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
28934 let x : 'tv_ctype = Obj.magic x in
28935 let _startpos = _startpos_x_ in
28936 let _endpos = _endpos_xs_ in
28937 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
28938 # 146 "standard.mly"
28939 ( x :: xs )
28940 # 28941 "parser_cocci_menhir.ml"
28941 in
28942 _menhir_env.MenhirLib.EngineTypes.stack <- {
28943 MenhirLib.EngineTypes.state = _menhir_s;
28944 MenhirLib.EngineTypes.semv = Obj.repr _v;
28945 MenhirLib.EngineTypes.startp = _startpos;
28946 MenhirLib.EngineTypes.endp = _endpos;
28947 MenhirLib.EngineTypes.next = _menhir_stack;
28948 });
28949 (fun _menhir_env ->
28950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28951 let {
28952 MenhirLib.EngineTypes.state = _menhir_s;
28953 MenhirLib.EngineTypes.semv = x;
28954 MenhirLib.EngineTypes.startp = _startpos_x_;
28955 MenhirLib.EngineTypes.endp = _endpos_x_;
28956 MenhirLib.EngineTypes.next = _menhir_stack;
28957 } = _menhir_stack in
28958 let x : 'tv_d_ident = Obj.magic x in
28959 let _startpos = _startpos_x_ in
28960 let _endpos = _endpos_x_ in
28961 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
28962 # 144 "standard.mly"
28963 ( [ x ] )
28964 # 28965 "parser_cocci_menhir.ml"
28965 in
28966 _menhir_env.MenhirLib.EngineTypes.stack <- {
28967 MenhirLib.EngineTypes.state = _menhir_s;
28968 MenhirLib.EngineTypes.semv = Obj.repr _v;
28969 MenhirLib.EngineTypes.startp = _startpos;
28970 MenhirLib.EngineTypes.endp = _endpos;
28971 MenhirLib.EngineTypes.next = _menhir_stack;
28972 });
28973 (fun _menhir_env ->
28974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28975 let {
28976 MenhirLib.EngineTypes.semv = xs;
28977 MenhirLib.EngineTypes.startp = _startpos_xs_;
28978 MenhirLib.EngineTypes.endp = _endpos_xs_;
28979 MenhirLib.EngineTypes.next = {
28980 MenhirLib.EngineTypes.startp = _startpos__2_;
28981 MenhirLib.EngineTypes.endp = _endpos__2_;
28982 MenhirLib.EngineTypes.next = {
28983 MenhirLib.EngineTypes.state = _menhir_s;
28984 MenhirLib.EngineTypes.semv = x;
28985 MenhirLib.EngineTypes.startp = _startpos_x_;
28986 MenhirLib.EngineTypes.endp = _endpos_x_;
28987 MenhirLib.EngineTypes.next = _menhir_stack;
28988 };
28989 };
28990 } = _menhir_stack in
28991 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
28992 let x : 'tv_d_ident = Obj.magic x in
28993 let _startpos = _startpos_x_ in
28994 let _endpos = _endpos_xs_ in
28995 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
28996 # 146 "standard.mly"
28997 ( x :: xs )
28998 # 28999 "parser_cocci_menhir.ml"
28999 in
29000 _menhir_env.MenhirLib.EngineTypes.stack <- {
29001 MenhirLib.EngineTypes.state = _menhir_s;
29002 MenhirLib.EngineTypes.semv = Obj.repr _v;
29003 MenhirLib.EngineTypes.startp = _startpos;
29004 MenhirLib.EngineTypes.endp = _endpos;
29005 MenhirLib.EngineTypes.next = _menhir_stack;
29006 });
29007 (fun _menhir_env ->
29008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29009 let {
29010 MenhirLib.EngineTypes.state = _menhir_s;
29011 MenhirLib.EngineTypes.semv = x;
29012 MenhirLib.EngineTypes.startp = _startpos_x_;
29013 MenhirLib.EngineTypes.endp = _endpos_x_;
29014 MenhirLib.EngineTypes.next = _menhir_stack;
29015 } = _menhir_stack in
29016 let x : 'tv_ident_or_const = Obj.magic x in
29017 let _startpos = _startpos_x_ in
29018 let _endpos = _endpos_x_ in
29019 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29020 # 144 "standard.mly"
29021 ( [ x ] )
29022 # 29023 "parser_cocci_menhir.ml"
29023 in
29024 _menhir_env.MenhirLib.EngineTypes.stack <- {
29025 MenhirLib.EngineTypes.state = _menhir_s;
29026 MenhirLib.EngineTypes.semv = Obj.repr _v;
29027 MenhirLib.EngineTypes.startp = _startpos;
29028 MenhirLib.EngineTypes.endp = _endpos;
29029 MenhirLib.EngineTypes.next = _menhir_stack;
29030 });
29031 (fun _menhir_env ->
29032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29033 let {
29034 MenhirLib.EngineTypes.semv = xs;
29035 MenhirLib.EngineTypes.startp = _startpos_xs_;
29036 MenhirLib.EngineTypes.endp = _endpos_xs_;
29037 MenhirLib.EngineTypes.next = {
29038 MenhirLib.EngineTypes.startp = _startpos__2_;
29039 MenhirLib.EngineTypes.endp = _endpos__2_;
29040 MenhirLib.EngineTypes.next = {
29041 MenhirLib.EngineTypes.state = _menhir_s;
29042 MenhirLib.EngineTypes.semv = x;
29043 MenhirLib.EngineTypes.startp = _startpos_x_;
29044 MenhirLib.EngineTypes.endp = _endpos_x_;
29045 MenhirLib.EngineTypes.next = _menhir_stack;
29046 };
29047 };
29048 } = _menhir_stack in
29049 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
29050 let x : 'tv_ident_or_const = Obj.magic x in
29051 let _startpos = _startpos_x_ in
29052 let _endpos = _endpos_xs_ in
29053 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29054 # 146 "standard.mly"
29055 ( x :: xs )
29056 # 29057 "parser_cocci_menhir.ml"
29057 in
29058 _menhir_env.MenhirLib.EngineTypes.stack <- {
29059 MenhirLib.EngineTypes.state = _menhir_s;
29060 MenhirLib.EngineTypes.semv = Obj.repr _v;
29061 MenhirLib.EngineTypes.startp = _startpos;
29062 MenhirLib.EngineTypes.endp = _endpos;
29063 MenhirLib.EngineTypes.next = _menhir_stack;
29064 });
29065 (fun _menhir_env ->
29066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29067 let {
29068 MenhirLib.EngineTypes.state = _menhir_s;
29069 MenhirLib.EngineTypes.semv = x;
29070 MenhirLib.EngineTypes.startp = _startpos_x_;
29071 MenhirLib.EngineTypes.endp = _endpos_x_;
29072 MenhirLib.EngineTypes.next = _menhir_stack;
29073 } = _menhir_stack in
29074 let x : 'tv_meta_ident = Obj.magic x in
29075 let _startpos = _startpos_x_ in
29076 let _endpos = _endpos_x_ in
29077 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29078 # 144 "standard.mly"
29079 ( [ x ] )
29080 # 29081 "parser_cocci_menhir.ml"
29081 in
29082 _menhir_env.MenhirLib.EngineTypes.stack <- {
29083 MenhirLib.EngineTypes.state = _menhir_s;
29084 MenhirLib.EngineTypes.semv = Obj.repr _v;
29085 MenhirLib.EngineTypes.startp = _startpos;
29086 MenhirLib.EngineTypes.endp = _endpos;
29087 MenhirLib.EngineTypes.next = _menhir_stack;
29088 });
29089 (fun _menhir_env ->
29090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29091 let {
29092 MenhirLib.EngineTypes.semv = xs;
29093 MenhirLib.EngineTypes.startp = _startpos_xs_;
29094 MenhirLib.EngineTypes.endp = _endpos_xs_;
29095 MenhirLib.EngineTypes.next = {
29096 MenhirLib.EngineTypes.startp = _startpos__2_;
29097 MenhirLib.EngineTypes.endp = _endpos__2_;
29098 MenhirLib.EngineTypes.next = {
29099 MenhirLib.EngineTypes.state = _menhir_s;
29100 MenhirLib.EngineTypes.semv = x;
29101 MenhirLib.EngineTypes.startp = _startpos_x_;
29102 MenhirLib.EngineTypes.endp = _endpos_x_;
29103 MenhirLib.EngineTypes.next = _menhir_stack;
29104 };
29105 };
29106 } = _menhir_stack in
29107 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
29108 let x : 'tv_meta_ident = Obj.magic x in
29109 let _startpos = _startpos_x_ in
29110 let _endpos = _endpos_xs_ in
29111 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29112 # 146 "standard.mly"
29113 ( x :: xs )
29114 # 29115 "parser_cocci_menhir.ml"
29115 in
29116 _menhir_env.MenhirLib.EngineTypes.stack <- {
29117 MenhirLib.EngineTypes.state = _menhir_s;
29118 MenhirLib.EngineTypes.semv = Obj.repr _v;
29119 MenhirLib.EngineTypes.startp = _startpos;
29120 MenhirLib.EngineTypes.endp = _endpos;
29121 MenhirLib.EngineTypes.next = _menhir_stack;
29122 });
29123 (fun _menhir_env ->
29124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29125 let {
29126 MenhirLib.EngineTypes.state = _menhir_s;
29127 MenhirLib.EngineTypes.semv = x;
29128 MenhirLib.EngineTypes.startp = _startpos_x_;
29129 MenhirLib.EngineTypes.endp = _endpos_x_;
29130 MenhirLib.EngineTypes.next = _menhir_stack;
29131 } = _menhir_stack in
29132 let x : 'tv_pure_ident = Obj.magic x in
29133 let _startpos = _startpos_x_ in
29134 let _endpos = _endpos_x_ in
29135 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29136 # 144 "standard.mly"
29137 ( [ x ] )
29138 # 29139 "parser_cocci_menhir.ml"
29139 in
29140 _menhir_env.MenhirLib.EngineTypes.stack <- {
29141 MenhirLib.EngineTypes.state = _menhir_s;
29142 MenhirLib.EngineTypes.semv = Obj.repr _v;
29143 MenhirLib.EngineTypes.startp = _startpos;
29144 MenhirLib.EngineTypes.endp = _endpos;
29145 MenhirLib.EngineTypes.next = _menhir_stack;
29146 });
29147 (fun _menhir_env ->
29148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29149 let {
29150 MenhirLib.EngineTypes.semv = xs;
29151 MenhirLib.EngineTypes.startp = _startpos_xs_;
29152 MenhirLib.EngineTypes.endp = _endpos_xs_;
29153 MenhirLib.EngineTypes.next = {
29154 MenhirLib.EngineTypes.startp = _startpos__2_;
29155 MenhirLib.EngineTypes.endp = _endpos__2_;
29156 MenhirLib.EngineTypes.next = {
29157 MenhirLib.EngineTypes.state = _menhir_s;
29158 MenhirLib.EngineTypes.semv = x;
29159 MenhirLib.EngineTypes.startp = _startpos_x_;
29160 MenhirLib.EngineTypes.endp = _endpos_x_;
29161 MenhirLib.EngineTypes.next = _menhir_stack;
29162 };
29163 };
29164 } = _menhir_stack in
29165 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
29166 let x : 'tv_pure_ident = Obj.magic x in
29167 let _startpos = _startpos_x_ in
29168 let _endpos = _endpos_xs_ in
29169 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29170 # 146 "standard.mly"
29171 ( x :: xs )
29172 # 29173 "parser_cocci_menhir.ml"
29173 in
29174 _menhir_env.MenhirLib.EngineTypes.stack <- {
29175 MenhirLib.EngineTypes.state = _menhir_s;
29176 MenhirLib.EngineTypes.semv = Obj.repr _v;
29177 MenhirLib.EngineTypes.startp = _startpos;
29178 MenhirLib.EngineTypes.endp = _endpos;
29179 MenhirLib.EngineTypes.next = _menhir_stack;
29180 });
29181 (fun _menhir_env ->
29182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29183 let {
29184 MenhirLib.EngineTypes.state = _menhir_s;
29185 MenhirLib.EngineTypes.semv = x;
29186 MenhirLib.EngineTypes.startp = _startpos_x_;
29187 MenhirLib.EngineTypes.endp = _endpos_x_;
29188 MenhirLib.EngineTypes.next = _menhir_stack;
29189 } = _menhir_stack in
29190 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29191 let _startpos = _startpos_x_ in
29192 let _endpos = _endpos_x_ in
29193 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29194 # 144 "standard.mly"
29195 ( [ x ] )
29196 # 29197 "parser_cocci_menhir.ml"
29197 in
29198 _menhir_env.MenhirLib.EngineTypes.stack <- {
29199 MenhirLib.EngineTypes.state = _menhir_s;
29200 MenhirLib.EngineTypes.semv = Obj.repr _v;
29201 MenhirLib.EngineTypes.startp = _startpos;
29202 MenhirLib.EngineTypes.endp = _endpos;
29203 MenhirLib.EngineTypes.next = _menhir_stack;
29204 });
29205 (fun _menhir_env ->
29206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29207 let {
29208 MenhirLib.EngineTypes.semv = xs;
29209 MenhirLib.EngineTypes.startp = _startpos_xs_;
29210 MenhirLib.EngineTypes.endp = _endpos_xs_;
29211 MenhirLib.EngineTypes.next = {
29212 MenhirLib.EngineTypes.startp = _startpos__2_;
29213 MenhirLib.EngineTypes.endp = _endpos__2_;
29214 MenhirLib.EngineTypes.next = {
29215 MenhirLib.EngineTypes.state = _menhir_s;
29216 MenhirLib.EngineTypes.semv = x;
29217 MenhirLib.EngineTypes.startp = _startpos_x_;
29218 MenhirLib.EngineTypes.endp = _endpos_x_;
29219 MenhirLib.EngineTypes.next = _menhir_stack;
29220 };
29221 };
29222 } = _menhir_stack in
29223 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
29224 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29225 let _startpos = _startpos_x_ in
29226 let _endpos = _endpos_xs_ in
29227 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29228 # 146 "standard.mly"
29229 ( x :: xs )
29230 # 29231 "parser_cocci_menhir.ml"
29231 in
29232 _menhir_env.MenhirLib.EngineTypes.stack <- {
29233 MenhirLib.EngineTypes.state = _menhir_s;
29234 MenhirLib.EngineTypes.semv = Obj.repr _v;
29235 MenhirLib.EngineTypes.startp = _startpos;
29236 MenhirLib.EngineTypes.endp = _endpos;
29237 MenhirLib.EngineTypes.next = _menhir_stack;
29238 });
29239 (fun _menhir_env ->
29240 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29241 let {
29242 MenhirLib.EngineTypes.state = _menhir_s;
29243 MenhirLib.EngineTypes.semv = x;
29244 MenhirLib.EngineTypes.startp = _startpos_x_;
29245 MenhirLib.EngineTypes.endp = _endpos_x_;
29246 MenhirLib.EngineTypes.next = _menhir_stack;
29247 } = _menhir_stack in
29248 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
29249 let _startpos = _startpos_x_ in
29250 let _endpos = _endpos_x_ in
29251 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
29252 # 144 "standard.mly"
29253 ( [ x ] )
29254 # 29255 "parser_cocci_menhir.ml"
29255 in
29256 _menhir_env.MenhirLib.EngineTypes.stack <- {
29257 MenhirLib.EngineTypes.state = _menhir_s;
29258 MenhirLib.EngineTypes.semv = Obj.repr _v;
29259 MenhirLib.EngineTypes.startp = _startpos;
29260 MenhirLib.EngineTypes.endp = _endpos;
29261 MenhirLib.EngineTypes.next = _menhir_stack;
29262 });
29263 (fun _menhir_env ->
29264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29265 let {
29266 MenhirLib.EngineTypes.semv = xs;
29267 MenhirLib.EngineTypes.startp = _startpos_xs_;
29268 MenhirLib.EngineTypes.endp = _endpos_xs_;
29269 MenhirLib.EngineTypes.next = {
29270 MenhirLib.EngineTypes.startp = _startpos__2_;
29271 MenhirLib.EngineTypes.endp = _endpos__2_;
29272 MenhirLib.EngineTypes.next = {
29273 MenhirLib.EngineTypes.state = _menhir_s;
29274 MenhirLib.EngineTypes.semv = x;
29275 MenhirLib.EngineTypes.startp = _startpos_x_;
29276 MenhirLib.EngineTypes.endp = _endpos_x_;
29277 MenhirLib.EngineTypes.next = _menhir_stack;
29278 };
29279 };
29280 } = _menhir_stack in
29281 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic xs in
29282 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
29283 let _startpos = _startpos_x_ in
29284 let _endpos = _endpos_xs_ in
29285 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
29286 # 146 "standard.mly"
29287 ( x :: xs )
29288 # 29289 "parser_cocci_menhir.ml"
29289 in
29290 _menhir_env.MenhirLib.EngineTypes.stack <- {
29291 MenhirLib.EngineTypes.state = _menhir_s;
29292 MenhirLib.EngineTypes.semv = Obj.repr _v;
29293 MenhirLib.EngineTypes.startp = _startpos;
29294 MenhirLib.EngineTypes.endp = _endpos;
29295 MenhirLib.EngineTypes.next = _menhir_stack;
29296 });
29297 (fun _menhir_env ->
29298 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29299 let {
29300 MenhirLib.EngineTypes.state = _menhir_s;
29301 MenhirLib.EngineTypes.semv = x;
29302 MenhirLib.EngineTypes.startp = _startpos_x_;
29303 MenhirLib.EngineTypes.endp = _endpos_x_;
29304 MenhirLib.EngineTypes.next = _menhir_stack;
29305 } = _menhir_stack in
29306 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29307 let _startpos = _startpos_x_ in
29308 let _endpos = _endpos_x_ in
29309 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29310 # 144 "standard.mly"
29311 ( [ x ] )
29312 # 29313 "parser_cocci_menhir.ml"
29313 in
29314 _menhir_env.MenhirLib.EngineTypes.stack <- {
29315 MenhirLib.EngineTypes.state = _menhir_s;
29316 MenhirLib.EngineTypes.semv = Obj.repr _v;
29317 MenhirLib.EngineTypes.startp = _startpos;
29318 MenhirLib.EngineTypes.endp = _endpos;
29319 MenhirLib.EngineTypes.next = _menhir_stack;
29320 });
29321 (fun _menhir_env ->
29322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29323 let {
29324 MenhirLib.EngineTypes.semv = xs;
29325 MenhirLib.EngineTypes.startp = _startpos_xs_;
29326 MenhirLib.EngineTypes.endp = _endpos_xs_;
29327 MenhirLib.EngineTypes.next = {
29328 MenhirLib.EngineTypes.startp = _startpos__2_;
29329 MenhirLib.EngineTypes.endp = _endpos__2_;
29330 MenhirLib.EngineTypes.next = {
29331 MenhirLib.EngineTypes.state = _menhir_s;
29332 MenhirLib.EngineTypes.semv = x;
29333 MenhirLib.EngineTypes.startp = _startpos_x_;
29334 MenhirLib.EngineTypes.endp = _endpos_x_;
29335 MenhirLib.EngineTypes.next = _menhir_stack;
29336 };
29337 };
29338 } = _menhir_stack in
29339 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
29340 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29341 let _startpos = _startpos_x_ in
29342 let _endpos = _endpos_xs_ in
29343 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29344 # 146 "standard.mly"
29345 ( x :: xs )
29346 # 29347 "parser_cocci_menhir.ml"
29347 in
29348 _menhir_env.MenhirLib.EngineTypes.stack <- {
29349 MenhirLib.EngineTypes.state = _menhir_s;
29350 MenhirLib.EngineTypes.semv = Obj.repr _v;
29351 MenhirLib.EngineTypes.startp = _startpos;
29352 MenhirLib.EngineTypes.endp = _endpos;
29353 MenhirLib.EngineTypes.next = _menhir_stack;
29354 });
29355 (fun _menhir_env ->
29356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29357 let {
29358 MenhirLib.EngineTypes.state = _menhir_s;
29359 MenhirLib.EngineTypes.semv = x;
29360 MenhirLib.EngineTypes.startp = _startpos_x_;
29361 MenhirLib.EngineTypes.endp = _endpos_x_;
29362 MenhirLib.EngineTypes.next = _menhir_stack;
29363 } = _menhir_stack in
29364 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29365 let _startpos = _startpos_x_ in
29366 let _endpos = _endpos_x_ in
29367 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29368 # 144 "standard.mly"
29369 ( [ x ] )
29370 # 29371 "parser_cocci_menhir.ml"
29371 in
29372 _menhir_env.MenhirLib.EngineTypes.stack <- {
29373 MenhirLib.EngineTypes.state = _menhir_s;
29374 MenhirLib.EngineTypes.semv = Obj.repr _v;
29375 MenhirLib.EngineTypes.startp = _startpos;
29376 MenhirLib.EngineTypes.endp = _endpos;
29377 MenhirLib.EngineTypes.next = _menhir_stack;
29378 });
29379 (fun _menhir_env ->
29380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29381 let {
29382 MenhirLib.EngineTypes.semv = xs;
29383 MenhirLib.EngineTypes.startp = _startpos_xs_;
29384 MenhirLib.EngineTypes.endp = _endpos_xs_;
29385 MenhirLib.EngineTypes.next = {
29386 MenhirLib.EngineTypes.startp = _startpos__2_;
29387 MenhirLib.EngineTypes.endp = _endpos__2_;
29388 MenhirLib.EngineTypes.next = {
29389 MenhirLib.EngineTypes.state = _menhir_s;
29390 MenhirLib.EngineTypes.semv = x;
29391 MenhirLib.EngineTypes.startp = _startpos_x_;
29392 MenhirLib.EngineTypes.endp = _endpos_x_;
29393 MenhirLib.EngineTypes.next = _menhir_stack;
29394 };
29395 };
29396 } = _menhir_stack in
29397 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
29398 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29399 let _startpos = _startpos_x_ in
29400 let _endpos = _endpos_xs_ in
29401 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29402 # 146 "standard.mly"
29403 ( x :: xs )
29404 # 29405 "parser_cocci_menhir.ml"
29405 in
29406 _menhir_env.MenhirLib.EngineTypes.stack <- {
29407 MenhirLib.EngineTypes.state = _menhir_s;
29408 MenhirLib.EngineTypes.semv = Obj.repr _v;
29409 MenhirLib.EngineTypes.startp = _startpos;
29410 MenhirLib.EngineTypes.endp = _endpos;
29411 MenhirLib.EngineTypes.next = _menhir_stack;
29412 });
29413 (fun _menhir_env ->
29414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29415 let {
29416 MenhirLib.EngineTypes.state = _menhir_s;
29417 MenhirLib.EngineTypes.semv = x;
29418 MenhirLib.EngineTypes.startp = _startpos_x_;
29419 MenhirLib.EngineTypes.endp = _endpos_x_;
29420 MenhirLib.EngineTypes.next = _menhir_stack;
29421 } = _menhir_stack in
29422 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
29423 let _startpos = _startpos_x_ in
29424 let _endpos = _endpos_x_ in
29425 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
29426 # 144 "standard.mly"
29427 ( [ x ] )
29428 # 29429 "parser_cocci_menhir.ml"
29429 in
29430 _menhir_env.MenhirLib.EngineTypes.stack <- {
29431 MenhirLib.EngineTypes.state = _menhir_s;
29432 MenhirLib.EngineTypes.semv = Obj.repr _v;
29433 MenhirLib.EngineTypes.startp = _startpos;
29434 MenhirLib.EngineTypes.endp = _endpos;
29435 MenhirLib.EngineTypes.next = _menhir_stack;
29436 });
29437 (fun _menhir_env ->
29438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29439 let {
29440 MenhirLib.EngineTypes.semv = xs;
29441 MenhirLib.EngineTypes.startp = _startpos_xs_;
29442 MenhirLib.EngineTypes.endp = _endpos_xs_;
29443 MenhirLib.EngineTypes.next = {
29444 MenhirLib.EngineTypes.startp = _startpos__2_;
29445 MenhirLib.EngineTypes.endp = _endpos__2_;
29446 MenhirLib.EngineTypes.next = {
29447 MenhirLib.EngineTypes.state = _menhir_s;
29448 MenhirLib.EngineTypes.semv = x;
29449 MenhirLib.EngineTypes.startp = _startpos_x_;
29450 MenhirLib.EngineTypes.endp = _endpos_x_;
29451 MenhirLib.EngineTypes.next = _menhir_stack;
29452 };
29453 };
29454 } = _menhir_stack in
29455 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic xs in
29456 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
29457 let _startpos = _startpos_x_ in
29458 let _endpos = _endpos_xs_ in
29459 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
29460 # 146 "standard.mly"
29461 ( x :: xs )
29462 # 29463 "parser_cocci_menhir.ml"
29463 in
29464 _menhir_env.MenhirLib.EngineTypes.stack <- {
29465 MenhirLib.EngineTypes.state = _menhir_s;
29466 MenhirLib.EngineTypes.semv = Obj.repr _v;
29467 MenhirLib.EngineTypes.startp = _startpos;
29468 MenhirLib.EngineTypes.endp = _endpos;
29469 MenhirLib.EngineTypes.next = _menhir_stack;
29470 });
29471 (fun _menhir_env ->
29472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29473 let {
29474 MenhirLib.EngineTypes.state = _menhir_s;
29475 MenhirLib.EngineTypes.semv = x;
29476 MenhirLib.EngineTypes.startp = _startpos_x_;
29477 MenhirLib.EngineTypes.endp = _endpos_x_;
29478 MenhirLib.EngineTypes.next = _menhir_stack;
29479 } = _menhir_stack in
29480 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29481 let _startpos = _startpos_x_ in
29482 let _endpos = _endpos_x_ in
29483 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29484 # 144 "standard.mly"
29485 ( [ x ] )
29486 # 29487 "parser_cocci_menhir.ml"
29487 in
29488 _menhir_env.MenhirLib.EngineTypes.stack <- {
29489 MenhirLib.EngineTypes.state = _menhir_s;
29490 MenhirLib.EngineTypes.semv = Obj.repr _v;
29491 MenhirLib.EngineTypes.startp = _startpos;
29492 MenhirLib.EngineTypes.endp = _endpos;
29493 MenhirLib.EngineTypes.next = _menhir_stack;
29494 });
29495 (fun _menhir_env ->
29496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29497 let {
29498 MenhirLib.EngineTypes.semv = xs;
29499 MenhirLib.EngineTypes.startp = _startpos_xs_;
29500 MenhirLib.EngineTypes.endp = _endpos_xs_;
29501 MenhirLib.EngineTypes.next = {
29502 MenhirLib.EngineTypes.startp = _startpos__2_;
29503 MenhirLib.EngineTypes.endp = _endpos__2_;
29504 MenhirLib.EngineTypes.next = {
29505 MenhirLib.EngineTypes.state = _menhir_s;
29506 MenhirLib.EngineTypes.semv = x;
29507 MenhirLib.EngineTypes.startp = _startpos_x_;
29508 MenhirLib.EngineTypes.endp = _endpos_x_;
29509 MenhirLib.EngineTypes.next = _menhir_stack;
29510 };
29511 };
29512 } = _menhir_stack in
29513 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
29514 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29515 let _startpos = _startpos_x_ in
29516 let _endpos = _endpos_xs_ in
29517 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29518 # 146 "standard.mly"
29519 ( x :: xs )
29520 # 29521 "parser_cocci_menhir.ml"
29521 in
29522 _menhir_env.MenhirLib.EngineTypes.stack <- {
29523 MenhirLib.EngineTypes.state = _menhir_s;
29524 MenhirLib.EngineTypes.semv = Obj.repr _v;
29525 MenhirLib.EngineTypes.startp = _startpos;
29526 MenhirLib.EngineTypes.endp = _endpos;
29527 MenhirLib.EngineTypes.next = _menhir_stack;
29528 });
29529 (fun _menhir_env ->
29530 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29531 let {
29532 MenhirLib.EngineTypes.state = _menhir_s;
29533 MenhirLib.EngineTypes.semv = x;
29534 MenhirLib.EngineTypes.startp = _startpos_x_;
29535 MenhirLib.EngineTypes.endp = _endpos_x_;
29536 MenhirLib.EngineTypes.next = _menhir_stack;
29537 } = _menhir_stack in
29538 let x : 'tv_typedef_ident = Obj.magic x in
29539 let _startpos = _startpos_x_ in
29540 let _endpos = _endpos_x_ in
29541 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
29542 # 144 "standard.mly"
29543 ( [ x ] )
29544 # 29545 "parser_cocci_menhir.ml"
29545 in
29546 _menhir_env.MenhirLib.EngineTypes.stack <- {
29547 MenhirLib.EngineTypes.state = _menhir_s;
29548 MenhirLib.EngineTypes.semv = Obj.repr _v;
29549 MenhirLib.EngineTypes.startp = _startpos;
29550 MenhirLib.EngineTypes.endp = _endpos;
29551 MenhirLib.EngineTypes.next = _menhir_stack;
29552 });
29553 (fun _menhir_env ->
29554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29555 let {
29556 MenhirLib.EngineTypes.semv = xs;
29557 MenhirLib.EngineTypes.startp = _startpos_xs_;
29558 MenhirLib.EngineTypes.endp = _endpos_xs_;
29559 MenhirLib.EngineTypes.next = {
29560 MenhirLib.EngineTypes.startp = _startpos__2_;
29561 MenhirLib.EngineTypes.endp = _endpos__2_;
29562 MenhirLib.EngineTypes.next = {
29563 MenhirLib.EngineTypes.state = _menhir_s;
29564 MenhirLib.EngineTypes.semv = x;
29565 MenhirLib.EngineTypes.startp = _startpos_x_;
29566 MenhirLib.EngineTypes.endp = _endpos_x_;
29567 MenhirLib.EngineTypes.next = _menhir_stack;
29568 };
29569 };
29570 } = _menhir_stack in
29571 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
29572 let x : 'tv_typedef_ident = Obj.magic x in
29573 let _startpos = _startpos_x_ in
29574 let _endpos = _endpos_xs_ in
29575 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
29576 # 146 "standard.mly"
29577 ( x :: xs )
29578 # 29579 "parser_cocci_menhir.ml"
29579 in
29580 _menhir_env.MenhirLib.EngineTypes.stack <- {
29581 MenhirLib.EngineTypes.state = _menhir_s;
29582 MenhirLib.EngineTypes.semv = Obj.repr _v;
29583 MenhirLib.EngineTypes.startp = _startpos;
29584 MenhirLib.EngineTypes.endp = _endpos;
29585 MenhirLib.EngineTypes.next = _menhir_stack;
29586 });
29587 (fun _menhir_env ->
29588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29589 let {
29590 MenhirLib.EngineTypes.state = _menhir_s;
29591 MenhirLib.EngineTypes.semv = x;
29592 MenhirLib.EngineTypes.startp = _startpos_x_;
29593 MenhirLib.EngineTypes.endp = _endpos_x_;
29594 MenhirLib.EngineTypes.next = _menhir_stack;
29595 } = _menhir_stack in
29596 let x : 'tv_seed_elem = Obj.magic x in
29597 let _startpos = _startpos_x_ in
29598 let _endpos = _endpos_x_ in
29599 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
29600 # 144 "standard.mly"
29601 ( [ x ] )
29602 # 29603 "parser_cocci_menhir.ml"
29603 in
29604 _menhir_env.MenhirLib.EngineTypes.stack <- {
29605 MenhirLib.EngineTypes.state = _menhir_s;
29606 MenhirLib.EngineTypes.semv = Obj.repr _v;
29607 MenhirLib.EngineTypes.startp = _startpos;
29608 MenhirLib.EngineTypes.endp = _endpos;
29609 MenhirLib.EngineTypes.next = _menhir_stack;
29610 });
29611 (fun _menhir_env ->
29612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29613 let {
29614 MenhirLib.EngineTypes.semv = xs;
29615 MenhirLib.EngineTypes.startp = _startpos_xs_;
29616 MenhirLib.EngineTypes.endp = _endpos_xs_;
29617 MenhirLib.EngineTypes.next = {
29618 MenhirLib.EngineTypes.startp = _startpos__2_;
29619 MenhirLib.EngineTypes.endp = _endpos__2_;
29620 MenhirLib.EngineTypes.next = {
29621 MenhirLib.EngineTypes.state = _menhir_s;
29622 MenhirLib.EngineTypes.semv = x;
29623 MenhirLib.EngineTypes.startp = _startpos_x_;
29624 MenhirLib.EngineTypes.endp = _endpos_x_;
29625 MenhirLib.EngineTypes.next = _menhir_stack;
29626 };
29627 };
29628 } = _menhir_stack in
29629 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
29630 let x : 'tv_seed_elem = Obj.magic x in
29631 let _startpos = _startpos_x_ in
29632 let _endpos = _endpos_xs_ in
29633 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
29634 # 146 "standard.mly"
29635 ( x :: xs )
29636 # 29637 "parser_cocci_menhir.ml"
29637 in
29638 _menhir_env.MenhirLib.EngineTypes.stack <- {
29639 MenhirLib.EngineTypes.state = _menhir_s;
29640 MenhirLib.EngineTypes.semv = Obj.repr _v;
29641 MenhirLib.EngineTypes.startp = _startpos;
29642 MenhirLib.EngineTypes.endp = _endpos;
29643 MenhirLib.EngineTypes.next = _menhir_stack;
29644 });
29645 (fun _menhir_env ->
29646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29647 let {
29648 MenhirLib.EngineTypes.state = _menhir_s;
29649 MenhirLib.EngineTypes.semv = _1;
29650 MenhirLib.EngineTypes.startp = _startpos__1_;
29651 MenhirLib.EngineTypes.endp = _endpos__1_;
29652 MenhirLib.EngineTypes.next = _menhir_stack;
29653 } = _menhir_stack in
29654 let _1 : 'tv_statement = Obj.magic _1 in
29655 let _startpos = _startpos__1_ in
29656 let _endpos = _endpos__1_ in
29657 let _v : 'tv_single_statement =
29658 # 919 "parser_cocci_menhir.mly"
29659 ( _1 )
29660 # 29661 "parser_cocci_menhir.ml"
29661 in
29662 _menhir_env.MenhirLib.EngineTypes.stack <- {
29663 MenhirLib.EngineTypes.state = _menhir_s;
29664 MenhirLib.EngineTypes.semv = Obj.repr _v;
29665 MenhirLib.EngineTypes.startp = _startpos;
29666 MenhirLib.EngineTypes.endp = _endpos;
29667 MenhirLib.EngineTypes.next = _menhir_stack;
29668 });
29669 (fun _menhir_env ->
29670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29671 let {
29672 MenhirLib.EngineTypes.semv = _3;
29673 MenhirLib.EngineTypes.startp = _startpos__3_;
29674 MenhirLib.EngineTypes.endp = _endpos__3_;
29675 MenhirLib.EngineTypes.next = {
29676 MenhirLib.EngineTypes.semv = _2;
29677 MenhirLib.EngineTypes.startp = _startpos__2_;
29678 MenhirLib.EngineTypes.endp = _endpos__2_;
29679 MenhirLib.EngineTypes.next = {
29680 MenhirLib.EngineTypes.state = _menhir_s;
29681 MenhirLib.EngineTypes.semv = _1;
29682 MenhirLib.EngineTypes.startp = _startpos__1_;
29683 MenhirLib.EngineTypes.endp = _endpos__1_;
29684 MenhirLib.EngineTypes.next = _menhir_stack;
29685 };
29686 };
29687 } = _menhir_stack in
29688 let _3 : (
29689 # 77 "parser_cocci_menhir.mly"
29690 (Data.clt)
29691 # 29692 "parser_cocci_menhir.ml"
29692 ) = Obj.magic _3 in
29693 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
29694 let _1 : (
29695 # 76 "parser_cocci_menhir.mly"
29696 (Data.clt)
29697 # 29698 "parser_cocci_menhir.ml"
29698 ) = Obj.magic _1 in
29699 let _startpos = _startpos__1_ in
29700 let _endpos = _endpos__3_ in
29701 let _v : 'tv_single_statement =
29702 # 923 "parser_cocci_menhir.mly"
29703 ( let (mids,code) = _2 in
29704 Ast0.wrap
29705 (Ast0.Disj(P.clt2mcode "(" _1,
29706 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
29707 mids, P.clt2mcode ")" _3)) )
29708 # 29709 "parser_cocci_menhir.ml"
29709 in
29710 _menhir_env.MenhirLib.EngineTypes.stack <- {
29711 MenhirLib.EngineTypes.state = _menhir_s;
29712 MenhirLib.EngineTypes.semv = Obj.repr _v;
29713 MenhirLib.EngineTypes.startp = _startpos;
29714 MenhirLib.EngineTypes.endp = _endpos;
29715 MenhirLib.EngineTypes.next = _menhir_stack;
29716 });
29717 (fun _menhir_env ->
29718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29719 let {
29720 MenhirLib.EngineTypes.state = _menhir_s;
29721 MenhirLib.EngineTypes.semv = _1;
29722 MenhirLib.EngineTypes.startp = _startpos__1_;
29723 MenhirLib.EngineTypes.endp = _endpos__1_;
29724 MenhirLib.EngineTypes.next = _menhir_stack;
29725 } = _menhir_stack in
29726 let _1 : 'tv_includes = Obj.magic _1 in
29727 let _startpos = _startpos__1_ in
29728 let _endpos = _endpos__1_ in
29729 let _v : 'tv_statement =
29730 # 846 "parser_cocci_menhir.mly"
29731 ( _1 )
29732 # 29733 "parser_cocci_menhir.ml"
29733 in
29734 _menhir_env.MenhirLib.EngineTypes.stack <- {
29735 MenhirLib.EngineTypes.state = _menhir_s;
29736 MenhirLib.EngineTypes.semv = Obj.repr _v;
29737 MenhirLib.EngineTypes.startp = _startpos;
29738 MenhirLib.EngineTypes.endp = _endpos;
29739 MenhirLib.EngineTypes.next = _menhir_stack;
29740 });
29741 (fun _menhir_env ->
29742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29743 let {
29744 MenhirLib.EngineTypes.state = _menhir_s;
29745 MenhirLib.EngineTypes.semv = _1;
29746 MenhirLib.EngineTypes.startp = _startpos__1_;
29747 MenhirLib.EngineTypes.endp = _endpos__1_;
29748 MenhirLib.EngineTypes.next = _menhir_stack;
29749 } = _menhir_stack in
29750 let _1 : (
29751 # 64 "parser_cocci_menhir.mly"
29752 (Parse_aux.info)
29753 # 29754 "parser_cocci_menhir.ml"
29754 ) = Obj.magic _1 in
29755 let _startpos = _startpos__1_ in
29756 let _endpos = _endpos__1_ in
29757 let _v : 'tv_statement =
29758 # 848 "parser_cocci_menhir.mly"
29759 ( P.meta_stm _1 )
29760 # 29761 "parser_cocci_menhir.ml"
29761 in
29762 _menhir_env.MenhirLib.EngineTypes.stack <- {
29763 MenhirLib.EngineTypes.state = _menhir_s;
29764 MenhirLib.EngineTypes.semv = Obj.repr _v;
29765 MenhirLib.EngineTypes.startp = _startpos;
29766 MenhirLib.EngineTypes.endp = _endpos;
29767 MenhirLib.EngineTypes.next = _menhir_stack;
29768 });
29769 (fun _menhir_env ->
29770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29771 let {
29772 MenhirLib.EngineTypes.semv = _2;
29773 MenhirLib.EngineTypes.startp = _startpos__2_;
29774 MenhirLib.EngineTypes.endp = _endpos__2_;
29775 MenhirLib.EngineTypes.next = {
29776 MenhirLib.EngineTypes.state = _menhir_s;
29777 MenhirLib.EngineTypes.semv = _1;
29778 MenhirLib.EngineTypes.startp = _startpos__1_;
29779 MenhirLib.EngineTypes.endp = _endpos__1_;
29780 MenhirLib.EngineTypes.next = _menhir_stack;
29781 };
29782 } = _menhir_stack in
29783 let _2 : (
29784 # 107 "parser_cocci_menhir.mly"
29785 (Data.clt)
29786 # 29787 "parser_cocci_menhir.ml"
29787 ) = Obj.magic _2 in
29788 let _1 : 'tv_expr = Obj.magic _1 in
29789 let _startpos = _startpos__1_ in
29790 let _endpos = _endpos__2_ in
29791 let _v : 'tv_statement =
29792 # 850 "parser_cocci_menhir.mly"
29793 ( P.exp_stm _1 _2 )
29794 # 29795 "parser_cocci_menhir.ml"
29795 in
29796 _menhir_env.MenhirLib.EngineTypes.stack <- {
29797 MenhirLib.EngineTypes.state = _menhir_s;
29798 MenhirLib.EngineTypes.semv = Obj.repr _v;
29799 MenhirLib.EngineTypes.startp = _startpos;
29800 MenhirLib.EngineTypes.endp = _endpos;
29801 MenhirLib.EngineTypes.next = _menhir_stack;
29802 });
29803 (fun _menhir_env ->
29804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29805 let {
29806 MenhirLib.EngineTypes.semv = _5;
29807 MenhirLib.EngineTypes.startp = _startpos__5_;
29808 MenhirLib.EngineTypes.endp = _endpos__5_;
29809 MenhirLib.EngineTypes.next = {
29810 MenhirLib.EngineTypes.semv = _4;
29811 MenhirLib.EngineTypes.startp = _startpos__4_;
29812 MenhirLib.EngineTypes.endp = _endpos__4_;
29813 MenhirLib.EngineTypes.next = {
29814 MenhirLib.EngineTypes.semv = _3;
29815 MenhirLib.EngineTypes.startp = _startpos__3_;
29816 MenhirLib.EngineTypes.endp = _endpos__3_;
29817 MenhirLib.EngineTypes.next = {
29818 MenhirLib.EngineTypes.semv = _2;
29819 MenhirLib.EngineTypes.startp = _startpos__2_;
29820 MenhirLib.EngineTypes.endp = _endpos__2_;
29821 MenhirLib.EngineTypes.next = {
29822 MenhirLib.EngineTypes.state = _menhir_s;
29823 MenhirLib.EngineTypes.semv = _1;
29824 MenhirLib.EngineTypes.startp = _startpos__1_;
29825 MenhirLib.EngineTypes.endp = _endpos__1_;
29826 MenhirLib.EngineTypes.next = _menhir_stack;
29827 };
29828 };
29829 };
29830 };
29831 } = _menhir_stack in
29832 let _5 : 'tv_single_statement = Obj.magic _5 in
29833 let _4 : (
29834 # 77 "parser_cocci_menhir.mly"
29835 (Data.clt)
29836 # 29837 "parser_cocci_menhir.ml"
29837 ) = Obj.magic _4 in
29838 let _3 : 'tv_eexpr = Obj.magic _3 in
29839 let _2 : (
29840 # 76 "parser_cocci_menhir.mly"
29841 (Data.clt)
29842 # 29843 "parser_cocci_menhir.ml"
29843 ) = Obj.magic _2 in
29844 let _1 : (
29845 # 57 "parser_cocci_menhir.mly"
29846 (Data.clt)
29847 # 29848 "parser_cocci_menhir.ml"
29848 ) = Obj.magic _1 in
29849 let _startpos = _startpos__1_ in
29850 let _endpos = _endpos__5_ in
29851 let _v : 'tv_statement =
29852 # 852 "parser_cocci_menhir.mly"
29853 ( P.ifthen _1 _2 _3 _4 _5 )
29854 # 29855 "parser_cocci_menhir.ml"
29855 in
29856 _menhir_env.MenhirLib.EngineTypes.stack <- {
29857 MenhirLib.EngineTypes.state = _menhir_s;
29858 MenhirLib.EngineTypes.semv = Obj.repr _v;
29859 MenhirLib.EngineTypes.startp = _startpos;
29860 MenhirLib.EngineTypes.endp = _endpos;
29861 MenhirLib.EngineTypes.next = _menhir_stack;
29862 });
29863 (fun _menhir_env ->
29864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29865 let {
29866 MenhirLib.EngineTypes.semv = _7;
29867 MenhirLib.EngineTypes.startp = _startpos__7_;
29868 MenhirLib.EngineTypes.endp = _endpos__7_;
29869 MenhirLib.EngineTypes.next = {
29870 MenhirLib.EngineTypes.semv = _6;
29871 MenhirLib.EngineTypes.startp = _startpos__6_;
29872 MenhirLib.EngineTypes.endp = _endpos__6_;
29873 MenhirLib.EngineTypes.next = {
29874 MenhirLib.EngineTypes.semv = _5;
29875 MenhirLib.EngineTypes.startp = _startpos__5_;
29876 MenhirLib.EngineTypes.endp = _endpos__5_;
29877 MenhirLib.EngineTypes.next = {
29878 MenhirLib.EngineTypes.semv = _4;
29879 MenhirLib.EngineTypes.startp = _startpos__4_;
29880 MenhirLib.EngineTypes.endp = _endpos__4_;
29881 MenhirLib.EngineTypes.next = {
29882 MenhirLib.EngineTypes.semv = _3;
29883 MenhirLib.EngineTypes.startp = _startpos__3_;
29884 MenhirLib.EngineTypes.endp = _endpos__3_;
29885 MenhirLib.EngineTypes.next = {
29886 MenhirLib.EngineTypes.semv = _2;
29887 MenhirLib.EngineTypes.startp = _startpos__2_;
29888 MenhirLib.EngineTypes.endp = _endpos__2_;
29889 MenhirLib.EngineTypes.next = {
29890 MenhirLib.EngineTypes.state = _menhir_s;
29891 MenhirLib.EngineTypes.semv = _1;
29892 MenhirLib.EngineTypes.startp = _startpos__1_;
29893 MenhirLib.EngineTypes.endp = _endpos__1_;
29894 MenhirLib.EngineTypes.next = _menhir_stack;
29895 };
29896 };
29897 };
29898 };
29899 };
29900 };
29901 } = _menhir_stack in
29902 let _7 : 'tv_single_statement = Obj.magic _7 in
29903 let _6 : (
29904 # 57 "parser_cocci_menhir.mly"
29905 (Data.clt)
29906 # 29907 "parser_cocci_menhir.ml"
29907 ) = Obj.magic _6 in
29908 let _5 : 'tv_single_statement = Obj.magic _5 in
29909 let _4 : (
29910 # 77 "parser_cocci_menhir.mly"
29911 (Data.clt)
29912 # 29913 "parser_cocci_menhir.ml"
29913 ) = Obj.magic _4 in
29914 let _3 : 'tv_eexpr = Obj.magic _3 in
29915 let _2 : (
29916 # 76 "parser_cocci_menhir.mly"
29917 (Data.clt)
29918 # 29919 "parser_cocci_menhir.ml"
29919 ) = Obj.magic _2 in
29920 let _1 : (
29921 # 57 "parser_cocci_menhir.mly"
29922 (Data.clt)
29923 # 29924 "parser_cocci_menhir.ml"
29924 ) = Obj.magic _1 in
29925 let _startpos = _startpos__1_ in
29926 let _endpos = _endpos__7_ in
29927 let _v : 'tv_statement =
29928 # 854 "parser_cocci_menhir.mly"
29929 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
29930 # 29931 "parser_cocci_menhir.ml"
29931 in
29932 _menhir_env.MenhirLib.EngineTypes.stack <- {
29933 MenhirLib.EngineTypes.state = _menhir_s;
29934 MenhirLib.EngineTypes.semv = Obj.repr _v;
29935 MenhirLib.EngineTypes.startp = _startpos;
29936 MenhirLib.EngineTypes.endp = _endpos;
29937 MenhirLib.EngineTypes.next = _menhir_stack;
29938 });
29939 (fun _menhir_env ->
29940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29941 let {
29942 MenhirLib.EngineTypes.semv = _9;
29943 MenhirLib.EngineTypes.startp = _startpos__9_;
29944 MenhirLib.EngineTypes.endp = _endpos__9_;
29945 MenhirLib.EngineTypes.next = {
29946 MenhirLib.EngineTypes.semv = _8;
29947 MenhirLib.EngineTypes.startp = _startpos__8_;
29948 MenhirLib.EngineTypes.endp = _endpos__8_;
29949 MenhirLib.EngineTypes.next = {
29950 MenhirLib.EngineTypes.semv = _7;
29951 MenhirLib.EngineTypes.startp = _startpos__7_;
29952 MenhirLib.EngineTypes.endp = _endpos__7_;
29953 MenhirLib.EngineTypes.next = {
29954 MenhirLib.EngineTypes.semv = _6;
29955 MenhirLib.EngineTypes.startp = _startpos__6_;
29956 MenhirLib.EngineTypes.endp = _endpos__6_;
29957 MenhirLib.EngineTypes.next = {
29958 MenhirLib.EngineTypes.semv = _5;
29959 MenhirLib.EngineTypes.startp = _startpos__5_;
29960 MenhirLib.EngineTypes.endp = _endpos__5_;
29961 MenhirLib.EngineTypes.next = {
29962 MenhirLib.EngineTypes.semv = _4;
29963 MenhirLib.EngineTypes.startp = _startpos__4_;
29964 MenhirLib.EngineTypes.endp = _endpos__4_;
29965 MenhirLib.EngineTypes.next = {
29966 MenhirLib.EngineTypes.semv = _3;
29967 MenhirLib.EngineTypes.startp = _startpos__3_;
29968 MenhirLib.EngineTypes.endp = _endpos__3_;
29969 MenhirLib.EngineTypes.next = {
29970 MenhirLib.EngineTypes.semv = _2;
29971 MenhirLib.EngineTypes.startp = _startpos__2_;
29972 MenhirLib.EngineTypes.endp = _endpos__2_;
29973 MenhirLib.EngineTypes.next = {
29974 MenhirLib.EngineTypes.state = _menhir_s;
29975 MenhirLib.EngineTypes.semv = _1;
29976 MenhirLib.EngineTypes.startp = _startpos__1_;
29977 MenhirLib.EngineTypes.endp = _endpos__1_;
29978 MenhirLib.EngineTypes.next = _menhir_stack;
29979 };
29980 };
29981 };
29982 };
29983 };
29984 };
29985 };
29986 };
29987 } = _menhir_stack in
29988 let _9 : 'tv_single_statement = Obj.magic _9 in
29989 let _8 : (
29990 # 77 "parser_cocci_menhir.mly"
29991 (Data.clt)
29992 # 29993 "parser_cocci_menhir.ml"
29993 ) = Obj.magic _8 in
29994 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
29995 let _6 : (
29996 # 107 "parser_cocci_menhir.mly"
29997 (Data.clt)
29998 # 29999 "parser_cocci_menhir.ml"
29999 ) = Obj.magic _6 in
30000 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
30001 let _4 : (
30002 # 107 "parser_cocci_menhir.mly"
30003 (Data.clt)
30004 # 30005 "parser_cocci_menhir.ml"
30005 ) = Obj.magic _4 in
30006 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
30007 let _2 : (
30008 # 76 "parser_cocci_menhir.mly"
30009 (Data.clt)
30010 # 30011 "parser_cocci_menhir.ml"
30011 ) = Obj.magic _2 in
30012 let _1 : (
30013 # 57 "parser_cocci_menhir.mly"
30014 (Data.clt)
30015 # 30016 "parser_cocci_menhir.ml"
30016 ) = Obj.magic _1 in
30017 let _startpos = _startpos__1_ in
30018 let _endpos = _endpos__9_ in
30019 let _v : 'tv_statement =
30020 # 857 "parser_cocci_menhir.mly"
30021 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
30022 # 30023 "parser_cocci_menhir.ml"
30023 in
30024 _menhir_env.MenhirLib.EngineTypes.stack <- {
30025 MenhirLib.EngineTypes.state = _menhir_s;
30026 MenhirLib.EngineTypes.semv = Obj.repr _v;
30027 MenhirLib.EngineTypes.startp = _startpos;
30028 MenhirLib.EngineTypes.endp = _endpos;
30029 MenhirLib.EngineTypes.next = _menhir_stack;
30030 });
30031 (fun _menhir_env ->
30032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30033 let {
30034 MenhirLib.EngineTypes.semv = _5;
30035 MenhirLib.EngineTypes.startp = _startpos__5_;
30036 MenhirLib.EngineTypes.endp = _endpos__5_;
30037 MenhirLib.EngineTypes.next = {
30038 MenhirLib.EngineTypes.semv = _4;
30039 MenhirLib.EngineTypes.startp = _startpos__4_;
30040 MenhirLib.EngineTypes.endp = _endpos__4_;
30041 MenhirLib.EngineTypes.next = {
30042 MenhirLib.EngineTypes.semv = _3;
30043 MenhirLib.EngineTypes.startp = _startpos__3_;
30044 MenhirLib.EngineTypes.endp = _endpos__3_;
30045 MenhirLib.EngineTypes.next = {
30046 MenhirLib.EngineTypes.semv = _2;
30047 MenhirLib.EngineTypes.startp = _startpos__2_;
30048 MenhirLib.EngineTypes.endp = _endpos__2_;
30049 MenhirLib.EngineTypes.next = {
30050 MenhirLib.EngineTypes.state = _menhir_s;
30051 MenhirLib.EngineTypes.semv = _1;
30052 MenhirLib.EngineTypes.startp = _startpos__1_;
30053 MenhirLib.EngineTypes.endp = _endpos__1_;
30054 MenhirLib.EngineTypes.next = _menhir_stack;
30055 };
30056 };
30057 };
30058 };
30059 } = _menhir_stack in
30060 let _5 : 'tv_single_statement = Obj.magic _5 in
30061 let _4 : (
30062 # 77 "parser_cocci_menhir.mly"
30063 (Data.clt)
30064 # 30065 "parser_cocci_menhir.ml"
30065 ) = Obj.magic _4 in
30066 let _3 : 'tv_eexpr = Obj.magic _3 in
30067 let _2 : (
30068 # 76 "parser_cocci_menhir.mly"
30069 (Data.clt)
30070 # 30071 "parser_cocci_menhir.ml"
30071 ) = Obj.magic _2 in
30072 let _1 : (
30073 # 57 "parser_cocci_menhir.mly"
30074 (Data.clt)
30075 # 30076 "parser_cocci_menhir.ml"
30076 ) = Obj.magic _1 in
30077 let _startpos = _startpos__1_ in
30078 let _endpos = _endpos__5_ in
30079 let _v : 'tv_statement =
30080 # 859 "parser_cocci_menhir.mly"
30081 ( P.whileloop _1 _2 _3 _4 _5 )
30082 # 30083 "parser_cocci_menhir.ml"
30083 in
30084 _menhir_env.MenhirLib.EngineTypes.stack <- {
30085 MenhirLib.EngineTypes.state = _menhir_s;
30086 MenhirLib.EngineTypes.semv = Obj.repr _v;
30087 MenhirLib.EngineTypes.startp = _startpos;
30088 MenhirLib.EngineTypes.endp = _endpos;
30089 MenhirLib.EngineTypes.next = _menhir_stack;
30090 });
30091 (fun _menhir_env ->
30092 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30093 let {
30094 MenhirLib.EngineTypes.semv = _7;
30095 MenhirLib.EngineTypes.startp = _startpos__7_;
30096 MenhirLib.EngineTypes.endp = _endpos__7_;
30097 MenhirLib.EngineTypes.next = {
30098 MenhirLib.EngineTypes.semv = _6;
30099 MenhirLib.EngineTypes.startp = _startpos__6_;
30100 MenhirLib.EngineTypes.endp = _endpos__6_;
30101 MenhirLib.EngineTypes.next = {
30102 MenhirLib.EngineTypes.semv = _5;
30103 MenhirLib.EngineTypes.startp = _startpos__5_;
30104 MenhirLib.EngineTypes.endp = _endpos__5_;
30105 MenhirLib.EngineTypes.next = {
30106 MenhirLib.EngineTypes.semv = _4;
30107 MenhirLib.EngineTypes.startp = _startpos__4_;
30108 MenhirLib.EngineTypes.endp = _endpos__4_;
30109 MenhirLib.EngineTypes.next = {
30110 MenhirLib.EngineTypes.semv = _3;
30111 MenhirLib.EngineTypes.startp = _startpos__3_;
30112 MenhirLib.EngineTypes.endp = _endpos__3_;
30113 MenhirLib.EngineTypes.next = {
30114 MenhirLib.EngineTypes.semv = _2;
30115 MenhirLib.EngineTypes.startp = _startpos__2_;
30116 MenhirLib.EngineTypes.endp = _endpos__2_;
30117 MenhirLib.EngineTypes.next = {
30118 MenhirLib.EngineTypes.state = _menhir_s;
30119 MenhirLib.EngineTypes.semv = _1;
30120 MenhirLib.EngineTypes.startp = _startpos__1_;
30121 MenhirLib.EngineTypes.endp = _endpos__1_;
30122 MenhirLib.EngineTypes.next = _menhir_stack;
30123 };
30124 };
30125 };
30126 };
30127 };
30128 };
30129 } = _menhir_stack in
30130 let _7 : (
30131 # 107 "parser_cocci_menhir.mly"
30132 (Data.clt)
30133 # 30134 "parser_cocci_menhir.ml"
30134 ) = Obj.magic _7 in
30135 let _6 : (
30136 # 77 "parser_cocci_menhir.mly"
30137 (Data.clt)
30138 # 30139 "parser_cocci_menhir.ml"
30139 ) = Obj.magic _6 in
30140 let _5 : 'tv_eexpr = Obj.magic _5 in
30141 let _4 : (
30142 # 76 "parser_cocci_menhir.mly"
30143 (Data.clt)
30144 # 30145 "parser_cocci_menhir.ml"
30145 ) = Obj.magic _4 in
30146 let _3 : (
30147 # 57 "parser_cocci_menhir.mly"
30148 (Data.clt)
30149 # 30150 "parser_cocci_menhir.ml"
30150 ) = Obj.magic _3 in
30151 let _2 : 'tv_single_statement = Obj.magic _2 in
30152 let _1 : (
30153 # 57 "parser_cocci_menhir.mly"
30154 (Data.clt)
30155 # 30156 "parser_cocci_menhir.ml"
30156 ) = Obj.magic _1 in
30157 let _startpos = _startpos__1_ in
30158 let _endpos = _endpos__7_ in
30159 let _v : 'tv_statement =
30160 # 861 "parser_cocci_menhir.mly"
30161 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
30162 # 30163 "parser_cocci_menhir.ml"
30163 in
30164 _menhir_env.MenhirLib.EngineTypes.stack <- {
30165 MenhirLib.EngineTypes.state = _menhir_s;
30166 MenhirLib.EngineTypes.semv = Obj.repr _v;
30167 MenhirLib.EngineTypes.startp = _startpos;
30168 MenhirLib.EngineTypes.endp = _endpos;
30169 MenhirLib.EngineTypes.next = _menhir_stack;
30170 });
30171 (fun _menhir_env ->
30172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30173 let {
30174 MenhirLib.EngineTypes.semv = _5;
30175 MenhirLib.EngineTypes.startp = _startpos__5_;
30176 MenhirLib.EngineTypes.endp = _endpos__5_;
30177 MenhirLib.EngineTypes.next = {
30178 MenhirLib.EngineTypes.semv = _4;
30179 MenhirLib.EngineTypes.startp = _startpos__4_;
30180 MenhirLib.EngineTypes.endp = _endpos__4_;
30181 MenhirLib.EngineTypes.next = {
30182 MenhirLib.EngineTypes.semv = _3;
30183 MenhirLib.EngineTypes.startp = _startpos__3_;
30184 MenhirLib.EngineTypes.endp = _endpos__3_;
30185 MenhirLib.EngineTypes.next = {
30186 MenhirLib.EngineTypes.semv = _2;
30187 MenhirLib.EngineTypes.startp = _startpos__2_;
30188 MenhirLib.EngineTypes.endp = _endpos__2_;
30189 MenhirLib.EngineTypes.next = {
30190 MenhirLib.EngineTypes.state = _menhir_s;
30191 MenhirLib.EngineTypes.semv = _1;
30192 MenhirLib.EngineTypes.startp = _startpos__1_;
30193 MenhirLib.EngineTypes.endp = _endpos__1_;
30194 MenhirLib.EngineTypes.next = _menhir_stack;
30195 };
30196 };
30197 };
30198 };
30199 } = _menhir_stack in
30200 let _5 : 'tv_single_statement = Obj.magic _5 in
30201 let _4 : (
30202 # 77 "parser_cocci_menhir.mly"
30203 (Data.clt)
30204 # 30205 "parser_cocci_menhir.ml"
30205 ) = Obj.magic _4 in
30206 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
30207 let _2 : (
30208 # 76 "parser_cocci_menhir.mly"
30209 (Data.clt)
30210 # 30211 "parser_cocci_menhir.ml"
30211 ) = Obj.magic _2 in
30212 let _1 : 'tv_iter_ident = Obj.magic _1 in
30213 let _startpos = _startpos__1_ in
30214 let _endpos = _endpos__5_ in
30215 let _v : 'tv_statement =
30216 # 863 "parser_cocci_menhir.mly"
30217 ( P.iterator _1 _2 _3 _4 _5 )
30218 # 30219 "parser_cocci_menhir.ml"
30219 in
30220 _menhir_env.MenhirLib.EngineTypes.stack <- {
30221 MenhirLib.EngineTypes.state = _menhir_s;
30222 MenhirLib.EngineTypes.semv = Obj.repr _v;
30223 MenhirLib.EngineTypes.startp = _startpos;
30224 MenhirLib.EngineTypes.endp = _endpos;
30225 MenhirLib.EngineTypes.next = _menhir_stack;
30226 });
30227 (fun _menhir_env ->
30228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30229 let {
30230 MenhirLib.EngineTypes.semv = _8;
30231 MenhirLib.EngineTypes.startp = _startpos__8_;
30232 MenhirLib.EngineTypes.endp = _endpos__8_;
30233 MenhirLib.EngineTypes.next = {
30234 MenhirLib.EngineTypes.semv = _7;
30235 MenhirLib.EngineTypes.startp = _startpos__7_;
30236 MenhirLib.EngineTypes.endp = _endpos__7_;
30237 MenhirLib.EngineTypes.next = {
30238 MenhirLib.EngineTypes.semv = _6;
30239 MenhirLib.EngineTypes.startp = _startpos__6_;
30240 MenhirLib.EngineTypes.endp = _endpos__6_;
30241 MenhirLib.EngineTypes.next = {
30242 MenhirLib.EngineTypes.semv = _5;
30243 MenhirLib.EngineTypes.startp = _startpos__5_;
30244 MenhirLib.EngineTypes.endp = _endpos__5_;
30245 MenhirLib.EngineTypes.next = {
30246 MenhirLib.EngineTypes.semv = _4;
30247 MenhirLib.EngineTypes.startp = _startpos__4_;
30248 MenhirLib.EngineTypes.endp = _endpos__4_;
30249 MenhirLib.EngineTypes.next = {
30250 MenhirLib.EngineTypes.semv = _3;
30251 MenhirLib.EngineTypes.startp = _startpos__3_;
30252 MenhirLib.EngineTypes.endp = _endpos__3_;
30253 MenhirLib.EngineTypes.next = {
30254 MenhirLib.EngineTypes.semv = _2;
30255 MenhirLib.EngineTypes.startp = _startpos__2_;
30256 MenhirLib.EngineTypes.endp = _endpos__2_;
30257 MenhirLib.EngineTypes.next = {
30258 MenhirLib.EngineTypes.state = _menhir_s;
30259 MenhirLib.EngineTypes.semv = _1;
30260 MenhirLib.EngineTypes.startp = _startpos__1_;
30261 MenhirLib.EngineTypes.endp = _endpos__1_;
30262 MenhirLib.EngineTypes.next = _menhir_stack;
30263 };
30264 };
30265 };
30266 };
30267 };
30268 };
30269 };
30270 } = _menhir_stack in
30271 let _8 : (
30272 # 101 "parser_cocci_menhir.mly"
30273 (Data.clt)
30274 # 30275 "parser_cocci_menhir.ml"
30275 ) = Obj.magic _8 in
30276 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
30277 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
30278 let _5 : (
30279 # 101 "parser_cocci_menhir.mly"
30280 (Data.clt)
30281 # 30282 "parser_cocci_menhir.ml"
30282 ) = Obj.magic _5 in
30283 let _4 : (
30284 # 77 "parser_cocci_menhir.mly"
30285 (Data.clt)
30286 # 30287 "parser_cocci_menhir.ml"
30287 ) = Obj.magic _4 in
30288 let _3 : 'tv_eexpr = Obj.magic _3 in
30289 let _2 : (
30290 # 76 "parser_cocci_menhir.mly"
30291 (Data.clt)
30292 # 30293 "parser_cocci_menhir.ml"
30293 ) = Obj.magic _2 in
30294 let _1 : (
30295 # 57 "parser_cocci_menhir.mly"
30296 (Data.clt)
30297 # 30298 "parser_cocci_menhir.ml"
30298 ) = Obj.magic _1 in
30299 let _startpos = _startpos__1_ in
30300 let _endpos = _endpos__8_ in
30301 let _v : 'tv_statement =
30302 # 865 "parser_cocci_menhir.mly"
30303 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
30304 # 30305 "parser_cocci_menhir.ml"
30305 in
30306 _menhir_env.MenhirLib.EngineTypes.stack <- {
30307 MenhirLib.EngineTypes.state = _menhir_s;
30308 MenhirLib.EngineTypes.semv = Obj.repr _v;
30309 MenhirLib.EngineTypes.startp = _startpos;
30310 MenhirLib.EngineTypes.endp = _endpos;
30311 MenhirLib.EngineTypes.next = _menhir_stack;
30312 });
30313 (fun _menhir_env ->
30314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30315 let {
30316 MenhirLib.EngineTypes.semv = _3;
30317 MenhirLib.EngineTypes.startp = _startpos__3_;
30318 MenhirLib.EngineTypes.endp = _endpos__3_;
30319 MenhirLib.EngineTypes.next = {
30320 MenhirLib.EngineTypes.semv = _2;
30321 MenhirLib.EngineTypes.startp = _startpos__2_;
30322 MenhirLib.EngineTypes.endp = _endpos__2_;
30323 MenhirLib.EngineTypes.next = {
30324 MenhirLib.EngineTypes.state = _menhir_s;
30325 MenhirLib.EngineTypes.semv = _1;
30326 MenhirLib.EngineTypes.startp = _startpos__1_;
30327 MenhirLib.EngineTypes.endp = _endpos__1_;
30328 MenhirLib.EngineTypes.next = _menhir_stack;
30329 };
30330 };
30331 } = _menhir_stack in
30332 let _3 : (
30333 # 107 "parser_cocci_menhir.mly"
30334 (Data.clt)
30335 # 30336 "parser_cocci_menhir.ml"
30336 ) = Obj.magic _3 in
30337 let _2 : 'tv_eexpr = Obj.magic _2 in
30338 let _1 : (
30339 # 57 "parser_cocci_menhir.mly"
30340 (Data.clt)
30341 # 30342 "parser_cocci_menhir.ml"
30342 ) = Obj.magic _1 in
30343 let _startpos = _startpos__1_ in
30344 let _endpos = _endpos__3_ in
30345 let _v : 'tv_statement =
30346 # 866 "parser_cocci_menhir.mly"
30347 ( P.ret_exp _1 _2 _3 )
30348 # 30349 "parser_cocci_menhir.ml"
30349 in
30350 _menhir_env.MenhirLib.EngineTypes.stack <- {
30351 MenhirLib.EngineTypes.state = _menhir_s;
30352 MenhirLib.EngineTypes.semv = Obj.repr _v;
30353 MenhirLib.EngineTypes.startp = _startpos;
30354 MenhirLib.EngineTypes.endp = _endpos;
30355 MenhirLib.EngineTypes.next = _menhir_stack;
30356 });
30357 (fun _menhir_env ->
30358 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30359 let {
30360 MenhirLib.EngineTypes.semv = _2;
30361 MenhirLib.EngineTypes.startp = _startpos__2_;
30362 MenhirLib.EngineTypes.endp = _endpos__2_;
30363 MenhirLib.EngineTypes.next = {
30364 MenhirLib.EngineTypes.state = _menhir_s;
30365 MenhirLib.EngineTypes.semv = _1;
30366 MenhirLib.EngineTypes.startp = _startpos__1_;
30367 MenhirLib.EngineTypes.endp = _endpos__1_;
30368 MenhirLib.EngineTypes.next = _menhir_stack;
30369 };
30370 } = _menhir_stack in
30371 let _2 : (
30372 # 107 "parser_cocci_menhir.mly"
30373 (Data.clt)
30374 # 30375 "parser_cocci_menhir.ml"
30375 ) = Obj.magic _2 in
30376 let _1 : (
30377 # 57 "parser_cocci_menhir.mly"
30378 (Data.clt)
30379 # 30380 "parser_cocci_menhir.ml"
30380 ) = Obj.magic _1 in
30381 let _startpos = _startpos__1_ in
30382 let _endpos = _endpos__2_ in
30383 let _v : 'tv_statement =
30384 # 867 "parser_cocci_menhir.mly"
30385 ( P.ret _1 _2 )
30386 # 30387 "parser_cocci_menhir.ml"
30387 in
30388 _menhir_env.MenhirLib.EngineTypes.stack <- {
30389 MenhirLib.EngineTypes.state = _menhir_s;
30390 MenhirLib.EngineTypes.semv = Obj.repr _v;
30391 MenhirLib.EngineTypes.startp = _startpos;
30392 MenhirLib.EngineTypes.endp = _endpos;
30393 MenhirLib.EngineTypes.next = _menhir_stack;
30394 });
30395 (fun _menhir_env ->
30396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30397 let {
30398 MenhirLib.EngineTypes.semv = _2;
30399 MenhirLib.EngineTypes.startp = _startpos__2_;
30400 MenhirLib.EngineTypes.endp = _endpos__2_;
30401 MenhirLib.EngineTypes.next = {
30402 MenhirLib.EngineTypes.state = _menhir_s;
30403 MenhirLib.EngineTypes.semv = _1;
30404 MenhirLib.EngineTypes.startp = _startpos__1_;
30405 MenhirLib.EngineTypes.endp = _endpos__1_;
30406 MenhirLib.EngineTypes.next = _menhir_stack;
30407 };
30408 } = _menhir_stack in
30409 let _2 : (
30410 # 107 "parser_cocci_menhir.mly"
30411 (Data.clt)
30412 # 30413 "parser_cocci_menhir.ml"
30413 ) = Obj.magic _2 in
30414 let _1 : (
30415 # 58 "parser_cocci_menhir.mly"
30416 (Data.clt)
30417 # 30418 "parser_cocci_menhir.ml"
30418 ) = Obj.magic _1 in
30419 let _startpos = _startpos__1_ in
30420 let _endpos = _endpos__2_ in
30421 let _v : 'tv_statement =
30422 # 868 "parser_cocci_menhir.mly"
30423 ( P.break _1 _2 )
30424 # 30425 "parser_cocci_menhir.ml"
30425 in
30426 _menhir_env.MenhirLib.EngineTypes.stack <- {
30427 MenhirLib.EngineTypes.state = _menhir_s;
30428 MenhirLib.EngineTypes.semv = Obj.repr _v;
30429 MenhirLib.EngineTypes.startp = _startpos;
30430 MenhirLib.EngineTypes.endp = _endpos;
30431 MenhirLib.EngineTypes.next = _menhir_stack;
30432 });
30433 (fun _menhir_env ->
30434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30435 let {
30436 MenhirLib.EngineTypes.semv = _2;
30437 MenhirLib.EngineTypes.startp = _startpos__2_;
30438 MenhirLib.EngineTypes.endp = _endpos__2_;
30439 MenhirLib.EngineTypes.next = {
30440 MenhirLib.EngineTypes.state = _menhir_s;
30441 MenhirLib.EngineTypes.semv = _1;
30442 MenhirLib.EngineTypes.startp = _startpos__1_;
30443 MenhirLib.EngineTypes.endp = _endpos__1_;
30444 MenhirLib.EngineTypes.next = _menhir_stack;
30445 };
30446 } = _menhir_stack in
30447 let _2 : (
30448 # 107 "parser_cocci_menhir.mly"
30449 (Data.clt)
30450 # 30451 "parser_cocci_menhir.ml"
30451 ) = Obj.magic _2 in
30452 let _1 : (
30453 # 58 "parser_cocci_menhir.mly"
30454 (Data.clt)
30455 # 30456 "parser_cocci_menhir.ml"
30456 ) = Obj.magic _1 in
30457 let _startpos = _startpos__1_ in
30458 let _endpos = _endpos__2_ in
30459 let _v : 'tv_statement =
30460 # 869 "parser_cocci_menhir.mly"
30461 ( P.cont _1 _2 )
30462 # 30463 "parser_cocci_menhir.ml"
30463 in
30464 _menhir_env.MenhirLib.EngineTypes.stack <- {
30465 MenhirLib.EngineTypes.state = _menhir_s;
30466 MenhirLib.EngineTypes.semv = Obj.repr _v;
30467 MenhirLib.EngineTypes.startp = _startpos;
30468 MenhirLib.EngineTypes.endp = _endpos;
30469 MenhirLib.EngineTypes.next = _menhir_stack;
30470 });
30471 (fun _menhir_env ->
30472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30473 let {
30474 MenhirLib.EngineTypes.semv = _2;
30475 MenhirLib.EngineTypes.startp = _startpos__2_;
30476 MenhirLib.EngineTypes.endp = _endpos__2_;
30477 MenhirLib.EngineTypes.next = {
30478 MenhirLib.EngineTypes.state = _menhir_s;
30479 MenhirLib.EngineTypes.semv = _1;
30480 MenhirLib.EngineTypes.startp = _startpos__1_;
30481 MenhirLib.EngineTypes.endp = _endpos__1_;
30482 MenhirLib.EngineTypes.next = _menhir_stack;
30483 };
30484 } = _menhir_stack in
30485 let _2 : (
30486 # 76 "parser_cocci_menhir.mly"
30487 (Data.clt)
30488 # 30489 "parser_cocci_menhir.ml"
30489 ) = Obj.magic _2 in
30490 let _1 : 'tv_ident = Obj.magic _1 in
30491 let _startpos = _startpos__1_ in
30492 let _endpos = _endpos__2_ in
30493 let _v : 'tv_statement =
30494 # 870 "parser_cocci_menhir.mly"
30495 ( P.label _1 _2 )
30496 # 30497 "parser_cocci_menhir.ml"
30497 in
30498 _menhir_env.MenhirLib.EngineTypes.stack <- {
30499 MenhirLib.EngineTypes.state = _menhir_s;
30500 MenhirLib.EngineTypes.semv = Obj.repr _v;
30501 MenhirLib.EngineTypes.startp = _startpos;
30502 MenhirLib.EngineTypes.endp = _endpos;
30503 MenhirLib.EngineTypes.next = _menhir_stack;
30504 });
30505 (fun _menhir_env ->
30506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30507 let {
30508 MenhirLib.EngineTypes.semv = _3;
30509 MenhirLib.EngineTypes.startp = _startpos__3_;
30510 MenhirLib.EngineTypes.endp = _endpos__3_;
30511 MenhirLib.EngineTypes.next = {
30512 MenhirLib.EngineTypes.semv = _2;
30513 MenhirLib.EngineTypes.startp = _startpos__2_;
30514 MenhirLib.EngineTypes.endp = _endpos__2_;
30515 MenhirLib.EngineTypes.next = {
30516 MenhirLib.EngineTypes.state = _menhir_s;
30517 MenhirLib.EngineTypes.semv = _1;
30518 MenhirLib.EngineTypes.startp = _startpos__1_;
30519 MenhirLib.EngineTypes.endp = _endpos__1_;
30520 MenhirLib.EngineTypes.next = _menhir_stack;
30521 };
30522 };
30523 } = _menhir_stack in
30524 let _3 : (
30525 # 107 "parser_cocci_menhir.mly"
30526 (Data.clt)
30527 # 30528 "parser_cocci_menhir.ml"
30528 ) = Obj.magic _3 in
30529 let _2 : 'tv_ident = Obj.magic _2 in
30530 let _1 : (
30531 # 58 "parser_cocci_menhir.mly"
30532 (Data.clt)
30533 # 30534 "parser_cocci_menhir.ml"
30534 ) = Obj.magic _1 in
30535 let _startpos = _startpos__1_ in
30536 let _endpos = _endpos__3_ in
30537 let _v : 'tv_statement =
30538 # 871 "parser_cocci_menhir.mly"
30539 ( P.goto _1 _2 _3 )
30540 # 30541 "parser_cocci_menhir.ml"
30541 in
30542 _menhir_env.MenhirLib.EngineTypes.stack <- {
30543 MenhirLib.EngineTypes.state = _menhir_s;
30544 MenhirLib.EngineTypes.semv = Obj.repr _v;
30545 MenhirLib.EngineTypes.startp = _startpos;
30546 MenhirLib.EngineTypes.endp = _endpos;
30547 MenhirLib.EngineTypes.next = _menhir_stack;
30548 });
30549 (fun _menhir_env ->
30550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30551 let {
30552 MenhirLib.EngineTypes.semv = _3;
30553 MenhirLib.EngineTypes.startp = _startpos__3_;
30554 MenhirLib.EngineTypes.endp = _endpos__3_;
30555 MenhirLib.EngineTypes.next = {
30556 MenhirLib.EngineTypes.semv = _2;
30557 MenhirLib.EngineTypes.startp = _startpos__2_;
30558 MenhirLib.EngineTypes.endp = _endpos__2_;
30559 MenhirLib.EngineTypes.next = {
30560 MenhirLib.EngineTypes.state = _menhir_s;
30561 MenhirLib.EngineTypes.semv = _1;
30562 MenhirLib.EngineTypes.startp = _startpos__1_;
30563 MenhirLib.EngineTypes.endp = _endpos__1_;
30564 MenhirLib.EngineTypes.next = _menhir_stack;
30565 };
30566 };
30567 } = _menhir_stack in
30568 let _3 : (
30569 # 101 "parser_cocci_menhir.mly"
30570 (Data.clt)
30571 # 30572 "parser_cocci_menhir.ml"
30572 ) = Obj.magic _3 in
30573 let _2 : 'tv_fun_start = Obj.magic _2 in
30574 let _1 : (
30575 # 101 "parser_cocci_menhir.mly"
30576 (Data.clt)
30577 # 30578 "parser_cocci_menhir.ml"
30578 ) = Obj.magic _1 in
30579 let _startpos = _startpos__1_ in
30580 let _endpos = _endpos__3_ in
30581 let _v : 'tv_statement =
30582 # 873 "parser_cocci_menhir.mly"
30583 ( P.seq _1 _2 _3 )
30584 # 30585 "parser_cocci_menhir.ml"
30585 in
30586 _menhir_env.MenhirLib.EngineTypes.stack <- {
30587 MenhirLib.EngineTypes.state = _menhir_s;
30588 MenhirLib.EngineTypes.semv = Obj.repr _v;
30589 MenhirLib.EngineTypes.startp = _startpos;
30590 MenhirLib.EngineTypes.endp = _endpos;
30591 MenhirLib.EngineTypes.next = _menhir_stack;
30592 });
30593 (fun _menhir_env ->
30594 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30595 let {
30596 MenhirLib.EngineTypes.semv = w;
30597 MenhirLib.EngineTypes.startp = _startpos_w_;
30598 MenhirLib.EngineTypes.endp = _endpos_w_;
30599 MenhirLib.EngineTypes.next = {
30600 MenhirLib.EngineTypes.state = _menhir_s;
30601 MenhirLib.EngineTypes.semv = _1;
30602 MenhirLib.EngineTypes.startp = _startpos__1_;
30603 MenhirLib.EngineTypes.endp = _endpos__1_;
30604 MenhirLib.EngineTypes.next = _menhir_stack;
30605 };
30606 } = _menhir_stack in
30607 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30608 let _1 : (
30609 # 73 "parser_cocci_menhir.mly"
30610 (Data.clt)
30611 # 30612 "parser_cocci_menhir.ml"
30612 ) = Obj.magic _1 in
30613 let _startpos = _startpos__1_ in
30614 let _endpos = _endpos_w_ in
30615 let _v : 'tv_stm_dots =
30616 # 877 "parser_cocci_menhir.mly"
30617 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
30618 # 30619 "parser_cocci_menhir.ml"
30619 in
30620 _menhir_env.MenhirLib.EngineTypes.stack <- {
30621 MenhirLib.EngineTypes.state = _menhir_s;
30622 MenhirLib.EngineTypes.semv = Obj.repr _v;
30623 MenhirLib.EngineTypes.startp = _startpos;
30624 MenhirLib.EngineTypes.endp = _endpos;
30625 MenhirLib.EngineTypes.next = _menhir_stack;
30626 });
30627 (fun _menhir_env ->
30628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30629 let {
30630 MenhirLib.EngineTypes.semv = c;
30631 MenhirLib.EngineTypes.startp = _startpos_c_;
30632 MenhirLib.EngineTypes.endp = _endpos_c_;
30633 MenhirLib.EngineTypes.next = {
30634 MenhirLib.EngineTypes.semv = b;
30635 MenhirLib.EngineTypes.startp = _startpos_b_;
30636 MenhirLib.EngineTypes.endp = _endpos_b_;
30637 MenhirLib.EngineTypes.next = {
30638 MenhirLib.EngineTypes.semv = w;
30639 MenhirLib.EngineTypes.startp = _startpos_w_;
30640 MenhirLib.EngineTypes.endp = _endpos_w_;
30641 MenhirLib.EngineTypes.next = {
30642 MenhirLib.EngineTypes.state = _menhir_s;
30643 MenhirLib.EngineTypes.semv = _1;
30644 MenhirLib.EngineTypes.startp = _startpos__1_;
30645 MenhirLib.EngineTypes.endp = _endpos__1_;
30646 MenhirLib.EngineTypes.next = _menhir_stack;
30647 };
30648 };
30649 };
30650 } = _menhir_stack in
30651 let c : (
30652 # 73 "parser_cocci_menhir.mly"
30653 (Data.clt)
30654 # 30655 "parser_cocci_menhir.ml"
30655 ) = Obj.magic c in
30656 let b : 'tv_nest_start = Obj.magic b in
30657 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30658 let _1 : (
30659 # 73 "parser_cocci_menhir.mly"
30660 (Data.clt)
30661 # 30662 "parser_cocci_menhir.ml"
30662 ) = Obj.magic _1 in
30663 let _startpos = _startpos__1_ in
30664 let _endpos = _endpos_c_ in
30665 let _v : 'tv_stm_dots =
30666 # 879 "parser_cocci_menhir.mly"
30667 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
30668 P.clt2mcode "...>" c, List.concat w, false)) )
30669 # 30670 "parser_cocci_menhir.ml"
30670 in
30671 _menhir_env.MenhirLib.EngineTypes.stack <- {
30672 MenhirLib.EngineTypes.state = _menhir_s;
30673 MenhirLib.EngineTypes.semv = Obj.repr _v;
30674 MenhirLib.EngineTypes.startp = _startpos;
30675 MenhirLib.EngineTypes.endp = _endpos;
30676 MenhirLib.EngineTypes.next = _menhir_stack;
30677 });
30678 (fun _menhir_env ->
30679 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30680 let {
30681 MenhirLib.EngineTypes.semv = c;
30682 MenhirLib.EngineTypes.startp = _startpos_c_;
30683 MenhirLib.EngineTypes.endp = _endpos_c_;
30684 MenhirLib.EngineTypes.next = {
30685 MenhirLib.EngineTypes.semv = b;
30686 MenhirLib.EngineTypes.startp = _startpos_b_;
30687 MenhirLib.EngineTypes.endp = _endpos_b_;
30688 MenhirLib.EngineTypes.next = {
30689 MenhirLib.EngineTypes.semv = w;
30690 MenhirLib.EngineTypes.startp = _startpos_w_;
30691 MenhirLib.EngineTypes.endp = _endpos_w_;
30692 MenhirLib.EngineTypes.next = {
30693 MenhirLib.EngineTypes.state = _menhir_s;
30694 MenhirLib.EngineTypes.semv = _1;
30695 MenhirLib.EngineTypes.startp = _startpos__1_;
30696 MenhirLib.EngineTypes.endp = _endpos__1_;
30697 MenhirLib.EngineTypes.next = _menhir_stack;
30698 };
30699 };
30700 };
30701 } = _menhir_stack in
30702 let c : (
30703 # 73 "parser_cocci_menhir.mly"
30704 (Data.clt)
30705 # 30706 "parser_cocci_menhir.ml"
30706 ) = Obj.magic c in
30707 let b : 'tv_nest_start = Obj.magic b in
30708 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30709 let _1 : (
30710 # 73 "parser_cocci_menhir.mly"
30711 (Data.clt)
30712 # 30713 "parser_cocci_menhir.ml"
30713 ) = Obj.magic _1 in
30714 let _startpos = _startpos__1_ in
30715 let _endpos = _endpos_c_ in
30716 let _v : 'tv_stm_dots =
30717 # 882 "parser_cocci_menhir.mly"
30718 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
30719 P.clt2mcode "...+>" c, List.concat w, true)) )
30720 # 30721 "parser_cocci_menhir.ml"
30721 in
30722 _menhir_env.MenhirLib.EngineTypes.stack <- {
30723 MenhirLib.EngineTypes.state = _menhir_s;
30724 MenhirLib.EngineTypes.semv = Obj.repr _v;
30725 MenhirLib.EngineTypes.startp = _startpos;
30726 MenhirLib.EngineTypes.endp = _endpos;
30727 MenhirLib.EngineTypes.next = _menhir_stack;
30728 });
30729 (fun _menhir_env ->
30730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30731 let {
30732 MenhirLib.EngineTypes.state = _menhir_s;
30733 MenhirLib.EngineTypes.semv = s;
30734 MenhirLib.EngineTypes.startp = _startpos_s_;
30735 MenhirLib.EngineTypes.endp = _endpos_s_;
30736 MenhirLib.EngineTypes.next = _menhir_stack;
30737 } = _menhir_stack in
30738 let s : (
30739 # 53 "parser_cocci_menhir.mly"
30740 (Data.clt)
30741 # 30742 "parser_cocci_menhir.ml"
30742 ) = Obj.magic s in
30743 let _startpos = _startpos_s_ in
30744 let _endpos = _endpos_s_ in
30745 let _v : 'tv_storage =
30746 # 808 "parser_cocci_menhir.mly"
30747 ( P.clt2mcode Ast.Static s )
30748 # 30749 "parser_cocci_menhir.ml"
30749 in
30750 _menhir_env.MenhirLib.EngineTypes.stack <- {
30751 MenhirLib.EngineTypes.state = _menhir_s;
30752 MenhirLib.EngineTypes.semv = Obj.repr _v;
30753 MenhirLib.EngineTypes.startp = _startpos;
30754 MenhirLib.EngineTypes.endp = _endpos;
30755 MenhirLib.EngineTypes.next = _menhir_stack;
30756 });
30757 (fun _menhir_env ->
30758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30759 let {
30760 MenhirLib.EngineTypes.state = _menhir_s;
30761 MenhirLib.EngineTypes.semv = s;
30762 MenhirLib.EngineTypes.startp = _startpos_s_;
30763 MenhirLib.EngineTypes.endp = _endpos_s_;
30764 MenhirLib.EngineTypes.next = _menhir_stack;
30765 } = _menhir_stack in
30766 let s : (
30767 # 53 "parser_cocci_menhir.mly"
30768 (Data.clt)
30769 # 30770 "parser_cocci_menhir.ml"
30770 ) = Obj.magic s in
30771 let _startpos = _startpos_s_ in
30772 let _endpos = _endpos_s_ in
30773 let _v : 'tv_storage =
30774 # 809 "parser_cocci_menhir.mly"
30775 ( P.clt2mcode Ast.Auto s )
30776 # 30777 "parser_cocci_menhir.ml"
30777 in
30778 _menhir_env.MenhirLib.EngineTypes.stack <- {
30779 MenhirLib.EngineTypes.state = _menhir_s;
30780 MenhirLib.EngineTypes.semv = Obj.repr _v;
30781 MenhirLib.EngineTypes.startp = _startpos;
30782 MenhirLib.EngineTypes.endp = _endpos;
30783 MenhirLib.EngineTypes.next = _menhir_stack;
30784 });
30785 (fun _menhir_env ->
30786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30787 let {
30788 MenhirLib.EngineTypes.state = _menhir_s;
30789 MenhirLib.EngineTypes.semv = s;
30790 MenhirLib.EngineTypes.startp = _startpos_s_;
30791 MenhirLib.EngineTypes.endp = _endpos_s_;
30792 MenhirLib.EngineTypes.next = _menhir_stack;
30793 } = _menhir_stack in
30794 let s : (
30795 # 53 "parser_cocci_menhir.mly"
30796 (Data.clt)
30797 # 30798 "parser_cocci_menhir.ml"
30798 ) = Obj.magic s in
30799 let _startpos = _startpos_s_ in
30800 let _endpos = _endpos_s_ in
30801 let _v : 'tv_storage =
30802 # 810 "parser_cocci_menhir.mly"
30803 ( P.clt2mcode Ast.Register s )
30804 # 30805 "parser_cocci_menhir.ml"
30805 in
30806 _menhir_env.MenhirLib.EngineTypes.stack <- {
30807 MenhirLib.EngineTypes.state = _menhir_s;
30808 MenhirLib.EngineTypes.semv = Obj.repr _v;
30809 MenhirLib.EngineTypes.startp = _startpos;
30810 MenhirLib.EngineTypes.endp = _endpos;
30811 MenhirLib.EngineTypes.next = _menhir_stack;
30812 });
30813 (fun _menhir_env ->
30814 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30815 let {
30816 MenhirLib.EngineTypes.state = _menhir_s;
30817 MenhirLib.EngineTypes.semv = s;
30818 MenhirLib.EngineTypes.startp = _startpos_s_;
30819 MenhirLib.EngineTypes.endp = _endpos_s_;
30820 MenhirLib.EngineTypes.next = _menhir_stack;
30821 } = _menhir_stack in
30822 let s : (
30823 # 53 "parser_cocci_menhir.mly"
30824 (Data.clt)
30825 # 30826 "parser_cocci_menhir.ml"
30826 ) = Obj.magic s in
30827 let _startpos = _startpos_s_ in
30828 let _endpos = _endpos_s_ in
30829 let _v : 'tv_storage =
30830 # 811 "parser_cocci_menhir.mly"
30831 ( P.clt2mcode Ast.Extern s )
30832 # 30833 "parser_cocci_menhir.ml"
30833 in
30834 _menhir_env.MenhirLib.EngineTypes.stack <- {
30835 MenhirLib.EngineTypes.state = _menhir_s;
30836 MenhirLib.EngineTypes.semv = Obj.repr _v;
30837 MenhirLib.EngineTypes.startp = _startpos;
30838 MenhirLib.EngineTypes.endp = _endpos;
30839 MenhirLib.EngineTypes.next = _menhir_stack;
30840 });
30841 (fun _menhir_env ->
30842 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30843 let {
30844 MenhirLib.EngineTypes.state = _menhir_s;
30845 MenhirLib.EngineTypes.startp = _startpos__1_;
30846 MenhirLib.EngineTypes.endp = _endpos__1_;
30847 MenhirLib.EngineTypes.next = _menhir_stack;
30848 } = _menhir_stack in
30849 let _startpos = _startpos__1_ in
30850 let _endpos = _endpos__1_ in
30851 let _v : 'tv_struct_decl =
30852 # 564 "parser_cocci_menhir.mly"
30853 ( [] )
30854 # 30855 "parser_cocci_menhir.ml"
30855 in
30856 _menhir_env.MenhirLib.EngineTypes.stack <- {
30857 MenhirLib.EngineTypes.state = _menhir_s;
30858 MenhirLib.EngineTypes.semv = Obj.repr _v;
30859 MenhirLib.EngineTypes.startp = _startpos;
30860 MenhirLib.EngineTypes.endp = _endpos;
30861 MenhirLib.EngineTypes.next = _menhir_stack;
30862 });
30863 (fun _menhir_env ->
30864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30865 let {
30866 MenhirLib.EngineTypes.semv = pv;
30867 MenhirLib.EngineTypes.startp = _startpos_pv_;
30868 MenhirLib.EngineTypes.endp = _endpos_pv_;
30869 MenhirLib.EngineTypes.next = {
30870 MenhirLib.EngineTypes.semv = d;
30871 MenhirLib.EngineTypes.startp = _startpos_d_;
30872 MenhirLib.EngineTypes.endp = _endpos_d_;
30873 MenhirLib.EngineTypes.next = {
30874 MenhirLib.EngineTypes.state = _menhir_s;
30875 MenhirLib.EngineTypes.semv = t;
30876 MenhirLib.EngineTypes.startp = _startpos_t_;
30877 MenhirLib.EngineTypes.endp = _endpos_t_;
30878 MenhirLib.EngineTypes.next = _menhir_stack;
30879 };
30880 };
30881 } = _menhir_stack in
30882 let pv : (
30883 # 107 "parser_cocci_menhir.mly"
30884 (Data.clt)
30885 # 30886 "parser_cocci_menhir.ml"
30886 ) = Obj.magic pv in
30887 let d : 'tv_d_ident = Obj.magic d in
30888 let t : 'tv_ctype = Obj.magic t in
30889 let _startpos = _startpos_t_ in
30890 let _endpos = _endpos_pv_ in
30891 let _v : 'tv_struct_decl =
30892 # 566 "parser_cocci_menhir.mly"
30893 ( let (id,fn) = d in
30894 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
30895 # 30896 "parser_cocci_menhir.ml"
30896 in
30897 _menhir_env.MenhirLib.EngineTypes.stack <- {
30898 MenhirLib.EngineTypes.state = _menhir_s;
30899 MenhirLib.EngineTypes.semv = Obj.repr _v;
30900 MenhirLib.EngineTypes.startp = _startpos;
30901 MenhirLib.EngineTypes.endp = _endpos;
30902 MenhirLib.EngineTypes.next = _menhir_stack;
30903 });
30904 (fun _menhir_env ->
30905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30906 let {
30907 MenhirLib.EngineTypes.semv = pv;
30908 MenhirLib.EngineTypes.startp = _startpos_pv_;
30909 MenhirLib.EngineTypes.endp = _endpos_pv_;
30910 MenhirLib.EngineTypes.next = {
30911 MenhirLib.EngineTypes.semv = rp2;
30912 MenhirLib.EngineTypes.startp = _startpos_rp2_;
30913 MenhirLib.EngineTypes.endp = _endpos_rp2_;
30914 MenhirLib.EngineTypes.next = {
30915 MenhirLib.EngineTypes.semv = p;
30916 MenhirLib.EngineTypes.startp = _startpos_p_;
30917 MenhirLib.EngineTypes.endp = _endpos_p_;
30918 MenhirLib.EngineTypes.next = {
30919 MenhirLib.EngineTypes.semv = lp2;
30920 MenhirLib.EngineTypes.startp = _startpos_lp2_;
30921 MenhirLib.EngineTypes.endp = _endpos_lp2_;
30922 MenhirLib.EngineTypes.next = {
30923 MenhirLib.EngineTypes.semv = rp1;
30924 MenhirLib.EngineTypes.startp = _startpos_rp1_;
30925 MenhirLib.EngineTypes.endp = _endpos_rp1_;
30926 MenhirLib.EngineTypes.next = {
30927 MenhirLib.EngineTypes.semv = d;
30928 MenhirLib.EngineTypes.startp = _startpos_d_;
30929 MenhirLib.EngineTypes.endp = _endpos_d_;
30930 MenhirLib.EngineTypes.next = {
30931 MenhirLib.EngineTypes.semv = st;
30932 MenhirLib.EngineTypes.startp = _startpos_st_;
30933 MenhirLib.EngineTypes.endp = _endpos_st_;
30934 MenhirLib.EngineTypes.next = {
30935 MenhirLib.EngineTypes.semv = lp1;
30936 MenhirLib.EngineTypes.startp = _startpos_lp1_;
30937 MenhirLib.EngineTypes.endp = _endpos_lp1_;
30938 MenhirLib.EngineTypes.next = {
30939 MenhirLib.EngineTypes.state = _menhir_s;
30940 MenhirLib.EngineTypes.semv = t;
30941 MenhirLib.EngineTypes.startp = _startpos_t_;
30942 MenhirLib.EngineTypes.endp = _endpos_t_;
30943 MenhirLib.EngineTypes.next = _menhir_stack;
30944 };
30945 };
30946 };
30947 };
30948 };
30949 };
30950 };
30951 };
30952 } = _menhir_stack in
30953 let pv : (
30954 # 107 "parser_cocci_menhir.mly"
30955 (Data.clt)
30956 # 30957 "parser_cocci_menhir.ml"
30957 ) = Obj.magic pv in
30958 let rp2 : (
30959 # 77 "parser_cocci_menhir.mly"
30960 (Data.clt)
30961 # 30962 "parser_cocci_menhir.ml"
30962 ) = Obj.magic rp2 in
30963 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
30964 let lp2 : (
30965 # 76 "parser_cocci_menhir.mly"
30966 (Data.clt)
30967 # 30968 "parser_cocci_menhir.ml"
30968 ) = Obj.magic lp2 in
30969 let rp1 : (
30970 # 77 "parser_cocci_menhir.mly"
30971 (Data.clt)
30972 # 30973 "parser_cocci_menhir.ml"
30973 ) = Obj.magic rp1 in
30974 let d : 'tv_d_ident = Obj.magic d in
30975 let st : (
30976 # 99 "parser_cocci_menhir.mly"
30977 (Data.clt)
30978 # 30979 "parser_cocci_menhir.ml"
30979 ) = Obj.magic st in
30980 let lp1 : (
30981 # 76 "parser_cocci_menhir.mly"
30982 (Data.clt)
30983 # 30984 "parser_cocci_menhir.ml"
30984 ) = Obj.magic lp1 in
30985 let t : 'tv_ctype = Obj.magic t in
30986 let _startpos = _startpos_t_ in
30987 let _endpos = _endpos_pv_ in
30988 let _v : 'tv_struct_decl =
30989 # 570 "parser_cocci_menhir.mly"
30990 ( let (id,fn) = d in
30991 let t =
30992 Ast0.wrap
30993 (Ast0.FunctionPointer
30994 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
30995 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
30996 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
30997 # 30998 "parser_cocci_menhir.ml"
30998 in
30999 _menhir_env.MenhirLib.EngineTypes.stack <- {
31000 MenhirLib.EngineTypes.state = _menhir_s;
31001 MenhirLib.EngineTypes.semv = Obj.repr _v;
31002 MenhirLib.EngineTypes.startp = _startpos;
31003 MenhirLib.EngineTypes.endp = _endpos;
31004 MenhirLib.EngineTypes.next = _menhir_stack;
31005 });
31006 (fun _menhir_env ->
31007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31008 let {
31009 MenhirLib.EngineTypes.semv = pv;
31010 MenhirLib.EngineTypes.startp = _startpos_pv_;
31011 MenhirLib.EngineTypes.endp = _endpos_pv_;
31012 MenhirLib.EngineTypes.next = {
31013 MenhirLib.EngineTypes.semv = d;
31014 MenhirLib.EngineTypes.startp = _startpos_d_;
31015 MenhirLib.EngineTypes.endp = _endpos_d_;
31016 MenhirLib.EngineTypes.next = {
31017 MenhirLib.EngineTypes.state = _menhir_s;
31018 MenhirLib.EngineTypes.semv = i;
31019 MenhirLib.EngineTypes.startp = _startpos_i_;
31020 MenhirLib.EngineTypes.endp = _endpos_i_;
31021 MenhirLib.EngineTypes.next = _menhir_stack;
31022 };
31023 };
31024 } = _menhir_stack in
31025 let pv : (
31026 # 107 "parser_cocci_menhir.mly"
31027 (Data.clt)
31028 # 31029 "parser_cocci_menhir.ml"
31029 ) = Obj.magic pv in
31030 let d : 'tv_d_ident = Obj.magic d in
31031 let i : 'tv_pure_ident = Obj.magic i in
31032 let _startpos = _startpos_i_ in
31033 let _endpos = _endpos_pv_ in
31034 let _v : 'tv_struct_decl = let cv =
31035
31036 # 39 "standard.mly"
31037 ( None )
31038 # 31039 "parser_cocci_menhir.ml"
31039
31040 in
31041
31042 # 578 "parser_cocci_menhir.mly"
31043 ( let (id,fn) = d in
31044 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31045 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
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 = pv;
31059 MenhirLib.EngineTypes.startp = _startpos_pv_;
31060 MenhirLib.EngineTypes.endp = _endpos_pv_;
31061 MenhirLib.EngineTypes.next = {
31062 MenhirLib.EngineTypes.semv = d;
31063 MenhirLib.EngineTypes.startp = _startpos_d_;
31064 MenhirLib.EngineTypes.endp = _endpos_d_;
31065 MenhirLib.EngineTypes.next = {
31066 MenhirLib.EngineTypes.semv = i;
31067 MenhirLib.EngineTypes.startp = _startpos_i_;
31068 MenhirLib.EngineTypes.endp = _endpos_i_;
31069 MenhirLib.EngineTypes.next = {
31070 MenhirLib.EngineTypes.state = _menhir_s;
31071 MenhirLib.EngineTypes.semv = x0;
31072 MenhirLib.EngineTypes.startp = _startpos_x0_;
31073 MenhirLib.EngineTypes.endp = _endpos_x0_;
31074 MenhirLib.EngineTypes.next = _menhir_stack;
31075 };
31076 };
31077 };
31078 } = _menhir_stack in
31079 let pv : (
31080 # 107 "parser_cocci_menhir.mly"
31081 (Data.clt)
31082 # 31083 "parser_cocci_menhir.ml"
31083 ) = Obj.magic pv in
31084 let d : 'tv_d_ident = Obj.magic d in
31085 let i : 'tv_pure_ident = Obj.magic i in
31086 let x0 : 'tv_const_vol = Obj.magic x0 in
31087 let _startpos = _startpos_x0_ in
31088 let _endpos = _endpos_pv_ in
31089 let _v : 'tv_struct_decl = let cv =
31090 let x = x0 in
31091
31092 # 41 "standard.mly"
31093 ( Some x )
31094 # 31095 "parser_cocci_menhir.ml"
31095
31096 in
31097
31098 # 578 "parser_cocci_menhir.mly"
31099 ( let (id,fn) = d in
31100 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31101 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31102 # 31103 "parser_cocci_menhir.ml"
31103 in
31104 _menhir_env.MenhirLib.EngineTypes.stack <- {
31105 MenhirLib.EngineTypes.state = _menhir_s;
31106 MenhirLib.EngineTypes.semv = Obj.repr _v;
31107 MenhirLib.EngineTypes.startp = _startpos;
31108 MenhirLib.EngineTypes.endp = _endpos;
31109 MenhirLib.EngineTypes.next = _menhir_stack;
31110 });
31111 (fun _menhir_env ->
31112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31113 let {
31114 MenhirLib.EngineTypes.state = _menhir_s;
31115 MenhirLib.EngineTypes.semv = _1;
31116 MenhirLib.EngineTypes.startp = _startpos__1_;
31117 MenhirLib.EngineTypes.endp = _endpos__1_;
31118 MenhirLib.EngineTypes.next = _menhir_stack;
31119 } = _menhir_stack in
31120 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
31121 let _startpos = _startpos__1_ in
31122 let _endpos = _endpos__1_ in
31123 let _v : 'tv_struct_decl_list =
31124 # 583 "parser_cocci_menhir.mly"
31125 ( Ast0.wrap(Ast0.DOTS(_1)) )
31126 # 31127 "parser_cocci_menhir.ml"
31127 in
31128 _menhir_env.MenhirLib.EngineTypes.stack <- {
31129 MenhirLib.EngineTypes.state = _menhir_s;
31130 MenhirLib.EngineTypes.semv = Obj.repr _v;
31131 MenhirLib.EngineTypes.startp = _startpos;
31132 MenhirLib.EngineTypes.endp = _endpos;
31133 MenhirLib.EngineTypes.next = _menhir_stack;
31134 });
31135 (fun _menhir_env ->
31136 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31137 let {
31138 MenhirLib.EngineTypes.state = _menhir_s;
31139 MenhirLib.EngineTypes.semv = _1;
31140 MenhirLib.EngineTypes.startp = _startpos__1_;
31141 MenhirLib.EngineTypes.endp = _endpos__1_;
31142 MenhirLib.EngineTypes.next = _menhir_stack;
31143 } = _menhir_stack in
31144 let _1 : 'tv_struct_decl = Obj.magic _1 in
31145 let _startpos = _startpos__1_ in
31146 let _endpos = _endpos__1_ in
31147 let _v : 'tv_struct_decl_list_start =
31148 # 586 "parser_cocci_menhir.mly"
31149 ( _1 )
31150 # 31151 "parser_cocci_menhir.ml"
31151 in
31152 _menhir_env.MenhirLib.EngineTypes.stack <- {
31153 MenhirLib.EngineTypes.state = _menhir_s;
31154 MenhirLib.EngineTypes.semv = Obj.repr _v;
31155 MenhirLib.EngineTypes.startp = _startpos;
31156 MenhirLib.EngineTypes.endp = _endpos;
31157 MenhirLib.EngineTypes.next = _menhir_stack;
31158 });
31159 (fun _menhir_env ->
31160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31161 let {
31162 MenhirLib.EngineTypes.semv = _2;
31163 MenhirLib.EngineTypes.startp = _startpos__2_;
31164 MenhirLib.EngineTypes.endp = _endpos__2_;
31165 MenhirLib.EngineTypes.next = {
31166 MenhirLib.EngineTypes.state = _menhir_s;
31167 MenhirLib.EngineTypes.semv = _1;
31168 MenhirLib.EngineTypes.startp = _startpos__1_;
31169 MenhirLib.EngineTypes.endp = _endpos__1_;
31170 MenhirLib.EngineTypes.next = _menhir_stack;
31171 };
31172 } = _menhir_stack in
31173 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
31174 let _1 : 'tv_struct_decl = Obj.magic _1 in
31175 let _startpos = _startpos__1_ in
31176 let _endpos = _endpos__2_ in
31177 let _v : 'tv_struct_decl_list_start =
31178 # 587 "parser_cocci_menhir.mly"
31179 ( _1@_2 )
31180 # 31181 "parser_cocci_menhir.ml"
31181 in
31182 _menhir_env.MenhirLib.EngineTypes.stack <- {
31183 MenhirLib.EngineTypes.state = _menhir_s;
31184 MenhirLib.EngineTypes.semv = Obj.repr _v;
31185 MenhirLib.EngineTypes.startp = _startpos;
31186 MenhirLib.EngineTypes.endp = _endpos;
31187 MenhirLib.EngineTypes.next = _menhir_stack;
31188 });
31189 (fun _menhir_env ->
31190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31191 let {
31192 MenhirLib.EngineTypes.semv = r;
31193 MenhirLib.EngineTypes.startp = _startpos_r_;
31194 MenhirLib.EngineTypes.endp = _endpos_r_;
31195 MenhirLib.EngineTypes.next = {
31196 MenhirLib.EngineTypes.state = _menhir_s;
31197 MenhirLib.EngineTypes.semv = d;
31198 MenhirLib.EngineTypes.startp = _startpos_d_;
31199 MenhirLib.EngineTypes.endp = _endpos_d_;
31200 MenhirLib.EngineTypes.next = _menhir_stack;
31201 };
31202 } = _menhir_stack in
31203 let r : 'tv_continue_struct_decl_list = Obj.magic r in
31204 let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
31205 let _startpos = _startpos_d_ in
31206 let _endpos = _endpos_r_ in
31207 let _v : 'tv_struct_decl_list_start =
31208 # 589 "parser_cocci_menhir.mly"
31209 ( (P.mkddots "..." d)::r )
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 # 50 "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_struct_or_union =
31236 # 560 "parser_cocci_menhir.mly"
31237 ( P.clt2mcode Ast.Struct 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 = u;
31252 MenhirLib.EngineTypes.startp = _startpos_u_;
31253 MenhirLib.EngineTypes.endp = _endpos_u_;
31254 MenhirLib.EngineTypes.next = _menhir_stack;
31255 } = _menhir_stack in
31256 let u : (
31257 # 50 "parser_cocci_menhir.mly"
31258 (Data.clt)
31259 # 31260 "parser_cocci_menhir.ml"
31260 ) = Obj.magic u in
31261 let _startpos = _startpos_u_ in
31262 let _endpos = _endpos_u_ in
31263 let _v : 'tv_struct_or_union =
31264 # 561 "parser_cocci_menhir.mly"
31265 ( P.clt2mcode Ast.Union u )
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 = _1;
31280 MenhirLib.EngineTypes.startp = _startpos__1_;
31281 MenhirLib.EngineTypes.endp = _endpos__1_;
31282 MenhirLib.EngineTypes.next = _menhir_stack;
31283 } = _menhir_stack in
31284 let _1 : 'tv_eexpr = Obj.magic _1 in
31285 let _startpos = _startpos__1_ in
31286 let _endpos = _endpos__1_ in
31287 let _v : 'tv_top_eexpr =
31288 # 1206 "parser_cocci_menhir.mly"
31289 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
31290 # 31291 "parser_cocci_menhir.ml"
31291 in
31292 _menhir_env.MenhirLib.EngineTypes.stack <- {
31293 MenhirLib.EngineTypes.state = _menhir_s;
31294 MenhirLib.EngineTypes.semv = Obj.repr _v;
31295 MenhirLib.EngineTypes.startp = _startpos;
31296 MenhirLib.EngineTypes.endp = _endpos;
31297 MenhirLib.EngineTypes.next = _menhir_stack;
31298 });
31299 (fun _menhir_env ->
31300 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31301 let {
31302 MenhirLib.EngineTypes.semv = _3;
31303 MenhirLib.EngineTypes.startp = _startpos__3_;
31304 MenhirLib.EngineTypes.endp = _endpos__3_;
31305 MenhirLib.EngineTypes.next = {
31306 MenhirLib.EngineTypes.semv = _2;
31307 MenhirLib.EngineTypes.startp = _startpos__2_;
31308 MenhirLib.EngineTypes.endp = _endpos__2_;
31309 MenhirLib.EngineTypes.next = {
31310 MenhirLib.EngineTypes.state = _menhir_s;
31311 MenhirLib.EngineTypes.semv = _1;
31312 MenhirLib.EngineTypes.startp = _startpos__1_;
31313 MenhirLib.EngineTypes.endp = _endpos__1_;
31314 MenhirLib.EngineTypes.next = _menhir_stack;
31315 };
31316 };
31317 } = _menhir_stack in
31318 let _3 : (
31319 # 101 "parser_cocci_menhir.mly"
31320 (Data.clt)
31321 # 31322 "parser_cocci_menhir.ml"
31322 ) = Obj.magic _3 in
31323 let _2 : 'tv_initialize_list = Obj.magic _2 in
31324 let _1 : (
31325 # 101 "parser_cocci_menhir.mly"
31326 (Data.clt)
31327 # 31328 "parser_cocci_menhir.ml"
31328 ) = Obj.magic _1 in
31329 let _startpos = _startpos__1_ in
31330 let _endpos = _endpos__3_ in
31331 let _v : 'tv_top_init =
31332 # 1730 "parser_cocci_menhir.mly"
31333 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
31334 # 31335 "parser_cocci_menhir.ml"
31335 in
31336 _menhir_env.MenhirLib.EngineTypes.stack <- {
31337 MenhirLib.EngineTypes.state = _menhir_s;
31338 MenhirLib.EngineTypes.semv = Obj.repr _v;
31339 MenhirLib.EngineTypes.startp = _startpos;
31340 MenhirLib.EngineTypes.endp = _endpos;
31341 MenhirLib.EngineTypes.next = _menhir_stack;
31342 });
31343 (fun _menhir_env ->
31344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31345 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31346 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31347 let _endpos = _startpos in
31348 let _v : 'tv_toplevel_after_dots =
31349 # 1718 "parser_cocci_menhir.mly"
31350 ([])
31351 # 31352 "parser_cocci_menhir.ml"
31352 in
31353 _menhir_env.MenhirLib.EngineTypes.stack <- {
31354 MenhirLib.EngineTypes.state = _menhir_s;
31355 MenhirLib.EngineTypes.semv = Obj.repr _v;
31356 MenhirLib.EngineTypes.startp = _startpos;
31357 MenhirLib.EngineTypes.endp = _endpos;
31358 MenhirLib.EngineTypes.next = _menhir_stack;
31359 });
31360 (fun _menhir_env ->
31361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31362 let {
31363 MenhirLib.EngineTypes.semv = _2;
31364 MenhirLib.EngineTypes.startp = _startpos__2_;
31365 MenhirLib.EngineTypes.endp = _endpos__2_;
31366 MenhirLib.EngineTypes.next = {
31367 MenhirLib.EngineTypes.state = _menhir_s;
31368 MenhirLib.EngineTypes.startp = _startpos__1_;
31369 MenhirLib.EngineTypes.endp = _endpos__1_;
31370 MenhirLib.EngineTypes.next = _menhir_stack;
31371 };
31372 } = _menhir_stack in
31373 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31374 let _startpos = _startpos__1_ in
31375 let _endpos = _endpos__2_ in
31376 let _v : 'tv_toplevel_after_dots =
31377 # 1719 "parser_cocci_menhir.mly"
31378 (_2)
31379 # 31380 "parser_cocci_menhir.ml"
31380 in
31381 _menhir_env.MenhirLib.EngineTypes.stack <- {
31382 MenhirLib.EngineTypes.state = _menhir_s;
31383 MenhirLib.EngineTypes.semv = Obj.repr _v;
31384 MenhirLib.EngineTypes.startp = _startpos;
31385 MenhirLib.EngineTypes.endp = _endpos;
31386 MenhirLib.EngineTypes.next = _menhir_stack;
31387 });
31388 (fun _menhir_env ->
31389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31390 let {
31391 MenhirLib.EngineTypes.semv = _2;
31392 MenhirLib.EngineTypes.startp = _startpos__2_;
31393 MenhirLib.EngineTypes.endp = _endpos__2_;
31394 MenhirLib.EngineTypes.next = {
31395 MenhirLib.EngineTypes.state = _menhir_s;
31396 MenhirLib.EngineTypes.semv = _1;
31397 MenhirLib.EngineTypes.startp = _startpos__1_;
31398 MenhirLib.EngineTypes.endp = _endpos__1_;
31399 MenhirLib.EngineTypes.next = _menhir_stack;
31400 };
31401 } = _menhir_stack in
31402 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31403 let _1 : 'tv_expr = Obj.magic _1 in
31404 let _startpos = _startpos__1_ in
31405 let _endpos = _endpos__2_ in
31406 let _v : 'tv_toplevel_after_dots =
31407 # 1720 "parser_cocci_menhir.mly"
31408 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31409 # 31410 "parser_cocci_menhir.ml"
31410 in
31411 _menhir_env.MenhirLib.EngineTypes.stack <- {
31412 MenhirLib.EngineTypes.state = _menhir_s;
31413 MenhirLib.EngineTypes.semv = Obj.repr _v;
31414 MenhirLib.EngineTypes.startp = _startpos;
31415 MenhirLib.EngineTypes.endp = _endpos;
31416 MenhirLib.EngineTypes.next = _menhir_stack;
31417 });
31418 (fun _menhir_env ->
31419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31420 let {
31421 MenhirLib.EngineTypes.semv = _2;
31422 MenhirLib.EngineTypes.startp = _startpos__2_;
31423 MenhirLib.EngineTypes.endp = _endpos__2_;
31424 MenhirLib.EngineTypes.next = {
31425 MenhirLib.EngineTypes.state = _menhir_s;
31426 MenhirLib.EngineTypes.semv = _1;
31427 MenhirLib.EngineTypes.startp = _startpos__1_;
31428 MenhirLib.EngineTypes.endp = _endpos__1_;
31429 MenhirLib.EngineTypes.next = _menhir_stack;
31430 };
31431 } = _menhir_stack in
31432 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31433 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31434 let _startpos = _startpos__1_ in
31435 let _endpos = _endpos__2_ in
31436 let _v : 'tv_toplevel_after_dots =
31437 # 1721 "parser_cocci_menhir.mly"
31438 (_1@_2)
31439 # 31440 "parser_cocci_menhir.ml"
31440 in
31441 _menhir_env.MenhirLib.EngineTypes.stack <- {
31442 MenhirLib.EngineTypes.state = _menhir_s;
31443 MenhirLib.EngineTypes.semv = Obj.repr _v;
31444 MenhirLib.EngineTypes.startp = _startpos;
31445 MenhirLib.EngineTypes.endp = _endpos;
31446 MenhirLib.EngineTypes.next = _menhir_stack;
31447 });
31448 (fun _menhir_env ->
31449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31450 let {
31451 MenhirLib.EngineTypes.semv = _2;
31452 MenhirLib.EngineTypes.startp = _startpos__2_;
31453 MenhirLib.EngineTypes.endp = _endpos__2_;
31454 MenhirLib.EngineTypes.next = {
31455 MenhirLib.EngineTypes.state = _menhir_s;
31456 MenhirLib.EngineTypes.startp = _startpos__1_;
31457 MenhirLib.EngineTypes.endp = _endpos__1_;
31458 MenhirLib.EngineTypes.next = _menhir_stack;
31459 };
31460 } = _menhir_stack in
31461 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31462 let _startpos = _startpos__1_ in
31463 let _endpos = _endpos__2_ in
31464 let _v : 'tv_toplevel_after_dots_init =
31465 # 1709 "parser_cocci_menhir.mly"
31466 (_2)
31467 # 31468 "parser_cocci_menhir.ml"
31468 in
31469 _menhir_env.MenhirLib.EngineTypes.stack <- {
31470 MenhirLib.EngineTypes.state = _menhir_s;
31471 MenhirLib.EngineTypes.semv = Obj.repr _v;
31472 MenhirLib.EngineTypes.startp = _startpos;
31473 MenhirLib.EngineTypes.endp = _endpos;
31474 MenhirLib.EngineTypes.next = _menhir_stack;
31475 });
31476 (fun _menhir_env ->
31477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31478 let {
31479 MenhirLib.EngineTypes.semv = _2;
31480 MenhirLib.EngineTypes.startp = _startpos__2_;
31481 MenhirLib.EngineTypes.endp = _endpos__2_;
31482 MenhirLib.EngineTypes.next = {
31483 MenhirLib.EngineTypes.state = _menhir_s;
31484 MenhirLib.EngineTypes.semv = _1;
31485 MenhirLib.EngineTypes.startp = _startpos__1_;
31486 MenhirLib.EngineTypes.endp = _endpos__1_;
31487 MenhirLib.EngineTypes.next = _menhir_stack;
31488 };
31489 } = _menhir_stack in
31490 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31491 let _1 : 'tv_expr = Obj.magic _1 in
31492 let _startpos = _startpos__1_ in
31493 let _endpos = _endpos__2_ in
31494 let _v : 'tv_toplevel_after_dots_init =
31495 # 1710 "parser_cocci_menhir.mly"
31496 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31497 # 31498 "parser_cocci_menhir.ml"
31498 in
31499 _menhir_env.MenhirLib.EngineTypes.stack <- {
31500 MenhirLib.EngineTypes.state = _menhir_s;
31501 MenhirLib.EngineTypes.semv = Obj.repr _v;
31502 MenhirLib.EngineTypes.startp = _startpos;
31503 MenhirLib.EngineTypes.endp = _endpos;
31504 MenhirLib.EngineTypes.next = _menhir_stack;
31505 });
31506 (fun _menhir_env ->
31507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31508 let {
31509 MenhirLib.EngineTypes.semv = _2;
31510 MenhirLib.EngineTypes.startp = _startpos__2_;
31511 MenhirLib.EngineTypes.endp = _endpos__2_;
31512 MenhirLib.EngineTypes.next = {
31513 MenhirLib.EngineTypes.state = _menhir_s;
31514 MenhirLib.EngineTypes.semv = _1;
31515 MenhirLib.EngineTypes.startp = _startpos__1_;
31516 MenhirLib.EngineTypes.endp = _endpos__1_;
31517 MenhirLib.EngineTypes.next = _menhir_stack;
31518 };
31519 } = _menhir_stack in
31520 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31521 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31522 let _startpos = _startpos__1_ in
31523 let _endpos = _endpos__2_ in
31524 let _v : 'tv_toplevel_after_dots_init =
31525 # 1711 "parser_cocci_menhir.mly"
31526 (_1@_2)
31527 # 31528 "parser_cocci_menhir.ml"
31528 in
31529 _menhir_env.MenhirLib.EngineTypes.stack <- {
31530 MenhirLib.EngineTypes.state = _menhir_s;
31531 MenhirLib.EngineTypes.semv = Obj.repr _v;
31532 MenhirLib.EngineTypes.startp = _startpos;
31533 MenhirLib.EngineTypes.endp = _endpos;
31534 MenhirLib.EngineTypes.next = _menhir_stack;
31535 });
31536 (fun _menhir_env ->
31537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31538 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31539 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31540 let _endpos = _startpos in
31541 let _v : 'tv_toplevel_after_exp =
31542 # 1714 "parser_cocci_menhir.mly"
31543 ([])
31544 # 31545 "parser_cocci_menhir.ml"
31545 in
31546 _menhir_env.MenhirLib.EngineTypes.stack <- {
31547 MenhirLib.EngineTypes.state = _menhir_s;
31548 MenhirLib.EngineTypes.semv = Obj.repr _v;
31549 MenhirLib.EngineTypes.startp = _startpos;
31550 MenhirLib.EngineTypes.endp = _endpos;
31551 MenhirLib.EngineTypes.next = _menhir_stack;
31552 });
31553 (fun _menhir_env ->
31554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31555 let {
31556 MenhirLib.EngineTypes.semv = _2;
31557 MenhirLib.EngineTypes.startp = _startpos__2_;
31558 MenhirLib.EngineTypes.endp = _endpos__2_;
31559 MenhirLib.EngineTypes.next = {
31560 MenhirLib.EngineTypes.state = _menhir_s;
31561 MenhirLib.EngineTypes.semv = _1;
31562 MenhirLib.EngineTypes.startp = _startpos__1_;
31563 MenhirLib.EngineTypes.endp = _endpos__1_;
31564 MenhirLib.EngineTypes.next = _menhir_stack;
31565 };
31566 } = _menhir_stack in
31567 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31568 let _1 : 'tv_stm_dots = Obj.magic _1 in
31569 let _startpos = _startpos__1_ in
31570 let _endpos = _endpos__2_ in
31571 let _v : 'tv_toplevel_after_exp =
31572 # 1715 "parser_cocci_menhir.mly"
31573 (_1::_2)
31574 # 31575 "parser_cocci_menhir.ml"
31575 in
31576 _menhir_env.MenhirLib.EngineTypes.stack <- {
31577 MenhirLib.EngineTypes.state = _menhir_s;
31578 MenhirLib.EngineTypes.semv = Obj.repr _v;
31579 MenhirLib.EngineTypes.startp = _startpos;
31580 MenhirLib.EngineTypes.endp = _endpos;
31581 MenhirLib.EngineTypes.next = _menhir_stack;
31582 });
31583 (fun _menhir_env ->
31584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31585 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31586 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31587 let _endpos = _startpos in
31588 let _v : 'tv_toplevel_after_stm =
31589 # 1724 "parser_cocci_menhir.mly"
31590 ([])
31591 # 31592 "parser_cocci_menhir.ml"
31592 in
31593 _menhir_env.MenhirLib.EngineTypes.stack <- {
31594 MenhirLib.EngineTypes.state = _menhir_s;
31595 MenhirLib.EngineTypes.semv = Obj.repr _v;
31596 MenhirLib.EngineTypes.startp = _startpos;
31597 MenhirLib.EngineTypes.endp = _endpos;
31598 MenhirLib.EngineTypes.next = _menhir_stack;
31599 });
31600 (fun _menhir_env ->
31601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31602 let {
31603 MenhirLib.EngineTypes.semv = _2;
31604 MenhirLib.EngineTypes.startp = _startpos__2_;
31605 MenhirLib.EngineTypes.endp = _endpos__2_;
31606 MenhirLib.EngineTypes.next = {
31607 MenhirLib.EngineTypes.state = _menhir_s;
31608 MenhirLib.EngineTypes.semv = _1;
31609 MenhirLib.EngineTypes.startp = _startpos__1_;
31610 MenhirLib.EngineTypes.endp = _endpos__1_;
31611 MenhirLib.EngineTypes.next = _menhir_stack;
31612 };
31613 } = _menhir_stack in
31614 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31615 let _1 : 'tv_stm_dots = Obj.magic _1 in
31616 let _startpos = _startpos__1_ in
31617 let _endpos = _endpos__2_ in
31618 let _v : 'tv_toplevel_after_stm =
31619 # 1725 "parser_cocci_menhir.mly"
31620 (_1::_2)
31621 # 31622 "parser_cocci_menhir.ml"
31622 in
31623 _menhir_env.MenhirLib.EngineTypes.stack <- {
31624 MenhirLib.EngineTypes.state = _menhir_s;
31625 MenhirLib.EngineTypes.semv = Obj.repr _v;
31626 MenhirLib.EngineTypes.startp = _startpos;
31627 MenhirLib.EngineTypes.endp = _endpos;
31628 MenhirLib.EngineTypes.next = _menhir_stack;
31629 });
31630 (fun _menhir_env ->
31631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31632 let {
31633 MenhirLib.EngineTypes.semv = _2;
31634 MenhirLib.EngineTypes.startp = _startpos__2_;
31635 MenhirLib.EngineTypes.endp = _endpos__2_;
31636 MenhirLib.EngineTypes.next = {
31637 MenhirLib.EngineTypes.state = _menhir_s;
31638 MenhirLib.EngineTypes.semv = _1;
31639 MenhirLib.EngineTypes.startp = _startpos__1_;
31640 MenhirLib.EngineTypes.endp = _endpos__1_;
31641 MenhirLib.EngineTypes.next = _menhir_stack;
31642 };
31643 } = _menhir_stack in
31644 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31645 let _1 : 'tv_decl_statement = Obj.magic _1 in
31646 let _startpos = _startpos__1_ in
31647 let _endpos = _endpos__2_ in
31648 let _v : 'tv_toplevel_after_stm =
31649 # 1726 "parser_cocci_menhir.mly"
31650 (_1@_2)
31651 # 31652 "parser_cocci_menhir.ml"
31652 in
31653 _menhir_env.MenhirLib.EngineTypes.stack <- {
31654 MenhirLib.EngineTypes.state = _menhir_s;
31655 MenhirLib.EngineTypes.semv = Obj.repr _v;
31656 MenhirLib.EngineTypes.startp = _startpos;
31657 MenhirLib.EngineTypes.endp = _endpos;
31658 MenhirLib.EngineTypes.next = _menhir_stack;
31659 });
31660 (fun _menhir_env ->
31661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31662 let {
31663 MenhirLib.EngineTypes.semv = _2;
31664 MenhirLib.EngineTypes.startp = _startpos__2_;
31665 MenhirLib.EngineTypes.endp = _endpos__2_;
31666 MenhirLib.EngineTypes.next = {
31667 MenhirLib.EngineTypes.state = _menhir_s;
31668 MenhirLib.EngineTypes.semv = _1;
31669 MenhirLib.EngineTypes.startp = _startpos__1_;
31670 MenhirLib.EngineTypes.endp = _endpos__1_;
31671 MenhirLib.EngineTypes.next = _menhir_stack;
31672 };
31673 } = _menhir_stack in
31674 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31675 let _1 : 'tv_stm_dots = Obj.magic _1 in
31676 let _startpos = _startpos__1_ in
31677 let _endpos = _endpos__2_ in
31678 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
31679 # 1704 "parser_cocci_menhir.mly"
31680 ( _1::_2 )
31681 # 31682 "parser_cocci_menhir.ml"
31682 in
31683 _menhir_env.MenhirLib.EngineTypes.stack <- {
31684 MenhirLib.EngineTypes.state = _menhir_s;
31685 MenhirLib.EngineTypes.semv = Obj.repr _v;
31686 MenhirLib.EngineTypes.startp = _startpos;
31687 MenhirLib.EngineTypes.endp = _endpos;
31688 MenhirLib.EngineTypes.next = _menhir_stack;
31689 });
31690 (fun _menhir_env ->
31691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31692 let {
31693 MenhirLib.EngineTypes.semv = _2;
31694 MenhirLib.EngineTypes.startp = _startpos__2_;
31695 MenhirLib.EngineTypes.endp = _endpos__2_;
31696 MenhirLib.EngineTypes.next = {
31697 MenhirLib.EngineTypes.state = _menhir_s;
31698 MenhirLib.EngineTypes.semv = _1;
31699 MenhirLib.EngineTypes.startp = _startpos__1_;
31700 MenhirLib.EngineTypes.endp = _endpos__1_;
31701 MenhirLib.EngineTypes.next = _menhir_stack;
31702 };
31703 } = _menhir_stack in
31704 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31705 let _1 : 'tv_expr = Obj.magic _1 in
31706 let _startpos = _startpos__1_ in
31707 let _endpos = _endpos__2_ in
31708 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
31709 # 1705 "parser_cocci_menhir.mly"
31710 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
31711 # 31712 "parser_cocci_menhir.ml"
31712 in
31713 _menhir_env.MenhirLib.EngineTypes.stack <- {
31714 MenhirLib.EngineTypes.state = _menhir_s;
31715 MenhirLib.EngineTypes.semv = Obj.repr _v;
31716 MenhirLib.EngineTypes.startp = _startpos;
31717 MenhirLib.EngineTypes.endp = _endpos;
31718 MenhirLib.EngineTypes.next = _menhir_stack;
31719 });
31720 (fun _menhir_env ->
31721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31722 let {
31723 MenhirLib.EngineTypes.semv = _2;
31724 MenhirLib.EngineTypes.startp = _startpos__2_;
31725 MenhirLib.EngineTypes.endp = _endpos__2_;
31726 MenhirLib.EngineTypes.next = {
31727 MenhirLib.EngineTypes.state = _menhir_s;
31728 MenhirLib.EngineTypes.semv = _1;
31729 MenhirLib.EngineTypes.startp = _startpos__1_;
31730 MenhirLib.EngineTypes.endp = _endpos__1_;
31731 MenhirLib.EngineTypes.next = _menhir_stack;
31732 };
31733 } = _menhir_stack in
31734 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31735 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31736 let _startpos = _startpos__1_ in
31737 let _endpos = _endpos__2_ in
31738 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
31739 # 1706 "parser_cocci_menhir.mly"
31740 ( _1@_2 )
31741 # 31742 "parser_cocci_menhir.ml"
31742 in
31743 _menhir_env.MenhirLib.EngineTypes.stack <- {
31744 MenhirLib.EngineTypes.state = _menhir_s;
31745 MenhirLib.EngineTypes.semv = Obj.repr _v;
31746 MenhirLib.EngineTypes.startp = _startpos;
31747 MenhirLib.EngineTypes.endp = _endpos;
31748 MenhirLib.EngineTypes.next = _menhir_stack;
31749 });
31750 (fun _menhir_env ->
31751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31752 let {
31753 MenhirLib.EngineTypes.semv = b;
31754 MenhirLib.EngineTypes.startp = _startpos_b_;
31755 MenhirLib.EngineTypes.endp = _endpos_b_;
31756 MenhirLib.EngineTypes.next = {
31757 MenhirLib.EngineTypes.semv = w0;
31758 MenhirLib.EngineTypes.startp = _startpos_w0_;
31759 MenhirLib.EngineTypes.endp = _endpos_w0_;
31760 MenhirLib.EngineTypes.next = {
31761 MenhirLib.EngineTypes.state = _menhir_s;
31762 MenhirLib.EngineTypes.semv = a0;
31763 MenhirLib.EngineTypes.startp = _startpos_a0_;
31764 MenhirLib.EngineTypes.endp = _endpos_a0_;
31765 MenhirLib.EngineTypes.next = _menhir_stack;
31766 };
31767 };
31768 } = _menhir_stack in
31769 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
31770 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31771 let a0 : (
31772 # 73 "parser_cocci_menhir.mly"
31773 (Data.clt)
31774 # 31775 "parser_cocci_menhir.ml"
31775 ) = Obj.magic a0 in
31776 let _startpos = _startpos_a0_ in
31777 let _endpos = _endpos_b_ in
31778 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31779 let w = w0 in
31780 let a = a0 in
31781
31782 # 887 "parser_cocci_menhir.mly"
31783 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
31784 # 31785 "parser_cocci_menhir.ml"
31785
31786 in
31787
31788 # 1697 "parser_cocci_menhir.mly"
31789 ( a::b )
31790 # 31791 "parser_cocci_menhir.ml"
31791 in
31792 _menhir_env.MenhirLib.EngineTypes.stack <- {
31793 MenhirLib.EngineTypes.state = _menhir_s;
31794 MenhirLib.EngineTypes.semv = Obj.repr _v;
31795 MenhirLib.EngineTypes.startp = _startpos;
31796 MenhirLib.EngineTypes.endp = _endpos;
31797 MenhirLib.EngineTypes.next = _menhir_stack;
31798 });
31799 (fun _menhir_env ->
31800 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31801 let {
31802 MenhirLib.EngineTypes.semv = b;
31803 MenhirLib.EngineTypes.startp = _startpos_b_;
31804 MenhirLib.EngineTypes.endp = _endpos_b_;
31805 MenhirLib.EngineTypes.next = {
31806 MenhirLib.EngineTypes.semv = c0;
31807 MenhirLib.EngineTypes.startp = _startpos_c0_;
31808 MenhirLib.EngineTypes.endp = _endpos_c0_;
31809 MenhirLib.EngineTypes.next = {
31810 MenhirLib.EngineTypes.semv = b0;
31811 MenhirLib.EngineTypes.startp = _startpos_b0_;
31812 MenhirLib.EngineTypes.endp = _endpos_b0_;
31813 MenhirLib.EngineTypes.next = {
31814 MenhirLib.EngineTypes.semv = w0;
31815 MenhirLib.EngineTypes.startp = _startpos_w0_;
31816 MenhirLib.EngineTypes.endp = _endpos_w0_;
31817 MenhirLib.EngineTypes.next = {
31818 MenhirLib.EngineTypes.state = _menhir_s;
31819 MenhirLib.EngineTypes.semv = a0;
31820 MenhirLib.EngineTypes.startp = _startpos_a0_;
31821 MenhirLib.EngineTypes.endp = _endpos_a0_;
31822 MenhirLib.EngineTypes.next = _menhir_stack;
31823 };
31824 };
31825 };
31826 };
31827 } = _menhir_stack in
31828 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
31829 let c0 : (
31830 # 73 "parser_cocci_menhir.mly"
31831 (Data.clt)
31832 # 31833 "parser_cocci_menhir.ml"
31833 ) = Obj.magic c0 in
31834 let b0 : 'tv_nest_start = Obj.magic b0 in
31835 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31836 let a0 : (
31837 # 73 "parser_cocci_menhir.mly"
31838 (Data.clt)
31839 # 31840 "parser_cocci_menhir.ml"
31840 ) = Obj.magic a0 in
31841 let _startpos = _startpos_a0_ in
31842 let _endpos = _endpos_b_ in
31843 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31844 let c = c0 in
31845 let b = b0 in
31846 let w = w0 in
31847 let a = a0 in
31848
31849 # 891 "parser_cocci_menhir.mly"
31850 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
31851 P.clt2mcode "...>" c, List.concat w, false)) )
31852 # 31853 "parser_cocci_menhir.ml"
31853
31854 in
31855
31856 # 1698 "parser_cocci_menhir.mly"
31857 ( a::b )
31858 # 31859 "parser_cocci_menhir.ml"
31859 in
31860 _menhir_env.MenhirLib.EngineTypes.stack <- {
31861 MenhirLib.EngineTypes.state = _menhir_s;
31862 MenhirLib.EngineTypes.semv = Obj.repr _v;
31863 MenhirLib.EngineTypes.startp = _startpos;
31864 MenhirLib.EngineTypes.endp = _endpos;
31865 MenhirLib.EngineTypes.next = _menhir_stack;
31866 });
31867 (fun _menhir_env ->
31868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31869 let {
31870 MenhirLib.EngineTypes.semv = b;
31871 MenhirLib.EngineTypes.startp = _startpos_b_;
31872 MenhirLib.EngineTypes.endp = _endpos_b_;
31873 MenhirLib.EngineTypes.next = {
31874 MenhirLib.EngineTypes.semv = c0;
31875 MenhirLib.EngineTypes.startp = _startpos_c0_;
31876 MenhirLib.EngineTypes.endp = _endpos_c0_;
31877 MenhirLib.EngineTypes.next = {
31878 MenhirLib.EngineTypes.semv = b0;
31879 MenhirLib.EngineTypes.startp = _startpos_b0_;
31880 MenhirLib.EngineTypes.endp = _endpos_b0_;
31881 MenhirLib.EngineTypes.next = {
31882 MenhirLib.EngineTypes.semv = w0;
31883 MenhirLib.EngineTypes.startp = _startpos_w0_;
31884 MenhirLib.EngineTypes.endp = _endpos_w0_;
31885 MenhirLib.EngineTypes.next = {
31886 MenhirLib.EngineTypes.state = _menhir_s;
31887 MenhirLib.EngineTypes.semv = a0;
31888 MenhirLib.EngineTypes.startp = _startpos_a0_;
31889 MenhirLib.EngineTypes.endp = _endpos_a0_;
31890 MenhirLib.EngineTypes.next = _menhir_stack;
31891 };
31892 };
31893 };
31894 };
31895 } = _menhir_stack in
31896 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
31897 let c0 : (
31898 # 73 "parser_cocci_menhir.mly"
31899 (Data.clt)
31900 # 31901 "parser_cocci_menhir.ml"
31901 ) = Obj.magic c0 in
31902 let b0 : 'tv_nest_start = Obj.magic b0 in
31903 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31904 let a0 : (
31905 # 73 "parser_cocci_menhir.mly"
31906 (Data.clt)
31907 # 31908 "parser_cocci_menhir.ml"
31908 ) = Obj.magic a0 in
31909 let _startpos = _startpos_a0_ in
31910 let _endpos = _endpos_b_ in
31911 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31912 let c = c0 in
31913 let b = b0 in
31914 let w = w0 in
31915 let a = a0 in
31916
31917 # 894 "parser_cocci_menhir.mly"
31918 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
31919 P.clt2mcode "...+>" c, List.concat w, true)) )
31920 # 31921 "parser_cocci_menhir.ml"
31921
31922 in
31923
31924 # 1698 "parser_cocci_menhir.mly"
31925 ( a::b )
31926 # 31927 "parser_cocci_menhir.ml"
31927 in
31928 _menhir_env.MenhirLib.EngineTypes.stack <- {
31929 MenhirLib.EngineTypes.state = _menhir_s;
31930 MenhirLib.EngineTypes.semv = Obj.repr _v;
31931 MenhirLib.EngineTypes.startp = _startpos;
31932 MenhirLib.EngineTypes.endp = _endpos;
31933 MenhirLib.EngineTypes.next = _menhir_stack;
31934 });
31935 (fun _menhir_env ->
31936 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31937 let {
31938 MenhirLib.EngineTypes.semv = c0;
31939 MenhirLib.EngineTypes.startp = _startpos_c0_;
31940 MenhirLib.EngineTypes.endp = _endpos_c0_;
31941 MenhirLib.EngineTypes.next = {
31942 MenhirLib.EngineTypes.semv = b0;
31943 MenhirLib.EngineTypes.startp = _startpos_b0_;
31944 MenhirLib.EngineTypes.endp = _endpos_b0_;
31945 MenhirLib.EngineTypes.next = {
31946 MenhirLib.EngineTypes.semv = w0;
31947 MenhirLib.EngineTypes.startp = _startpos_w0_;
31948 MenhirLib.EngineTypes.endp = _endpos_w0_;
31949 MenhirLib.EngineTypes.next = {
31950 MenhirLib.EngineTypes.state = _menhir_s;
31951 MenhirLib.EngineTypes.semv = a0;
31952 MenhirLib.EngineTypes.startp = _startpos_a0_;
31953 MenhirLib.EngineTypes.endp = _endpos_a0_;
31954 MenhirLib.EngineTypes.next = _menhir_stack;
31955 };
31956 };
31957 };
31958 } = _menhir_stack in
31959 let c0 : (
31960 # 73 "parser_cocci_menhir.mly"
31961 (Data.clt)
31962 # 31963 "parser_cocci_menhir.ml"
31963 ) = Obj.magic c0 in
31964 let b0 : 'tv_nest_start = Obj.magic b0 in
31965 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31966 let a0 : (
31967 # 73 "parser_cocci_menhir.mly"
31968 (Data.clt)
31969 # 31970 "parser_cocci_menhir.ml"
31970 ) = Obj.magic a0 in
31971 let _startpos = _startpos_a0_ in
31972 let _endpos = _endpos_c0_ in
31973 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31974 let c = c0 in
31975 let b = b0 in
31976 let w = w0 in
31977 let a = a0 in
31978
31979 # 891 "parser_cocci_menhir.mly"
31980 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
31981 P.clt2mcode "...>" c, List.concat w, false)) )
31982 # 31983 "parser_cocci_menhir.ml"
31983
31984 in
31985
31986 # 1699 "parser_cocci_menhir.mly"
31987 ( [a] )
31988 # 31989 "parser_cocci_menhir.ml"
31989 in
31990 _menhir_env.MenhirLib.EngineTypes.stack <- {
31991 MenhirLib.EngineTypes.state = _menhir_s;
31992 MenhirLib.EngineTypes.semv = Obj.repr _v;
31993 MenhirLib.EngineTypes.startp = _startpos;
31994 MenhirLib.EngineTypes.endp = _endpos;
31995 MenhirLib.EngineTypes.next = _menhir_stack;
31996 });
31997 (fun _menhir_env ->
31998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31999 let {
32000 MenhirLib.EngineTypes.semv = c0;
32001 MenhirLib.EngineTypes.startp = _startpos_c0_;
32002 MenhirLib.EngineTypes.endp = _endpos_c0_;
32003 MenhirLib.EngineTypes.next = {
32004 MenhirLib.EngineTypes.semv = b0;
32005 MenhirLib.EngineTypes.startp = _startpos_b0_;
32006 MenhirLib.EngineTypes.endp = _endpos_b0_;
32007 MenhirLib.EngineTypes.next = {
32008 MenhirLib.EngineTypes.semv = w0;
32009 MenhirLib.EngineTypes.startp = _startpos_w0_;
32010 MenhirLib.EngineTypes.endp = _endpos_w0_;
32011 MenhirLib.EngineTypes.next = {
32012 MenhirLib.EngineTypes.state = _menhir_s;
32013 MenhirLib.EngineTypes.semv = a0;
32014 MenhirLib.EngineTypes.startp = _startpos_a0_;
32015 MenhirLib.EngineTypes.endp = _endpos_a0_;
32016 MenhirLib.EngineTypes.next = _menhir_stack;
32017 };
32018 };
32019 };
32020 } = _menhir_stack in
32021 let c0 : (
32022 # 73 "parser_cocci_menhir.mly"
32023 (Data.clt)
32024 # 32025 "parser_cocci_menhir.ml"
32025 ) = Obj.magic c0 in
32026 let b0 : 'tv_nest_start = Obj.magic b0 in
32027 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32028 let a0 : (
32029 # 73 "parser_cocci_menhir.mly"
32030 (Data.clt)
32031 # 32032 "parser_cocci_menhir.ml"
32032 ) = Obj.magic a0 in
32033 let _startpos = _startpos_a0_ in
32034 let _endpos = _endpos_c0_ in
32035 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32036 let c = c0 in
32037 let b = b0 in
32038 let w = w0 in
32039 let a = a0 in
32040
32041 # 894 "parser_cocci_menhir.mly"
32042 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32043 P.clt2mcode "...+>" c, List.concat w, true)) )
32044 # 32045 "parser_cocci_menhir.ml"
32045
32046 in
32047
32048 # 1699 "parser_cocci_menhir.mly"
32049 ( [a] )
32050 # 32051 "parser_cocci_menhir.ml"
32051 in
32052 _menhir_env.MenhirLib.EngineTypes.stack <- {
32053 MenhirLib.EngineTypes.state = _menhir_s;
32054 MenhirLib.EngineTypes.semv = Obj.repr _v;
32055 MenhirLib.EngineTypes.startp = _startpos;
32056 MenhirLib.EngineTypes.endp = _endpos;
32057 MenhirLib.EngineTypes.next = _menhir_stack;
32058 });
32059 (fun _menhir_env ->
32060 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32061 let {
32062 MenhirLib.EngineTypes.semv = _2;
32063 MenhirLib.EngineTypes.startp = _startpos__2_;
32064 MenhirLib.EngineTypes.endp = _endpos__2_;
32065 MenhirLib.EngineTypes.next = {
32066 MenhirLib.EngineTypes.state = _menhir_s;
32067 MenhirLib.EngineTypes.semv = _1;
32068 MenhirLib.EngineTypes.startp = _startpos__1_;
32069 MenhirLib.EngineTypes.endp = _endpos__1_;
32070 MenhirLib.EngineTypes.next = _menhir_stack;
32071 };
32072 } = _menhir_stack in
32073 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32074 let _1 : 'tv_expr = Obj.magic _1 in
32075 let _startpos = _startpos__1_ in
32076 let _endpos = _endpos__2_ in
32077 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32078 # 1700 "parser_cocci_menhir.mly"
32079 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32080 # 32081 "parser_cocci_menhir.ml"
32081 in
32082 _menhir_env.MenhirLib.EngineTypes.stack <- {
32083 MenhirLib.EngineTypes.state = _menhir_s;
32084 MenhirLib.EngineTypes.semv = Obj.repr _v;
32085 MenhirLib.EngineTypes.startp = _startpos;
32086 MenhirLib.EngineTypes.endp = _endpos;
32087 MenhirLib.EngineTypes.next = _menhir_stack;
32088 });
32089 (fun _menhir_env ->
32090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32091 let {
32092 MenhirLib.EngineTypes.semv = _2;
32093 MenhirLib.EngineTypes.startp = _startpos__2_;
32094 MenhirLib.EngineTypes.endp = _endpos__2_;
32095 MenhirLib.EngineTypes.next = {
32096 MenhirLib.EngineTypes.state = _menhir_s;
32097 MenhirLib.EngineTypes.semv = _1;
32098 MenhirLib.EngineTypes.startp = _startpos__1_;
32099 MenhirLib.EngineTypes.endp = _endpos__1_;
32100 MenhirLib.EngineTypes.next = _menhir_stack;
32101 };
32102 } = _menhir_stack in
32103 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32104 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32105 let _startpos = _startpos__1_ in
32106 let _endpos = _endpos__2_ in
32107 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32108 # 1701 "parser_cocci_menhir.mly"
32109 ( _1@_2 )
32110 # 32111 "parser_cocci_menhir.ml"
32111 in
32112 _menhir_env.MenhirLib.EngineTypes.stack <- {
32113 MenhirLib.EngineTypes.state = _menhir_s;
32114 MenhirLib.EngineTypes.semv = Obj.repr _v;
32115 MenhirLib.EngineTypes.startp = _startpos;
32116 MenhirLib.EngineTypes.endp = _endpos;
32117 MenhirLib.EngineTypes.next = _menhir_stack;
32118 });
32119 (fun _menhir_env ->
32120 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32121 let {
32122 MenhirLib.EngineTypes.semv = m;
32123 MenhirLib.EngineTypes.startp = _startpos_m_;
32124 MenhirLib.EngineTypes.endp = _endpos_m_;
32125 MenhirLib.EngineTypes.next = {
32126 MenhirLib.EngineTypes.semv = ty00;
32127 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32128 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32129 MenhirLib.EngineTypes.next = {
32130 MenhirLib.EngineTypes.state = _menhir_s;
32131 MenhirLib.EngineTypes.semv = r0;
32132 MenhirLib.EngineTypes.startp = _startpos_r0_;
32133 MenhirLib.EngineTypes.endp = _endpos_r0_;
32134 MenhirLib.EngineTypes.next = _menhir_stack;
32135 };
32136 };
32137 } = _menhir_stack in
32138 let m : 'tv_list_TMul_ = Obj.magic m in
32139 let ty00 : (
32140 # 49 "parser_cocci_menhir.mly"
32141 (Data.clt)
32142 # 32143 "parser_cocci_menhir.ml"
32143 ) = Obj.magic ty00 in
32144 let r0 : (
32145 # 51 "parser_cocci_menhir.mly"
32146 (Data.clt)
32147 # 32148 "parser_cocci_menhir.ml"
32148 ) = Obj.magic r0 in
32149 let _startpos = _startpos_r0_ in
32150 let _endpos = _endpos_m_ in
32151 let _v : 'tv_typedef_ctype = let ty =
32152 let ty0 = ty00 in
32153 let r = r0 in
32154 let ty =
32155 let ty = ty0 in
32156
32157 # 478 "parser_cocci_menhir.mly"
32158 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32159 # 32160 "parser_cocci_menhir.ml"
32160
32161 in
32162
32163 # 530 "parser_cocci_menhir.mly"
32164 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32165 # 32166 "parser_cocci_menhir.ml"
32166
32167 in
32168 let cv =
32169
32170 # 39 "standard.mly"
32171 ( None )
32172 # 32173 "parser_cocci_menhir.ml"
32173
32174 in
32175
32176 # 551 "parser_cocci_menhir.mly"
32177 ( P.pointerify (P.make_cv cv ty) m )
32178 # 32179 "parser_cocci_menhir.ml"
32179 in
32180 _menhir_env.MenhirLib.EngineTypes.stack <- {
32181 MenhirLib.EngineTypes.state = _menhir_s;
32182 MenhirLib.EngineTypes.semv = Obj.repr _v;
32183 MenhirLib.EngineTypes.startp = _startpos;
32184 MenhirLib.EngineTypes.endp = _endpos;
32185 MenhirLib.EngineTypes.next = _menhir_stack;
32186 });
32187 (fun _menhir_env ->
32188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32189 let {
32190 MenhirLib.EngineTypes.semv = m;
32191 MenhirLib.EngineTypes.startp = _startpos_m_;
32192 MenhirLib.EngineTypes.endp = _endpos_m_;
32193 MenhirLib.EngineTypes.next = {
32194 MenhirLib.EngineTypes.semv = ty00;
32195 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32196 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32197 MenhirLib.EngineTypes.next = {
32198 MenhirLib.EngineTypes.state = _menhir_s;
32199 MenhirLib.EngineTypes.semv = r0;
32200 MenhirLib.EngineTypes.startp = _startpos_r0_;
32201 MenhirLib.EngineTypes.endp = _endpos_r0_;
32202 MenhirLib.EngineTypes.next = _menhir_stack;
32203 };
32204 };
32205 } = _menhir_stack in
32206 let m : 'tv_list_TMul_ = Obj.magic m in
32207 let ty00 : (
32208 # 49 "parser_cocci_menhir.mly"
32209 (Data.clt)
32210 # 32211 "parser_cocci_menhir.ml"
32211 ) = Obj.magic ty00 in
32212 let r0 : (
32213 # 51 "parser_cocci_menhir.mly"
32214 (Data.clt)
32215 # 32216 "parser_cocci_menhir.ml"
32216 ) = Obj.magic r0 in
32217 let _startpos = _startpos_r0_ in
32218 let _endpos = _endpos_m_ in
32219 let _v : 'tv_typedef_ctype = let ty =
32220 let ty0 = ty00 in
32221 let r = r0 in
32222 let ty =
32223 let ty = ty0 in
32224
32225 # 480 "parser_cocci_menhir.mly"
32226 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32227 # 32228 "parser_cocci_menhir.ml"
32228
32229 in
32230
32231 # 530 "parser_cocci_menhir.mly"
32232 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32233 # 32234 "parser_cocci_menhir.ml"
32234
32235 in
32236 let cv =
32237
32238 # 39 "standard.mly"
32239 ( None )
32240 # 32241 "parser_cocci_menhir.ml"
32241
32242 in
32243
32244 # 551 "parser_cocci_menhir.mly"
32245 ( P.pointerify (P.make_cv cv ty) m )
32246 # 32247 "parser_cocci_menhir.ml"
32247 in
32248 _menhir_env.MenhirLib.EngineTypes.stack <- {
32249 MenhirLib.EngineTypes.state = _menhir_s;
32250 MenhirLib.EngineTypes.semv = Obj.repr _v;
32251 MenhirLib.EngineTypes.startp = _startpos;
32252 MenhirLib.EngineTypes.endp = _endpos;
32253 MenhirLib.EngineTypes.next = _menhir_stack;
32254 });
32255 (fun _menhir_env ->
32256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32257 let {
32258 MenhirLib.EngineTypes.semv = m;
32259 MenhirLib.EngineTypes.startp = _startpos_m_;
32260 MenhirLib.EngineTypes.endp = _endpos_m_;
32261 MenhirLib.EngineTypes.next = {
32262 MenhirLib.EngineTypes.semv = ty00;
32263 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32264 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32265 MenhirLib.EngineTypes.next = {
32266 MenhirLib.EngineTypes.state = _menhir_s;
32267 MenhirLib.EngineTypes.semv = r0;
32268 MenhirLib.EngineTypes.startp = _startpos_r0_;
32269 MenhirLib.EngineTypes.endp = _endpos_r0_;
32270 MenhirLib.EngineTypes.next = _menhir_stack;
32271 };
32272 };
32273 } = _menhir_stack in
32274 let m : 'tv_list_TMul_ = Obj.magic m in
32275 let ty00 : (
32276 # 49 "parser_cocci_menhir.mly"
32277 (Data.clt)
32278 # 32279 "parser_cocci_menhir.ml"
32279 ) = Obj.magic ty00 in
32280 let r0 : (
32281 # 51 "parser_cocci_menhir.mly"
32282 (Data.clt)
32283 # 32284 "parser_cocci_menhir.ml"
32284 ) = Obj.magic r0 in
32285 let _startpos = _startpos_r0_ in
32286 let _endpos = _endpos_m_ in
32287 let _v : 'tv_typedef_ctype = let ty =
32288 let ty0 = ty00 in
32289 let r = r0 in
32290 let ty =
32291 let ty = ty0 in
32292
32293 # 482 "parser_cocci_menhir.mly"
32294 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32295 # 32296 "parser_cocci_menhir.ml"
32296
32297 in
32298
32299 # 530 "parser_cocci_menhir.mly"
32300 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32301 # 32302 "parser_cocci_menhir.ml"
32302
32303 in
32304 let cv =
32305
32306 # 39 "standard.mly"
32307 ( None )
32308 # 32309 "parser_cocci_menhir.ml"
32309
32310 in
32311
32312 # 551 "parser_cocci_menhir.mly"
32313 ( P.pointerify (P.make_cv cv ty) m )
32314 # 32315 "parser_cocci_menhir.ml"
32315 in
32316 _menhir_env.MenhirLib.EngineTypes.stack <- {
32317 MenhirLib.EngineTypes.state = _menhir_s;
32318 MenhirLib.EngineTypes.semv = Obj.repr _v;
32319 MenhirLib.EngineTypes.startp = _startpos;
32320 MenhirLib.EngineTypes.endp = _endpos;
32321 MenhirLib.EngineTypes.next = _menhir_stack;
32322 });
32323 (fun _menhir_env ->
32324 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32325 let {
32326 MenhirLib.EngineTypes.semv = m;
32327 MenhirLib.EngineTypes.startp = _startpos_m_;
32328 MenhirLib.EngineTypes.endp = _endpos_m_;
32329 MenhirLib.EngineTypes.next = {
32330 MenhirLib.EngineTypes.semv = p00;
32331 MenhirLib.EngineTypes.startp = _startpos_p00_;
32332 MenhirLib.EngineTypes.endp = _endpos_p00_;
32333 MenhirLib.EngineTypes.next = {
32334 MenhirLib.EngineTypes.state = _menhir_s;
32335 MenhirLib.EngineTypes.semv = r0;
32336 MenhirLib.EngineTypes.startp = _startpos_r0_;
32337 MenhirLib.EngineTypes.endp = _endpos_r0_;
32338 MenhirLib.EngineTypes.next = _menhir_stack;
32339 };
32340 };
32341 } = _menhir_stack in
32342 let m : 'tv_list_TMul_ = Obj.magic m in
32343 let p00 : (
32344 # 64 "parser_cocci_menhir.mly"
32345 (Parse_aux.info)
32346 # 32347 "parser_cocci_menhir.ml"
32347 ) = Obj.magic p00 in
32348 let r0 : (
32349 # 51 "parser_cocci_menhir.mly"
32350 (Data.clt)
32351 # 32352 "parser_cocci_menhir.ml"
32352 ) = Obj.magic r0 in
32353 let _startpos = _startpos_r0_ in
32354 let _endpos = _endpos_m_ in
32355 let _v : 'tv_typedef_ctype = let ty =
32356 let p0 = p00 in
32357 let r = r0 in
32358 let ty =
32359 let p = p0 in
32360
32361 # 484 "parser_cocci_menhir.mly"
32362 ( let (nm,pure,clt) = p in
32363 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32364 # 32365 "parser_cocci_menhir.ml"
32365
32366 in
32367
32368 # 530 "parser_cocci_menhir.mly"
32369 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32370 # 32371 "parser_cocci_menhir.ml"
32371
32372 in
32373 let cv =
32374
32375 # 39 "standard.mly"
32376 ( None )
32377 # 32378 "parser_cocci_menhir.ml"
32378
32379 in
32380
32381 # 551 "parser_cocci_menhir.mly"
32382 ( P.pointerify (P.make_cv cv ty) m )
32383 # 32384 "parser_cocci_menhir.ml"
32384 in
32385 _menhir_env.MenhirLib.EngineTypes.stack <- {
32386 MenhirLib.EngineTypes.state = _menhir_s;
32387 MenhirLib.EngineTypes.semv = Obj.repr _v;
32388 MenhirLib.EngineTypes.startp = _startpos;
32389 MenhirLib.EngineTypes.endp = _endpos;
32390 MenhirLib.EngineTypes.next = _menhir_stack;
32391 });
32392 (fun _menhir_env ->
32393 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32394 let {
32395 MenhirLib.EngineTypes.semv = m;
32396 MenhirLib.EngineTypes.startp = _startpos_m_;
32397 MenhirLib.EngineTypes.endp = _endpos_m_;
32398 MenhirLib.EngineTypes.next = {
32399 MenhirLib.EngineTypes.semv = p00;
32400 MenhirLib.EngineTypes.startp = _startpos_p00_;
32401 MenhirLib.EngineTypes.endp = _endpos_p00_;
32402 MenhirLib.EngineTypes.next = {
32403 MenhirLib.EngineTypes.startp = _startpos__3_;
32404 MenhirLib.EngineTypes.endp = _endpos__3_;
32405 MenhirLib.EngineTypes.next = {
32406 MenhirLib.EngineTypes.semv = r00;
32407 MenhirLib.EngineTypes.startp = _startpos_r00_;
32408 MenhirLib.EngineTypes.endp = _endpos_r00_;
32409 MenhirLib.EngineTypes.next = {
32410 MenhirLib.EngineTypes.state = _menhir_s;
32411 MenhirLib.EngineTypes.semv = r1;
32412 MenhirLib.EngineTypes.startp = _startpos_r1_;
32413 MenhirLib.EngineTypes.endp = _endpos_r1_;
32414 MenhirLib.EngineTypes.next = _menhir_stack;
32415 };
32416 };
32417 };
32418 };
32419 } = _menhir_stack in
32420 let m : 'tv_list_TMul_ = Obj.magic m in
32421 let p00 : (
32422 # 59 "parser_cocci_menhir.mly"
32423 (string * Data.clt)
32424 # 32425 "parser_cocci_menhir.ml"
32425 ) = Obj.magic p00 in
32426 let r00 : (
32427 # 47 "parser_cocci_menhir.mly"
32428 (string)
32429 # 32430 "parser_cocci_menhir.ml"
32430 ) = Obj.magic r00 in
32431 let r1 : (
32432 # 51 "parser_cocci_menhir.mly"
32433 (Data.clt)
32434 # 32435 "parser_cocci_menhir.ml"
32435 ) = Obj.magic r1 in
32436 let _startpos = _startpos_r1_ in
32437 let _endpos = _endpos_m_ in
32438 let _v : 'tv_typedef_ctype = let ty =
32439 let p0 = p00 in
32440 let r0 = r00 in
32441 let r = r1 in
32442 let ty =
32443 let p = p0 in
32444 let r = r0 in
32445
32446 # 487 "parser_cocci_menhir.mly"
32447 ( let nm = (r,P.id2name p) in
32448 (* this is only possible when we are in a metavar decl. Otherwise,
32449 it will be represented already as a MetaType *)
32450 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
32451 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
32452 Ast0.Impure (*will be ignored*))) )
32453 # 32454 "parser_cocci_menhir.ml"
32454
32455 in
32456
32457 # 530 "parser_cocci_menhir.mly"
32458 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32459 # 32460 "parser_cocci_menhir.ml"
32460
32461 in
32462 let cv =
32463
32464 # 39 "standard.mly"
32465 ( None )
32466 # 32467 "parser_cocci_menhir.ml"
32467
32468 in
32469
32470 # 551 "parser_cocci_menhir.mly"
32471 ( P.pointerify (P.make_cv cv ty) m )
32472 # 32473 "parser_cocci_menhir.ml"
32473 in
32474 _menhir_env.MenhirLib.EngineTypes.stack <- {
32475 MenhirLib.EngineTypes.state = _menhir_s;
32476 MenhirLib.EngineTypes.semv = Obj.repr _v;
32477 MenhirLib.EngineTypes.startp = _startpos;
32478 MenhirLib.EngineTypes.endp = _endpos;
32479 MenhirLib.EngineTypes.next = _menhir_stack;
32480 });
32481 (fun _menhir_env ->
32482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32483 let {
32484 MenhirLib.EngineTypes.semv = m;
32485 MenhirLib.EngineTypes.startp = _startpos_m_;
32486 MenhirLib.EngineTypes.endp = _endpos_m_;
32487 MenhirLib.EngineTypes.next = {
32488 MenhirLib.EngineTypes.semv = ty00;
32489 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32490 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32491 MenhirLib.EngineTypes.next = {
32492 MenhirLib.EngineTypes.state = _menhir_s;
32493 MenhirLib.EngineTypes.semv = r0;
32494 MenhirLib.EngineTypes.startp = _startpos_r0_;
32495 MenhirLib.EngineTypes.endp = _endpos_r0_;
32496 MenhirLib.EngineTypes.next = _menhir_stack;
32497 };
32498 };
32499 } = _menhir_stack in
32500 let m : 'tv_list_TMul_ = Obj.magic m in
32501 let ty00 : (
32502 # 49 "parser_cocci_menhir.mly"
32503 (Data.clt)
32504 # 32505 "parser_cocci_menhir.ml"
32505 ) = Obj.magic ty00 in
32506 let r0 : (
32507 # 51 "parser_cocci_menhir.mly"
32508 (Data.clt)
32509 # 32510 "parser_cocci_menhir.ml"
32510 ) = Obj.magic r0 in
32511 let _startpos = _startpos_r0_ in
32512 let _endpos = _endpos_m_ in
32513 let _v : 'tv_typedef_ctype = let ty =
32514 let ty0 = ty00 in
32515 let r = r0 in
32516 let ty =
32517 let ty = ty0 in
32518
32519 # 494 "parser_cocci_menhir.mly"
32520 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
32521 # 32522 "parser_cocci_menhir.ml"
32522
32523 in
32524
32525 # 530 "parser_cocci_menhir.mly"
32526 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32527 # 32528 "parser_cocci_menhir.ml"
32528
32529 in
32530 let cv =
32531
32532 # 39 "standard.mly"
32533 ( None )
32534 # 32535 "parser_cocci_menhir.ml"
32535
32536 in
32537
32538 # 551 "parser_cocci_menhir.mly"
32539 ( P.pointerify (P.make_cv cv ty) m )
32540 # 32541 "parser_cocci_menhir.ml"
32541 in
32542 _menhir_env.MenhirLib.EngineTypes.stack <- {
32543 MenhirLib.EngineTypes.state = _menhir_s;
32544 MenhirLib.EngineTypes.semv = Obj.repr _v;
32545 MenhirLib.EngineTypes.startp = _startpos;
32546 MenhirLib.EngineTypes.endp = _endpos;
32547 MenhirLib.EngineTypes.next = _menhir_stack;
32548 });
32549 (fun _menhir_env ->
32550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32551 let {
32552 MenhirLib.EngineTypes.semv = m;
32553 MenhirLib.EngineTypes.startp = _startpos_m_;
32554 MenhirLib.EngineTypes.endp = _endpos_m_;
32555 MenhirLib.EngineTypes.next = {
32556 MenhirLib.EngineTypes.semv = ty200;
32557 MenhirLib.EngineTypes.startp = _startpos_ty200_;
32558 MenhirLib.EngineTypes.endp = _endpos_ty200_;
32559 MenhirLib.EngineTypes.next = {
32560 MenhirLib.EngineTypes.semv = ty100;
32561 MenhirLib.EngineTypes.startp = _startpos_ty100_;
32562 MenhirLib.EngineTypes.endp = _endpos_ty100_;
32563 MenhirLib.EngineTypes.next = {
32564 MenhirLib.EngineTypes.state = _menhir_s;
32565 MenhirLib.EngineTypes.semv = r0;
32566 MenhirLib.EngineTypes.startp = _startpos_r0_;
32567 MenhirLib.EngineTypes.endp = _endpos_r0_;
32568 MenhirLib.EngineTypes.next = _menhir_stack;
32569 };
32570 };
32571 };
32572 } = _menhir_stack in
32573 let m : 'tv_list_TMul_ = Obj.magic m in
32574 let ty200 : (
32575 # 49 "parser_cocci_menhir.mly"
32576 (Data.clt)
32577 # 32578 "parser_cocci_menhir.ml"
32578 ) = Obj.magic ty200 in
32579 let ty100 : (
32580 # 49 "parser_cocci_menhir.mly"
32581 (Data.clt)
32582 # 32583 "parser_cocci_menhir.ml"
32583 ) = Obj.magic ty100 in
32584 let r0 : (
32585 # 51 "parser_cocci_menhir.mly"
32586 (Data.clt)
32587 # 32588 "parser_cocci_menhir.ml"
32588 ) = Obj.magic r0 in
32589 let _startpos = _startpos_r0_ in
32590 let _endpos = _endpos_m_ in
32591 let _v : 'tv_typedef_ctype = let ty =
32592 let ty20 = ty200 in
32593 let ty10 = ty100 in
32594 let r = r0 in
32595 let ty =
32596 let ty2 = ty20 in
32597 let ty1 = ty10 in
32598
32599 # 496 "parser_cocci_menhir.mly"
32600 ( Ast0.wrap
32601 (Ast0.BaseType
32602 (Ast.LongLongType,
32603 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
32604 # 32605 "parser_cocci_menhir.ml"
32605
32606 in
32607
32608 # 530 "parser_cocci_menhir.mly"
32609 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32610 # 32611 "parser_cocci_menhir.ml"
32611
32612 in
32613 let cv =
32614
32615 # 39 "standard.mly"
32616 ( None )
32617 # 32618 "parser_cocci_menhir.ml"
32618
32619 in
32620
32621 # 551 "parser_cocci_menhir.mly"
32622 ( P.pointerify (P.make_cv cv ty) m )
32623 # 32624 "parser_cocci_menhir.ml"
32624 in
32625 _menhir_env.MenhirLib.EngineTypes.stack <- {
32626 MenhirLib.EngineTypes.state = _menhir_s;
32627 MenhirLib.EngineTypes.semv = Obj.repr _v;
32628 MenhirLib.EngineTypes.startp = _startpos;
32629 MenhirLib.EngineTypes.endp = _endpos;
32630 MenhirLib.EngineTypes.next = _menhir_stack;
32631 });
32632 (fun _menhir_env ->
32633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32634 let {
32635 MenhirLib.EngineTypes.semv = m;
32636 MenhirLib.EngineTypes.startp = _startpos_m_;
32637 MenhirLib.EngineTypes.endp = _endpos_m_;
32638 MenhirLib.EngineTypes.next = {
32639 MenhirLib.EngineTypes.semv = ty00;
32640 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32641 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32642 MenhirLib.EngineTypes.next = {
32643 MenhirLib.EngineTypes.state = _menhir_s;
32644 MenhirLib.EngineTypes.semv = r0;
32645 MenhirLib.EngineTypes.startp = _startpos_r0_;
32646 MenhirLib.EngineTypes.endp = _endpos_r0_;
32647 MenhirLib.EngineTypes.next = _menhir_stack;
32648 };
32649 };
32650 } = _menhir_stack in
32651 let m : 'tv_list_TMul_ = Obj.magic m in
32652 let ty00 : (
32653 # 49 "parser_cocci_menhir.mly"
32654 (Data.clt)
32655 # 32656 "parser_cocci_menhir.ml"
32656 ) = Obj.magic ty00 in
32657 let r0 : (
32658 # 51 "parser_cocci_menhir.mly"
32659 (Data.clt)
32660 # 32661 "parser_cocci_menhir.ml"
32661 ) = Obj.magic r0 in
32662 let _startpos = _startpos_r0_ in
32663 let _endpos = _endpos_m_ in
32664 let _v : 'tv_typedef_ctype = let ty =
32665 let ty0 = ty00 in
32666 let r = r0 in
32667 let ty =
32668 let ty = ty0 in
32669
32670 # 478 "parser_cocci_menhir.mly"
32671 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32672 # 32673 "parser_cocci_menhir.ml"
32673
32674 in
32675
32676 # 532 "parser_cocci_menhir.mly"
32677 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32678 # 32679 "parser_cocci_menhir.ml"
32679
32680 in
32681 let cv =
32682
32683 # 39 "standard.mly"
32684 ( None )
32685 # 32686 "parser_cocci_menhir.ml"
32686
32687 in
32688
32689 # 551 "parser_cocci_menhir.mly"
32690 ( P.pointerify (P.make_cv cv ty) m )
32691 # 32692 "parser_cocci_menhir.ml"
32692 in
32693 _menhir_env.MenhirLib.EngineTypes.stack <- {
32694 MenhirLib.EngineTypes.state = _menhir_s;
32695 MenhirLib.EngineTypes.semv = Obj.repr _v;
32696 MenhirLib.EngineTypes.startp = _startpos;
32697 MenhirLib.EngineTypes.endp = _endpos;
32698 MenhirLib.EngineTypes.next = _menhir_stack;
32699 });
32700 (fun _menhir_env ->
32701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32702 let {
32703 MenhirLib.EngineTypes.semv = m;
32704 MenhirLib.EngineTypes.startp = _startpos_m_;
32705 MenhirLib.EngineTypes.endp = _endpos_m_;
32706 MenhirLib.EngineTypes.next = {
32707 MenhirLib.EngineTypes.semv = ty00;
32708 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32709 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32710 MenhirLib.EngineTypes.next = {
32711 MenhirLib.EngineTypes.state = _menhir_s;
32712 MenhirLib.EngineTypes.semv = r0;
32713 MenhirLib.EngineTypes.startp = _startpos_r0_;
32714 MenhirLib.EngineTypes.endp = _endpos_r0_;
32715 MenhirLib.EngineTypes.next = _menhir_stack;
32716 };
32717 };
32718 } = _menhir_stack in
32719 let m : 'tv_list_TMul_ = Obj.magic m in
32720 let ty00 : (
32721 # 49 "parser_cocci_menhir.mly"
32722 (Data.clt)
32723 # 32724 "parser_cocci_menhir.ml"
32724 ) = Obj.magic ty00 in
32725 let r0 : (
32726 # 51 "parser_cocci_menhir.mly"
32727 (Data.clt)
32728 # 32729 "parser_cocci_menhir.ml"
32729 ) = Obj.magic r0 in
32730 let _startpos = _startpos_r0_ in
32731 let _endpos = _endpos_m_ in
32732 let _v : 'tv_typedef_ctype = let ty =
32733 let ty0 = ty00 in
32734 let r = r0 in
32735 let ty =
32736 let ty = ty0 in
32737
32738 # 480 "parser_cocci_menhir.mly"
32739 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32740 # 32741 "parser_cocci_menhir.ml"
32741
32742 in
32743
32744 # 532 "parser_cocci_menhir.mly"
32745 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32746 # 32747 "parser_cocci_menhir.ml"
32747
32748 in
32749 let cv =
32750
32751 # 39 "standard.mly"
32752 ( None )
32753 # 32754 "parser_cocci_menhir.ml"
32754
32755 in
32756
32757 # 551 "parser_cocci_menhir.mly"
32758 ( P.pointerify (P.make_cv cv ty) m )
32759 # 32760 "parser_cocci_menhir.ml"
32760 in
32761 _menhir_env.MenhirLib.EngineTypes.stack <- {
32762 MenhirLib.EngineTypes.state = _menhir_s;
32763 MenhirLib.EngineTypes.semv = Obj.repr _v;
32764 MenhirLib.EngineTypes.startp = _startpos;
32765 MenhirLib.EngineTypes.endp = _endpos;
32766 MenhirLib.EngineTypes.next = _menhir_stack;
32767 });
32768 (fun _menhir_env ->
32769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32770 let {
32771 MenhirLib.EngineTypes.semv = m;
32772 MenhirLib.EngineTypes.startp = _startpos_m_;
32773 MenhirLib.EngineTypes.endp = _endpos_m_;
32774 MenhirLib.EngineTypes.next = {
32775 MenhirLib.EngineTypes.semv = ty00;
32776 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32777 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32778 MenhirLib.EngineTypes.next = {
32779 MenhirLib.EngineTypes.state = _menhir_s;
32780 MenhirLib.EngineTypes.semv = r0;
32781 MenhirLib.EngineTypes.startp = _startpos_r0_;
32782 MenhirLib.EngineTypes.endp = _endpos_r0_;
32783 MenhirLib.EngineTypes.next = _menhir_stack;
32784 };
32785 };
32786 } = _menhir_stack in
32787 let m : 'tv_list_TMul_ = Obj.magic m in
32788 let ty00 : (
32789 # 49 "parser_cocci_menhir.mly"
32790 (Data.clt)
32791 # 32792 "parser_cocci_menhir.ml"
32792 ) = Obj.magic ty00 in
32793 let r0 : (
32794 # 51 "parser_cocci_menhir.mly"
32795 (Data.clt)
32796 # 32797 "parser_cocci_menhir.ml"
32797 ) = Obj.magic r0 in
32798 let _startpos = _startpos_r0_ in
32799 let _endpos = _endpos_m_ in
32800 let _v : 'tv_typedef_ctype = let ty =
32801 let ty0 = ty00 in
32802 let r = r0 in
32803 let ty =
32804 let ty = ty0 in
32805
32806 # 482 "parser_cocci_menhir.mly"
32807 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32808 # 32809 "parser_cocci_menhir.ml"
32809
32810 in
32811
32812 # 532 "parser_cocci_menhir.mly"
32813 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32814 # 32815 "parser_cocci_menhir.ml"
32815
32816 in
32817 let cv =
32818
32819 # 39 "standard.mly"
32820 ( None )
32821 # 32822 "parser_cocci_menhir.ml"
32822
32823 in
32824
32825 # 551 "parser_cocci_menhir.mly"
32826 ( P.pointerify (P.make_cv cv ty) m )
32827 # 32828 "parser_cocci_menhir.ml"
32828 in
32829 _menhir_env.MenhirLib.EngineTypes.stack <- {
32830 MenhirLib.EngineTypes.state = _menhir_s;
32831 MenhirLib.EngineTypes.semv = Obj.repr _v;
32832 MenhirLib.EngineTypes.startp = _startpos;
32833 MenhirLib.EngineTypes.endp = _endpos;
32834 MenhirLib.EngineTypes.next = _menhir_stack;
32835 });
32836 (fun _menhir_env ->
32837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32838 let {
32839 MenhirLib.EngineTypes.semv = m;
32840 MenhirLib.EngineTypes.startp = _startpos_m_;
32841 MenhirLib.EngineTypes.endp = _endpos_m_;
32842 MenhirLib.EngineTypes.next = {
32843 MenhirLib.EngineTypes.semv = p00;
32844 MenhirLib.EngineTypes.startp = _startpos_p00_;
32845 MenhirLib.EngineTypes.endp = _endpos_p00_;
32846 MenhirLib.EngineTypes.next = {
32847 MenhirLib.EngineTypes.state = _menhir_s;
32848 MenhirLib.EngineTypes.semv = r0;
32849 MenhirLib.EngineTypes.startp = _startpos_r0_;
32850 MenhirLib.EngineTypes.endp = _endpos_r0_;
32851 MenhirLib.EngineTypes.next = _menhir_stack;
32852 };
32853 };
32854 } = _menhir_stack in
32855 let m : 'tv_list_TMul_ = Obj.magic m in
32856 let p00 : (
32857 # 64 "parser_cocci_menhir.mly"
32858 (Parse_aux.info)
32859 # 32860 "parser_cocci_menhir.ml"
32860 ) = Obj.magic p00 in
32861 let r0 : (
32862 # 51 "parser_cocci_menhir.mly"
32863 (Data.clt)
32864 # 32865 "parser_cocci_menhir.ml"
32865 ) = Obj.magic r0 in
32866 let _startpos = _startpos_r0_ in
32867 let _endpos = _endpos_m_ in
32868 let _v : 'tv_typedef_ctype = let ty =
32869 let p0 = p00 in
32870 let r = r0 in
32871 let ty =
32872 let p = p0 in
32873
32874 # 484 "parser_cocci_menhir.mly"
32875 ( let (nm,pure,clt) = p in
32876 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32877 # 32878 "parser_cocci_menhir.ml"
32878
32879 in
32880
32881 # 532 "parser_cocci_menhir.mly"
32882 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32883 # 32884 "parser_cocci_menhir.ml"
32884
32885 in
32886 let cv =
32887
32888 # 39 "standard.mly"
32889 ( None )
32890 # 32891 "parser_cocci_menhir.ml"
32891
32892 in
32893
32894 # 551 "parser_cocci_menhir.mly"
32895 ( P.pointerify (P.make_cv cv ty) m )
32896 # 32897 "parser_cocci_menhir.ml"
32897 in
32898 _menhir_env.MenhirLib.EngineTypes.stack <- {
32899 MenhirLib.EngineTypes.state = _menhir_s;
32900 MenhirLib.EngineTypes.semv = Obj.repr _v;
32901 MenhirLib.EngineTypes.startp = _startpos;
32902 MenhirLib.EngineTypes.endp = _endpos;
32903 MenhirLib.EngineTypes.next = _menhir_stack;
32904 });
32905 (fun _menhir_env ->
32906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32907 let {
32908 MenhirLib.EngineTypes.semv = m;
32909 MenhirLib.EngineTypes.startp = _startpos_m_;
32910 MenhirLib.EngineTypes.endp = _endpos_m_;
32911 MenhirLib.EngineTypes.next = {
32912 MenhirLib.EngineTypes.semv = p00;
32913 MenhirLib.EngineTypes.startp = _startpos_p00_;
32914 MenhirLib.EngineTypes.endp = _endpos_p00_;
32915 MenhirLib.EngineTypes.next = {
32916 MenhirLib.EngineTypes.startp = _startpos__3_;
32917 MenhirLib.EngineTypes.endp = _endpos__3_;
32918 MenhirLib.EngineTypes.next = {
32919 MenhirLib.EngineTypes.semv = r00;
32920 MenhirLib.EngineTypes.startp = _startpos_r00_;
32921 MenhirLib.EngineTypes.endp = _endpos_r00_;
32922 MenhirLib.EngineTypes.next = {
32923 MenhirLib.EngineTypes.state = _menhir_s;
32924 MenhirLib.EngineTypes.semv = r1;
32925 MenhirLib.EngineTypes.startp = _startpos_r1_;
32926 MenhirLib.EngineTypes.endp = _endpos_r1_;
32927 MenhirLib.EngineTypes.next = _menhir_stack;
32928 };
32929 };
32930 };
32931 };
32932 } = _menhir_stack in
32933 let m : 'tv_list_TMul_ = Obj.magic m in
32934 let p00 : (
32935 # 59 "parser_cocci_menhir.mly"
32936 (string * Data.clt)
32937 # 32938 "parser_cocci_menhir.ml"
32938 ) = Obj.magic p00 in
32939 let r00 : (
32940 # 47 "parser_cocci_menhir.mly"
32941 (string)
32942 # 32943 "parser_cocci_menhir.ml"
32943 ) = Obj.magic r00 in
32944 let r1 : (
32945 # 51 "parser_cocci_menhir.mly"
32946 (Data.clt)
32947 # 32948 "parser_cocci_menhir.ml"
32948 ) = Obj.magic r1 in
32949 let _startpos = _startpos_r1_ in
32950 let _endpos = _endpos_m_ in
32951 let _v : 'tv_typedef_ctype = let ty =
32952 let p0 = p00 in
32953 let r0 = r00 in
32954 let r = r1 in
32955 let ty =
32956 let p = p0 in
32957 let r = r0 in
32958
32959 # 487 "parser_cocci_menhir.mly"
32960 ( let nm = (r,P.id2name p) in
32961 (* this is only possible when we are in a metavar decl. Otherwise,
32962 it will be represented already as a MetaType *)
32963 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
32964 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
32965 Ast0.Impure (*will be ignored*))) )
32966 # 32967 "parser_cocci_menhir.ml"
32967
32968 in
32969
32970 # 532 "parser_cocci_menhir.mly"
32971 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32972 # 32973 "parser_cocci_menhir.ml"
32973
32974 in
32975 let cv =
32976
32977 # 39 "standard.mly"
32978 ( None )
32979 # 32980 "parser_cocci_menhir.ml"
32980
32981 in
32982
32983 # 551 "parser_cocci_menhir.mly"
32984 ( P.pointerify (P.make_cv cv ty) m )
32985 # 32986 "parser_cocci_menhir.ml"
32986 in
32987 _menhir_env.MenhirLib.EngineTypes.stack <- {
32988 MenhirLib.EngineTypes.state = _menhir_s;
32989 MenhirLib.EngineTypes.semv = Obj.repr _v;
32990 MenhirLib.EngineTypes.startp = _startpos;
32991 MenhirLib.EngineTypes.endp = _endpos;
32992 MenhirLib.EngineTypes.next = _menhir_stack;
32993 });
32994 (fun _menhir_env ->
32995 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32996 let {
32997 MenhirLib.EngineTypes.semv = m;
32998 MenhirLib.EngineTypes.startp = _startpos_m_;
32999 MenhirLib.EngineTypes.endp = _endpos_m_;
33000 MenhirLib.EngineTypes.next = {
33001 MenhirLib.EngineTypes.semv = ty00;
33002 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33003 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33004 MenhirLib.EngineTypes.next = {
33005 MenhirLib.EngineTypes.state = _menhir_s;
33006 MenhirLib.EngineTypes.semv = r0;
33007 MenhirLib.EngineTypes.startp = _startpos_r0_;
33008 MenhirLib.EngineTypes.endp = _endpos_r0_;
33009 MenhirLib.EngineTypes.next = _menhir_stack;
33010 };
33011 };
33012 } = _menhir_stack in
33013 let m : 'tv_list_TMul_ = Obj.magic m in
33014 let ty00 : (
33015 # 49 "parser_cocci_menhir.mly"
33016 (Data.clt)
33017 # 33018 "parser_cocci_menhir.ml"
33018 ) = Obj.magic ty00 in
33019 let r0 : (
33020 # 51 "parser_cocci_menhir.mly"
33021 (Data.clt)
33022 # 33023 "parser_cocci_menhir.ml"
33023 ) = Obj.magic r0 in
33024 let _startpos = _startpos_r0_ in
33025 let _endpos = _endpos_m_ in
33026 let _v : 'tv_typedef_ctype = let ty =
33027 let ty0 = ty00 in
33028 let r = r0 in
33029 let ty =
33030 let ty = ty0 in
33031
33032 # 494 "parser_cocci_menhir.mly"
33033 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33034 # 33035 "parser_cocci_menhir.ml"
33035
33036 in
33037
33038 # 532 "parser_cocci_menhir.mly"
33039 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33040 # 33041 "parser_cocci_menhir.ml"
33041
33042 in
33043 let cv =
33044
33045 # 39 "standard.mly"
33046 ( None )
33047 # 33048 "parser_cocci_menhir.ml"
33048
33049 in
33050
33051 # 551 "parser_cocci_menhir.mly"
33052 ( P.pointerify (P.make_cv cv ty) m )
33053 # 33054 "parser_cocci_menhir.ml"
33054 in
33055 _menhir_env.MenhirLib.EngineTypes.stack <- {
33056 MenhirLib.EngineTypes.state = _menhir_s;
33057 MenhirLib.EngineTypes.semv = Obj.repr _v;
33058 MenhirLib.EngineTypes.startp = _startpos;
33059 MenhirLib.EngineTypes.endp = _endpos;
33060 MenhirLib.EngineTypes.next = _menhir_stack;
33061 });
33062 (fun _menhir_env ->
33063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33064 let {
33065 MenhirLib.EngineTypes.semv = m;
33066 MenhirLib.EngineTypes.startp = _startpos_m_;
33067 MenhirLib.EngineTypes.endp = _endpos_m_;
33068 MenhirLib.EngineTypes.next = {
33069 MenhirLib.EngineTypes.semv = ty200;
33070 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33071 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33072 MenhirLib.EngineTypes.next = {
33073 MenhirLib.EngineTypes.semv = ty100;
33074 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33075 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33076 MenhirLib.EngineTypes.next = {
33077 MenhirLib.EngineTypes.state = _menhir_s;
33078 MenhirLib.EngineTypes.semv = r0;
33079 MenhirLib.EngineTypes.startp = _startpos_r0_;
33080 MenhirLib.EngineTypes.endp = _endpos_r0_;
33081 MenhirLib.EngineTypes.next = _menhir_stack;
33082 };
33083 };
33084 };
33085 } = _menhir_stack in
33086 let m : 'tv_list_TMul_ = Obj.magic m in
33087 let ty200 : (
33088 # 49 "parser_cocci_menhir.mly"
33089 (Data.clt)
33090 # 33091 "parser_cocci_menhir.ml"
33091 ) = Obj.magic ty200 in
33092 let ty100 : (
33093 # 49 "parser_cocci_menhir.mly"
33094 (Data.clt)
33095 # 33096 "parser_cocci_menhir.ml"
33096 ) = Obj.magic ty100 in
33097 let r0 : (
33098 # 51 "parser_cocci_menhir.mly"
33099 (Data.clt)
33100 # 33101 "parser_cocci_menhir.ml"
33101 ) = Obj.magic r0 in
33102 let _startpos = _startpos_r0_ in
33103 let _endpos = _endpos_m_ in
33104 let _v : 'tv_typedef_ctype = let ty =
33105 let ty20 = ty200 in
33106 let ty10 = ty100 in
33107 let r = r0 in
33108 let ty =
33109 let ty2 = ty20 in
33110 let ty1 = ty10 in
33111
33112 # 496 "parser_cocci_menhir.mly"
33113 ( Ast0.wrap
33114 (Ast0.BaseType
33115 (Ast.LongLongType,
33116 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33117 # 33118 "parser_cocci_menhir.ml"
33118
33119 in
33120
33121 # 532 "parser_cocci_menhir.mly"
33122 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33123 # 33124 "parser_cocci_menhir.ml"
33124
33125 in
33126 let cv =
33127
33128 # 39 "standard.mly"
33129 ( None )
33130 # 33131 "parser_cocci_menhir.ml"
33131
33132 in
33133
33134 # 551 "parser_cocci_menhir.mly"
33135 ( P.pointerify (P.make_cv cv ty) m )
33136 # 33137 "parser_cocci_menhir.ml"
33137 in
33138 _menhir_env.MenhirLib.EngineTypes.stack <- {
33139 MenhirLib.EngineTypes.state = _menhir_s;
33140 MenhirLib.EngineTypes.semv = Obj.repr _v;
33141 MenhirLib.EngineTypes.startp = _startpos;
33142 MenhirLib.EngineTypes.endp = _endpos;
33143 MenhirLib.EngineTypes.next = _menhir_stack;
33144 });
33145 (fun _menhir_env ->
33146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33147 let {
33148 MenhirLib.EngineTypes.semv = m;
33149 MenhirLib.EngineTypes.startp = _startpos_m_;
33150 MenhirLib.EngineTypes.endp = _endpos_m_;
33151 MenhirLib.EngineTypes.next = {
33152 MenhirLib.EngineTypes.state = _menhir_s;
33153 MenhirLib.EngineTypes.semv = ty00;
33154 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33155 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33156 MenhirLib.EngineTypes.next = _menhir_stack;
33157 };
33158 } = _menhir_stack in
33159 let m : 'tv_list_TMul_ = Obj.magic m in
33160 let ty00 : (
33161 # 49 "parser_cocci_menhir.mly"
33162 (Data.clt)
33163 # 33164 "parser_cocci_menhir.ml"
33164 ) = Obj.magic ty00 in
33165 let _startpos = _startpos_ty00_ in
33166 let _endpos = _endpos_m_ in
33167 let _v : 'tv_typedef_ctype = let ty =
33168 let ty0 = ty00 in
33169 let ty =
33170 let ty = ty0 in
33171
33172 # 478 "parser_cocci_menhir.mly"
33173 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33174 # 33175 "parser_cocci_menhir.ml"
33175
33176 in
33177
33178 # 533 "parser_cocci_menhir.mly"
33179 ( ty )
33180 # 33181 "parser_cocci_menhir.ml"
33181
33182 in
33183 let cv =
33184
33185 # 39 "standard.mly"
33186 ( None )
33187 # 33188 "parser_cocci_menhir.ml"
33188
33189 in
33190
33191 # 551 "parser_cocci_menhir.mly"
33192 ( P.pointerify (P.make_cv cv ty) m )
33193 # 33194 "parser_cocci_menhir.ml"
33194 in
33195 _menhir_env.MenhirLib.EngineTypes.stack <- {
33196 MenhirLib.EngineTypes.state = _menhir_s;
33197 MenhirLib.EngineTypes.semv = Obj.repr _v;
33198 MenhirLib.EngineTypes.startp = _startpos;
33199 MenhirLib.EngineTypes.endp = _endpos;
33200 MenhirLib.EngineTypes.next = _menhir_stack;
33201 });
33202 (fun _menhir_env ->
33203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33204 let {
33205 MenhirLib.EngineTypes.semv = m;
33206 MenhirLib.EngineTypes.startp = _startpos_m_;
33207 MenhirLib.EngineTypes.endp = _endpos_m_;
33208 MenhirLib.EngineTypes.next = {
33209 MenhirLib.EngineTypes.state = _menhir_s;
33210 MenhirLib.EngineTypes.semv = ty00;
33211 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33212 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33213 MenhirLib.EngineTypes.next = _menhir_stack;
33214 };
33215 } = _menhir_stack in
33216 let m : 'tv_list_TMul_ = Obj.magic m in
33217 let ty00 : (
33218 # 49 "parser_cocci_menhir.mly"
33219 (Data.clt)
33220 # 33221 "parser_cocci_menhir.ml"
33221 ) = Obj.magic ty00 in
33222 let _startpos = _startpos_ty00_ in
33223 let _endpos = _endpos_m_ in
33224 let _v : 'tv_typedef_ctype = let ty =
33225 let ty0 = ty00 in
33226 let ty =
33227 let ty = ty0 in
33228
33229 # 480 "parser_cocci_menhir.mly"
33230 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33231 # 33232 "parser_cocci_menhir.ml"
33232
33233 in
33234
33235 # 533 "parser_cocci_menhir.mly"
33236 ( ty )
33237 # 33238 "parser_cocci_menhir.ml"
33238
33239 in
33240 let cv =
33241
33242 # 39 "standard.mly"
33243 ( None )
33244 # 33245 "parser_cocci_menhir.ml"
33245
33246 in
33247
33248 # 551 "parser_cocci_menhir.mly"
33249 ( P.pointerify (P.make_cv cv ty) m )
33250 # 33251 "parser_cocci_menhir.ml"
33251 in
33252 _menhir_env.MenhirLib.EngineTypes.stack <- {
33253 MenhirLib.EngineTypes.state = _menhir_s;
33254 MenhirLib.EngineTypes.semv = Obj.repr _v;
33255 MenhirLib.EngineTypes.startp = _startpos;
33256 MenhirLib.EngineTypes.endp = _endpos;
33257 MenhirLib.EngineTypes.next = _menhir_stack;
33258 });
33259 (fun _menhir_env ->
33260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33261 let {
33262 MenhirLib.EngineTypes.semv = m;
33263 MenhirLib.EngineTypes.startp = _startpos_m_;
33264 MenhirLib.EngineTypes.endp = _endpos_m_;
33265 MenhirLib.EngineTypes.next = {
33266 MenhirLib.EngineTypes.state = _menhir_s;
33267 MenhirLib.EngineTypes.semv = ty00;
33268 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33269 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33270 MenhirLib.EngineTypes.next = _menhir_stack;
33271 };
33272 } = _menhir_stack in
33273 let m : 'tv_list_TMul_ = Obj.magic m in
33274 let ty00 : (
33275 # 49 "parser_cocci_menhir.mly"
33276 (Data.clt)
33277 # 33278 "parser_cocci_menhir.ml"
33278 ) = Obj.magic ty00 in
33279 let _startpos = _startpos_ty00_ in
33280 let _endpos = _endpos_m_ in
33281 let _v : 'tv_typedef_ctype = let ty =
33282 let ty0 = ty00 in
33283 let ty =
33284 let ty = ty0 in
33285
33286 # 482 "parser_cocci_menhir.mly"
33287 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33288 # 33289 "parser_cocci_menhir.ml"
33289
33290 in
33291
33292 # 533 "parser_cocci_menhir.mly"
33293 ( ty )
33294 # 33295 "parser_cocci_menhir.ml"
33295
33296 in
33297 let cv =
33298
33299 # 39 "standard.mly"
33300 ( None )
33301 # 33302 "parser_cocci_menhir.ml"
33302
33303 in
33304
33305 # 551 "parser_cocci_menhir.mly"
33306 ( P.pointerify (P.make_cv cv ty) m )
33307 # 33308 "parser_cocci_menhir.ml"
33308 in
33309 _menhir_env.MenhirLib.EngineTypes.stack <- {
33310 MenhirLib.EngineTypes.state = _menhir_s;
33311 MenhirLib.EngineTypes.semv = Obj.repr _v;
33312 MenhirLib.EngineTypes.startp = _startpos;
33313 MenhirLib.EngineTypes.endp = _endpos;
33314 MenhirLib.EngineTypes.next = _menhir_stack;
33315 });
33316 (fun _menhir_env ->
33317 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33318 let {
33319 MenhirLib.EngineTypes.semv = m;
33320 MenhirLib.EngineTypes.startp = _startpos_m_;
33321 MenhirLib.EngineTypes.endp = _endpos_m_;
33322 MenhirLib.EngineTypes.next = {
33323 MenhirLib.EngineTypes.state = _menhir_s;
33324 MenhirLib.EngineTypes.semv = p00;
33325 MenhirLib.EngineTypes.startp = _startpos_p00_;
33326 MenhirLib.EngineTypes.endp = _endpos_p00_;
33327 MenhirLib.EngineTypes.next = _menhir_stack;
33328 };
33329 } = _menhir_stack in
33330 let m : 'tv_list_TMul_ = Obj.magic m in
33331 let p00 : (
33332 # 64 "parser_cocci_menhir.mly"
33333 (Parse_aux.info)
33334 # 33335 "parser_cocci_menhir.ml"
33335 ) = Obj.magic p00 in
33336 let _startpos = _startpos_p00_ in
33337 let _endpos = _endpos_m_ in
33338 let _v : 'tv_typedef_ctype = let ty =
33339 let p0 = p00 in
33340 let ty =
33341 let p = p0 in
33342
33343 # 484 "parser_cocci_menhir.mly"
33344 ( let (nm,pure,clt) = p in
33345 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33346 # 33347 "parser_cocci_menhir.ml"
33347
33348 in
33349
33350 # 533 "parser_cocci_menhir.mly"
33351 ( ty )
33352 # 33353 "parser_cocci_menhir.ml"
33353
33354 in
33355 let cv =
33356
33357 # 39 "standard.mly"
33358 ( None )
33359 # 33360 "parser_cocci_menhir.ml"
33360
33361 in
33362
33363 # 551 "parser_cocci_menhir.mly"
33364 ( P.pointerify (P.make_cv cv ty) m )
33365 # 33366 "parser_cocci_menhir.ml"
33366 in
33367 _menhir_env.MenhirLib.EngineTypes.stack <- {
33368 MenhirLib.EngineTypes.state = _menhir_s;
33369 MenhirLib.EngineTypes.semv = Obj.repr _v;
33370 MenhirLib.EngineTypes.startp = _startpos;
33371 MenhirLib.EngineTypes.endp = _endpos;
33372 MenhirLib.EngineTypes.next = _menhir_stack;
33373 });
33374 (fun _menhir_env ->
33375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33376 let {
33377 MenhirLib.EngineTypes.semv = m;
33378 MenhirLib.EngineTypes.startp = _startpos_m_;
33379 MenhirLib.EngineTypes.endp = _endpos_m_;
33380 MenhirLib.EngineTypes.next = {
33381 MenhirLib.EngineTypes.semv = p00;
33382 MenhirLib.EngineTypes.startp = _startpos_p00_;
33383 MenhirLib.EngineTypes.endp = _endpos_p00_;
33384 MenhirLib.EngineTypes.next = {
33385 MenhirLib.EngineTypes.startp = _startpos__2_;
33386 MenhirLib.EngineTypes.endp = _endpos__2_;
33387 MenhirLib.EngineTypes.next = {
33388 MenhirLib.EngineTypes.state = _menhir_s;
33389 MenhirLib.EngineTypes.semv = r00;
33390 MenhirLib.EngineTypes.startp = _startpos_r00_;
33391 MenhirLib.EngineTypes.endp = _endpos_r00_;
33392 MenhirLib.EngineTypes.next = _menhir_stack;
33393 };
33394 };
33395 };
33396 } = _menhir_stack in
33397 let m : 'tv_list_TMul_ = Obj.magic m in
33398 let p00 : (
33399 # 59 "parser_cocci_menhir.mly"
33400 (string * Data.clt)
33401 # 33402 "parser_cocci_menhir.ml"
33402 ) = Obj.magic p00 in
33403 let r00 : (
33404 # 47 "parser_cocci_menhir.mly"
33405 (string)
33406 # 33407 "parser_cocci_menhir.ml"
33407 ) = Obj.magic r00 in
33408 let _startpos = _startpos_r00_ in
33409 let _endpos = _endpos_m_ in
33410 let _v : 'tv_typedef_ctype = let ty =
33411 let p0 = p00 in
33412 let r0 = r00 in
33413 let ty =
33414 let p = p0 in
33415 let r = r0 in
33416
33417 # 487 "parser_cocci_menhir.mly"
33418 ( let nm = (r,P.id2name p) in
33419 (* this is only possible when we are in a metavar decl. Otherwise,
33420 it will be represented already as a MetaType *)
33421 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33422 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33423 Ast0.Impure (*will be ignored*))) )
33424 # 33425 "parser_cocci_menhir.ml"
33425
33426 in
33427
33428 # 533 "parser_cocci_menhir.mly"
33429 ( ty )
33430 # 33431 "parser_cocci_menhir.ml"
33431
33432 in
33433 let cv =
33434
33435 # 39 "standard.mly"
33436 ( None )
33437 # 33438 "parser_cocci_menhir.ml"
33438
33439 in
33440
33441 # 551 "parser_cocci_menhir.mly"
33442 ( P.pointerify (P.make_cv cv ty) m )
33443 # 33444 "parser_cocci_menhir.ml"
33444 in
33445 _menhir_env.MenhirLib.EngineTypes.stack <- {
33446 MenhirLib.EngineTypes.state = _menhir_s;
33447 MenhirLib.EngineTypes.semv = Obj.repr _v;
33448 MenhirLib.EngineTypes.startp = _startpos;
33449 MenhirLib.EngineTypes.endp = _endpos;
33450 MenhirLib.EngineTypes.next = _menhir_stack;
33451 });
33452 (fun _menhir_env ->
33453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33454 let {
33455 MenhirLib.EngineTypes.semv = m;
33456 MenhirLib.EngineTypes.startp = _startpos_m_;
33457 MenhirLib.EngineTypes.endp = _endpos_m_;
33458 MenhirLib.EngineTypes.next = {
33459 MenhirLib.EngineTypes.state = _menhir_s;
33460 MenhirLib.EngineTypes.semv = ty00;
33461 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33462 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33463 MenhirLib.EngineTypes.next = _menhir_stack;
33464 };
33465 } = _menhir_stack in
33466 let m : 'tv_list_TMul_ = Obj.magic m in
33467 let ty00 : (
33468 # 49 "parser_cocci_menhir.mly"
33469 (Data.clt)
33470 # 33471 "parser_cocci_menhir.ml"
33471 ) = Obj.magic ty00 in
33472 let _startpos = _startpos_ty00_ in
33473 let _endpos = _endpos_m_ in
33474 let _v : 'tv_typedef_ctype = let ty =
33475 let ty0 = ty00 in
33476 let ty =
33477 let ty = ty0 in
33478
33479 # 494 "parser_cocci_menhir.mly"
33480 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33481 # 33482 "parser_cocci_menhir.ml"
33482
33483 in
33484
33485 # 533 "parser_cocci_menhir.mly"
33486 ( ty )
33487 # 33488 "parser_cocci_menhir.ml"
33488
33489 in
33490 let cv =
33491
33492 # 39 "standard.mly"
33493 ( None )
33494 # 33495 "parser_cocci_menhir.ml"
33495
33496 in
33497
33498 # 551 "parser_cocci_menhir.mly"
33499 ( P.pointerify (P.make_cv cv ty) m )
33500 # 33501 "parser_cocci_menhir.ml"
33501 in
33502 _menhir_env.MenhirLib.EngineTypes.stack <- {
33503 MenhirLib.EngineTypes.state = _menhir_s;
33504 MenhirLib.EngineTypes.semv = Obj.repr _v;
33505 MenhirLib.EngineTypes.startp = _startpos;
33506 MenhirLib.EngineTypes.endp = _endpos;
33507 MenhirLib.EngineTypes.next = _menhir_stack;
33508 });
33509 (fun _menhir_env ->
33510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33511 let {
33512 MenhirLib.EngineTypes.semv = m;
33513 MenhirLib.EngineTypes.startp = _startpos_m_;
33514 MenhirLib.EngineTypes.endp = _endpos_m_;
33515 MenhirLib.EngineTypes.next = {
33516 MenhirLib.EngineTypes.semv = ty200;
33517 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33518 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33519 MenhirLib.EngineTypes.next = {
33520 MenhirLib.EngineTypes.state = _menhir_s;
33521 MenhirLib.EngineTypes.semv = ty100;
33522 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33523 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33524 MenhirLib.EngineTypes.next = _menhir_stack;
33525 };
33526 };
33527 } = _menhir_stack in
33528 let m : 'tv_list_TMul_ = Obj.magic m in
33529 let ty200 : (
33530 # 49 "parser_cocci_menhir.mly"
33531 (Data.clt)
33532 # 33533 "parser_cocci_menhir.ml"
33533 ) = Obj.magic ty200 in
33534 let ty100 : (
33535 # 49 "parser_cocci_menhir.mly"
33536 (Data.clt)
33537 # 33538 "parser_cocci_menhir.ml"
33538 ) = Obj.magic ty100 in
33539 let _startpos = _startpos_ty100_ in
33540 let _endpos = _endpos_m_ in
33541 let _v : 'tv_typedef_ctype = let ty =
33542 let ty20 = ty200 in
33543 let ty10 = ty100 in
33544 let ty =
33545 let ty2 = ty20 in
33546 let ty1 = ty10 in
33547
33548 # 496 "parser_cocci_menhir.mly"
33549 ( Ast0.wrap
33550 (Ast0.BaseType
33551 (Ast.LongLongType,
33552 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33553 # 33554 "parser_cocci_menhir.ml"
33554
33555 in
33556
33557 # 533 "parser_cocci_menhir.mly"
33558 ( ty )
33559 # 33560 "parser_cocci_menhir.ml"
33560
33561 in
33562 let cv =
33563
33564 # 39 "standard.mly"
33565 ( None )
33566 # 33567 "parser_cocci_menhir.ml"
33567
33568 in
33569
33570 # 551 "parser_cocci_menhir.mly"
33571 ( P.pointerify (P.make_cv cv ty) m )
33572 # 33573 "parser_cocci_menhir.ml"
33573 in
33574 _menhir_env.MenhirLib.EngineTypes.stack <- {
33575 MenhirLib.EngineTypes.state = _menhir_s;
33576 MenhirLib.EngineTypes.semv = Obj.repr _v;
33577 MenhirLib.EngineTypes.startp = _startpos;
33578 MenhirLib.EngineTypes.endp = _endpos;
33579 MenhirLib.EngineTypes.next = _menhir_stack;
33580 });
33581 (fun _menhir_env ->
33582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33583 let {
33584 MenhirLib.EngineTypes.semv = m;
33585 MenhirLib.EngineTypes.startp = _startpos_m_;
33586 MenhirLib.EngineTypes.endp = _endpos_m_;
33587 MenhirLib.EngineTypes.next = {
33588 MenhirLib.EngineTypes.state = _menhir_s;
33589 MenhirLib.EngineTypes.semv = ty00;
33590 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33591 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33592 MenhirLib.EngineTypes.next = _menhir_stack;
33593 };
33594 } = _menhir_stack in
33595 let m : 'tv_list_TMul_ = Obj.magic m in
33596 let ty00 : (
33597 # 50 "parser_cocci_menhir.mly"
33598 (Data.clt)
33599 # 33600 "parser_cocci_menhir.ml"
33600 ) = Obj.magic ty00 in
33601 let _startpos = _startpos_ty00_ in
33602 let _endpos = _endpos_m_ in
33603 let _v : 'tv_typedef_ctype = let ty =
33604 let ty0 = ty00 in
33605 let ty =
33606 let ty = ty0 in
33607
33608 # 504 "parser_cocci_menhir.mly"
33609 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
33610 # 33611 "parser_cocci_menhir.ml"
33611
33612 in
33613
33614 # 534 "parser_cocci_menhir.mly"
33615 ( ty )
33616 # 33617 "parser_cocci_menhir.ml"
33617
33618 in
33619 let cv =
33620
33621 # 39 "standard.mly"
33622 ( None )
33623 # 33624 "parser_cocci_menhir.ml"
33624
33625 in
33626
33627 # 551 "parser_cocci_menhir.mly"
33628 ( P.pointerify (P.make_cv cv ty) m )
33629 # 33630 "parser_cocci_menhir.ml"
33630 in
33631 _menhir_env.MenhirLib.EngineTypes.stack <- {
33632 MenhirLib.EngineTypes.state = _menhir_s;
33633 MenhirLib.EngineTypes.semv = Obj.repr _v;
33634 MenhirLib.EngineTypes.startp = _startpos;
33635 MenhirLib.EngineTypes.endp = _endpos;
33636 MenhirLib.EngineTypes.next = _menhir_stack;
33637 });
33638 (fun _menhir_env ->
33639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33640 let {
33641 MenhirLib.EngineTypes.semv = m;
33642 MenhirLib.EngineTypes.startp = _startpos_m_;
33643 MenhirLib.EngineTypes.endp = _endpos_m_;
33644 MenhirLib.EngineTypes.next = {
33645 MenhirLib.EngineTypes.state = _menhir_s;
33646 MenhirLib.EngineTypes.semv = ty00;
33647 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33648 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33649 MenhirLib.EngineTypes.next = _menhir_stack;
33650 };
33651 } = _menhir_stack in
33652 let m : 'tv_list_TMul_ = Obj.magic m in
33653 let ty00 : (
33654 # 49 "parser_cocci_menhir.mly"
33655 (Data.clt)
33656 # 33657 "parser_cocci_menhir.ml"
33657 ) = Obj.magic ty00 in
33658 let _startpos = _startpos_ty00_ in
33659 let _endpos = _endpos_m_ in
33660 let _v : 'tv_typedef_ctype = let ty =
33661 let ty0 = ty00 in
33662 let ty =
33663 let ty = ty0 in
33664
33665 # 506 "parser_cocci_menhir.mly"
33666 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
33667 # 33668 "parser_cocci_menhir.ml"
33668
33669 in
33670
33671 # 534 "parser_cocci_menhir.mly"
33672 ( ty )
33673 # 33674 "parser_cocci_menhir.ml"
33674
33675 in
33676 let cv =
33677
33678 # 39 "standard.mly"
33679 ( None )
33680 # 33681 "parser_cocci_menhir.ml"
33681
33682 in
33683
33684 # 551 "parser_cocci_menhir.mly"
33685 ( P.pointerify (P.make_cv cv ty) m )
33686 # 33687 "parser_cocci_menhir.ml"
33687 in
33688 _menhir_env.MenhirLib.EngineTypes.stack <- {
33689 MenhirLib.EngineTypes.state = _menhir_s;
33690 MenhirLib.EngineTypes.semv = Obj.repr _v;
33691 MenhirLib.EngineTypes.startp = _startpos;
33692 MenhirLib.EngineTypes.endp = _endpos;
33693 MenhirLib.EngineTypes.next = _menhir_stack;
33694 });
33695 (fun _menhir_env ->
33696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33697 let {
33698 MenhirLib.EngineTypes.semv = m;
33699 MenhirLib.EngineTypes.startp = _startpos_m_;
33700 MenhirLib.EngineTypes.endp = _endpos_m_;
33701 MenhirLib.EngineTypes.next = {
33702 MenhirLib.EngineTypes.state = _menhir_s;
33703 MenhirLib.EngineTypes.semv = ty00;
33704 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33705 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33706 MenhirLib.EngineTypes.next = _menhir_stack;
33707 };
33708 } = _menhir_stack in
33709 let m : 'tv_list_TMul_ = Obj.magic m in
33710 let ty00 : (
33711 # 49 "parser_cocci_menhir.mly"
33712 (Data.clt)
33713 # 33714 "parser_cocci_menhir.ml"
33714 ) = Obj.magic ty00 in
33715 let _startpos = _startpos_ty00_ in
33716 let _endpos = _endpos_m_ in
33717 let _v : 'tv_typedef_ctype = let ty =
33718 let ty0 = ty00 in
33719 let ty =
33720 let ty = ty0 in
33721
33722 # 508 "parser_cocci_menhir.mly"
33723 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
33724 # 33725 "parser_cocci_menhir.ml"
33725
33726 in
33727
33728 # 534 "parser_cocci_menhir.mly"
33729 ( ty )
33730 # 33731 "parser_cocci_menhir.ml"
33731
33732 in
33733 let cv =
33734
33735 # 39 "standard.mly"
33736 ( None )
33737 # 33738 "parser_cocci_menhir.ml"
33738
33739 in
33740
33741 # 551 "parser_cocci_menhir.mly"
33742 ( P.pointerify (P.make_cv cv ty) m )
33743 # 33744 "parser_cocci_menhir.ml"
33744 in
33745 _menhir_env.MenhirLib.EngineTypes.stack <- {
33746 MenhirLib.EngineTypes.state = _menhir_s;
33747 MenhirLib.EngineTypes.semv = Obj.repr _v;
33748 MenhirLib.EngineTypes.startp = _startpos;
33749 MenhirLib.EngineTypes.endp = _endpos;
33750 MenhirLib.EngineTypes.next = _menhir_stack;
33751 });
33752 (fun _menhir_env ->
33753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33754 let {
33755 MenhirLib.EngineTypes.semv = m;
33756 MenhirLib.EngineTypes.startp = _startpos_m_;
33757 MenhirLib.EngineTypes.endp = _endpos_m_;
33758 MenhirLib.EngineTypes.next = {
33759 MenhirLib.EngineTypes.semv = i00;
33760 MenhirLib.EngineTypes.startp = _startpos_i00_;
33761 MenhirLib.EngineTypes.endp = _endpos_i00_;
33762 MenhirLib.EngineTypes.next = {
33763 MenhirLib.EngineTypes.state = _menhir_s;
33764 MenhirLib.EngineTypes.semv = s00;
33765 MenhirLib.EngineTypes.startp = _startpos_s00_;
33766 MenhirLib.EngineTypes.endp = _endpos_s00_;
33767 MenhirLib.EngineTypes.next = _menhir_stack;
33768 };
33769 };
33770 } = _menhir_stack in
33771 let m : 'tv_list_TMul_ = Obj.magic m in
33772 let i00 : 'tv_ident = Obj.magic i00 in
33773 let s00 : (
33774 # 50 "parser_cocci_menhir.mly"
33775 (Data.clt)
33776 # 33777 "parser_cocci_menhir.ml"
33777 ) = Obj.magic s00 in
33778 let _startpos = _startpos_s00_ in
33779 let _endpos = _endpos_m_ in
33780 let _v : 'tv_typedef_ctype = let ty =
33781 let i0 = i00 in
33782 let s0 = s00 in
33783 let ty =
33784 let i = i0 in
33785 let s = s0 in
33786
33787 # 510 "parser_cocci_menhir.mly"
33788 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
33789 # 33790 "parser_cocci_menhir.ml"
33790
33791 in
33792
33793 # 534 "parser_cocci_menhir.mly"
33794 ( ty )
33795 # 33796 "parser_cocci_menhir.ml"
33796
33797 in
33798 let cv =
33799
33800 # 39 "standard.mly"
33801 ( None )
33802 # 33803 "parser_cocci_menhir.ml"
33803
33804 in
33805
33806 # 551 "parser_cocci_menhir.mly"
33807 ( P.pointerify (P.make_cv cv ty) m )
33808 # 33809 "parser_cocci_menhir.ml"
33809 in
33810 _menhir_env.MenhirLib.EngineTypes.stack <- {
33811 MenhirLib.EngineTypes.state = _menhir_s;
33812 MenhirLib.EngineTypes.semv = Obj.repr _v;
33813 MenhirLib.EngineTypes.startp = _startpos;
33814 MenhirLib.EngineTypes.endp = _endpos;
33815 MenhirLib.EngineTypes.next = _menhir_stack;
33816 });
33817 (fun _menhir_env ->
33818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33819 let {
33820 MenhirLib.EngineTypes.semv = m;
33821 MenhirLib.EngineTypes.startp = _startpos_m_;
33822 MenhirLib.EngineTypes.endp = _endpos_m_;
33823 MenhirLib.EngineTypes.next = {
33824 MenhirLib.EngineTypes.semv = i00;
33825 MenhirLib.EngineTypes.startp = _startpos_i00_;
33826 MenhirLib.EngineTypes.endp = _endpos_i00_;
33827 MenhirLib.EngineTypes.next = {
33828 MenhirLib.EngineTypes.state = _menhir_s;
33829 MenhirLib.EngineTypes.semv = s00;
33830 MenhirLib.EngineTypes.startp = _startpos_s00_;
33831 MenhirLib.EngineTypes.endp = _endpos_s00_;
33832 MenhirLib.EngineTypes.next = _menhir_stack;
33833 };
33834 };
33835 } = _menhir_stack in
33836 let m : 'tv_list_TMul_ = Obj.magic m in
33837 let i00 : 'tv_ident = Obj.magic i00 in
33838 let s00 : 'tv_struct_or_union = Obj.magic s00 in
33839 let _startpos = _startpos_s00_ in
33840 let _endpos = _endpos_m_ in
33841 let _v : 'tv_typedef_ctype = let ty =
33842 let i0 = i00 in
33843 let s0 = s00 in
33844 let ty =
33845 let i = i0 in
33846 let s = s0 in
33847
33848 # 512 "parser_cocci_menhir.mly"
33849 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
33850 # 33851 "parser_cocci_menhir.ml"
33851
33852 in
33853
33854 # 534 "parser_cocci_menhir.mly"
33855 ( ty )
33856 # 33857 "parser_cocci_menhir.ml"
33857
33858 in
33859 let cv =
33860
33861 # 39 "standard.mly"
33862 ( None )
33863 # 33864 "parser_cocci_menhir.ml"
33864
33865 in
33866
33867 # 551 "parser_cocci_menhir.mly"
33868 ( P.pointerify (P.make_cv cv ty) m )
33869 # 33870 "parser_cocci_menhir.ml"
33870 in
33871 _menhir_env.MenhirLib.EngineTypes.stack <- {
33872 MenhirLib.EngineTypes.state = _menhir_s;
33873 MenhirLib.EngineTypes.semv = Obj.repr _v;
33874 MenhirLib.EngineTypes.startp = _startpos;
33875 MenhirLib.EngineTypes.endp = _endpos;
33876 MenhirLib.EngineTypes.next = _menhir_stack;
33877 });
33878 (fun _menhir_env ->
33879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33880 let {
33881 MenhirLib.EngineTypes.semv = m;
33882 MenhirLib.EngineTypes.startp = _startpos_m_;
33883 MenhirLib.EngineTypes.endp = _endpos_m_;
33884 MenhirLib.EngineTypes.next = {
33885 MenhirLib.EngineTypes.semv = r00;
33886 MenhirLib.EngineTypes.startp = _startpos_r00_;
33887 MenhirLib.EngineTypes.endp = _endpos_r00_;
33888 MenhirLib.EngineTypes.next = {
33889 MenhirLib.EngineTypes.semv = d00;
33890 MenhirLib.EngineTypes.startp = _startpos_d00_;
33891 MenhirLib.EngineTypes.endp = _endpos_d00_;
33892 MenhirLib.EngineTypes.next = {
33893 MenhirLib.EngineTypes.semv = l00;
33894 MenhirLib.EngineTypes.startp = _startpos_l00_;
33895 MenhirLib.EngineTypes.endp = _endpos_l00_;
33896 MenhirLib.EngineTypes.next = {
33897 MenhirLib.EngineTypes.state = _menhir_s;
33898 MenhirLib.EngineTypes.semv = s00;
33899 MenhirLib.EngineTypes.startp = _startpos_s00_;
33900 MenhirLib.EngineTypes.endp = _endpos_s00_;
33901 MenhirLib.EngineTypes.next = _menhir_stack;
33902 };
33903 };
33904 };
33905 };
33906 } = _menhir_stack in
33907 let m : 'tv_list_TMul_ = Obj.magic m in
33908 let r00 : (
33909 # 101 "parser_cocci_menhir.mly"
33910 (Data.clt)
33911 # 33912 "parser_cocci_menhir.ml"
33912 ) = Obj.magic r00 in
33913 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
33914 let l00 : (
33915 # 101 "parser_cocci_menhir.mly"
33916 (Data.clt)
33917 # 33918 "parser_cocci_menhir.ml"
33918 ) = Obj.magic l00 in
33919 let s00 : 'tv_struct_or_union = Obj.magic s00 in
33920 let _startpos = _startpos_s00_ in
33921 let _endpos = _endpos_m_ in
33922 let _v : 'tv_typedef_ctype = let ty =
33923 let r0 = r00 in
33924 let d0 = d00 in
33925 let l0 = l00 in
33926 let s0 = s00 in
33927 let ty =
33928 let r = r0 in
33929 let d = d0 in
33930 let l = l0 in
33931 let s = s0 in
33932 let i =
33933
33934 # 39 "standard.mly"
33935 ( None )
33936 # 33937 "parser_cocci_menhir.ml"
33937
33938 in
33939
33940 # 515 "parser_cocci_menhir.mly"
33941 ( (if i = None && !Data.in_iso
33942 then failwith "structures must be named in the iso file");
33943 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
33944 P.clt2mcode "{" l,
33945 d, P.clt2mcode "}" r)) )
33946 # 33947 "parser_cocci_menhir.ml"
33947
33948 in
33949
33950 # 534 "parser_cocci_menhir.mly"
33951 ( ty )
33952 # 33953 "parser_cocci_menhir.ml"
33953
33954 in
33955 let cv =
33956
33957 # 39 "standard.mly"
33958 ( None )
33959 # 33960 "parser_cocci_menhir.ml"
33960
33961 in
33962
33963 # 551 "parser_cocci_menhir.mly"
33964 ( P.pointerify (P.make_cv cv ty) m )
33965 # 33966 "parser_cocci_menhir.ml"
33966 in
33967 _menhir_env.MenhirLib.EngineTypes.stack <- {
33968 MenhirLib.EngineTypes.state = _menhir_s;
33969 MenhirLib.EngineTypes.semv = Obj.repr _v;
33970 MenhirLib.EngineTypes.startp = _startpos;
33971 MenhirLib.EngineTypes.endp = _endpos;
33972 MenhirLib.EngineTypes.next = _menhir_stack;
33973 });
33974 (fun _menhir_env ->
33975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33976 let {
33977 MenhirLib.EngineTypes.semv = m;
33978 MenhirLib.EngineTypes.startp = _startpos_m_;
33979 MenhirLib.EngineTypes.endp = _endpos_m_;
33980 MenhirLib.EngineTypes.next = {
33981 MenhirLib.EngineTypes.semv = r00;
33982 MenhirLib.EngineTypes.startp = _startpos_r00_;
33983 MenhirLib.EngineTypes.endp = _endpos_r00_;
33984 MenhirLib.EngineTypes.next = {
33985 MenhirLib.EngineTypes.semv = d00;
33986 MenhirLib.EngineTypes.startp = _startpos_d00_;
33987 MenhirLib.EngineTypes.endp = _endpos_d00_;
33988 MenhirLib.EngineTypes.next = {
33989 MenhirLib.EngineTypes.semv = l00;
33990 MenhirLib.EngineTypes.startp = _startpos_l00_;
33991 MenhirLib.EngineTypes.endp = _endpos_l00_;
33992 MenhirLib.EngineTypes.next = {
33993 MenhirLib.EngineTypes.semv = x000;
33994 MenhirLib.EngineTypes.startp = _startpos_x000_;
33995 MenhirLib.EngineTypes.endp = _endpos_x000_;
33996 MenhirLib.EngineTypes.next = {
33997 MenhirLib.EngineTypes.state = _menhir_s;
33998 MenhirLib.EngineTypes.semv = s00;
33999 MenhirLib.EngineTypes.startp = _startpos_s00_;
34000 MenhirLib.EngineTypes.endp = _endpos_s00_;
34001 MenhirLib.EngineTypes.next = _menhir_stack;
34002 };
34003 };
34004 };
34005 };
34006 };
34007 } = _menhir_stack in
34008 let m : 'tv_list_TMul_ = Obj.magic m in
34009 let r00 : (
34010 # 101 "parser_cocci_menhir.mly"
34011 (Data.clt)
34012 # 34013 "parser_cocci_menhir.ml"
34013 ) = Obj.magic r00 in
34014 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34015 let l00 : (
34016 # 101 "parser_cocci_menhir.mly"
34017 (Data.clt)
34018 # 34019 "parser_cocci_menhir.ml"
34019 ) = Obj.magic l00 in
34020 let x000 : 'tv_ident = Obj.magic x000 in
34021 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34022 let _startpos = _startpos_s00_ in
34023 let _endpos = _endpos_m_ in
34024 let _v : 'tv_typedef_ctype = let ty =
34025 let r0 = r00 in
34026 let d0 = d00 in
34027 let l0 = l00 in
34028 let x00 = x000 in
34029 let s0 = s00 in
34030 let ty =
34031 let r = r0 in
34032 let d = d0 in
34033 let l = l0 in
34034 let x0 = x00 in
34035 let s = s0 in
34036 let i =
34037 let x = x0 in
34038
34039 # 41 "standard.mly"
34040 ( Some x )
34041 # 34042 "parser_cocci_menhir.ml"
34042
34043 in
34044
34045 # 515 "parser_cocci_menhir.mly"
34046 ( (if i = None && !Data.in_iso
34047 then failwith "structures must be named in the iso file");
34048 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34049 P.clt2mcode "{" l,
34050 d, P.clt2mcode "}" r)) )
34051 # 34052 "parser_cocci_menhir.ml"
34052
34053 in
34054
34055 # 534 "parser_cocci_menhir.mly"
34056 ( ty )
34057 # 34058 "parser_cocci_menhir.ml"
34058
34059 in
34060 let cv =
34061
34062 # 39 "standard.mly"
34063 ( None )
34064 # 34065 "parser_cocci_menhir.ml"
34065
34066 in
34067
34068 # 551 "parser_cocci_menhir.mly"
34069 ( P.pointerify (P.make_cv cv ty) m )
34070 # 34071 "parser_cocci_menhir.ml"
34071 in
34072 _menhir_env.MenhirLib.EngineTypes.stack <- {
34073 MenhirLib.EngineTypes.state = _menhir_s;
34074 MenhirLib.EngineTypes.semv = Obj.repr _v;
34075 MenhirLib.EngineTypes.startp = _startpos;
34076 MenhirLib.EngineTypes.endp = _endpos;
34077 MenhirLib.EngineTypes.next = _menhir_stack;
34078 });
34079 (fun _menhir_env ->
34080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34081 let {
34082 MenhirLib.EngineTypes.semv = m;
34083 MenhirLib.EngineTypes.startp = _startpos_m_;
34084 MenhirLib.EngineTypes.endp = _endpos_m_;
34085 MenhirLib.EngineTypes.next = {
34086 MenhirLib.EngineTypes.semv = r00;
34087 MenhirLib.EngineTypes.startp = _startpos_r00_;
34088 MenhirLib.EngineTypes.endp = _endpos_r00_;
34089 MenhirLib.EngineTypes.next = {
34090 MenhirLib.EngineTypes.semv = d00;
34091 MenhirLib.EngineTypes.startp = _startpos_d00_;
34092 MenhirLib.EngineTypes.endp = _endpos_d00_;
34093 MenhirLib.EngineTypes.next = {
34094 MenhirLib.EngineTypes.semv = l00;
34095 MenhirLib.EngineTypes.startp = _startpos_l00_;
34096 MenhirLib.EngineTypes.endp = _endpos_l00_;
34097 MenhirLib.EngineTypes.next = {
34098 MenhirLib.EngineTypes.state = _menhir_s;
34099 MenhirLib.EngineTypes.semv = s00;
34100 MenhirLib.EngineTypes.startp = _startpos_s00_;
34101 MenhirLib.EngineTypes.endp = _endpos_s00_;
34102 MenhirLib.EngineTypes.next = _menhir_stack;
34103 };
34104 };
34105 };
34106 };
34107 } = _menhir_stack in
34108 let m : 'tv_list_TMul_ = Obj.magic m in
34109 let r00 : (
34110 # 101 "parser_cocci_menhir.mly"
34111 (Data.clt)
34112 # 34113 "parser_cocci_menhir.ml"
34113 ) = Obj.magic r00 in
34114 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34115 let l00 : (
34116 # 101 "parser_cocci_menhir.mly"
34117 (Data.clt)
34118 # 34119 "parser_cocci_menhir.ml"
34119 ) = Obj.magic l00 in
34120 let s00 : (
34121 # 64 "parser_cocci_menhir.mly"
34122 (Parse_aux.info)
34123 # 34124 "parser_cocci_menhir.ml"
34124 ) = Obj.magic s00 in
34125 let _startpos = _startpos_s00_ in
34126 let _endpos = _endpos_m_ in
34127 let _v : 'tv_typedef_ctype = let ty =
34128 let r0 = r00 in
34129 let d0 = d00 in
34130 let l0 = l00 in
34131 let s0 = s00 in
34132 let ty =
34133 let r = r0 in
34134 let d = d0 in
34135 let l = l0 in
34136 let s = s0 in
34137
34138 # 521 "parser_cocci_menhir.mly"
34139 ( let (nm,pure,clt) = s in
34140 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
34141 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
34142 # 34143 "parser_cocci_menhir.ml"
34143
34144 in
34145
34146 # 534 "parser_cocci_menhir.mly"
34147 ( ty )
34148 # 34149 "parser_cocci_menhir.ml"
34149
34150 in
34151 let cv =
34152
34153 # 39 "standard.mly"
34154 ( None )
34155 # 34156 "parser_cocci_menhir.ml"
34156
34157 in
34158
34159 # 551 "parser_cocci_menhir.mly"
34160 ( P.pointerify (P.make_cv cv ty) m )
34161 # 34162 "parser_cocci_menhir.ml"
34162 in
34163 _menhir_env.MenhirLib.EngineTypes.stack <- {
34164 MenhirLib.EngineTypes.state = _menhir_s;
34165 MenhirLib.EngineTypes.semv = Obj.repr _v;
34166 MenhirLib.EngineTypes.startp = _startpos;
34167 MenhirLib.EngineTypes.endp = _endpos;
34168 MenhirLib.EngineTypes.next = _menhir_stack;
34169 });
34170 (fun _menhir_env ->
34171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34172 let {
34173 MenhirLib.EngineTypes.semv = m;
34174 MenhirLib.EngineTypes.startp = _startpos_m_;
34175 MenhirLib.EngineTypes.endp = _endpos_m_;
34176 MenhirLib.EngineTypes.next = {
34177 MenhirLib.EngineTypes.state = _menhir_s;
34178 MenhirLib.EngineTypes.semv = p00;
34179 MenhirLib.EngineTypes.startp = _startpos_p00_;
34180 MenhirLib.EngineTypes.endp = _endpos_p00_;
34181 MenhirLib.EngineTypes.next = _menhir_stack;
34182 };
34183 } = _menhir_stack in
34184 let m : 'tv_list_TMul_ = Obj.magic m in
34185 let p00 : (
34186 # 59 "parser_cocci_menhir.mly"
34187 (string * Data.clt)
34188 # 34189 "parser_cocci_menhir.ml"
34189 ) = Obj.magic p00 in
34190 let _startpos = _startpos_p00_ in
34191 let _endpos = _endpos_m_ in
34192 let _v : 'tv_typedef_ctype = let ty =
34193 let p0 = p00 in
34194 let ty =
34195 let p = p0 in
34196
34197 # 525 "parser_cocci_menhir.mly"
34198 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
34199 # 34200 "parser_cocci_menhir.ml"
34200
34201 in
34202
34203 # 534 "parser_cocci_menhir.mly"
34204 ( ty )
34205 # 34206 "parser_cocci_menhir.ml"
34206
34207 in
34208 let cv =
34209
34210 # 39 "standard.mly"
34211 ( None )
34212 # 34213 "parser_cocci_menhir.ml"
34213
34214 in
34215
34216 # 551 "parser_cocci_menhir.mly"
34217 ( P.pointerify (P.make_cv cv ty) m )
34218 # 34219 "parser_cocci_menhir.ml"
34219 in
34220 _menhir_env.MenhirLib.EngineTypes.stack <- {
34221 MenhirLib.EngineTypes.state = _menhir_s;
34222 MenhirLib.EngineTypes.semv = Obj.repr _v;
34223 MenhirLib.EngineTypes.startp = _startpos;
34224 MenhirLib.EngineTypes.endp = _endpos;
34225 MenhirLib.EngineTypes.next = _menhir_stack;
34226 });
34227 (fun _menhir_env ->
34228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34229 let {
34230 MenhirLib.EngineTypes.semv = m;
34231 MenhirLib.EngineTypes.startp = _startpos_m_;
34232 MenhirLib.EngineTypes.endp = _endpos_m_;
34233 MenhirLib.EngineTypes.next = {
34234 MenhirLib.EngineTypes.semv = ty00;
34235 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34236 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34237 MenhirLib.EngineTypes.next = {
34238 MenhirLib.EngineTypes.semv = r0;
34239 MenhirLib.EngineTypes.startp = _startpos_r0_;
34240 MenhirLib.EngineTypes.endp = _endpos_r0_;
34241 MenhirLib.EngineTypes.next = {
34242 MenhirLib.EngineTypes.state = _menhir_s;
34243 MenhirLib.EngineTypes.semv = x0;
34244 MenhirLib.EngineTypes.startp = _startpos_x0_;
34245 MenhirLib.EngineTypes.endp = _endpos_x0_;
34246 MenhirLib.EngineTypes.next = _menhir_stack;
34247 };
34248 };
34249 };
34250 } = _menhir_stack in
34251 let m : 'tv_list_TMul_ = Obj.magic m in
34252 let ty00 : (
34253 # 49 "parser_cocci_menhir.mly"
34254 (Data.clt)
34255 # 34256 "parser_cocci_menhir.ml"
34256 ) = Obj.magic ty00 in
34257 let r0 : (
34258 # 51 "parser_cocci_menhir.mly"
34259 (Data.clt)
34260 # 34261 "parser_cocci_menhir.ml"
34261 ) = Obj.magic r0 in
34262 let x0 : 'tv_const_vol = Obj.magic x0 in
34263 let _startpos = _startpos_x0_ in
34264 let _endpos = _endpos_m_ in
34265 let _v : 'tv_typedef_ctype = let ty =
34266 let ty0 = ty00 in
34267 let r = r0 in
34268 let ty =
34269 let ty = ty0 in
34270
34271 # 478 "parser_cocci_menhir.mly"
34272 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34273 # 34274 "parser_cocci_menhir.ml"
34274
34275 in
34276
34277 # 530 "parser_cocci_menhir.mly"
34278 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34279 # 34280 "parser_cocci_menhir.ml"
34280
34281 in
34282 let cv =
34283 let x = x0 in
34284
34285 # 41 "standard.mly"
34286 ( Some x )
34287 # 34288 "parser_cocci_menhir.ml"
34288
34289 in
34290
34291 # 551 "parser_cocci_menhir.mly"
34292 ( P.pointerify (P.make_cv cv ty) m )
34293 # 34294 "parser_cocci_menhir.ml"
34294 in
34295 _menhir_env.MenhirLib.EngineTypes.stack <- {
34296 MenhirLib.EngineTypes.state = _menhir_s;
34297 MenhirLib.EngineTypes.semv = Obj.repr _v;
34298 MenhirLib.EngineTypes.startp = _startpos;
34299 MenhirLib.EngineTypes.endp = _endpos;
34300 MenhirLib.EngineTypes.next = _menhir_stack;
34301 });
34302 (fun _menhir_env ->
34303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34304 let {
34305 MenhirLib.EngineTypes.semv = m;
34306 MenhirLib.EngineTypes.startp = _startpos_m_;
34307 MenhirLib.EngineTypes.endp = _endpos_m_;
34308 MenhirLib.EngineTypes.next = {
34309 MenhirLib.EngineTypes.semv = ty00;
34310 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34311 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34312 MenhirLib.EngineTypes.next = {
34313 MenhirLib.EngineTypes.semv = r0;
34314 MenhirLib.EngineTypes.startp = _startpos_r0_;
34315 MenhirLib.EngineTypes.endp = _endpos_r0_;
34316 MenhirLib.EngineTypes.next = {
34317 MenhirLib.EngineTypes.state = _menhir_s;
34318 MenhirLib.EngineTypes.semv = x0;
34319 MenhirLib.EngineTypes.startp = _startpos_x0_;
34320 MenhirLib.EngineTypes.endp = _endpos_x0_;
34321 MenhirLib.EngineTypes.next = _menhir_stack;
34322 };
34323 };
34324 };
34325 } = _menhir_stack in
34326 let m : 'tv_list_TMul_ = Obj.magic m in
34327 let ty00 : (
34328 # 49 "parser_cocci_menhir.mly"
34329 (Data.clt)
34330 # 34331 "parser_cocci_menhir.ml"
34331 ) = Obj.magic ty00 in
34332 let r0 : (
34333 # 51 "parser_cocci_menhir.mly"
34334 (Data.clt)
34335 # 34336 "parser_cocci_menhir.ml"
34336 ) = Obj.magic r0 in
34337 let x0 : 'tv_const_vol = Obj.magic x0 in
34338 let _startpos = _startpos_x0_ in
34339 let _endpos = _endpos_m_ in
34340 let _v : 'tv_typedef_ctype = let ty =
34341 let ty0 = ty00 in
34342 let r = r0 in
34343 let ty =
34344 let ty = ty0 in
34345
34346 # 480 "parser_cocci_menhir.mly"
34347 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34348 # 34349 "parser_cocci_menhir.ml"
34349
34350 in
34351
34352 # 530 "parser_cocci_menhir.mly"
34353 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34354 # 34355 "parser_cocci_menhir.ml"
34355
34356 in
34357 let cv =
34358 let x = x0 in
34359
34360 # 41 "standard.mly"
34361 ( Some x )
34362 # 34363 "parser_cocci_menhir.ml"
34363
34364 in
34365
34366 # 551 "parser_cocci_menhir.mly"
34367 ( P.pointerify (P.make_cv cv ty) m )
34368 # 34369 "parser_cocci_menhir.ml"
34369 in
34370 _menhir_env.MenhirLib.EngineTypes.stack <- {
34371 MenhirLib.EngineTypes.state = _menhir_s;
34372 MenhirLib.EngineTypes.semv = Obj.repr _v;
34373 MenhirLib.EngineTypes.startp = _startpos;
34374 MenhirLib.EngineTypes.endp = _endpos;
34375 MenhirLib.EngineTypes.next = _menhir_stack;
34376 });
34377 (fun _menhir_env ->
34378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34379 let {
34380 MenhirLib.EngineTypes.semv = m;
34381 MenhirLib.EngineTypes.startp = _startpos_m_;
34382 MenhirLib.EngineTypes.endp = _endpos_m_;
34383 MenhirLib.EngineTypes.next = {
34384 MenhirLib.EngineTypes.semv = ty00;
34385 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34386 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34387 MenhirLib.EngineTypes.next = {
34388 MenhirLib.EngineTypes.semv = r0;
34389 MenhirLib.EngineTypes.startp = _startpos_r0_;
34390 MenhirLib.EngineTypes.endp = _endpos_r0_;
34391 MenhirLib.EngineTypes.next = {
34392 MenhirLib.EngineTypes.state = _menhir_s;
34393 MenhirLib.EngineTypes.semv = x0;
34394 MenhirLib.EngineTypes.startp = _startpos_x0_;
34395 MenhirLib.EngineTypes.endp = _endpos_x0_;
34396 MenhirLib.EngineTypes.next = _menhir_stack;
34397 };
34398 };
34399 };
34400 } = _menhir_stack in
34401 let m : 'tv_list_TMul_ = Obj.magic m in
34402 let ty00 : (
34403 # 49 "parser_cocci_menhir.mly"
34404 (Data.clt)
34405 # 34406 "parser_cocci_menhir.ml"
34406 ) = Obj.magic ty00 in
34407 let r0 : (
34408 # 51 "parser_cocci_menhir.mly"
34409 (Data.clt)
34410 # 34411 "parser_cocci_menhir.ml"
34411 ) = Obj.magic r0 in
34412 let x0 : 'tv_const_vol = Obj.magic x0 in
34413 let _startpos = _startpos_x0_ in
34414 let _endpos = _endpos_m_ in
34415 let _v : 'tv_typedef_ctype = let ty =
34416 let ty0 = ty00 in
34417 let r = r0 in
34418 let ty =
34419 let ty = ty0 in
34420
34421 # 482 "parser_cocci_menhir.mly"
34422 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
34423 # 34424 "parser_cocci_menhir.ml"
34424
34425 in
34426
34427 # 530 "parser_cocci_menhir.mly"
34428 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34429 # 34430 "parser_cocci_menhir.ml"
34430
34431 in
34432 let cv =
34433 let x = x0 in
34434
34435 # 41 "standard.mly"
34436 ( Some x )
34437 # 34438 "parser_cocci_menhir.ml"
34438
34439 in
34440
34441 # 551 "parser_cocci_menhir.mly"
34442 ( P.pointerify (P.make_cv cv ty) m )
34443 # 34444 "parser_cocci_menhir.ml"
34444 in
34445 _menhir_env.MenhirLib.EngineTypes.stack <- {
34446 MenhirLib.EngineTypes.state = _menhir_s;
34447 MenhirLib.EngineTypes.semv = Obj.repr _v;
34448 MenhirLib.EngineTypes.startp = _startpos;
34449 MenhirLib.EngineTypes.endp = _endpos;
34450 MenhirLib.EngineTypes.next = _menhir_stack;
34451 });
34452 (fun _menhir_env ->
34453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34454 let {
34455 MenhirLib.EngineTypes.semv = m;
34456 MenhirLib.EngineTypes.startp = _startpos_m_;
34457 MenhirLib.EngineTypes.endp = _endpos_m_;
34458 MenhirLib.EngineTypes.next = {
34459 MenhirLib.EngineTypes.semv = p00;
34460 MenhirLib.EngineTypes.startp = _startpos_p00_;
34461 MenhirLib.EngineTypes.endp = _endpos_p00_;
34462 MenhirLib.EngineTypes.next = {
34463 MenhirLib.EngineTypes.semv = r0;
34464 MenhirLib.EngineTypes.startp = _startpos_r0_;
34465 MenhirLib.EngineTypes.endp = _endpos_r0_;
34466 MenhirLib.EngineTypes.next = {
34467 MenhirLib.EngineTypes.state = _menhir_s;
34468 MenhirLib.EngineTypes.semv = x0;
34469 MenhirLib.EngineTypes.startp = _startpos_x0_;
34470 MenhirLib.EngineTypes.endp = _endpos_x0_;
34471 MenhirLib.EngineTypes.next = _menhir_stack;
34472 };
34473 };
34474 };
34475 } = _menhir_stack in
34476 let m : 'tv_list_TMul_ = Obj.magic m in
34477 let p00 : (
34478 # 64 "parser_cocci_menhir.mly"
34479 (Parse_aux.info)
34480 # 34481 "parser_cocci_menhir.ml"
34481 ) = Obj.magic p00 in
34482 let r0 : (
34483 # 51 "parser_cocci_menhir.mly"
34484 (Data.clt)
34485 # 34486 "parser_cocci_menhir.ml"
34486 ) = Obj.magic r0 in
34487 let x0 : 'tv_const_vol = Obj.magic x0 in
34488 let _startpos = _startpos_x0_ in
34489 let _endpos = _endpos_m_ in
34490 let _v : 'tv_typedef_ctype = let ty =
34491 let p0 = p00 in
34492 let r = r0 in
34493 let ty =
34494 let p = p0 in
34495
34496 # 484 "parser_cocci_menhir.mly"
34497 ( let (nm,pure,clt) = p in
34498 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
34499 # 34500 "parser_cocci_menhir.ml"
34500
34501 in
34502
34503 # 530 "parser_cocci_menhir.mly"
34504 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34505 # 34506 "parser_cocci_menhir.ml"
34506
34507 in
34508 let cv =
34509 let x = x0 in
34510
34511 # 41 "standard.mly"
34512 ( Some x )
34513 # 34514 "parser_cocci_menhir.ml"
34514
34515 in
34516
34517 # 551 "parser_cocci_menhir.mly"
34518 ( P.pointerify (P.make_cv cv ty) m )
34519 # 34520 "parser_cocci_menhir.ml"
34520 in
34521 _menhir_env.MenhirLib.EngineTypes.stack <- {
34522 MenhirLib.EngineTypes.state = _menhir_s;
34523 MenhirLib.EngineTypes.semv = Obj.repr _v;
34524 MenhirLib.EngineTypes.startp = _startpos;
34525 MenhirLib.EngineTypes.endp = _endpos;
34526 MenhirLib.EngineTypes.next = _menhir_stack;
34527 });
34528 (fun _menhir_env ->
34529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34530 let {
34531 MenhirLib.EngineTypes.semv = m;
34532 MenhirLib.EngineTypes.startp = _startpos_m_;
34533 MenhirLib.EngineTypes.endp = _endpos_m_;
34534 MenhirLib.EngineTypes.next = {
34535 MenhirLib.EngineTypes.semv = p00;
34536 MenhirLib.EngineTypes.startp = _startpos_p00_;
34537 MenhirLib.EngineTypes.endp = _endpos_p00_;
34538 MenhirLib.EngineTypes.next = {
34539 MenhirLib.EngineTypes.startp = _startpos__4_;
34540 MenhirLib.EngineTypes.endp = _endpos__4_;
34541 MenhirLib.EngineTypes.next = {
34542 MenhirLib.EngineTypes.semv = r00;
34543 MenhirLib.EngineTypes.startp = _startpos_r00_;
34544 MenhirLib.EngineTypes.endp = _endpos_r00_;
34545 MenhirLib.EngineTypes.next = {
34546 MenhirLib.EngineTypes.semv = r1;
34547 MenhirLib.EngineTypes.startp = _startpos_r1_;
34548 MenhirLib.EngineTypes.endp = _endpos_r1_;
34549 MenhirLib.EngineTypes.next = {
34550 MenhirLib.EngineTypes.state = _menhir_s;
34551 MenhirLib.EngineTypes.semv = x0;
34552 MenhirLib.EngineTypes.startp = _startpos_x0_;
34553 MenhirLib.EngineTypes.endp = _endpos_x0_;
34554 MenhirLib.EngineTypes.next = _menhir_stack;
34555 };
34556 };
34557 };
34558 };
34559 };
34560 } = _menhir_stack in
34561 let m : 'tv_list_TMul_ = Obj.magic m in
34562 let p00 : (
34563 # 59 "parser_cocci_menhir.mly"
34564 (string * Data.clt)
34565 # 34566 "parser_cocci_menhir.ml"
34566 ) = Obj.magic p00 in
34567 let r00 : (
34568 # 47 "parser_cocci_menhir.mly"
34569 (string)
34570 # 34571 "parser_cocci_menhir.ml"
34571 ) = Obj.magic r00 in
34572 let r1 : (
34573 # 51 "parser_cocci_menhir.mly"
34574 (Data.clt)
34575 # 34576 "parser_cocci_menhir.ml"
34576 ) = Obj.magic r1 in
34577 let x0 : 'tv_const_vol = Obj.magic x0 in
34578 let _startpos = _startpos_x0_ in
34579 let _endpos = _endpos_m_ in
34580 let _v : 'tv_typedef_ctype = let ty =
34581 let p0 = p00 in
34582 let r0 = r00 in
34583 let r = r1 in
34584 let ty =
34585 let p = p0 in
34586 let r = r0 in
34587
34588 # 487 "parser_cocci_menhir.mly"
34589 ( let nm = (r,P.id2name p) in
34590 (* this is only possible when we are in a metavar decl. Otherwise,
34591 it will be represented already as a MetaType *)
34592 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
34593 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
34594 Ast0.Impure (*will be ignored*))) )
34595 # 34596 "parser_cocci_menhir.ml"
34596
34597 in
34598
34599 # 530 "parser_cocci_menhir.mly"
34600 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34601 # 34602 "parser_cocci_menhir.ml"
34602
34603 in
34604 let cv =
34605 let x = x0 in
34606
34607 # 41 "standard.mly"
34608 ( Some x )
34609 # 34610 "parser_cocci_menhir.ml"
34610
34611 in
34612
34613 # 551 "parser_cocci_menhir.mly"
34614 ( P.pointerify (P.make_cv cv ty) m )
34615 # 34616 "parser_cocci_menhir.ml"
34616 in
34617 _menhir_env.MenhirLib.EngineTypes.stack <- {
34618 MenhirLib.EngineTypes.state = _menhir_s;
34619 MenhirLib.EngineTypes.semv = Obj.repr _v;
34620 MenhirLib.EngineTypes.startp = _startpos;
34621 MenhirLib.EngineTypes.endp = _endpos;
34622 MenhirLib.EngineTypes.next = _menhir_stack;
34623 });
34624 (fun _menhir_env ->
34625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34626 let {
34627 MenhirLib.EngineTypes.semv = m;
34628 MenhirLib.EngineTypes.startp = _startpos_m_;
34629 MenhirLib.EngineTypes.endp = _endpos_m_;
34630 MenhirLib.EngineTypes.next = {
34631 MenhirLib.EngineTypes.semv = ty00;
34632 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34633 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34634 MenhirLib.EngineTypes.next = {
34635 MenhirLib.EngineTypes.semv = r0;
34636 MenhirLib.EngineTypes.startp = _startpos_r0_;
34637 MenhirLib.EngineTypes.endp = _endpos_r0_;
34638 MenhirLib.EngineTypes.next = {
34639 MenhirLib.EngineTypes.state = _menhir_s;
34640 MenhirLib.EngineTypes.semv = x0;
34641 MenhirLib.EngineTypes.startp = _startpos_x0_;
34642 MenhirLib.EngineTypes.endp = _endpos_x0_;
34643 MenhirLib.EngineTypes.next = _menhir_stack;
34644 };
34645 };
34646 };
34647 } = _menhir_stack in
34648 let m : 'tv_list_TMul_ = Obj.magic m in
34649 let ty00 : (
34650 # 49 "parser_cocci_menhir.mly"
34651 (Data.clt)
34652 # 34653 "parser_cocci_menhir.ml"
34653 ) = Obj.magic ty00 in
34654 let r0 : (
34655 # 51 "parser_cocci_menhir.mly"
34656 (Data.clt)
34657 # 34658 "parser_cocci_menhir.ml"
34658 ) = Obj.magic r0 in
34659 let x0 : 'tv_const_vol = Obj.magic x0 in
34660 let _startpos = _startpos_x0_ in
34661 let _endpos = _endpos_m_ in
34662 let _v : 'tv_typedef_ctype = let ty =
34663 let ty0 = ty00 in
34664 let r = r0 in
34665 let ty =
34666 let ty = ty0 in
34667
34668 # 494 "parser_cocci_menhir.mly"
34669 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
34670 # 34671 "parser_cocci_menhir.ml"
34671
34672 in
34673
34674 # 530 "parser_cocci_menhir.mly"
34675 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34676 # 34677 "parser_cocci_menhir.ml"
34677
34678 in
34679 let cv =
34680 let x = x0 in
34681
34682 # 41 "standard.mly"
34683 ( Some x )
34684 # 34685 "parser_cocci_menhir.ml"
34685
34686 in
34687
34688 # 551 "parser_cocci_menhir.mly"
34689 ( P.pointerify (P.make_cv cv ty) m )
34690 # 34691 "parser_cocci_menhir.ml"
34691 in
34692 _menhir_env.MenhirLib.EngineTypes.stack <- {
34693 MenhirLib.EngineTypes.state = _menhir_s;
34694 MenhirLib.EngineTypes.semv = Obj.repr _v;
34695 MenhirLib.EngineTypes.startp = _startpos;
34696 MenhirLib.EngineTypes.endp = _endpos;
34697 MenhirLib.EngineTypes.next = _menhir_stack;
34698 });
34699 (fun _menhir_env ->
34700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34701 let {
34702 MenhirLib.EngineTypes.semv = m;
34703 MenhirLib.EngineTypes.startp = _startpos_m_;
34704 MenhirLib.EngineTypes.endp = _endpos_m_;
34705 MenhirLib.EngineTypes.next = {
34706 MenhirLib.EngineTypes.semv = ty200;
34707 MenhirLib.EngineTypes.startp = _startpos_ty200_;
34708 MenhirLib.EngineTypes.endp = _endpos_ty200_;
34709 MenhirLib.EngineTypes.next = {
34710 MenhirLib.EngineTypes.semv = ty100;
34711 MenhirLib.EngineTypes.startp = _startpos_ty100_;
34712 MenhirLib.EngineTypes.endp = _endpos_ty100_;
34713 MenhirLib.EngineTypes.next = {
34714 MenhirLib.EngineTypes.semv = r0;
34715 MenhirLib.EngineTypes.startp = _startpos_r0_;
34716 MenhirLib.EngineTypes.endp = _endpos_r0_;
34717 MenhirLib.EngineTypes.next = {
34718 MenhirLib.EngineTypes.state = _menhir_s;
34719 MenhirLib.EngineTypes.semv = x0;
34720 MenhirLib.EngineTypes.startp = _startpos_x0_;
34721 MenhirLib.EngineTypes.endp = _endpos_x0_;
34722 MenhirLib.EngineTypes.next = _menhir_stack;
34723 };
34724 };
34725 };
34726 };
34727 } = _menhir_stack in
34728 let m : 'tv_list_TMul_ = Obj.magic m in
34729 let ty200 : (
34730 # 49 "parser_cocci_menhir.mly"
34731 (Data.clt)
34732 # 34733 "parser_cocci_menhir.ml"
34733 ) = Obj.magic ty200 in
34734 let ty100 : (
34735 # 49 "parser_cocci_menhir.mly"
34736 (Data.clt)
34737 # 34738 "parser_cocci_menhir.ml"
34738 ) = Obj.magic ty100 in
34739 let r0 : (
34740 # 51 "parser_cocci_menhir.mly"
34741 (Data.clt)
34742 # 34743 "parser_cocci_menhir.ml"
34743 ) = Obj.magic r0 in
34744 let x0 : 'tv_const_vol = Obj.magic x0 in
34745 let _startpos = _startpos_x0_ in
34746 let _endpos = _endpos_m_ in
34747 let _v : 'tv_typedef_ctype = let ty =
34748 let ty20 = ty200 in
34749 let ty10 = ty100 in
34750 let r = r0 in
34751 let ty =
34752 let ty2 = ty20 in
34753 let ty1 = ty10 in
34754
34755 # 496 "parser_cocci_menhir.mly"
34756 ( Ast0.wrap
34757 (Ast0.BaseType
34758 (Ast.LongLongType,
34759 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
34760 # 34761 "parser_cocci_menhir.ml"
34761
34762 in
34763
34764 # 530 "parser_cocci_menhir.mly"
34765 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34766 # 34767 "parser_cocci_menhir.ml"
34767
34768 in
34769 let cv =
34770 let x = x0 in
34771
34772 # 41 "standard.mly"
34773 ( Some x )
34774 # 34775 "parser_cocci_menhir.ml"
34775
34776 in
34777
34778 # 551 "parser_cocci_menhir.mly"
34779 ( P.pointerify (P.make_cv cv ty) m )
34780 # 34781 "parser_cocci_menhir.ml"
34781 in
34782 _menhir_env.MenhirLib.EngineTypes.stack <- {
34783 MenhirLib.EngineTypes.state = _menhir_s;
34784 MenhirLib.EngineTypes.semv = Obj.repr _v;
34785 MenhirLib.EngineTypes.startp = _startpos;
34786 MenhirLib.EngineTypes.endp = _endpos;
34787 MenhirLib.EngineTypes.next = _menhir_stack;
34788 });
34789 (fun _menhir_env ->
34790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34791 let {
34792 MenhirLib.EngineTypes.semv = m;
34793 MenhirLib.EngineTypes.startp = _startpos_m_;
34794 MenhirLib.EngineTypes.endp = _endpos_m_;
34795 MenhirLib.EngineTypes.next = {
34796 MenhirLib.EngineTypes.semv = ty00;
34797 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34798 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34799 MenhirLib.EngineTypes.next = {
34800 MenhirLib.EngineTypes.semv = r0;
34801 MenhirLib.EngineTypes.startp = _startpos_r0_;
34802 MenhirLib.EngineTypes.endp = _endpos_r0_;
34803 MenhirLib.EngineTypes.next = {
34804 MenhirLib.EngineTypes.state = _menhir_s;
34805 MenhirLib.EngineTypes.semv = x0;
34806 MenhirLib.EngineTypes.startp = _startpos_x0_;
34807 MenhirLib.EngineTypes.endp = _endpos_x0_;
34808 MenhirLib.EngineTypes.next = _menhir_stack;
34809 };
34810 };
34811 };
34812 } = _menhir_stack in
34813 let m : 'tv_list_TMul_ = Obj.magic m in
34814 let ty00 : (
34815 # 49 "parser_cocci_menhir.mly"
34816 (Data.clt)
34817 # 34818 "parser_cocci_menhir.ml"
34818 ) = Obj.magic ty00 in
34819 let r0 : (
34820 # 51 "parser_cocci_menhir.mly"
34821 (Data.clt)
34822 # 34823 "parser_cocci_menhir.ml"
34823 ) = Obj.magic r0 in
34824 let x0 : 'tv_const_vol = Obj.magic x0 in
34825 let _startpos = _startpos_x0_ in
34826 let _endpos = _endpos_m_ in
34827 let _v : 'tv_typedef_ctype = let ty =
34828 let ty0 = ty00 in
34829 let r = r0 in
34830 let ty =
34831 let ty = ty0 in
34832
34833 # 478 "parser_cocci_menhir.mly"
34834 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34835 # 34836 "parser_cocci_menhir.ml"
34836
34837 in
34838
34839 # 532 "parser_cocci_menhir.mly"
34840 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
34841 # 34842 "parser_cocci_menhir.ml"
34842
34843 in
34844 let cv =
34845 let x = x0 in
34846
34847 # 41 "standard.mly"
34848 ( Some x )
34849 # 34850 "parser_cocci_menhir.ml"
34850
34851 in
34852
34853 # 551 "parser_cocci_menhir.mly"
34854 ( P.pointerify (P.make_cv cv ty) m )
34855 # 34856 "parser_cocci_menhir.ml"
34856 in
34857 _menhir_env.MenhirLib.EngineTypes.stack <- {
34858 MenhirLib.EngineTypes.state = _menhir_s;
34859 MenhirLib.EngineTypes.semv = Obj.repr _v;
34860 MenhirLib.EngineTypes.startp = _startpos;
34861 MenhirLib.EngineTypes.endp = _endpos;
34862 MenhirLib.EngineTypes.next = _menhir_stack;
34863 });
34864 (fun _menhir_env ->
34865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34866 let {
34867 MenhirLib.EngineTypes.semv = m;
34868 MenhirLib.EngineTypes.startp = _startpos_m_;
34869 MenhirLib.EngineTypes.endp = _endpos_m_;
34870 MenhirLib.EngineTypes.next = {
34871 MenhirLib.EngineTypes.semv = ty00;
34872 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34873 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34874 MenhirLib.EngineTypes.next = {
34875 MenhirLib.EngineTypes.semv = r0;
34876 MenhirLib.EngineTypes.startp = _startpos_r0_;
34877 MenhirLib.EngineTypes.endp = _endpos_r0_;
34878 MenhirLib.EngineTypes.next = {
34879 MenhirLib.EngineTypes.state = _menhir_s;
34880 MenhirLib.EngineTypes.semv = x0;
34881 MenhirLib.EngineTypes.startp = _startpos_x0_;
34882 MenhirLib.EngineTypes.endp = _endpos_x0_;
34883 MenhirLib.EngineTypes.next = _menhir_stack;
34884 };
34885 };
34886 };
34887 } = _menhir_stack in
34888 let m : 'tv_list_TMul_ = Obj.magic m in
34889 let ty00 : (
34890 # 49 "parser_cocci_menhir.mly"
34891 (Data.clt)
34892 # 34893 "parser_cocci_menhir.ml"
34893 ) = Obj.magic ty00 in
34894 let r0 : (
34895 # 51 "parser_cocci_menhir.mly"
34896 (Data.clt)
34897 # 34898 "parser_cocci_menhir.ml"
34898 ) = Obj.magic r0 in
34899 let x0 : 'tv_const_vol = Obj.magic x0 in
34900 let _startpos = _startpos_x0_ in
34901 let _endpos = _endpos_m_ in
34902 let _v : 'tv_typedef_ctype = let ty =
34903 let ty0 = ty00 in
34904 let r = r0 in
34905 let ty =
34906 let ty = ty0 in
34907
34908 # 480 "parser_cocci_menhir.mly"
34909 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34910 # 34911 "parser_cocci_menhir.ml"
34911
34912 in
34913
34914 # 532 "parser_cocci_menhir.mly"
34915 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
34916 # 34917 "parser_cocci_menhir.ml"
34917
34918 in
34919 let cv =
34920 let x = x0 in
34921
34922 # 41 "standard.mly"
34923 ( Some x )
34924 # 34925 "parser_cocci_menhir.ml"
34925
34926 in
34927
34928 # 551 "parser_cocci_menhir.mly"
34929 ( P.pointerify (P.make_cv cv ty) m )
34930 # 34931 "parser_cocci_menhir.ml"
34931 in
34932 _menhir_env.MenhirLib.EngineTypes.stack <- {
34933 MenhirLib.EngineTypes.state = _menhir_s;
34934 MenhirLib.EngineTypes.semv = Obj.repr _v;
34935 MenhirLib.EngineTypes.startp = _startpos;
34936 MenhirLib.EngineTypes.endp = _endpos;
34937 MenhirLib.EngineTypes.next = _menhir_stack;
34938 });
34939 (fun _menhir_env ->
34940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34941 let {
34942 MenhirLib.EngineTypes.semv = m;
34943 MenhirLib.EngineTypes.startp = _startpos_m_;
34944 MenhirLib.EngineTypes.endp = _endpos_m_;
34945 MenhirLib.EngineTypes.next = {
34946 MenhirLib.EngineTypes.semv = ty00;
34947 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34948 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34949 MenhirLib.EngineTypes.next = {
34950 MenhirLib.EngineTypes.semv = r0;
34951 MenhirLib.EngineTypes.startp = _startpos_r0_;
34952 MenhirLib.EngineTypes.endp = _endpos_r0_;
34953 MenhirLib.EngineTypes.next = {
34954 MenhirLib.EngineTypes.state = _menhir_s;
34955 MenhirLib.EngineTypes.semv = x0;
34956 MenhirLib.EngineTypes.startp = _startpos_x0_;
34957 MenhirLib.EngineTypes.endp = _endpos_x0_;
34958 MenhirLib.EngineTypes.next = _menhir_stack;
34959 };
34960 };
34961 };
34962 } = _menhir_stack in
34963 let m : 'tv_list_TMul_ = Obj.magic m in
34964 let ty00 : (
34965 # 49 "parser_cocci_menhir.mly"
34966 (Data.clt)
34967 # 34968 "parser_cocci_menhir.ml"
34968 ) = Obj.magic ty00 in
34969 let r0 : (
34970 # 51 "parser_cocci_menhir.mly"
34971 (Data.clt)
34972 # 34973 "parser_cocci_menhir.ml"
34973 ) = Obj.magic r0 in
34974 let x0 : 'tv_const_vol = Obj.magic x0 in
34975 let _startpos = _startpos_x0_ in
34976 let _endpos = _endpos_m_ in
34977 let _v : 'tv_typedef_ctype = let ty =
34978 let ty0 = ty00 in
34979 let r = r0 in
34980 let ty =
34981 let ty = ty0 in
34982
34983 # 482 "parser_cocci_menhir.mly"
34984 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
34985 # 34986 "parser_cocci_menhir.ml"
34986
34987 in
34988
34989 # 532 "parser_cocci_menhir.mly"
34990 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
34991 # 34992 "parser_cocci_menhir.ml"
34992
34993 in
34994 let cv =
34995 let x = x0 in
34996
34997 # 41 "standard.mly"
34998 ( Some x )
34999 # 35000 "parser_cocci_menhir.ml"
35000
35001 in
35002
35003 # 551 "parser_cocci_menhir.mly"
35004 ( P.pointerify (P.make_cv cv ty) m )
35005 # 35006 "parser_cocci_menhir.ml"
35006 in
35007 _menhir_env.MenhirLib.EngineTypes.stack <- {
35008 MenhirLib.EngineTypes.state = _menhir_s;
35009 MenhirLib.EngineTypes.semv = Obj.repr _v;
35010 MenhirLib.EngineTypes.startp = _startpos;
35011 MenhirLib.EngineTypes.endp = _endpos;
35012 MenhirLib.EngineTypes.next = _menhir_stack;
35013 });
35014 (fun _menhir_env ->
35015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35016 let {
35017 MenhirLib.EngineTypes.semv = m;
35018 MenhirLib.EngineTypes.startp = _startpos_m_;
35019 MenhirLib.EngineTypes.endp = _endpos_m_;
35020 MenhirLib.EngineTypes.next = {
35021 MenhirLib.EngineTypes.semv = p00;
35022 MenhirLib.EngineTypes.startp = _startpos_p00_;
35023 MenhirLib.EngineTypes.endp = _endpos_p00_;
35024 MenhirLib.EngineTypes.next = {
35025 MenhirLib.EngineTypes.semv = r0;
35026 MenhirLib.EngineTypes.startp = _startpos_r0_;
35027 MenhirLib.EngineTypes.endp = _endpos_r0_;
35028 MenhirLib.EngineTypes.next = {
35029 MenhirLib.EngineTypes.state = _menhir_s;
35030 MenhirLib.EngineTypes.semv = x0;
35031 MenhirLib.EngineTypes.startp = _startpos_x0_;
35032 MenhirLib.EngineTypes.endp = _endpos_x0_;
35033 MenhirLib.EngineTypes.next = _menhir_stack;
35034 };
35035 };
35036 };
35037 } = _menhir_stack in
35038 let m : 'tv_list_TMul_ = Obj.magic m in
35039 let p00 : (
35040 # 64 "parser_cocci_menhir.mly"
35041 (Parse_aux.info)
35042 # 35043 "parser_cocci_menhir.ml"
35043 ) = Obj.magic p00 in
35044 let r0 : (
35045 # 51 "parser_cocci_menhir.mly"
35046 (Data.clt)
35047 # 35048 "parser_cocci_menhir.ml"
35048 ) = Obj.magic r0 in
35049 let x0 : 'tv_const_vol = Obj.magic x0 in
35050 let _startpos = _startpos_x0_ in
35051 let _endpos = _endpos_m_ in
35052 let _v : 'tv_typedef_ctype = let ty =
35053 let p0 = p00 in
35054 let r = r0 in
35055 let ty =
35056 let p = p0 in
35057
35058 # 484 "parser_cocci_menhir.mly"
35059 ( let (nm,pure,clt) = p in
35060 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35061 # 35062 "parser_cocci_menhir.ml"
35062
35063 in
35064
35065 # 532 "parser_cocci_menhir.mly"
35066 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35067 # 35068 "parser_cocci_menhir.ml"
35068
35069 in
35070 let cv =
35071 let x = x0 in
35072
35073 # 41 "standard.mly"
35074 ( Some x )
35075 # 35076 "parser_cocci_menhir.ml"
35076
35077 in
35078
35079 # 551 "parser_cocci_menhir.mly"
35080 ( P.pointerify (P.make_cv cv ty) m )
35081 # 35082 "parser_cocci_menhir.ml"
35082 in
35083 _menhir_env.MenhirLib.EngineTypes.stack <- {
35084 MenhirLib.EngineTypes.state = _menhir_s;
35085 MenhirLib.EngineTypes.semv = Obj.repr _v;
35086 MenhirLib.EngineTypes.startp = _startpos;
35087 MenhirLib.EngineTypes.endp = _endpos;
35088 MenhirLib.EngineTypes.next = _menhir_stack;
35089 });
35090 (fun _menhir_env ->
35091 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35092 let {
35093 MenhirLib.EngineTypes.semv = m;
35094 MenhirLib.EngineTypes.startp = _startpos_m_;
35095 MenhirLib.EngineTypes.endp = _endpos_m_;
35096 MenhirLib.EngineTypes.next = {
35097 MenhirLib.EngineTypes.semv = p00;
35098 MenhirLib.EngineTypes.startp = _startpos_p00_;
35099 MenhirLib.EngineTypes.endp = _endpos_p00_;
35100 MenhirLib.EngineTypes.next = {
35101 MenhirLib.EngineTypes.startp = _startpos__4_;
35102 MenhirLib.EngineTypes.endp = _endpos__4_;
35103 MenhirLib.EngineTypes.next = {
35104 MenhirLib.EngineTypes.semv = r00;
35105 MenhirLib.EngineTypes.startp = _startpos_r00_;
35106 MenhirLib.EngineTypes.endp = _endpos_r00_;
35107 MenhirLib.EngineTypes.next = {
35108 MenhirLib.EngineTypes.semv = r1;
35109 MenhirLib.EngineTypes.startp = _startpos_r1_;
35110 MenhirLib.EngineTypes.endp = _endpos_r1_;
35111 MenhirLib.EngineTypes.next = {
35112 MenhirLib.EngineTypes.state = _menhir_s;
35113 MenhirLib.EngineTypes.semv = x0;
35114 MenhirLib.EngineTypes.startp = _startpos_x0_;
35115 MenhirLib.EngineTypes.endp = _endpos_x0_;
35116 MenhirLib.EngineTypes.next = _menhir_stack;
35117 };
35118 };
35119 };
35120 };
35121 };
35122 } = _menhir_stack in
35123 let m : 'tv_list_TMul_ = Obj.magic m in
35124 let p00 : (
35125 # 59 "parser_cocci_menhir.mly"
35126 (string * Data.clt)
35127 # 35128 "parser_cocci_menhir.ml"
35128 ) = Obj.magic p00 in
35129 let r00 : (
35130 # 47 "parser_cocci_menhir.mly"
35131 (string)
35132 # 35133 "parser_cocci_menhir.ml"
35133 ) = Obj.magic r00 in
35134 let r1 : (
35135 # 51 "parser_cocci_menhir.mly"
35136 (Data.clt)
35137 # 35138 "parser_cocci_menhir.ml"
35138 ) = Obj.magic r1 in
35139 let x0 : 'tv_const_vol = Obj.magic x0 in
35140 let _startpos = _startpos_x0_ in
35141 let _endpos = _endpos_m_ in
35142 let _v : 'tv_typedef_ctype = let ty =
35143 let p0 = p00 in
35144 let r0 = r00 in
35145 let r = r1 in
35146 let ty =
35147 let p = p0 in
35148 let r = r0 in
35149
35150 # 487 "parser_cocci_menhir.mly"
35151 ( let nm = (r,P.id2name p) in
35152 (* this is only possible when we are in a metavar decl. Otherwise,
35153 it will be represented already as a MetaType *)
35154 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35155 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35156 Ast0.Impure (*will be ignored*))) )
35157 # 35158 "parser_cocci_menhir.ml"
35158
35159 in
35160
35161 # 532 "parser_cocci_menhir.mly"
35162 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35163 # 35164 "parser_cocci_menhir.ml"
35164
35165 in
35166 let cv =
35167 let x = x0 in
35168
35169 # 41 "standard.mly"
35170 ( Some x )
35171 # 35172 "parser_cocci_menhir.ml"
35172
35173 in
35174
35175 # 551 "parser_cocci_menhir.mly"
35176 ( P.pointerify (P.make_cv cv ty) m )
35177 # 35178 "parser_cocci_menhir.ml"
35178 in
35179 _menhir_env.MenhirLib.EngineTypes.stack <- {
35180 MenhirLib.EngineTypes.state = _menhir_s;
35181 MenhirLib.EngineTypes.semv = Obj.repr _v;
35182 MenhirLib.EngineTypes.startp = _startpos;
35183 MenhirLib.EngineTypes.endp = _endpos;
35184 MenhirLib.EngineTypes.next = _menhir_stack;
35185 });
35186 (fun _menhir_env ->
35187 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35188 let {
35189 MenhirLib.EngineTypes.semv = m;
35190 MenhirLib.EngineTypes.startp = _startpos_m_;
35191 MenhirLib.EngineTypes.endp = _endpos_m_;
35192 MenhirLib.EngineTypes.next = {
35193 MenhirLib.EngineTypes.semv = ty00;
35194 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35195 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35196 MenhirLib.EngineTypes.next = {
35197 MenhirLib.EngineTypes.semv = r0;
35198 MenhirLib.EngineTypes.startp = _startpos_r0_;
35199 MenhirLib.EngineTypes.endp = _endpos_r0_;
35200 MenhirLib.EngineTypes.next = {
35201 MenhirLib.EngineTypes.state = _menhir_s;
35202 MenhirLib.EngineTypes.semv = x0;
35203 MenhirLib.EngineTypes.startp = _startpos_x0_;
35204 MenhirLib.EngineTypes.endp = _endpos_x0_;
35205 MenhirLib.EngineTypes.next = _menhir_stack;
35206 };
35207 };
35208 };
35209 } = _menhir_stack in
35210 let m : 'tv_list_TMul_ = Obj.magic m in
35211 let ty00 : (
35212 # 49 "parser_cocci_menhir.mly"
35213 (Data.clt)
35214 # 35215 "parser_cocci_menhir.ml"
35215 ) = Obj.magic ty00 in
35216 let r0 : (
35217 # 51 "parser_cocci_menhir.mly"
35218 (Data.clt)
35219 # 35220 "parser_cocci_menhir.ml"
35220 ) = Obj.magic r0 in
35221 let x0 : 'tv_const_vol = Obj.magic x0 in
35222 let _startpos = _startpos_x0_ in
35223 let _endpos = _endpos_m_ in
35224 let _v : 'tv_typedef_ctype = let ty =
35225 let ty0 = ty00 in
35226 let r = r0 in
35227 let ty =
35228 let ty = ty0 in
35229
35230 # 494 "parser_cocci_menhir.mly"
35231 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35232 # 35233 "parser_cocci_menhir.ml"
35233
35234 in
35235
35236 # 532 "parser_cocci_menhir.mly"
35237 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35238 # 35239 "parser_cocci_menhir.ml"
35239
35240 in
35241 let cv =
35242 let x = x0 in
35243
35244 # 41 "standard.mly"
35245 ( Some x )
35246 # 35247 "parser_cocci_menhir.ml"
35247
35248 in
35249
35250 # 551 "parser_cocci_menhir.mly"
35251 ( P.pointerify (P.make_cv cv ty) m )
35252 # 35253 "parser_cocci_menhir.ml"
35253 in
35254 _menhir_env.MenhirLib.EngineTypes.stack <- {
35255 MenhirLib.EngineTypes.state = _menhir_s;
35256 MenhirLib.EngineTypes.semv = Obj.repr _v;
35257 MenhirLib.EngineTypes.startp = _startpos;
35258 MenhirLib.EngineTypes.endp = _endpos;
35259 MenhirLib.EngineTypes.next = _menhir_stack;
35260 });
35261 (fun _menhir_env ->
35262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35263 let {
35264 MenhirLib.EngineTypes.semv = m;
35265 MenhirLib.EngineTypes.startp = _startpos_m_;
35266 MenhirLib.EngineTypes.endp = _endpos_m_;
35267 MenhirLib.EngineTypes.next = {
35268 MenhirLib.EngineTypes.semv = ty200;
35269 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35270 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35271 MenhirLib.EngineTypes.next = {
35272 MenhirLib.EngineTypes.semv = ty100;
35273 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35274 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35275 MenhirLib.EngineTypes.next = {
35276 MenhirLib.EngineTypes.semv = r0;
35277 MenhirLib.EngineTypes.startp = _startpos_r0_;
35278 MenhirLib.EngineTypes.endp = _endpos_r0_;
35279 MenhirLib.EngineTypes.next = {
35280 MenhirLib.EngineTypes.state = _menhir_s;
35281 MenhirLib.EngineTypes.semv = x0;
35282 MenhirLib.EngineTypes.startp = _startpos_x0_;
35283 MenhirLib.EngineTypes.endp = _endpos_x0_;
35284 MenhirLib.EngineTypes.next = _menhir_stack;
35285 };
35286 };
35287 };
35288 };
35289 } = _menhir_stack in
35290 let m : 'tv_list_TMul_ = Obj.magic m in
35291 let ty200 : (
35292 # 49 "parser_cocci_menhir.mly"
35293 (Data.clt)
35294 # 35295 "parser_cocci_menhir.ml"
35295 ) = Obj.magic ty200 in
35296 let ty100 : (
35297 # 49 "parser_cocci_menhir.mly"
35298 (Data.clt)
35299 # 35300 "parser_cocci_menhir.ml"
35300 ) = Obj.magic ty100 in
35301 let r0 : (
35302 # 51 "parser_cocci_menhir.mly"
35303 (Data.clt)
35304 # 35305 "parser_cocci_menhir.ml"
35305 ) = Obj.magic r0 in
35306 let x0 : 'tv_const_vol = Obj.magic x0 in
35307 let _startpos = _startpos_x0_ in
35308 let _endpos = _endpos_m_ in
35309 let _v : 'tv_typedef_ctype = let ty =
35310 let ty20 = ty200 in
35311 let ty10 = ty100 in
35312 let r = r0 in
35313 let ty =
35314 let ty2 = ty20 in
35315 let ty1 = ty10 in
35316
35317 # 496 "parser_cocci_menhir.mly"
35318 ( Ast0.wrap
35319 (Ast0.BaseType
35320 (Ast.LongLongType,
35321 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35322 # 35323 "parser_cocci_menhir.ml"
35323
35324 in
35325
35326 # 532 "parser_cocci_menhir.mly"
35327 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35328 # 35329 "parser_cocci_menhir.ml"
35329
35330 in
35331 let cv =
35332 let x = x0 in
35333
35334 # 41 "standard.mly"
35335 ( Some x )
35336 # 35337 "parser_cocci_menhir.ml"
35337
35338 in
35339
35340 # 551 "parser_cocci_menhir.mly"
35341 ( P.pointerify (P.make_cv cv ty) m )
35342 # 35343 "parser_cocci_menhir.ml"
35343 in
35344 _menhir_env.MenhirLib.EngineTypes.stack <- {
35345 MenhirLib.EngineTypes.state = _menhir_s;
35346 MenhirLib.EngineTypes.semv = Obj.repr _v;
35347 MenhirLib.EngineTypes.startp = _startpos;
35348 MenhirLib.EngineTypes.endp = _endpos;
35349 MenhirLib.EngineTypes.next = _menhir_stack;
35350 });
35351 (fun _menhir_env ->
35352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35353 let {
35354 MenhirLib.EngineTypes.semv = m;
35355 MenhirLib.EngineTypes.startp = _startpos_m_;
35356 MenhirLib.EngineTypes.endp = _endpos_m_;
35357 MenhirLib.EngineTypes.next = {
35358 MenhirLib.EngineTypes.semv = ty00;
35359 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35360 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35361 MenhirLib.EngineTypes.next = {
35362 MenhirLib.EngineTypes.state = _menhir_s;
35363 MenhirLib.EngineTypes.semv = x0;
35364 MenhirLib.EngineTypes.startp = _startpos_x0_;
35365 MenhirLib.EngineTypes.endp = _endpos_x0_;
35366 MenhirLib.EngineTypes.next = _menhir_stack;
35367 };
35368 };
35369 } = _menhir_stack in
35370 let m : 'tv_list_TMul_ = Obj.magic m in
35371 let ty00 : (
35372 # 49 "parser_cocci_menhir.mly"
35373 (Data.clt)
35374 # 35375 "parser_cocci_menhir.ml"
35375 ) = Obj.magic ty00 in
35376 let x0 : 'tv_const_vol = Obj.magic x0 in
35377 let _startpos = _startpos_x0_ in
35378 let _endpos = _endpos_m_ in
35379 let _v : 'tv_typedef_ctype = let ty =
35380 let ty0 = ty00 in
35381 let ty =
35382 let ty = ty0 in
35383
35384 # 478 "parser_cocci_menhir.mly"
35385 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35386 # 35387 "parser_cocci_menhir.ml"
35387
35388 in
35389
35390 # 533 "parser_cocci_menhir.mly"
35391 ( ty )
35392 # 35393 "parser_cocci_menhir.ml"
35393
35394 in
35395 let cv =
35396 let x = x0 in
35397
35398 # 41 "standard.mly"
35399 ( Some x )
35400 # 35401 "parser_cocci_menhir.ml"
35401
35402 in
35403
35404 # 551 "parser_cocci_menhir.mly"
35405 ( P.pointerify (P.make_cv cv ty) m )
35406 # 35407 "parser_cocci_menhir.ml"
35407 in
35408 _menhir_env.MenhirLib.EngineTypes.stack <- {
35409 MenhirLib.EngineTypes.state = _menhir_s;
35410 MenhirLib.EngineTypes.semv = Obj.repr _v;
35411 MenhirLib.EngineTypes.startp = _startpos;
35412 MenhirLib.EngineTypes.endp = _endpos;
35413 MenhirLib.EngineTypes.next = _menhir_stack;
35414 });
35415 (fun _menhir_env ->
35416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35417 let {
35418 MenhirLib.EngineTypes.semv = m;
35419 MenhirLib.EngineTypes.startp = _startpos_m_;
35420 MenhirLib.EngineTypes.endp = _endpos_m_;
35421 MenhirLib.EngineTypes.next = {
35422 MenhirLib.EngineTypes.semv = ty00;
35423 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35424 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35425 MenhirLib.EngineTypes.next = {
35426 MenhirLib.EngineTypes.state = _menhir_s;
35427 MenhirLib.EngineTypes.semv = x0;
35428 MenhirLib.EngineTypes.startp = _startpos_x0_;
35429 MenhirLib.EngineTypes.endp = _endpos_x0_;
35430 MenhirLib.EngineTypes.next = _menhir_stack;
35431 };
35432 };
35433 } = _menhir_stack in
35434 let m : 'tv_list_TMul_ = Obj.magic m in
35435 let ty00 : (
35436 # 49 "parser_cocci_menhir.mly"
35437 (Data.clt)
35438 # 35439 "parser_cocci_menhir.ml"
35439 ) = Obj.magic ty00 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 ty =
35446 let ty = ty0 in
35447
35448 # 480 "parser_cocci_menhir.mly"
35449 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35450 # 35451 "parser_cocci_menhir.ml"
35451
35452 in
35453
35454 # 533 "parser_cocci_menhir.mly"
35455 ( ty )
35456 # 35457 "parser_cocci_menhir.ml"
35457
35458 in
35459 let cv =
35460 let x = x0 in
35461
35462 # 41 "standard.mly"
35463 ( Some x )
35464 # 35465 "parser_cocci_menhir.ml"
35465
35466 in
35467
35468 # 551 "parser_cocci_menhir.mly"
35469 ( P.pointerify (P.make_cv cv ty) m )
35470 # 35471 "parser_cocci_menhir.ml"
35471 in
35472 _menhir_env.MenhirLib.EngineTypes.stack <- {
35473 MenhirLib.EngineTypes.state = _menhir_s;
35474 MenhirLib.EngineTypes.semv = Obj.repr _v;
35475 MenhirLib.EngineTypes.startp = _startpos;
35476 MenhirLib.EngineTypes.endp = _endpos;
35477 MenhirLib.EngineTypes.next = _menhir_stack;
35478 });
35479 (fun _menhir_env ->
35480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35481 let {
35482 MenhirLib.EngineTypes.semv = m;
35483 MenhirLib.EngineTypes.startp = _startpos_m_;
35484 MenhirLib.EngineTypes.endp = _endpos_m_;
35485 MenhirLib.EngineTypes.next = {
35486 MenhirLib.EngineTypes.semv = ty00;
35487 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35488 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35489 MenhirLib.EngineTypes.next = {
35490 MenhirLib.EngineTypes.state = _menhir_s;
35491 MenhirLib.EngineTypes.semv = x0;
35492 MenhirLib.EngineTypes.startp = _startpos_x0_;
35493 MenhirLib.EngineTypes.endp = _endpos_x0_;
35494 MenhirLib.EngineTypes.next = _menhir_stack;
35495 };
35496 };
35497 } = _menhir_stack in
35498 let m : 'tv_list_TMul_ = Obj.magic m in
35499 let ty00 : (
35500 # 49 "parser_cocci_menhir.mly"
35501 (Data.clt)
35502 # 35503 "parser_cocci_menhir.ml"
35503 ) = Obj.magic ty00 in
35504 let x0 : 'tv_const_vol = Obj.magic x0 in
35505 let _startpos = _startpos_x0_ in
35506 let _endpos = _endpos_m_ in
35507 let _v : 'tv_typedef_ctype = let ty =
35508 let ty0 = ty00 in
35509 let ty =
35510 let ty = ty0 in
35511
35512 # 482 "parser_cocci_menhir.mly"
35513 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35514 # 35515 "parser_cocci_menhir.ml"
35515
35516 in
35517
35518 # 533 "parser_cocci_menhir.mly"
35519 ( ty )
35520 # 35521 "parser_cocci_menhir.ml"
35521
35522 in
35523 let cv =
35524 let x = x0 in
35525
35526 # 41 "standard.mly"
35527 ( Some x )
35528 # 35529 "parser_cocci_menhir.ml"
35529
35530 in
35531
35532 # 551 "parser_cocci_menhir.mly"
35533 ( P.pointerify (P.make_cv cv ty) m )
35534 # 35535 "parser_cocci_menhir.ml"
35535 in
35536 _menhir_env.MenhirLib.EngineTypes.stack <- {
35537 MenhirLib.EngineTypes.state = _menhir_s;
35538 MenhirLib.EngineTypes.semv = Obj.repr _v;
35539 MenhirLib.EngineTypes.startp = _startpos;
35540 MenhirLib.EngineTypes.endp = _endpos;
35541 MenhirLib.EngineTypes.next = _menhir_stack;
35542 });
35543 (fun _menhir_env ->
35544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35545 let {
35546 MenhirLib.EngineTypes.semv = m;
35547 MenhirLib.EngineTypes.startp = _startpos_m_;
35548 MenhirLib.EngineTypes.endp = _endpos_m_;
35549 MenhirLib.EngineTypes.next = {
35550 MenhirLib.EngineTypes.semv = p00;
35551 MenhirLib.EngineTypes.startp = _startpos_p00_;
35552 MenhirLib.EngineTypes.endp = _endpos_p00_;
35553 MenhirLib.EngineTypes.next = {
35554 MenhirLib.EngineTypes.state = _menhir_s;
35555 MenhirLib.EngineTypes.semv = x0;
35556 MenhirLib.EngineTypes.startp = _startpos_x0_;
35557 MenhirLib.EngineTypes.endp = _endpos_x0_;
35558 MenhirLib.EngineTypes.next = _menhir_stack;
35559 };
35560 };
35561 } = _menhir_stack in
35562 let m : 'tv_list_TMul_ = Obj.magic m in
35563 let p00 : (
35564 # 64 "parser_cocci_menhir.mly"
35565 (Parse_aux.info)
35566 # 35567 "parser_cocci_menhir.ml"
35567 ) = Obj.magic p00 in
35568 let x0 : 'tv_const_vol = Obj.magic x0 in
35569 let _startpos = _startpos_x0_ in
35570 let _endpos = _endpos_m_ in
35571 let _v : 'tv_typedef_ctype = let ty =
35572 let p0 = p00 in
35573 let ty =
35574 let p = p0 in
35575
35576 # 484 "parser_cocci_menhir.mly"
35577 ( let (nm,pure,clt) = p in
35578 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35579 # 35580 "parser_cocci_menhir.ml"
35580
35581 in
35582
35583 # 533 "parser_cocci_menhir.mly"
35584 ( ty )
35585 # 35586 "parser_cocci_menhir.ml"
35586
35587 in
35588 let cv =
35589 let x = x0 in
35590
35591 # 41 "standard.mly"
35592 ( Some x )
35593 # 35594 "parser_cocci_menhir.ml"
35594
35595 in
35596
35597 # 551 "parser_cocci_menhir.mly"
35598 ( P.pointerify (P.make_cv cv ty) m )
35599 # 35600 "parser_cocci_menhir.ml"
35600 in
35601 _menhir_env.MenhirLib.EngineTypes.stack <- {
35602 MenhirLib.EngineTypes.state = _menhir_s;
35603 MenhirLib.EngineTypes.semv = Obj.repr _v;
35604 MenhirLib.EngineTypes.startp = _startpos;
35605 MenhirLib.EngineTypes.endp = _endpos;
35606 MenhirLib.EngineTypes.next = _menhir_stack;
35607 });
35608 (fun _menhir_env ->
35609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35610 let {
35611 MenhirLib.EngineTypes.semv = m;
35612 MenhirLib.EngineTypes.startp = _startpos_m_;
35613 MenhirLib.EngineTypes.endp = _endpos_m_;
35614 MenhirLib.EngineTypes.next = {
35615 MenhirLib.EngineTypes.semv = p00;
35616 MenhirLib.EngineTypes.startp = _startpos_p00_;
35617 MenhirLib.EngineTypes.endp = _endpos_p00_;
35618 MenhirLib.EngineTypes.next = {
35619 MenhirLib.EngineTypes.startp = _startpos__3_;
35620 MenhirLib.EngineTypes.endp = _endpos__3_;
35621 MenhirLib.EngineTypes.next = {
35622 MenhirLib.EngineTypes.semv = r00;
35623 MenhirLib.EngineTypes.startp = _startpos_r00_;
35624 MenhirLib.EngineTypes.endp = _endpos_r00_;
35625 MenhirLib.EngineTypes.next = {
35626 MenhirLib.EngineTypes.state = _menhir_s;
35627 MenhirLib.EngineTypes.semv = x0;
35628 MenhirLib.EngineTypes.startp = _startpos_x0_;
35629 MenhirLib.EngineTypes.endp = _endpos_x0_;
35630 MenhirLib.EngineTypes.next = _menhir_stack;
35631 };
35632 };
35633 };
35634 };
35635 } = _menhir_stack in
35636 let m : 'tv_list_TMul_ = Obj.magic m in
35637 let p00 : (
35638 # 59 "parser_cocci_menhir.mly"
35639 (string * Data.clt)
35640 # 35641 "parser_cocci_menhir.ml"
35641 ) = Obj.magic p00 in
35642 let r00 : (
35643 # 47 "parser_cocci_menhir.mly"
35644 (string)
35645 # 35646 "parser_cocci_menhir.ml"
35646 ) = Obj.magic r00 in
35647 let x0 : 'tv_const_vol = Obj.magic x0 in
35648 let _startpos = _startpos_x0_ in
35649 let _endpos = _endpos_m_ in
35650 let _v : 'tv_typedef_ctype = let ty =
35651 let p0 = p00 in
35652 let r0 = r00 in
35653 let ty =
35654 let p = p0 in
35655 let r = r0 in
35656
35657 # 487 "parser_cocci_menhir.mly"
35658 ( let nm = (r,P.id2name p) in
35659 (* this is only possible when we are in a metavar decl. Otherwise,
35660 it will be represented already as a MetaType *)
35661 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35662 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35663 Ast0.Impure (*will be ignored*))) )
35664 # 35665 "parser_cocci_menhir.ml"
35665
35666 in
35667
35668 # 533 "parser_cocci_menhir.mly"
35669 ( ty )
35670 # 35671 "parser_cocci_menhir.ml"
35671
35672 in
35673 let cv =
35674 let x = x0 in
35675
35676 # 41 "standard.mly"
35677 ( Some x )
35678 # 35679 "parser_cocci_menhir.ml"
35679
35680 in
35681
35682 # 551 "parser_cocci_menhir.mly"
35683 ( P.pointerify (P.make_cv cv ty) m )
35684 # 35685 "parser_cocci_menhir.ml"
35685 in
35686 _menhir_env.MenhirLib.EngineTypes.stack <- {
35687 MenhirLib.EngineTypes.state = _menhir_s;
35688 MenhirLib.EngineTypes.semv = Obj.repr _v;
35689 MenhirLib.EngineTypes.startp = _startpos;
35690 MenhirLib.EngineTypes.endp = _endpos;
35691 MenhirLib.EngineTypes.next = _menhir_stack;
35692 });
35693 (fun _menhir_env ->
35694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35695 let {
35696 MenhirLib.EngineTypes.semv = m;
35697 MenhirLib.EngineTypes.startp = _startpos_m_;
35698 MenhirLib.EngineTypes.endp = _endpos_m_;
35699 MenhirLib.EngineTypes.next = {
35700 MenhirLib.EngineTypes.semv = ty00;
35701 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35702 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35703 MenhirLib.EngineTypes.next = {
35704 MenhirLib.EngineTypes.state = _menhir_s;
35705 MenhirLib.EngineTypes.semv = x0;
35706 MenhirLib.EngineTypes.startp = _startpos_x0_;
35707 MenhirLib.EngineTypes.endp = _endpos_x0_;
35708 MenhirLib.EngineTypes.next = _menhir_stack;
35709 };
35710 };
35711 } = _menhir_stack in
35712 let m : 'tv_list_TMul_ = Obj.magic m in
35713 let ty00 : (
35714 # 49 "parser_cocci_menhir.mly"
35715 (Data.clt)
35716 # 35717 "parser_cocci_menhir.ml"
35717 ) = Obj.magic ty00 in
35718 let x0 : 'tv_const_vol = Obj.magic x0 in
35719 let _startpos = _startpos_x0_ in
35720 let _endpos = _endpos_m_ in
35721 let _v : 'tv_typedef_ctype = let ty =
35722 let ty0 = ty00 in
35723 let ty =
35724 let ty = ty0 in
35725
35726 # 494 "parser_cocci_menhir.mly"
35727 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35728 # 35729 "parser_cocci_menhir.ml"
35729
35730 in
35731
35732 # 533 "parser_cocci_menhir.mly"
35733 ( ty )
35734 # 35735 "parser_cocci_menhir.ml"
35735
35736 in
35737 let cv =
35738 let x = x0 in
35739
35740 # 41 "standard.mly"
35741 ( Some x )
35742 # 35743 "parser_cocci_menhir.ml"
35743
35744 in
35745
35746 # 551 "parser_cocci_menhir.mly"
35747 ( P.pointerify (P.make_cv cv ty) m )
35748 # 35749 "parser_cocci_menhir.ml"
35749 in
35750 _menhir_env.MenhirLib.EngineTypes.stack <- {
35751 MenhirLib.EngineTypes.state = _menhir_s;
35752 MenhirLib.EngineTypes.semv = Obj.repr _v;
35753 MenhirLib.EngineTypes.startp = _startpos;
35754 MenhirLib.EngineTypes.endp = _endpos;
35755 MenhirLib.EngineTypes.next = _menhir_stack;
35756 });
35757 (fun _menhir_env ->
35758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35759 let {
35760 MenhirLib.EngineTypes.semv = m;
35761 MenhirLib.EngineTypes.startp = _startpos_m_;
35762 MenhirLib.EngineTypes.endp = _endpos_m_;
35763 MenhirLib.EngineTypes.next = {
35764 MenhirLib.EngineTypes.semv = ty200;
35765 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35766 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35767 MenhirLib.EngineTypes.next = {
35768 MenhirLib.EngineTypes.semv = ty100;
35769 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35770 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35771 MenhirLib.EngineTypes.next = {
35772 MenhirLib.EngineTypes.state = _menhir_s;
35773 MenhirLib.EngineTypes.semv = x0;
35774 MenhirLib.EngineTypes.startp = _startpos_x0_;
35775 MenhirLib.EngineTypes.endp = _endpos_x0_;
35776 MenhirLib.EngineTypes.next = _menhir_stack;
35777 };
35778 };
35779 };
35780 } = _menhir_stack in
35781 let m : 'tv_list_TMul_ = Obj.magic m in
35782 let ty200 : (
35783 # 49 "parser_cocci_menhir.mly"
35784 (Data.clt)
35785 # 35786 "parser_cocci_menhir.ml"
35786 ) = Obj.magic ty200 in
35787 let ty100 : (
35788 # 49 "parser_cocci_menhir.mly"
35789 (Data.clt)
35790 # 35791 "parser_cocci_menhir.ml"
35791 ) = Obj.magic ty100 in
35792 let x0 : 'tv_const_vol = Obj.magic x0 in
35793 let _startpos = _startpos_x0_ in
35794 let _endpos = _endpos_m_ in
35795 let _v : 'tv_typedef_ctype = let ty =
35796 let ty20 = ty200 in
35797 let ty10 = ty100 in
35798 let ty =
35799 let ty2 = ty20 in
35800 let ty1 = ty10 in
35801
35802 # 496 "parser_cocci_menhir.mly"
35803 ( Ast0.wrap
35804 (Ast0.BaseType
35805 (Ast.LongLongType,
35806 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35807 # 35808 "parser_cocci_menhir.ml"
35808
35809 in
35810
35811 # 533 "parser_cocci_menhir.mly"
35812 ( ty )
35813 # 35814 "parser_cocci_menhir.ml"
35814
35815 in
35816 let cv =
35817 let x = x0 in
35818
35819 # 41 "standard.mly"
35820 ( Some x )
35821 # 35822 "parser_cocci_menhir.ml"
35822
35823 in
35824
35825 # 551 "parser_cocci_menhir.mly"
35826 ( P.pointerify (P.make_cv cv ty) m )
35827 # 35828 "parser_cocci_menhir.ml"
35828 in
35829 _menhir_env.MenhirLib.EngineTypes.stack <- {
35830 MenhirLib.EngineTypes.state = _menhir_s;
35831 MenhirLib.EngineTypes.semv = Obj.repr _v;
35832 MenhirLib.EngineTypes.startp = _startpos;
35833 MenhirLib.EngineTypes.endp = _endpos;
35834 MenhirLib.EngineTypes.next = _menhir_stack;
35835 });
35836 (fun _menhir_env ->
35837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35838 let {
35839 MenhirLib.EngineTypes.semv = m;
35840 MenhirLib.EngineTypes.startp = _startpos_m_;
35841 MenhirLib.EngineTypes.endp = _endpos_m_;
35842 MenhirLib.EngineTypes.next = {
35843 MenhirLib.EngineTypes.semv = ty00;
35844 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35845 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35846 MenhirLib.EngineTypes.next = {
35847 MenhirLib.EngineTypes.state = _menhir_s;
35848 MenhirLib.EngineTypes.semv = x0;
35849 MenhirLib.EngineTypes.startp = _startpos_x0_;
35850 MenhirLib.EngineTypes.endp = _endpos_x0_;
35851 MenhirLib.EngineTypes.next = _menhir_stack;
35852 };
35853 };
35854 } = _menhir_stack in
35855 let m : 'tv_list_TMul_ = Obj.magic m in
35856 let ty00 : (
35857 # 50 "parser_cocci_menhir.mly"
35858 (Data.clt)
35859 # 35860 "parser_cocci_menhir.ml"
35860 ) = Obj.magic ty00 in
35861 let x0 : 'tv_const_vol = Obj.magic x0 in
35862 let _startpos = _startpos_x0_ in
35863 let _endpos = _endpos_m_ in
35864 let _v : 'tv_typedef_ctype = let ty =
35865 let ty0 = ty00 in
35866 let ty =
35867 let ty = ty0 in
35868
35869 # 504 "parser_cocci_menhir.mly"
35870 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
35871 # 35872 "parser_cocci_menhir.ml"
35872
35873 in
35874
35875 # 534 "parser_cocci_menhir.mly"
35876 ( ty )
35877 # 35878 "parser_cocci_menhir.ml"
35878
35879 in
35880 let cv =
35881 let x = x0 in
35882
35883 # 41 "standard.mly"
35884 ( Some x )
35885 # 35886 "parser_cocci_menhir.ml"
35886
35887 in
35888
35889 # 551 "parser_cocci_menhir.mly"
35890 ( P.pointerify (P.make_cv cv ty) m )
35891 # 35892 "parser_cocci_menhir.ml"
35892 in
35893 _menhir_env.MenhirLib.EngineTypes.stack <- {
35894 MenhirLib.EngineTypes.state = _menhir_s;
35895 MenhirLib.EngineTypes.semv = Obj.repr _v;
35896 MenhirLib.EngineTypes.startp = _startpos;
35897 MenhirLib.EngineTypes.endp = _endpos;
35898 MenhirLib.EngineTypes.next = _menhir_stack;
35899 });
35900 (fun _menhir_env ->
35901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35902 let {
35903 MenhirLib.EngineTypes.semv = m;
35904 MenhirLib.EngineTypes.startp = _startpos_m_;
35905 MenhirLib.EngineTypes.endp = _endpos_m_;
35906 MenhirLib.EngineTypes.next = {
35907 MenhirLib.EngineTypes.semv = ty00;
35908 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35909 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35910 MenhirLib.EngineTypes.next = {
35911 MenhirLib.EngineTypes.state = _menhir_s;
35912 MenhirLib.EngineTypes.semv = x0;
35913 MenhirLib.EngineTypes.startp = _startpos_x0_;
35914 MenhirLib.EngineTypes.endp = _endpos_x0_;
35915 MenhirLib.EngineTypes.next = _menhir_stack;
35916 };
35917 };
35918 } = _menhir_stack in
35919 let m : 'tv_list_TMul_ = Obj.magic m in
35920 let ty00 : (
35921 # 49 "parser_cocci_menhir.mly"
35922 (Data.clt)
35923 # 35924 "parser_cocci_menhir.ml"
35924 ) = Obj.magic ty00 in
35925 let x0 : 'tv_const_vol = Obj.magic x0 in
35926 let _startpos = _startpos_x0_ in
35927 let _endpos = _endpos_m_ in
35928 let _v : 'tv_typedef_ctype = let ty =
35929 let ty0 = ty00 in
35930 let ty =
35931 let ty = ty0 in
35932
35933 # 506 "parser_cocci_menhir.mly"
35934 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
35935 # 35936 "parser_cocci_menhir.ml"
35936
35937 in
35938
35939 # 534 "parser_cocci_menhir.mly"
35940 ( ty )
35941 # 35942 "parser_cocci_menhir.ml"
35942
35943 in
35944 let cv =
35945 let x = x0 in
35946
35947 # 41 "standard.mly"
35948 ( Some x )
35949 # 35950 "parser_cocci_menhir.ml"
35950
35951 in
35952
35953 # 551 "parser_cocci_menhir.mly"
35954 ( P.pointerify (P.make_cv cv ty) m )
35955 # 35956 "parser_cocci_menhir.ml"
35956 in
35957 _menhir_env.MenhirLib.EngineTypes.stack <- {
35958 MenhirLib.EngineTypes.state = _menhir_s;
35959 MenhirLib.EngineTypes.semv = Obj.repr _v;
35960 MenhirLib.EngineTypes.startp = _startpos;
35961 MenhirLib.EngineTypes.endp = _endpos;
35962 MenhirLib.EngineTypes.next = _menhir_stack;
35963 });
35964 (fun _menhir_env ->
35965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35966 let {
35967 MenhirLib.EngineTypes.semv = m;
35968 MenhirLib.EngineTypes.startp = _startpos_m_;
35969 MenhirLib.EngineTypes.endp = _endpos_m_;
35970 MenhirLib.EngineTypes.next = {
35971 MenhirLib.EngineTypes.semv = ty00;
35972 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35973 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35974 MenhirLib.EngineTypes.next = {
35975 MenhirLib.EngineTypes.state = _menhir_s;
35976 MenhirLib.EngineTypes.semv = x0;
35977 MenhirLib.EngineTypes.startp = _startpos_x0_;
35978 MenhirLib.EngineTypes.endp = _endpos_x0_;
35979 MenhirLib.EngineTypes.next = _menhir_stack;
35980 };
35981 };
35982 } = _menhir_stack in
35983 let m : 'tv_list_TMul_ = Obj.magic m in
35984 let ty00 : (
35985 # 49 "parser_cocci_menhir.mly"
35986 (Data.clt)
35987 # 35988 "parser_cocci_menhir.ml"
35988 ) = Obj.magic ty00 in
35989 let x0 : 'tv_const_vol = Obj.magic x0 in
35990 let _startpos = _startpos_x0_ in
35991 let _endpos = _endpos_m_ in
35992 let _v : 'tv_typedef_ctype = let ty =
35993 let ty0 = ty00 in
35994 let ty =
35995 let ty = ty0 in
35996
35997 # 508 "parser_cocci_menhir.mly"
35998 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
35999 # 36000 "parser_cocci_menhir.ml"
36000
36001 in
36002
36003 # 534 "parser_cocci_menhir.mly"
36004 ( ty )
36005 # 36006 "parser_cocci_menhir.ml"
36006
36007 in
36008 let cv =
36009 let x = x0 in
36010
36011 # 41 "standard.mly"
36012 ( Some x )
36013 # 36014 "parser_cocci_menhir.ml"
36014
36015 in
36016
36017 # 551 "parser_cocci_menhir.mly"
36018 ( P.pointerify (P.make_cv cv ty) m )
36019 # 36020 "parser_cocci_menhir.ml"
36020 in
36021 _menhir_env.MenhirLib.EngineTypes.stack <- {
36022 MenhirLib.EngineTypes.state = _menhir_s;
36023 MenhirLib.EngineTypes.semv = Obj.repr _v;
36024 MenhirLib.EngineTypes.startp = _startpos;
36025 MenhirLib.EngineTypes.endp = _endpos;
36026 MenhirLib.EngineTypes.next = _menhir_stack;
36027 });
36028 (fun _menhir_env ->
36029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36030 let {
36031 MenhirLib.EngineTypes.semv = m;
36032 MenhirLib.EngineTypes.startp = _startpos_m_;
36033 MenhirLib.EngineTypes.endp = _endpos_m_;
36034 MenhirLib.EngineTypes.next = {
36035 MenhirLib.EngineTypes.semv = i00;
36036 MenhirLib.EngineTypes.startp = _startpos_i00_;
36037 MenhirLib.EngineTypes.endp = _endpos_i00_;
36038 MenhirLib.EngineTypes.next = {
36039 MenhirLib.EngineTypes.semv = s00;
36040 MenhirLib.EngineTypes.startp = _startpos_s00_;
36041 MenhirLib.EngineTypes.endp = _endpos_s00_;
36042 MenhirLib.EngineTypes.next = {
36043 MenhirLib.EngineTypes.state = _menhir_s;
36044 MenhirLib.EngineTypes.semv = x0;
36045 MenhirLib.EngineTypes.startp = _startpos_x0_;
36046 MenhirLib.EngineTypes.endp = _endpos_x0_;
36047 MenhirLib.EngineTypes.next = _menhir_stack;
36048 };
36049 };
36050 };
36051 } = _menhir_stack in
36052 let m : 'tv_list_TMul_ = Obj.magic m in
36053 let i00 : 'tv_ident = Obj.magic i00 in
36054 let s00 : (
36055 # 50 "parser_cocci_menhir.mly"
36056 (Data.clt)
36057 # 36058 "parser_cocci_menhir.ml"
36058 ) = Obj.magic s00 in
36059 let x0 : 'tv_const_vol = Obj.magic x0 in
36060 let _startpos = _startpos_x0_ in
36061 let _endpos = _endpos_m_ in
36062 let _v : 'tv_typedef_ctype = let ty =
36063 let i0 = i00 in
36064 let s0 = s00 in
36065 let ty =
36066 let i = i0 in
36067 let s = s0 in
36068
36069 # 510 "parser_cocci_menhir.mly"
36070 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
36071 # 36072 "parser_cocci_menhir.ml"
36072
36073 in
36074
36075 # 534 "parser_cocci_menhir.mly"
36076 ( ty )
36077 # 36078 "parser_cocci_menhir.ml"
36078
36079 in
36080 let cv =
36081 let x = x0 in
36082
36083 # 41 "standard.mly"
36084 ( Some x )
36085 # 36086 "parser_cocci_menhir.ml"
36086
36087 in
36088
36089 # 551 "parser_cocci_menhir.mly"
36090 ( P.pointerify (P.make_cv cv ty) m )
36091 # 36092 "parser_cocci_menhir.ml"
36092 in
36093 _menhir_env.MenhirLib.EngineTypes.stack <- {
36094 MenhirLib.EngineTypes.state = _menhir_s;
36095 MenhirLib.EngineTypes.semv = Obj.repr _v;
36096 MenhirLib.EngineTypes.startp = _startpos;
36097 MenhirLib.EngineTypes.endp = _endpos;
36098 MenhirLib.EngineTypes.next = _menhir_stack;
36099 });
36100 (fun _menhir_env ->
36101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36102 let {
36103 MenhirLib.EngineTypes.semv = m;
36104 MenhirLib.EngineTypes.startp = _startpos_m_;
36105 MenhirLib.EngineTypes.endp = _endpos_m_;
36106 MenhirLib.EngineTypes.next = {
36107 MenhirLib.EngineTypes.semv = i00;
36108 MenhirLib.EngineTypes.startp = _startpos_i00_;
36109 MenhirLib.EngineTypes.endp = _endpos_i00_;
36110 MenhirLib.EngineTypes.next = {
36111 MenhirLib.EngineTypes.semv = s00;
36112 MenhirLib.EngineTypes.startp = _startpos_s00_;
36113 MenhirLib.EngineTypes.endp = _endpos_s00_;
36114 MenhirLib.EngineTypes.next = {
36115 MenhirLib.EngineTypes.state = _menhir_s;
36116 MenhirLib.EngineTypes.semv = x0;
36117 MenhirLib.EngineTypes.startp = _startpos_x0_;
36118 MenhirLib.EngineTypes.endp = _endpos_x0_;
36119 MenhirLib.EngineTypes.next = _menhir_stack;
36120 };
36121 };
36122 };
36123 } = _menhir_stack in
36124 let m : 'tv_list_TMul_ = Obj.magic m in
36125 let i00 : 'tv_ident = Obj.magic i00 in
36126 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36127 let x0 : 'tv_const_vol = Obj.magic x0 in
36128 let _startpos = _startpos_x0_ in
36129 let _endpos = _endpos_m_ in
36130 let _v : 'tv_typedef_ctype = let ty =
36131 let i0 = i00 in
36132 let s0 = s00 in
36133 let ty =
36134 let i = i0 in
36135 let s = s0 in
36136
36137 # 512 "parser_cocci_menhir.mly"
36138 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
36139 # 36140 "parser_cocci_menhir.ml"
36140
36141 in
36142
36143 # 534 "parser_cocci_menhir.mly"
36144 ( ty )
36145 # 36146 "parser_cocci_menhir.ml"
36146
36147 in
36148 let cv =
36149 let x = x0 in
36150
36151 # 41 "standard.mly"
36152 ( Some x )
36153 # 36154 "parser_cocci_menhir.ml"
36154
36155 in
36156
36157 # 551 "parser_cocci_menhir.mly"
36158 ( P.pointerify (P.make_cv cv ty) m )
36159 # 36160 "parser_cocci_menhir.ml"
36160 in
36161 _menhir_env.MenhirLib.EngineTypes.stack <- {
36162 MenhirLib.EngineTypes.state = _menhir_s;
36163 MenhirLib.EngineTypes.semv = Obj.repr _v;
36164 MenhirLib.EngineTypes.startp = _startpos;
36165 MenhirLib.EngineTypes.endp = _endpos;
36166 MenhirLib.EngineTypes.next = _menhir_stack;
36167 });
36168 (fun _menhir_env ->
36169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36170 let {
36171 MenhirLib.EngineTypes.semv = m;
36172 MenhirLib.EngineTypes.startp = _startpos_m_;
36173 MenhirLib.EngineTypes.endp = _endpos_m_;
36174 MenhirLib.EngineTypes.next = {
36175 MenhirLib.EngineTypes.semv = r00;
36176 MenhirLib.EngineTypes.startp = _startpos_r00_;
36177 MenhirLib.EngineTypes.endp = _endpos_r00_;
36178 MenhirLib.EngineTypes.next = {
36179 MenhirLib.EngineTypes.semv = d00;
36180 MenhirLib.EngineTypes.startp = _startpos_d00_;
36181 MenhirLib.EngineTypes.endp = _endpos_d00_;
36182 MenhirLib.EngineTypes.next = {
36183 MenhirLib.EngineTypes.semv = l00;
36184 MenhirLib.EngineTypes.startp = _startpos_l00_;
36185 MenhirLib.EngineTypes.endp = _endpos_l00_;
36186 MenhirLib.EngineTypes.next = {
36187 MenhirLib.EngineTypes.semv = s00;
36188 MenhirLib.EngineTypes.startp = _startpos_s00_;
36189 MenhirLib.EngineTypes.endp = _endpos_s00_;
36190 MenhirLib.EngineTypes.next = {
36191 MenhirLib.EngineTypes.state = _menhir_s;
36192 MenhirLib.EngineTypes.semv = x0;
36193 MenhirLib.EngineTypes.startp = _startpos_x0_;
36194 MenhirLib.EngineTypes.endp = _endpos_x0_;
36195 MenhirLib.EngineTypes.next = _menhir_stack;
36196 };
36197 };
36198 };
36199 };
36200 };
36201 } = _menhir_stack in
36202 let m : 'tv_list_TMul_ = Obj.magic m in
36203 let r00 : (
36204 # 101 "parser_cocci_menhir.mly"
36205 (Data.clt)
36206 # 36207 "parser_cocci_menhir.ml"
36207 ) = Obj.magic r00 in
36208 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36209 let l00 : (
36210 # 101 "parser_cocci_menhir.mly"
36211 (Data.clt)
36212 # 36213 "parser_cocci_menhir.ml"
36213 ) = Obj.magic l00 in
36214 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36215 let x0 : 'tv_const_vol = Obj.magic x0 in
36216 let _startpos = _startpos_x0_ in
36217 let _endpos = _endpos_m_ in
36218 let _v : 'tv_typedef_ctype = let ty =
36219 let r0 = r00 in
36220 let d0 = d00 in
36221 let l0 = l00 in
36222 let s0 = s00 in
36223 let ty =
36224 let r = r0 in
36225 let d = d0 in
36226 let l = l0 in
36227 let s = s0 in
36228 let i =
36229
36230 # 39 "standard.mly"
36231 ( None )
36232 # 36233 "parser_cocci_menhir.ml"
36233
36234 in
36235
36236 # 515 "parser_cocci_menhir.mly"
36237 ( (if i = None && !Data.in_iso
36238 then failwith "structures must be named in the iso file");
36239 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36240 P.clt2mcode "{" l,
36241 d, P.clt2mcode "}" r)) )
36242 # 36243 "parser_cocci_menhir.ml"
36243
36244 in
36245
36246 # 534 "parser_cocci_menhir.mly"
36247 ( ty )
36248 # 36249 "parser_cocci_menhir.ml"
36249
36250 in
36251 let cv =
36252 let x = x0 in
36253
36254 # 41 "standard.mly"
36255 ( Some x )
36256 # 36257 "parser_cocci_menhir.ml"
36257
36258 in
36259
36260 # 551 "parser_cocci_menhir.mly"
36261 ( P.pointerify (P.make_cv cv ty) m )
36262 # 36263 "parser_cocci_menhir.ml"
36263 in
36264 _menhir_env.MenhirLib.EngineTypes.stack <- {
36265 MenhirLib.EngineTypes.state = _menhir_s;
36266 MenhirLib.EngineTypes.semv = Obj.repr _v;
36267 MenhirLib.EngineTypes.startp = _startpos;
36268 MenhirLib.EngineTypes.endp = _endpos;
36269 MenhirLib.EngineTypes.next = _menhir_stack;
36270 });
36271 (fun _menhir_env ->
36272 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36273 let {
36274 MenhirLib.EngineTypes.semv = m;
36275 MenhirLib.EngineTypes.startp = _startpos_m_;
36276 MenhirLib.EngineTypes.endp = _endpos_m_;
36277 MenhirLib.EngineTypes.next = {
36278 MenhirLib.EngineTypes.semv = r00;
36279 MenhirLib.EngineTypes.startp = _startpos_r00_;
36280 MenhirLib.EngineTypes.endp = _endpos_r00_;
36281 MenhirLib.EngineTypes.next = {
36282 MenhirLib.EngineTypes.semv = d00;
36283 MenhirLib.EngineTypes.startp = _startpos_d00_;
36284 MenhirLib.EngineTypes.endp = _endpos_d00_;
36285 MenhirLib.EngineTypes.next = {
36286 MenhirLib.EngineTypes.semv = l00;
36287 MenhirLib.EngineTypes.startp = _startpos_l00_;
36288 MenhirLib.EngineTypes.endp = _endpos_l00_;
36289 MenhirLib.EngineTypes.next = {
36290 MenhirLib.EngineTypes.semv = x000;
36291 MenhirLib.EngineTypes.startp = _startpos_x000_;
36292 MenhirLib.EngineTypes.endp = _endpos_x000_;
36293 MenhirLib.EngineTypes.next = {
36294 MenhirLib.EngineTypes.semv = s00;
36295 MenhirLib.EngineTypes.startp = _startpos_s00_;
36296 MenhirLib.EngineTypes.endp = _endpos_s00_;
36297 MenhirLib.EngineTypes.next = {
36298 MenhirLib.EngineTypes.state = _menhir_s;
36299 MenhirLib.EngineTypes.semv = x0;
36300 MenhirLib.EngineTypes.startp = _startpos_x0_;
36301 MenhirLib.EngineTypes.endp = _endpos_x0_;
36302 MenhirLib.EngineTypes.next = _menhir_stack;
36303 };
36304 };
36305 };
36306 };
36307 };
36308 };
36309 } = _menhir_stack in
36310 let m : 'tv_list_TMul_ = Obj.magic m in
36311 let r00 : (
36312 # 101 "parser_cocci_menhir.mly"
36313 (Data.clt)
36314 # 36315 "parser_cocci_menhir.ml"
36315 ) = Obj.magic r00 in
36316 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36317 let l00 : (
36318 # 101 "parser_cocci_menhir.mly"
36319 (Data.clt)
36320 # 36321 "parser_cocci_menhir.ml"
36321 ) = Obj.magic l00 in
36322 let x000 : 'tv_ident = Obj.magic x000 in
36323 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36324 let x0 : 'tv_const_vol = Obj.magic x0 in
36325 let _startpos = _startpos_x0_ in
36326 let _endpos = _endpos_m_ in
36327 let _v : 'tv_typedef_ctype = let ty =
36328 let r0 = r00 in
36329 let d0 = d00 in
36330 let l0 = l00 in
36331 let x00 = x000 in
36332 let s0 = s00 in
36333 let ty =
36334 let r = r0 in
36335 let d = d0 in
36336 let l = l0 in
36337 let x0 = x00 in
36338 let s = s0 in
36339 let i =
36340 let x = x0 in
36341
36342 # 41 "standard.mly"
36343 ( Some x )
36344 # 36345 "parser_cocci_menhir.ml"
36345
36346 in
36347
36348 # 515 "parser_cocci_menhir.mly"
36349 ( (if i = None && !Data.in_iso
36350 then failwith "structures must be named in the iso file");
36351 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36352 P.clt2mcode "{" l,
36353 d, P.clt2mcode "}" r)) )
36354 # 36355 "parser_cocci_menhir.ml"
36355
36356 in
36357
36358 # 534 "parser_cocci_menhir.mly"
36359 ( ty )
36360 # 36361 "parser_cocci_menhir.ml"
36361
36362 in
36363 let cv =
36364 let x = x0 in
36365
36366 # 41 "standard.mly"
36367 ( Some x )
36368 # 36369 "parser_cocci_menhir.ml"
36369
36370 in
36371
36372 # 551 "parser_cocci_menhir.mly"
36373 ( P.pointerify (P.make_cv cv ty) m )
36374 # 36375 "parser_cocci_menhir.ml"
36375 in
36376 _menhir_env.MenhirLib.EngineTypes.stack <- {
36377 MenhirLib.EngineTypes.state = _menhir_s;
36378 MenhirLib.EngineTypes.semv = Obj.repr _v;
36379 MenhirLib.EngineTypes.startp = _startpos;
36380 MenhirLib.EngineTypes.endp = _endpos;
36381 MenhirLib.EngineTypes.next = _menhir_stack;
36382 });
36383 (fun _menhir_env ->
36384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36385 let {
36386 MenhirLib.EngineTypes.semv = m;
36387 MenhirLib.EngineTypes.startp = _startpos_m_;
36388 MenhirLib.EngineTypes.endp = _endpos_m_;
36389 MenhirLib.EngineTypes.next = {
36390 MenhirLib.EngineTypes.semv = r00;
36391 MenhirLib.EngineTypes.startp = _startpos_r00_;
36392 MenhirLib.EngineTypes.endp = _endpos_r00_;
36393 MenhirLib.EngineTypes.next = {
36394 MenhirLib.EngineTypes.semv = d00;
36395 MenhirLib.EngineTypes.startp = _startpos_d00_;
36396 MenhirLib.EngineTypes.endp = _endpos_d00_;
36397 MenhirLib.EngineTypes.next = {
36398 MenhirLib.EngineTypes.semv = l00;
36399 MenhirLib.EngineTypes.startp = _startpos_l00_;
36400 MenhirLib.EngineTypes.endp = _endpos_l00_;
36401 MenhirLib.EngineTypes.next = {
36402 MenhirLib.EngineTypes.semv = s00;
36403 MenhirLib.EngineTypes.startp = _startpos_s00_;
36404 MenhirLib.EngineTypes.endp = _endpos_s00_;
36405 MenhirLib.EngineTypes.next = {
36406 MenhirLib.EngineTypes.state = _menhir_s;
36407 MenhirLib.EngineTypes.semv = x0;
36408 MenhirLib.EngineTypes.startp = _startpos_x0_;
36409 MenhirLib.EngineTypes.endp = _endpos_x0_;
36410 MenhirLib.EngineTypes.next = _menhir_stack;
36411 };
36412 };
36413 };
36414 };
36415 };
36416 } = _menhir_stack in
36417 let m : 'tv_list_TMul_ = Obj.magic m in
36418 let r00 : (
36419 # 101 "parser_cocci_menhir.mly"
36420 (Data.clt)
36421 # 36422 "parser_cocci_menhir.ml"
36422 ) = Obj.magic r00 in
36423 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36424 let l00 : (
36425 # 101 "parser_cocci_menhir.mly"
36426 (Data.clt)
36427 # 36428 "parser_cocci_menhir.ml"
36428 ) = Obj.magic l00 in
36429 let s00 : (
36430 # 64 "parser_cocci_menhir.mly"
36431 (Parse_aux.info)
36432 # 36433 "parser_cocci_menhir.ml"
36433 ) = Obj.magic s00 in
36434 let x0 : 'tv_const_vol = Obj.magic x0 in
36435 let _startpos = _startpos_x0_ in
36436 let _endpos = _endpos_m_ in
36437 let _v : 'tv_typedef_ctype = let ty =
36438 let r0 = r00 in
36439 let d0 = d00 in
36440 let l0 = l00 in
36441 let s0 = s00 in
36442 let ty =
36443 let r = r0 in
36444 let d = d0 in
36445 let l = l0 in
36446 let s = s0 in
36447
36448 # 521 "parser_cocci_menhir.mly"
36449 ( let (nm,pure,clt) = s in
36450 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
36451 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
36452 # 36453 "parser_cocci_menhir.ml"
36453
36454 in
36455
36456 # 534 "parser_cocci_menhir.mly"
36457 ( ty )
36458 # 36459 "parser_cocci_menhir.ml"
36459
36460 in
36461 let cv =
36462 let x = x0 in
36463
36464 # 41 "standard.mly"
36465 ( Some x )
36466 # 36467 "parser_cocci_menhir.ml"
36467
36468 in
36469
36470 # 551 "parser_cocci_menhir.mly"
36471 ( P.pointerify (P.make_cv cv ty) m )
36472 # 36473 "parser_cocci_menhir.ml"
36473 in
36474 _menhir_env.MenhirLib.EngineTypes.stack <- {
36475 MenhirLib.EngineTypes.state = _menhir_s;
36476 MenhirLib.EngineTypes.semv = Obj.repr _v;
36477 MenhirLib.EngineTypes.startp = _startpos;
36478 MenhirLib.EngineTypes.endp = _endpos;
36479 MenhirLib.EngineTypes.next = _menhir_stack;
36480 });
36481 (fun _menhir_env ->
36482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36483 let {
36484 MenhirLib.EngineTypes.semv = m;
36485 MenhirLib.EngineTypes.startp = _startpos_m_;
36486 MenhirLib.EngineTypes.endp = _endpos_m_;
36487 MenhirLib.EngineTypes.next = {
36488 MenhirLib.EngineTypes.semv = p00;
36489 MenhirLib.EngineTypes.startp = _startpos_p00_;
36490 MenhirLib.EngineTypes.endp = _endpos_p00_;
36491 MenhirLib.EngineTypes.next = {
36492 MenhirLib.EngineTypes.state = _menhir_s;
36493 MenhirLib.EngineTypes.semv = x0;
36494 MenhirLib.EngineTypes.startp = _startpos_x0_;
36495 MenhirLib.EngineTypes.endp = _endpos_x0_;
36496 MenhirLib.EngineTypes.next = _menhir_stack;
36497 };
36498 };
36499 } = _menhir_stack in
36500 let m : 'tv_list_TMul_ = Obj.magic m in
36501 let p00 : (
36502 # 59 "parser_cocci_menhir.mly"
36503 (string * Data.clt)
36504 # 36505 "parser_cocci_menhir.ml"
36505 ) = Obj.magic p00 in
36506 let x0 : 'tv_const_vol = Obj.magic x0 in
36507 let _startpos = _startpos_x0_ in
36508 let _endpos = _endpos_m_ in
36509 let _v : 'tv_typedef_ctype = let ty =
36510 let p0 = p00 in
36511 let ty =
36512 let p = p0 in
36513
36514 # 525 "parser_cocci_menhir.mly"
36515 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
36516 # 36517 "parser_cocci_menhir.ml"
36517
36518 in
36519
36520 # 534 "parser_cocci_menhir.mly"
36521 ( ty )
36522 # 36523 "parser_cocci_menhir.ml"
36523
36524 in
36525 let cv =
36526 let x = x0 in
36527
36528 # 41 "standard.mly"
36529 ( Some x )
36530 # 36531 "parser_cocci_menhir.ml"
36531
36532 in
36533
36534 # 551 "parser_cocci_menhir.mly"
36535 ( P.pointerify (P.make_cv cv ty) m )
36536 # 36537 "parser_cocci_menhir.ml"
36537 in
36538 _menhir_env.MenhirLib.EngineTypes.stack <- {
36539 MenhirLib.EngineTypes.state = _menhir_s;
36540 MenhirLib.EngineTypes.semv = Obj.repr _v;
36541 MenhirLib.EngineTypes.startp = _startpos;
36542 MenhirLib.EngineTypes.endp = _endpos;
36543 MenhirLib.EngineTypes.next = _menhir_stack;
36544 });
36545 (fun _menhir_env ->
36546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36547 let {
36548 MenhirLib.EngineTypes.semv = rp;
36549 MenhirLib.EngineTypes.startp = _startpos_rp_;
36550 MenhirLib.EngineTypes.endp = _endpos_rp_;
36551 MenhirLib.EngineTypes.next = {
36552 MenhirLib.EngineTypes.semv = t;
36553 MenhirLib.EngineTypes.startp = _startpos_t_;
36554 MenhirLib.EngineTypes.endp = _endpos_t_;
36555 MenhirLib.EngineTypes.next = {
36556 MenhirLib.EngineTypes.state = _menhir_s;
36557 MenhirLib.EngineTypes.semv = lp;
36558 MenhirLib.EngineTypes.startp = _startpos_lp_;
36559 MenhirLib.EngineTypes.endp = _endpos_lp_;
36560 MenhirLib.EngineTypes.next = _menhir_stack;
36561 };
36562 };
36563 } = _menhir_stack in
36564 let rp : (
36565 # 77 "parser_cocci_menhir.mly"
36566 (Data.clt)
36567 # 36568 "parser_cocci_menhir.ml"
36568 ) = Obj.magic rp in
36569 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
36570 let lp : (
36571 # 76 "parser_cocci_menhir.mly"
36572 (Data.clt)
36573 # 36574 "parser_cocci_menhir.ml"
36574 ) = Obj.magic lp in
36575 let _startpos = _startpos_lp_ in
36576 let _endpos = _endpos_rp_ in
36577 let _v : 'tv_typedef_ctype =
36578 # 553 "parser_cocci_menhir.mly"
36579 ( let (mids,code) = t in
36580 Ast0.wrap
36581 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
36582 # 36583 "parser_cocci_menhir.ml"
36583 in
36584 _menhir_env.MenhirLib.EngineTypes.stack <- {
36585 MenhirLib.EngineTypes.state = _menhir_s;
36586 MenhirLib.EngineTypes.semv = Obj.repr _v;
36587 MenhirLib.EngineTypes.startp = _startpos;
36588 MenhirLib.EngineTypes.endp = _endpos;
36589 MenhirLib.EngineTypes.next = _menhir_stack;
36590 });
36591 (fun _menhir_env ->
36592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36593 let {
36594 MenhirLib.EngineTypes.state = _menhir_s;
36595 MenhirLib.EngineTypes.semv = _1;
36596 MenhirLib.EngineTypes.startp = _startpos__1_;
36597 MenhirLib.EngineTypes.endp = _endpos__1_;
36598 MenhirLib.EngineTypes.next = _menhir_stack;
36599 } = _menhir_stack in
36600 let _1 : 'tv_pure_ident = Obj.magic _1 in
36601 let _startpos = _startpos__1_ in
36602 let _endpos = _endpos__1_ in
36603 let _v : 'tv_typedef_ident =
36604 # 1603 "parser_cocci_menhir.mly"
36605 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
36606 # 36607 "parser_cocci_menhir.ml"
36607 in
36608 _menhir_env.MenhirLib.EngineTypes.stack <- {
36609 MenhirLib.EngineTypes.state = _menhir_s;
36610 MenhirLib.EngineTypes.semv = Obj.repr _v;
36611 MenhirLib.EngineTypes.startp = _startpos;
36612 MenhirLib.EngineTypes.endp = _endpos;
36613 MenhirLib.EngineTypes.next = _menhir_stack;
36614 });
36615 (fun _menhir_env ->
36616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36617 let {
36618 MenhirLib.EngineTypes.state = _menhir_s;
36619 MenhirLib.EngineTypes.semv = _1;
36620 MenhirLib.EngineTypes.startp = _startpos__1_;
36621 MenhirLib.EngineTypes.endp = _endpos__1_;
36622 MenhirLib.EngineTypes.next = _menhir_stack;
36623 } = _menhir_stack in
36624 let _1 : (
36625 # 64 "parser_cocci_menhir.mly"
36626 (Parse_aux.info)
36627 # 36628 "parser_cocci_menhir.ml"
36628 ) = Obj.magic _1 in
36629 let _startpos = _startpos__1_ in
36630 let _endpos = _endpos__1_ in
36631 let _v : 'tv_typedef_ident =
36632 # 1605 "parser_cocci_menhir.mly"
36633 ( let (nm,pure,clt) = _1 in
36634 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36635 # 36636 "parser_cocci_menhir.ml"
36636 in
36637 _menhir_env.MenhirLib.EngineTypes.stack <- {
36638 MenhirLib.EngineTypes.state = _menhir_s;
36639 MenhirLib.EngineTypes.semv = Obj.repr _v;
36640 MenhirLib.EngineTypes.startp = _startpos;
36641 MenhirLib.EngineTypes.endp = _endpos;
36642 MenhirLib.EngineTypes.next = _menhir_stack;
36643 });
36644 (fun _menhir_env ->
36645 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36646 let {
36647 MenhirLib.EngineTypes.state = _menhir_s;
36648 MenhirLib.EngineTypes.semv = _1;
36649 MenhirLib.EngineTypes.startp = _startpos__1_;
36650 MenhirLib.EngineTypes.endp = _endpos__1_;
36651 MenhirLib.EngineTypes.next = _menhir_stack;
36652 } = _menhir_stack in
36653 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
36654 let _startpos = _startpos__1_ in
36655 let _endpos = _endpos__1_ in
36656 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36657 # 1295 "parser_cocci_menhir.mly"
36658 ( _1 )
36659 # 36660 "parser_cocci_menhir.ml"
36660 in
36661 _menhir_env.MenhirLib.EngineTypes.stack <- {
36662 MenhirLib.EngineTypes.state = _menhir_s;
36663 MenhirLib.EngineTypes.semv = Obj.repr _v;
36664 MenhirLib.EngineTypes.startp = _startpos;
36665 MenhirLib.EngineTypes.endp = _endpos;
36666 MenhirLib.EngineTypes.next = _menhir_stack;
36667 });
36668 (fun _menhir_env ->
36669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36670 let {
36671 MenhirLib.EngineTypes.semv = _2;
36672 MenhirLib.EngineTypes.startp = _startpos__2_;
36673 MenhirLib.EngineTypes.endp = _endpos__2_;
36674 MenhirLib.EngineTypes.next = {
36675 MenhirLib.EngineTypes.state = _menhir_s;
36676 MenhirLib.EngineTypes.semv = _1;
36677 MenhirLib.EngineTypes.startp = _startpos__1_;
36678 MenhirLib.EngineTypes.endp = _endpos__1_;
36679 MenhirLib.EngineTypes.next = _menhir_stack;
36680 };
36681 } = _menhir_stack in
36682 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36683 let _1 : (
36684 # 85 "parser_cocci_menhir.mly"
36685 (Data.clt)
36686 # 36687 "parser_cocci_menhir.ml"
36687 ) = Obj.magic _1 in
36688 let _startpos = _startpos__1_ in
36689 let _endpos = _endpos__2_ in
36690 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36691 # 1297 "parser_cocci_menhir.mly"
36692 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
36693 # 36694 "parser_cocci_menhir.ml"
36694 in
36695 _menhir_env.MenhirLib.EngineTypes.stack <- {
36696 MenhirLib.EngineTypes.state = _menhir_s;
36697 MenhirLib.EngineTypes.semv = Obj.repr _v;
36698 MenhirLib.EngineTypes.startp = _startpos;
36699 MenhirLib.EngineTypes.endp = _endpos;
36700 MenhirLib.EngineTypes.next = _menhir_stack;
36701 });
36702 (fun _menhir_env ->
36703 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36704 let {
36705 MenhirLib.EngineTypes.semv = _2;
36706 MenhirLib.EngineTypes.startp = _startpos__2_;
36707 MenhirLib.EngineTypes.endp = _endpos__2_;
36708 MenhirLib.EngineTypes.next = {
36709 MenhirLib.EngineTypes.state = _menhir_s;
36710 MenhirLib.EngineTypes.semv = _1;
36711 MenhirLib.EngineTypes.startp = _startpos__1_;
36712 MenhirLib.EngineTypes.endp = _endpos__1_;
36713 MenhirLib.EngineTypes.next = _menhir_stack;
36714 };
36715 } = _menhir_stack in
36716 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36717 let _1 : (
36718 # 85 "parser_cocci_menhir.mly"
36719 (Data.clt)
36720 # 36721 "parser_cocci_menhir.ml"
36721 ) = Obj.magic _1 in
36722 let _startpos = _startpos__1_ in
36723 let _endpos = _endpos__2_ in
36724 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36725 # 1299 "parser_cocci_menhir.mly"
36726 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
36727 # 36728 "parser_cocci_menhir.ml"
36728 in
36729 _menhir_env.MenhirLib.EngineTypes.stack <- {
36730 MenhirLib.EngineTypes.state = _menhir_s;
36731 MenhirLib.EngineTypes.semv = Obj.repr _v;
36732 MenhirLib.EngineTypes.startp = _startpos;
36733 MenhirLib.EngineTypes.endp = _endpos;
36734 MenhirLib.EngineTypes.next = _menhir_stack;
36735 });
36736 (fun _menhir_env ->
36737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36738 let {
36739 MenhirLib.EngineTypes.semv = _2;
36740 MenhirLib.EngineTypes.startp = _startpos__2_;
36741 MenhirLib.EngineTypes.endp = _endpos__2_;
36742 MenhirLib.EngineTypes.next = {
36743 MenhirLib.EngineTypes.state = _menhir_s;
36744 MenhirLib.EngineTypes.semv = _1;
36745 MenhirLib.EngineTypes.startp = _startpos__1_;
36746 MenhirLib.EngineTypes.endp = _endpos__1_;
36747 MenhirLib.EngineTypes.next = _menhir_stack;
36748 };
36749 } = _menhir_stack in
36750 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36751 let _1 : 'tv_unary_op = Obj.magic _1 in
36752 let _startpos = _startpos__1_ in
36753 let _endpos = _endpos__2_ in
36754 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36755 # 1301 "parser_cocci_menhir.mly"
36756 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
36757 # 36758 "parser_cocci_menhir.ml"
36758 in
36759 _menhir_env.MenhirLib.EngineTypes.stack <- {
36760 MenhirLib.EngineTypes.state = _menhir_s;
36761 MenhirLib.EngineTypes.semv = Obj.repr _v;
36762 MenhirLib.EngineTypes.startp = _startpos;
36763 MenhirLib.EngineTypes.endp = _endpos;
36764 MenhirLib.EngineTypes.next = _menhir_stack;
36765 });
36766 (fun _menhir_env ->
36767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36768 let {
36769 MenhirLib.EngineTypes.semv = _2;
36770 MenhirLib.EngineTypes.startp = _startpos__2_;
36771 MenhirLib.EngineTypes.endp = _endpos__2_;
36772 MenhirLib.EngineTypes.next = {
36773 MenhirLib.EngineTypes.state = _menhir_s;
36774 MenhirLib.EngineTypes.semv = _1;
36775 MenhirLib.EngineTypes.startp = _startpos__1_;
36776 MenhirLib.EngineTypes.endp = _endpos__1_;
36777 MenhirLib.EngineTypes.next = _menhir_stack;
36778 };
36779 } = _menhir_stack in
36780 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36781 let _1 : (
36782 # 76 "parser_cocci_menhir.mly"
36783 (Data.clt)
36784 # 36785 "parser_cocci_menhir.ml"
36785 ) = Obj.magic _1 in
36786 let _startpos = _startpos__1_ in
36787 let _endpos = _endpos__2_ in
36788 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36789 # 1303 "parser_cocci_menhir.mly"
36790 ( let mcode = P.clt2mcode Ast.Not _1 in
36791 Ast0.wrap(Ast0.Unary(_2, mcode)) )
36792 # 36793 "parser_cocci_menhir.ml"
36793 in
36794 _menhir_env.MenhirLib.EngineTypes.stack <- {
36795 MenhirLib.EngineTypes.state = _menhir_s;
36796 MenhirLib.EngineTypes.semv = Obj.repr _v;
36797 MenhirLib.EngineTypes.startp = _startpos;
36798 MenhirLib.EngineTypes.endp = _endpos;
36799 MenhirLib.EngineTypes.next = _menhir_stack;
36800 });
36801 (fun _menhir_env ->
36802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36803 let {
36804 MenhirLib.EngineTypes.semv = _2;
36805 MenhirLib.EngineTypes.startp = _startpos__2_;
36806 MenhirLib.EngineTypes.endp = _endpos__2_;
36807 MenhirLib.EngineTypes.next = {
36808 MenhirLib.EngineTypes.state = _menhir_s;
36809 MenhirLib.EngineTypes.semv = _1;
36810 MenhirLib.EngineTypes.startp = _startpos__1_;
36811 MenhirLib.EngineTypes.endp = _endpos__1_;
36812 MenhirLib.EngineTypes.next = _menhir_stack;
36813 };
36814 } = _menhir_stack in
36815 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36816 let _1 : (
36817 # 58 "parser_cocci_menhir.mly"
36818 (Data.clt)
36819 # 36820 "parser_cocci_menhir.ml"
36820 ) = Obj.magic _1 in
36821 let _startpos = _startpos__1_ in
36822 let _endpos = _endpos__2_ in
36823 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36824 # 1306 "parser_cocci_menhir.mly"
36825 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
36826 # 36827 "parser_cocci_menhir.ml"
36827 in
36828 _menhir_env.MenhirLib.EngineTypes.stack <- {
36829 MenhirLib.EngineTypes.state = _menhir_s;
36830 MenhirLib.EngineTypes.semv = Obj.repr _v;
36831 MenhirLib.EngineTypes.startp = _startpos;
36832 MenhirLib.EngineTypes.endp = _endpos;
36833 MenhirLib.EngineTypes.next = _menhir_stack;
36834 });
36835 (fun _menhir_env ->
36836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36837 let {
36838 MenhirLib.EngineTypes.semv = rp;
36839 MenhirLib.EngineTypes.startp = _startpos_rp_;
36840 MenhirLib.EngineTypes.endp = _endpos_rp_;
36841 MenhirLib.EngineTypes.next = {
36842 MenhirLib.EngineTypes.semv = t;
36843 MenhirLib.EngineTypes.startp = _startpos_t_;
36844 MenhirLib.EngineTypes.endp = _endpos_t_;
36845 MenhirLib.EngineTypes.next = {
36846 MenhirLib.EngineTypes.semv = lp;
36847 MenhirLib.EngineTypes.startp = _startpos_lp_;
36848 MenhirLib.EngineTypes.endp = _endpos_lp_;
36849 MenhirLib.EngineTypes.next = {
36850 MenhirLib.EngineTypes.state = _menhir_s;
36851 MenhirLib.EngineTypes.semv = s;
36852 MenhirLib.EngineTypes.startp = _startpos_s_;
36853 MenhirLib.EngineTypes.endp = _endpos_s_;
36854 MenhirLib.EngineTypes.next = _menhir_stack;
36855 };
36856 };
36857 };
36858 } = _menhir_stack in
36859 let rp : (
36860 # 77 "parser_cocci_menhir.mly"
36861 (Data.clt)
36862 # 36863 "parser_cocci_menhir.ml"
36863 ) = Obj.magic rp in
36864 let t : 'tv_ctype = Obj.magic t in
36865 let lp : (
36866 # 76 "parser_cocci_menhir.mly"
36867 (Data.clt)
36868 # 36869 "parser_cocci_menhir.ml"
36869 ) = Obj.magic lp in
36870 let s : (
36871 # 58 "parser_cocci_menhir.mly"
36872 (Data.clt)
36873 # 36874 "parser_cocci_menhir.ml"
36874 ) = Obj.magic s in
36875 let _startpos = _startpos_s_ in
36876 let _endpos = _endpos_rp_ in
36877 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36878 # 1308 "parser_cocci_menhir.mly"
36879 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
36880 P.clt2mcode "(" lp,t,
36881 P.clt2mcode ")" rp)) )
36882 # 36883 "parser_cocci_menhir.ml"
36883 in
36884 _menhir_env.MenhirLib.EngineTypes.stack <- {
36885 MenhirLib.EngineTypes.state = _menhir_s;
36886 MenhirLib.EngineTypes.semv = Obj.repr _v;
36887 MenhirLib.EngineTypes.startp = _startpos;
36888 MenhirLib.EngineTypes.endp = _endpos;
36889 MenhirLib.EngineTypes.next = _menhir_stack;
36890 });
36891 (fun _menhir_env ->
36892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36893 let {
36894 MenhirLib.EngineTypes.state = _menhir_s;
36895 MenhirLib.EngineTypes.semv = _1;
36896 MenhirLib.EngineTypes.startp = _startpos__1_;
36897 MenhirLib.EngineTypes.endp = _endpos__1_;
36898 MenhirLib.EngineTypes.next = _menhir_stack;
36899 } = _menhir_stack in
36900 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
36901 let _startpos = _startpos__1_ in
36902 let _endpos = _endpos__1_ in
36903 let _v : 'tv_unary_expr_eexpr_invalid_ =
36904 # 1295 "parser_cocci_menhir.mly"
36905 ( _1 )
36906 # 36907 "parser_cocci_menhir.ml"
36907 in
36908 _menhir_env.MenhirLib.EngineTypes.stack <- {
36909 MenhirLib.EngineTypes.state = _menhir_s;
36910 MenhirLib.EngineTypes.semv = Obj.repr _v;
36911 MenhirLib.EngineTypes.startp = _startpos;
36912 MenhirLib.EngineTypes.endp = _endpos;
36913 MenhirLib.EngineTypes.next = _menhir_stack;
36914 });
36915 (fun _menhir_env ->
36916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36917 let {
36918 MenhirLib.EngineTypes.semv = _2;
36919 MenhirLib.EngineTypes.startp = _startpos__2_;
36920 MenhirLib.EngineTypes.endp = _endpos__2_;
36921 MenhirLib.EngineTypes.next = {
36922 MenhirLib.EngineTypes.state = _menhir_s;
36923 MenhirLib.EngineTypes.semv = _1;
36924 MenhirLib.EngineTypes.startp = _startpos__1_;
36925 MenhirLib.EngineTypes.endp = _endpos__1_;
36926 MenhirLib.EngineTypes.next = _menhir_stack;
36927 };
36928 } = _menhir_stack in
36929 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
36930 let _1 : (
36931 # 85 "parser_cocci_menhir.mly"
36932 (Data.clt)
36933 # 36934 "parser_cocci_menhir.ml"
36934 ) = Obj.magic _1 in
36935 let _startpos = _startpos__1_ in
36936 let _endpos = _endpos__2_ in
36937 let _v : 'tv_unary_expr_eexpr_invalid_ =
36938 # 1297 "parser_cocci_menhir.mly"
36939 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
36940 # 36941 "parser_cocci_menhir.ml"
36941 in
36942 _menhir_env.MenhirLib.EngineTypes.stack <- {
36943 MenhirLib.EngineTypes.state = _menhir_s;
36944 MenhirLib.EngineTypes.semv = Obj.repr _v;
36945 MenhirLib.EngineTypes.startp = _startpos;
36946 MenhirLib.EngineTypes.endp = _endpos;
36947 MenhirLib.EngineTypes.next = _menhir_stack;
36948 });
36949 (fun _menhir_env ->
36950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36951 let {
36952 MenhirLib.EngineTypes.semv = _2;
36953 MenhirLib.EngineTypes.startp = _startpos__2_;
36954 MenhirLib.EngineTypes.endp = _endpos__2_;
36955 MenhirLib.EngineTypes.next = {
36956 MenhirLib.EngineTypes.state = _menhir_s;
36957 MenhirLib.EngineTypes.semv = _1;
36958 MenhirLib.EngineTypes.startp = _startpos__1_;
36959 MenhirLib.EngineTypes.endp = _endpos__1_;
36960 MenhirLib.EngineTypes.next = _menhir_stack;
36961 };
36962 } = _menhir_stack in
36963 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
36964 let _1 : (
36965 # 85 "parser_cocci_menhir.mly"
36966 (Data.clt)
36967 # 36968 "parser_cocci_menhir.ml"
36968 ) = Obj.magic _1 in
36969 let _startpos = _startpos__1_ in
36970 let _endpos = _endpos__2_ in
36971 let _v : 'tv_unary_expr_eexpr_invalid_ =
36972 # 1299 "parser_cocci_menhir.mly"
36973 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
36974 # 36975 "parser_cocci_menhir.ml"
36975 in
36976 _menhir_env.MenhirLib.EngineTypes.stack <- {
36977 MenhirLib.EngineTypes.state = _menhir_s;
36978 MenhirLib.EngineTypes.semv = Obj.repr _v;
36979 MenhirLib.EngineTypes.startp = _startpos;
36980 MenhirLib.EngineTypes.endp = _endpos;
36981 MenhirLib.EngineTypes.next = _menhir_stack;
36982 });
36983 (fun _menhir_env ->
36984 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36985 let {
36986 MenhirLib.EngineTypes.semv = _2;
36987 MenhirLib.EngineTypes.startp = _startpos__2_;
36988 MenhirLib.EngineTypes.endp = _endpos__2_;
36989 MenhirLib.EngineTypes.next = {
36990 MenhirLib.EngineTypes.state = _menhir_s;
36991 MenhirLib.EngineTypes.semv = _1;
36992 MenhirLib.EngineTypes.startp = _startpos__1_;
36993 MenhirLib.EngineTypes.endp = _endpos__1_;
36994 MenhirLib.EngineTypes.next = _menhir_stack;
36995 };
36996 } = _menhir_stack in
36997 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
36998 let _1 : 'tv_unary_op = Obj.magic _1 in
36999 let _startpos = _startpos__1_ in
37000 let _endpos = _endpos__2_ in
37001 let _v : 'tv_unary_expr_eexpr_invalid_ =
37002 # 1301 "parser_cocci_menhir.mly"
37003 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37004 # 37005 "parser_cocci_menhir.ml"
37005 in
37006 _menhir_env.MenhirLib.EngineTypes.stack <- {
37007 MenhirLib.EngineTypes.state = _menhir_s;
37008 MenhirLib.EngineTypes.semv = Obj.repr _v;
37009 MenhirLib.EngineTypes.startp = _startpos;
37010 MenhirLib.EngineTypes.endp = _endpos;
37011 MenhirLib.EngineTypes.next = _menhir_stack;
37012 });
37013 (fun _menhir_env ->
37014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37015 let {
37016 MenhirLib.EngineTypes.semv = _2;
37017 MenhirLib.EngineTypes.startp = _startpos__2_;
37018 MenhirLib.EngineTypes.endp = _endpos__2_;
37019 MenhirLib.EngineTypes.next = {
37020 MenhirLib.EngineTypes.state = _menhir_s;
37021 MenhirLib.EngineTypes.semv = _1;
37022 MenhirLib.EngineTypes.startp = _startpos__1_;
37023 MenhirLib.EngineTypes.endp = _endpos__1_;
37024 MenhirLib.EngineTypes.next = _menhir_stack;
37025 };
37026 } = _menhir_stack in
37027 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37028 let _1 : (
37029 # 76 "parser_cocci_menhir.mly"
37030 (Data.clt)
37031 # 37032 "parser_cocci_menhir.ml"
37032 ) = Obj.magic _1 in
37033 let _startpos = _startpos__1_ in
37034 let _endpos = _endpos__2_ in
37035 let _v : 'tv_unary_expr_eexpr_invalid_ =
37036 # 1303 "parser_cocci_menhir.mly"
37037 ( let mcode = P.clt2mcode Ast.Not _1 in
37038 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37039 # 37040 "parser_cocci_menhir.ml"
37040 in
37041 _menhir_env.MenhirLib.EngineTypes.stack <- {
37042 MenhirLib.EngineTypes.state = _menhir_s;
37043 MenhirLib.EngineTypes.semv = Obj.repr _v;
37044 MenhirLib.EngineTypes.startp = _startpos;
37045 MenhirLib.EngineTypes.endp = _endpos;
37046 MenhirLib.EngineTypes.next = _menhir_stack;
37047 });
37048 (fun _menhir_env ->
37049 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37050 let {
37051 MenhirLib.EngineTypes.semv = _2;
37052 MenhirLib.EngineTypes.startp = _startpos__2_;
37053 MenhirLib.EngineTypes.endp = _endpos__2_;
37054 MenhirLib.EngineTypes.next = {
37055 MenhirLib.EngineTypes.state = _menhir_s;
37056 MenhirLib.EngineTypes.semv = _1;
37057 MenhirLib.EngineTypes.startp = _startpos__1_;
37058 MenhirLib.EngineTypes.endp = _endpos__1_;
37059 MenhirLib.EngineTypes.next = _menhir_stack;
37060 };
37061 } = _menhir_stack in
37062 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37063 let _1 : (
37064 # 58 "parser_cocci_menhir.mly"
37065 (Data.clt)
37066 # 37067 "parser_cocci_menhir.ml"
37067 ) = Obj.magic _1 in
37068 let _startpos = _startpos__1_ in
37069 let _endpos = _endpos__2_ in
37070 let _v : 'tv_unary_expr_eexpr_invalid_ =
37071 # 1306 "parser_cocci_menhir.mly"
37072 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37073 # 37074 "parser_cocci_menhir.ml"
37074 in
37075 _menhir_env.MenhirLib.EngineTypes.stack <- {
37076 MenhirLib.EngineTypes.state = _menhir_s;
37077 MenhirLib.EngineTypes.semv = Obj.repr _v;
37078 MenhirLib.EngineTypes.startp = _startpos;
37079 MenhirLib.EngineTypes.endp = _endpos;
37080 MenhirLib.EngineTypes.next = _menhir_stack;
37081 });
37082 (fun _menhir_env ->
37083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37084 let {
37085 MenhirLib.EngineTypes.semv = rp;
37086 MenhirLib.EngineTypes.startp = _startpos_rp_;
37087 MenhirLib.EngineTypes.endp = _endpos_rp_;
37088 MenhirLib.EngineTypes.next = {
37089 MenhirLib.EngineTypes.semv = t;
37090 MenhirLib.EngineTypes.startp = _startpos_t_;
37091 MenhirLib.EngineTypes.endp = _endpos_t_;
37092 MenhirLib.EngineTypes.next = {
37093 MenhirLib.EngineTypes.semv = lp;
37094 MenhirLib.EngineTypes.startp = _startpos_lp_;
37095 MenhirLib.EngineTypes.endp = _endpos_lp_;
37096 MenhirLib.EngineTypes.next = {
37097 MenhirLib.EngineTypes.state = _menhir_s;
37098 MenhirLib.EngineTypes.semv = s;
37099 MenhirLib.EngineTypes.startp = _startpos_s_;
37100 MenhirLib.EngineTypes.endp = _endpos_s_;
37101 MenhirLib.EngineTypes.next = _menhir_stack;
37102 };
37103 };
37104 };
37105 } = _menhir_stack in
37106 let rp : (
37107 # 77 "parser_cocci_menhir.mly"
37108 (Data.clt)
37109 # 37110 "parser_cocci_menhir.ml"
37110 ) = Obj.magic rp in
37111 let t : 'tv_ctype = Obj.magic t in
37112 let lp : (
37113 # 76 "parser_cocci_menhir.mly"
37114 (Data.clt)
37115 # 37116 "parser_cocci_menhir.ml"
37116 ) = Obj.magic lp in
37117 let s : (
37118 # 58 "parser_cocci_menhir.mly"
37119 (Data.clt)
37120 # 37121 "parser_cocci_menhir.ml"
37121 ) = Obj.magic s in
37122 let _startpos = _startpos_s_ in
37123 let _endpos = _endpos_rp_ in
37124 let _v : 'tv_unary_expr_eexpr_invalid_ =
37125 # 1308 "parser_cocci_menhir.mly"
37126 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37127 P.clt2mcode "(" lp,t,
37128 P.clt2mcode ")" rp)) )
37129 # 37130 "parser_cocci_menhir.ml"
37130 in
37131 _menhir_env.MenhirLib.EngineTypes.stack <- {
37132 MenhirLib.EngineTypes.state = _menhir_s;
37133 MenhirLib.EngineTypes.semv = Obj.repr _v;
37134 MenhirLib.EngineTypes.startp = _startpos;
37135 MenhirLib.EngineTypes.endp = _endpos;
37136 MenhirLib.EngineTypes.next = _menhir_stack;
37137 });
37138 (fun _menhir_env ->
37139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37140 let {
37141 MenhirLib.EngineTypes.state = _menhir_s;
37142 MenhirLib.EngineTypes.semv = _1;
37143 MenhirLib.EngineTypes.startp = _startpos__1_;
37144 MenhirLib.EngineTypes.endp = _endpos__1_;
37145 MenhirLib.EngineTypes.next = _menhir_stack;
37146 } = _menhir_stack in
37147 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
37148 let _startpos = _startpos__1_ in
37149 let _endpos = _endpos__1_ in
37150 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37151 # 1295 "parser_cocci_menhir.mly"
37152 ( _1 )
37153 # 37154 "parser_cocci_menhir.ml"
37154 in
37155 _menhir_env.MenhirLib.EngineTypes.stack <- {
37156 MenhirLib.EngineTypes.state = _menhir_s;
37157 MenhirLib.EngineTypes.semv = Obj.repr _v;
37158 MenhirLib.EngineTypes.startp = _startpos;
37159 MenhirLib.EngineTypes.endp = _endpos;
37160 MenhirLib.EngineTypes.next = _menhir_stack;
37161 });
37162 (fun _menhir_env ->
37163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37164 let {
37165 MenhirLib.EngineTypes.semv = _2;
37166 MenhirLib.EngineTypes.startp = _startpos__2_;
37167 MenhirLib.EngineTypes.endp = _endpos__2_;
37168 MenhirLib.EngineTypes.next = {
37169 MenhirLib.EngineTypes.state = _menhir_s;
37170 MenhirLib.EngineTypes.semv = _1;
37171 MenhirLib.EngineTypes.startp = _startpos__1_;
37172 MenhirLib.EngineTypes.endp = _endpos__1_;
37173 MenhirLib.EngineTypes.next = _menhir_stack;
37174 };
37175 } = _menhir_stack in
37176 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37177 let _1 : (
37178 # 85 "parser_cocci_menhir.mly"
37179 (Data.clt)
37180 # 37181 "parser_cocci_menhir.ml"
37181 ) = Obj.magic _1 in
37182 let _startpos = _startpos__1_ in
37183 let _endpos = _endpos__2_ in
37184 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37185 # 1297 "parser_cocci_menhir.mly"
37186 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37187 # 37188 "parser_cocci_menhir.ml"
37188 in
37189 _menhir_env.MenhirLib.EngineTypes.stack <- {
37190 MenhirLib.EngineTypes.state = _menhir_s;
37191 MenhirLib.EngineTypes.semv = Obj.repr _v;
37192 MenhirLib.EngineTypes.startp = _startpos;
37193 MenhirLib.EngineTypes.endp = _endpos;
37194 MenhirLib.EngineTypes.next = _menhir_stack;
37195 });
37196 (fun _menhir_env ->
37197 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37198 let {
37199 MenhirLib.EngineTypes.semv = _2;
37200 MenhirLib.EngineTypes.startp = _startpos__2_;
37201 MenhirLib.EngineTypes.endp = _endpos__2_;
37202 MenhirLib.EngineTypes.next = {
37203 MenhirLib.EngineTypes.state = _menhir_s;
37204 MenhirLib.EngineTypes.semv = _1;
37205 MenhirLib.EngineTypes.startp = _startpos__1_;
37206 MenhirLib.EngineTypes.endp = _endpos__1_;
37207 MenhirLib.EngineTypes.next = _menhir_stack;
37208 };
37209 } = _menhir_stack in
37210 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37211 let _1 : (
37212 # 85 "parser_cocci_menhir.mly"
37213 (Data.clt)
37214 # 37215 "parser_cocci_menhir.ml"
37215 ) = Obj.magic _1 in
37216 let _startpos = _startpos__1_ in
37217 let _endpos = _endpos__2_ in
37218 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37219 # 1299 "parser_cocci_menhir.mly"
37220 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37221 # 37222 "parser_cocci_menhir.ml"
37222 in
37223 _menhir_env.MenhirLib.EngineTypes.stack <- {
37224 MenhirLib.EngineTypes.state = _menhir_s;
37225 MenhirLib.EngineTypes.semv = Obj.repr _v;
37226 MenhirLib.EngineTypes.startp = _startpos;
37227 MenhirLib.EngineTypes.endp = _endpos;
37228 MenhirLib.EngineTypes.next = _menhir_stack;
37229 });
37230 (fun _menhir_env ->
37231 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37232 let {
37233 MenhirLib.EngineTypes.semv = _2;
37234 MenhirLib.EngineTypes.startp = _startpos__2_;
37235 MenhirLib.EngineTypes.endp = _endpos__2_;
37236 MenhirLib.EngineTypes.next = {
37237 MenhirLib.EngineTypes.state = _menhir_s;
37238 MenhirLib.EngineTypes.semv = _1;
37239 MenhirLib.EngineTypes.startp = _startpos__1_;
37240 MenhirLib.EngineTypes.endp = _endpos__1_;
37241 MenhirLib.EngineTypes.next = _menhir_stack;
37242 };
37243 } = _menhir_stack in
37244 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37245 let _1 : 'tv_unary_op = Obj.magic _1 in
37246 let _startpos = _startpos__1_ in
37247 let _endpos = _endpos__2_ in
37248 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37249 # 1301 "parser_cocci_menhir.mly"
37250 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37251 # 37252 "parser_cocci_menhir.ml"
37252 in
37253 _menhir_env.MenhirLib.EngineTypes.stack <- {
37254 MenhirLib.EngineTypes.state = _menhir_s;
37255 MenhirLib.EngineTypes.semv = Obj.repr _v;
37256 MenhirLib.EngineTypes.startp = _startpos;
37257 MenhirLib.EngineTypes.endp = _endpos;
37258 MenhirLib.EngineTypes.next = _menhir_stack;
37259 });
37260 (fun _menhir_env ->
37261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37262 let {
37263 MenhirLib.EngineTypes.semv = _2;
37264 MenhirLib.EngineTypes.startp = _startpos__2_;
37265 MenhirLib.EngineTypes.endp = _endpos__2_;
37266 MenhirLib.EngineTypes.next = {
37267 MenhirLib.EngineTypes.state = _menhir_s;
37268 MenhirLib.EngineTypes.semv = _1;
37269 MenhirLib.EngineTypes.startp = _startpos__1_;
37270 MenhirLib.EngineTypes.endp = _endpos__1_;
37271 MenhirLib.EngineTypes.next = _menhir_stack;
37272 };
37273 } = _menhir_stack in
37274 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37275 let _1 : (
37276 # 76 "parser_cocci_menhir.mly"
37277 (Data.clt)
37278 # 37279 "parser_cocci_menhir.ml"
37279 ) = Obj.magic _1 in
37280 let _startpos = _startpos__1_ in
37281 let _endpos = _endpos__2_ in
37282 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37283 # 1303 "parser_cocci_menhir.mly"
37284 ( let mcode = P.clt2mcode Ast.Not _1 in
37285 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37286 # 37287 "parser_cocci_menhir.ml"
37287 in
37288 _menhir_env.MenhirLib.EngineTypes.stack <- {
37289 MenhirLib.EngineTypes.state = _menhir_s;
37290 MenhirLib.EngineTypes.semv = Obj.repr _v;
37291 MenhirLib.EngineTypes.startp = _startpos;
37292 MenhirLib.EngineTypes.endp = _endpos;
37293 MenhirLib.EngineTypes.next = _menhir_stack;
37294 });
37295 (fun _menhir_env ->
37296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37297 let {
37298 MenhirLib.EngineTypes.semv = _2;
37299 MenhirLib.EngineTypes.startp = _startpos__2_;
37300 MenhirLib.EngineTypes.endp = _endpos__2_;
37301 MenhirLib.EngineTypes.next = {
37302 MenhirLib.EngineTypes.state = _menhir_s;
37303 MenhirLib.EngineTypes.semv = _1;
37304 MenhirLib.EngineTypes.startp = _startpos__1_;
37305 MenhirLib.EngineTypes.endp = _endpos__1_;
37306 MenhirLib.EngineTypes.next = _menhir_stack;
37307 };
37308 } = _menhir_stack in
37309 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37310 let _1 : (
37311 # 58 "parser_cocci_menhir.mly"
37312 (Data.clt)
37313 # 37314 "parser_cocci_menhir.ml"
37314 ) = Obj.magic _1 in
37315 let _startpos = _startpos__1_ in
37316 let _endpos = _endpos__2_ in
37317 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37318 # 1306 "parser_cocci_menhir.mly"
37319 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37320 # 37321 "parser_cocci_menhir.ml"
37321 in
37322 _menhir_env.MenhirLib.EngineTypes.stack <- {
37323 MenhirLib.EngineTypes.state = _menhir_s;
37324 MenhirLib.EngineTypes.semv = Obj.repr _v;
37325 MenhirLib.EngineTypes.startp = _startpos;
37326 MenhirLib.EngineTypes.endp = _endpos;
37327 MenhirLib.EngineTypes.next = _menhir_stack;
37328 });
37329 (fun _menhir_env ->
37330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37331 let {
37332 MenhirLib.EngineTypes.semv = rp;
37333 MenhirLib.EngineTypes.startp = _startpos_rp_;
37334 MenhirLib.EngineTypes.endp = _endpos_rp_;
37335 MenhirLib.EngineTypes.next = {
37336 MenhirLib.EngineTypes.semv = t;
37337 MenhirLib.EngineTypes.startp = _startpos_t_;
37338 MenhirLib.EngineTypes.endp = _endpos_t_;
37339 MenhirLib.EngineTypes.next = {
37340 MenhirLib.EngineTypes.semv = lp;
37341 MenhirLib.EngineTypes.startp = _startpos_lp_;
37342 MenhirLib.EngineTypes.endp = _endpos_lp_;
37343 MenhirLib.EngineTypes.next = {
37344 MenhirLib.EngineTypes.state = _menhir_s;
37345 MenhirLib.EngineTypes.semv = s;
37346 MenhirLib.EngineTypes.startp = _startpos_s_;
37347 MenhirLib.EngineTypes.endp = _endpos_s_;
37348 MenhirLib.EngineTypes.next = _menhir_stack;
37349 };
37350 };
37351 };
37352 } = _menhir_stack in
37353 let rp : (
37354 # 77 "parser_cocci_menhir.mly"
37355 (Data.clt)
37356 # 37357 "parser_cocci_menhir.ml"
37357 ) = Obj.magic rp in
37358 let t : 'tv_ctype = Obj.magic t in
37359 let lp : (
37360 # 76 "parser_cocci_menhir.mly"
37361 (Data.clt)
37362 # 37363 "parser_cocci_menhir.ml"
37363 ) = Obj.magic lp in
37364 let s : (
37365 # 58 "parser_cocci_menhir.mly"
37366 (Data.clt)
37367 # 37368 "parser_cocci_menhir.ml"
37368 ) = Obj.magic s in
37369 let _startpos = _startpos_s_ in
37370 let _endpos = _endpos_rp_ in
37371 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37372 # 1308 "parser_cocci_menhir.mly"
37373 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37374 P.clt2mcode "(" lp,t,
37375 P.clt2mcode ")" rp)) )
37376 # 37377 "parser_cocci_menhir.ml"
37377 in
37378 _menhir_env.MenhirLib.EngineTypes.stack <- {
37379 MenhirLib.EngineTypes.state = _menhir_s;
37380 MenhirLib.EngineTypes.semv = Obj.repr _v;
37381 MenhirLib.EngineTypes.startp = _startpos;
37382 MenhirLib.EngineTypes.endp = _endpos;
37383 MenhirLib.EngineTypes.next = _menhir_stack;
37384 });
37385 (fun _menhir_env ->
37386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37387 let {
37388 MenhirLib.EngineTypes.state = _menhir_s;
37389 MenhirLib.EngineTypes.semv = _1;
37390 MenhirLib.EngineTypes.startp = _startpos__1_;
37391 MenhirLib.EngineTypes.endp = _endpos__1_;
37392 MenhirLib.EngineTypes.next = _menhir_stack;
37393 } = _menhir_stack in
37394 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
37395 let _startpos = _startpos__1_ in
37396 let _endpos = _endpos__1_ in
37397 let _v : 'tv_unary_expr_expr_invalid_ =
37398 # 1295 "parser_cocci_menhir.mly"
37399 ( _1 )
37400 # 37401 "parser_cocci_menhir.ml"
37401 in
37402 _menhir_env.MenhirLib.EngineTypes.stack <- {
37403 MenhirLib.EngineTypes.state = _menhir_s;
37404 MenhirLib.EngineTypes.semv = Obj.repr _v;
37405 MenhirLib.EngineTypes.startp = _startpos;
37406 MenhirLib.EngineTypes.endp = _endpos;
37407 MenhirLib.EngineTypes.next = _menhir_stack;
37408 });
37409 (fun _menhir_env ->
37410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37411 let {
37412 MenhirLib.EngineTypes.semv = _2;
37413 MenhirLib.EngineTypes.startp = _startpos__2_;
37414 MenhirLib.EngineTypes.endp = _endpos__2_;
37415 MenhirLib.EngineTypes.next = {
37416 MenhirLib.EngineTypes.state = _menhir_s;
37417 MenhirLib.EngineTypes.semv = _1;
37418 MenhirLib.EngineTypes.startp = _startpos__1_;
37419 MenhirLib.EngineTypes.endp = _endpos__1_;
37420 MenhirLib.EngineTypes.next = _menhir_stack;
37421 };
37422 } = _menhir_stack in
37423 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37424 let _1 : (
37425 # 85 "parser_cocci_menhir.mly"
37426 (Data.clt)
37427 # 37428 "parser_cocci_menhir.ml"
37428 ) = Obj.magic _1 in
37429 let _startpos = _startpos__1_ in
37430 let _endpos = _endpos__2_ in
37431 let _v : 'tv_unary_expr_expr_invalid_ =
37432 # 1297 "parser_cocci_menhir.mly"
37433 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37434 # 37435 "parser_cocci_menhir.ml"
37435 in
37436 _menhir_env.MenhirLib.EngineTypes.stack <- {
37437 MenhirLib.EngineTypes.state = _menhir_s;
37438 MenhirLib.EngineTypes.semv = Obj.repr _v;
37439 MenhirLib.EngineTypes.startp = _startpos;
37440 MenhirLib.EngineTypes.endp = _endpos;
37441 MenhirLib.EngineTypes.next = _menhir_stack;
37442 });
37443 (fun _menhir_env ->
37444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37445 let {
37446 MenhirLib.EngineTypes.semv = _2;
37447 MenhirLib.EngineTypes.startp = _startpos__2_;
37448 MenhirLib.EngineTypes.endp = _endpos__2_;
37449 MenhirLib.EngineTypes.next = {
37450 MenhirLib.EngineTypes.state = _menhir_s;
37451 MenhirLib.EngineTypes.semv = _1;
37452 MenhirLib.EngineTypes.startp = _startpos__1_;
37453 MenhirLib.EngineTypes.endp = _endpos__1_;
37454 MenhirLib.EngineTypes.next = _menhir_stack;
37455 };
37456 } = _menhir_stack in
37457 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37458 let _1 : (
37459 # 85 "parser_cocci_menhir.mly"
37460 (Data.clt)
37461 # 37462 "parser_cocci_menhir.ml"
37462 ) = Obj.magic _1 in
37463 let _startpos = _startpos__1_ in
37464 let _endpos = _endpos__2_ in
37465 let _v : 'tv_unary_expr_expr_invalid_ =
37466 # 1299 "parser_cocci_menhir.mly"
37467 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37468 # 37469 "parser_cocci_menhir.ml"
37469 in
37470 _menhir_env.MenhirLib.EngineTypes.stack <- {
37471 MenhirLib.EngineTypes.state = _menhir_s;
37472 MenhirLib.EngineTypes.semv = Obj.repr _v;
37473 MenhirLib.EngineTypes.startp = _startpos;
37474 MenhirLib.EngineTypes.endp = _endpos;
37475 MenhirLib.EngineTypes.next = _menhir_stack;
37476 });
37477 (fun _menhir_env ->
37478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37479 let {
37480 MenhirLib.EngineTypes.semv = _2;
37481 MenhirLib.EngineTypes.startp = _startpos__2_;
37482 MenhirLib.EngineTypes.endp = _endpos__2_;
37483 MenhirLib.EngineTypes.next = {
37484 MenhirLib.EngineTypes.state = _menhir_s;
37485 MenhirLib.EngineTypes.semv = _1;
37486 MenhirLib.EngineTypes.startp = _startpos__1_;
37487 MenhirLib.EngineTypes.endp = _endpos__1_;
37488 MenhirLib.EngineTypes.next = _menhir_stack;
37489 };
37490 } = _menhir_stack in
37491 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
37492 let _1 : 'tv_unary_op = Obj.magic _1 in
37493 let _startpos = _startpos__1_ in
37494 let _endpos = _endpos__2_ in
37495 let _v : 'tv_unary_expr_expr_invalid_ =
37496 # 1301 "parser_cocci_menhir.mly"
37497 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37498 # 37499 "parser_cocci_menhir.ml"
37499 in
37500 _menhir_env.MenhirLib.EngineTypes.stack <- {
37501 MenhirLib.EngineTypes.state = _menhir_s;
37502 MenhirLib.EngineTypes.semv = Obj.repr _v;
37503 MenhirLib.EngineTypes.startp = _startpos;
37504 MenhirLib.EngineTypes.endp = _endpos;
37505 MenhirLib.EngineTypes.next = _menhir_stack;
37506 });
37507 (fun _menhir_env ->
37508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37509 let {
37510 MenhirLib.EngineTypes.semv = _2;
37511 MenhirLib.EngineTypes.startp = _startpos__2_;
37512 MenhirLib.EngineTypes.endp = _endpos__2_;
37513 MenhirLib.EngineTypes.next = {
37514 MenhirLib.EngineTypes.state = _menhir_s;
37515 MenhirLib.EngineTypes.semv = _1;
37516 MenhirLib.EngineTypes.startp = _startpos__1_;
37517 MenhirLib.EngineTypes.endp = _endpos__1_;
37518 MenhirLib.EngineTypes.next = _menhir_stack;
37519 };
37520 } = _menhir_stack in
37521 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37522 let _1 : (
37523 # 76 "parser_cocci_menhir.mly"
37524 (Data.clt)
37525 # 37526 "parser_cocci_menhir.ml"
37526 ) = Obj.magic _1 in
37527 let _startpos = _startpos__1_ in
37528 let _endpos = _endpos__2_ in
37529 let _v : 'tv_unary_expr_expr_invalid_ =
37530 # 1303 "parser_cocci_menhir.mly"
37531 ( let mcode = P.clt2mcode Ast.Not _1 in
37532 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37533 # 37534 "parser_cocci_menhir.ml"
37534 in
37535 _menhir_env.MenhirLib.EngineTypes.stack <- {
37536 MenhirLib.EngineTypes.state = _menhir_s;
37537 MenhirLib.EngineTypes.semv = Obj.repr _v;
37538 MenhirLib.EngineTypes.startp = _startpos;
37539 MenhirLib.EngineTypes.endp = _endpos;
37540 MenhirLib.EngineTypes.next = _menhir_stack;
37541 });
37542 (fun _menhir_env ->
37543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37544 let {
37545 MenhirLib.EngineTypes.semv = _2;
37546 MenhirLib.EngineTypes.startp = _startpos__2_;
37547 MenhirLib.EngineTypes.endp = _endpos__2_;
37548 MenhirLib.EngineTypes.next = {
37549 MenhirLib.EngineTypes.state = _menhir_s;
37550 MenhirLib.EngineTypes.semv = _1;
37551 MenhirLib.EngineTypes.startp = _startpos__1_;
37552 MenhirLib.EngineTypes.endp = _endpos__1_;
37553 MenhirLib.EngineTypes.next = _menhir_stack;
37554 };
37555 } = _menhir_stack in
37556 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37557 let _1 : (
37558 # 58 "parser_cocci_menhir.mly"
37559 (Data.clt)
37560 # 37561 "parser_cocci_menhir.ml"
37561 ) = Obj.magic _1 in
37562 let _startpos = _startpos__1_ in
37563 let _endpos = _endpos__2_ in
37564 let _v : 'tv_unary_expr_expr_invalid_ =
37565 # 1306 "parser_cocci_menhir.mly"
37566 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37567 # 37568 "parser_cocci_menhir.ml"
37568 in
37569 _menhir_env.MenhirLib.EngineTypes.stack <- {
37570 MenhirLib.EngineTypes.state = _menhir_s;
37571 MenhirLib.EngineTypes.semv = Obj.repr _v;
37572 MenhirLib.EngineTypes.startp = _startpos;
37573 MenhirLib.EngineTypes.endp = _endpos;
37574 MenhirLib.EngineTypes.next = _menhir_stack;
37575 });
37576 (fun _menhir_env ->
37577 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37578 let {
37579 MenhirLib.EngineTypes.semv = rp;
37580 MenhirLib.EngineTypes.startp = _startpos_rp_;
37581 MenhirLib.EngineTypes.endp = _endpos_rp_;
37582 MenhirLib.EngineTypes.next = {
37583 MenhirLib.EngineTypes.semv = t;
37584 MenhirLib.EngineTypes.startp = _startpos_t_;
37585 MenhirLib.EngineTypes.endp = _endpos_t_;
37586 MenhirLib.EngineTypes.next = {
37587 MenhirLib.EngineTypes.semv = lp;
37588 MenhirLib.EngineTypes.startp = _startpos_lp_;
37589 MenhirLib.EngineTypes.endp = _endpos_lp_;
37590 MenhirLib.EngineTypes.next = {
37591 MenhirLib.EngineTypes.state = _menhir_s;
37592 MenhirLib.EngineTypes.semv = s;
37593 MenhirLib.EngineTypes.startp = _startpos_s_;
37594 MenhirLib.EngineTypes.endp = _endpos_s_;
37595 MenhirLib.EngineTypes.next = _menhir_stack;
37596 };
37597 };
37598 };
37599 } = _menhir_stack in
37600 let rp : (
37601 # 77 "parser_cocci_menhir.mly"
37602 (Data.clt)
37603 # 37604 "parser_cocci_menhir.ml"
37604 ) = Obj.magic rp in
37605 let t : 'tv_ctype = Obj.magic t in
37606 let lp : (
37607 # 76 "parser_cocci_menhir.mly"
37608 (Data.clt)
37609 # 37610 "parser_cocci_menhir.ml"
37610 ) = Obj.magic lp in
37611 let s : (
37612 # 58 "parser_cocci_menhir.mly"
37613 (Data.clt)
37614 # 37615 "parser_cocci_menhir.ml"
37615 ) = Obj.magic s in
37616 let _startpos = _startpos_s_ in
37617 let _endpos = _endpos_rp_ in
37618 let _v : 'tv_unary_expr_expr_invalid_ =
37619 # 1308 "parser_cocci_menhir.mly"
37620 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37621 P.clt2mcode "(" lp,t,
37622 P.clt2mcode ")" rp)) )
37623 # 37624 "parser_cocci_menhir.ml"
37624 in
37625 _menhir_env.MenhirLib.EngineTypes.stack <- {
37626 MenhirLib.EngineTypes.state = _menhir_s;
37627 MenhirLib.EngineTypes.semv = Obj.repr _v;
37628 MenhirLib.EngineTypes.startp = _startpos;
37629 MenhirLib.EngineTypes.endp = _endpos;
37630 MenhirLib.EngineTypes.next = _menhir_stack;
37631 });
37632 (fun _menhir_env ->
37633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37634 let {
37635 MenhirLib.EngineTypes.state = _menhir_s;
37636 MenhirLib.EngineTypes.semv = _1;
37637 MenhirLib.EngineTypes.startp = _startpos__1_;
37638 MenhirLib.EngineTypes.endp = _endpos__1_;
37639 MenhirLib.EngineTypes.next = _menhir_stack;
37640 } = _menhir_stack in
37641 let _1 : (
37642 # 93 "parser_cocci_menhir.mly"
37643 (Data.clt)
37644 # 37645 "parser_cocci_menhir.ml"
37645 ) = Obj.magic _1 in
37646 let _startpos = _startpos__1_ in
37647 let _endpos = _endpos__1_ in
37648 let _v : 'tv_unary_op =
37649 # 1312 "parser_cocci_menhir.mly"
37650 ( P.clt2mcode Ast.GetRef _1 )
37651 # 37652 "parser_cocci_menhir.ml"
37652 in
37653 _menhir_env.MenhirLib.EngineTypes.stack <- {
37654 MenhirLib.EngineTypes.state = _menhir_s;
37655 MenhirLib.EngineTypes.semv = Obj.repr _v;
37656 MenhirLib.EngineTypes.startp = _startpos;
37657 MenhirLib.EngineTypes.endp = _endpos;
37658 MenhirLib.EngineTypes.next = _menhir_stack;
37659 });
37660 (fun _menhir_env ->
37661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37662 let {
37663 MenhirLib.EngineTypes.state = _menhir_s;
37664 MenhirLib.EngineTypes.semv = _1;
37665 MenhirLib.EngineTypes.startp = _startpos__1_;
37666 MenhirLib.EngineTypes.endp = _endpos__1_;
37667 MenhirLib.EngineTypes.next = _menhir_stack;
37668 } = _menhir_stack in
37669 let _1 : (
37670 # 99 "parser_cocci_menhir.mly"
37671 (Data.clt)
37672 # 37673 "parser_cocci_menhir.ml"
37673 ) = Obj.magic _1 in
37674 let _startpos = _startpos__1_ in
37675 let _endpos = _endpos__1_ in
37676 let _v : 'tv_unary_op =
37677 # 1313 "parser_cocci_menhir.mly"
37678 ( P.clt2mcode Ast.DeRef _1 )
37679 # 37680 "parser_cocci_menhir.ml"
37680 in
37681 _menhir_env.MenhirLib.EngineTypes.stack <- {
37682 MenhirLib.EngineTypes.state = _menhir_s;
37683 MenhirLib.EngineTypes.semv = Obj.repr _v;
37684 MenhirLib.EngineTypes.startp = _startpos;
37685 MenhirLib.EngineTypes.endp = _endpos;
37686 MenhirLib.EngineTypes.next = _menhir_stack;
37687 });
37688 (fun _menhir_env ->
37689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37690 let {
37691 MenhirLib.EngineTypes.state = _menhir_s;
37692 MenhirLib.EngineTypes.semv = _1;
37693 MenhirLib.EngineTypes.startp = _startpos__1_;
37694 MenhirLib.EngineTypes.endp = _endpos__1_;
37695 MenhirLib.EngineTypes.next = _menhir_stack;
37696 } = _menhir_stack in
37697 let _1 : (
37698 # 98 "parser_cocci_menhir.mly"
37699 (Data.clt)
37700 # 37701 "parser_cocci_menhir.ml"
37701 ) = Obj.magic _1 in
37702 let _startpos = _startpos__1_ in
37703 let _endpos = _endpos__1_ in
37704 let _v : 'tv_unary_op =
37705 # 1314 "parser_cocci_menhir.mly"
37706 ( P.clt2mcode Ast.UnPlus _1 )
37707 # 37708 "parser_cocci_menhir.ml"
37708 in
37709 _menhir_env.MenhirLib.EngineTypes.stack <- {
37710 MenhirLib.EngineTypes.state = _menhir_s;
37711 MenhirLib.EngineTypes.semv = Obj.repr _v;
37712 MenhirLib.EngineTypes.startp = _startpos;
37713 MenhirLib.EngineTypes.endp = _endpos;
37714 MenhirLib.EngineTypes.next = _menhir_stack;
37715 });
37716 (fun _menhir_env ->
37717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37718 let {
37719 MenhirLib.EngineTypes.state = _menhir_s;
37720 MenhirLib.EngineTypes.semv = _1;
37721 MenhirLib.EngineTypes.startp = _startpos__1_;
37722 MenhirLib.EngineTypes.endp = _endpos__1_;
37723 MenhirLib.EngineTypes.next = _menhir_stack;
37724 } = _menhir_stack in
37725 let _1 : (
37726 # 98 "parser_cocci_menhir.mly"
37727 (Data.clt)
37728 # 37729 "parser_cocci_menhir.ml"
37729 ) = Obj.magic _1 in
37730 let _startpos = _startpos__1_ in
37731 let _endpos = _endpos__1_ in
37732 let _v : 'tv_unary_op =
37733 # 1315 "parser_cocci_menhir.mly"
37734 ( P.clt2mcode Ast.UnMinus _1 )
37735 # 37736 "parser_cocci_menhir.ml"
37736 in
37737 _menhir_env.MenhirLib.EngineTypes.stack <- {
37738 MenhirLib.EngineTypes.state = _menhir_s;
37739 MenhirLib.EngineTypes.semv = Obj.repr _v;
37740 MenhirLib.EngineTypes.startp = _startpos;
37741 MenhirLib.EngineTypes.endp = _endpos;
37742 MenhirLib.EngineTypes.next = _menhir_stack;
37743 });
37744 (fun _menhir_env ->
37745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37746 let {
37747 MenhirLib.EngineTypes.state = _menhir_s;
37748 MenhirLib.EngineTypes.semv = _1;
37749 MenhirLib.EngineTypes.startp = _startpos__1_;
37750 MenhirLib.EngineTypes.endp = _endpos__1_;
37751 MenhirLib.EngineTypes.next = _menhir_stack;
37752 } = _menhir_stack in
37753 let _1 : (
37754 # 99 "parser_cocci_menhir.mly"
37755 (Data.clt)
37756 # 37757 "parser_cocci_menhir.ml"
37757 ) = Obj.magic _1 in
37758 let _startpos = _startpos__1_ in
37759 let _endpos = _endpos__1_ in
37760 let _v : 'tv_unary_op =
37761 # 1316 "parser_cocci_menhir.mly"
37762 ( P.clt2mcode Ast.Tilde _1 )
37763 # 37764 "parser_cocci_menhir.ml"
37764 in
37765 _menhir_env.MenhirLib.EngineTypes.stack <- {
37766 MenhirLib.EngineTypes.state = _menhir_s;
37767 MenhirLib.EngineTypes.semv = Obj.repr _v;
37768 MenhirLib.EngineTypes.startp = _startpos;
37769 MenhirLib.EngineTypes.endp = _endpos;
37770 MenhirLib.EngineTypes.next = _menhir_stack;
37771 });
37772 (fun _menhir_env ->
37773 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37774 let {
37775 MenhirLib.EngineTypes.semv = _2;
37776 MenhirLib.EngineTypes.startp = _startpos__2_;
37777 MenhirLib.EngineTypes.endp = _endpos__2_;
37778 MenhirLib.EngineTypes.next = {
37779 MenhirLib.EngineTypes.state = _menhir_s;
37780 MenhirLib.EngineTypes.semv = _1;
37781 MenhirLib.EngineTypes.startp = _startpos__1_;
37782 MenhirLib.EngineTypes.endp = _endpos__1_;
37783 MenhirLib.EngineTypes.next = _menhir_stack;
37784 };
37785 } = _menhir_stack in
37786 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
37787 let _1 : 'tv_expr = Obj.magic _1 in
37788 let _startpos = _startpos__1_ in
37789 let _endpos = _endpos__2_ in
37790 let _v : 'tv_when_start =
37791 # 1823 "parser_cocci_menhir.mly"
37792 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
37793 # 37794 "parser_cocci_menhir.ml"
37794 in
37795 _menhir_env.MenhirLib.EngineTypes.stack <- {
37796 MenhirLib.EngineTypes.state = _menhir_s;
37797 MenhirLib.EngineTypes.semv = Obj.repr _v;
37798 MenhirLib.EngineTypes.startp = _startpos;
37799 MenhirLib.EngineTypes.endp = _endpos;
37800 MenhirLib.EngineTypes.next = _menhir_stack;
37801 });
37802 (fun _menhir_env ->
37803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37804 let {
37805 MenhirLib.EngineTypes.semv = _2;
37806 MenhirLib.EngineTypes.startp = _startpos__2_;
37807 MenhirLib.EngineTypes.endp = _endpos__2_;
37808 MenhirLib.EngineTypes.next = {
37809 MenhirLib.EngineTypes.state = _menhir_s;
37810 MenhirLib.EngineTypes.semv = _1;
37811 MenhirLib.EngineTypes.startp = _startpos__1_;
37812 MenhirLib.EngineTypes.endp = _endpos__1_;
37813 MenhirLib.EngineTypes.next = _menhir_stack;
37814 };
37815 } = _menhir_stack in
37816 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
37817 let _1 : 'tv_decl_statement = Obj.magic _1 in
37818 let _startpos = _startpos__1_ in
37819 let _endpos = _endpos__2_ in
37820 let _v : 'tv_when_start =
37821 # 1825 "parser_cocci_menhir.mly"
37822 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
37823 # 37824 "parser_cocci_menhir.ml"
37824 in
37825 _menhir_env.MenhirLib.EngineTypes.stack <- {
37826 MenhirLib.EngineTypes.state = _menhir_s;
37827 MenhirLib.EngineTypes.semv = Obj.repr _v;
37828 MenhirLib.EngineTypes.startp = _startpos;
37829 MenhirLib.EngineTypes.endp = _endpos;
37830 MenhirLib.EngineTypes.next = _menhir_stack;
37831 });
37832 (fun _menhir_env ->
37833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37834 let {
37835 MenhirLib.EngineTypes.state = _menhir_s;
37836 MenhirLib.EngineTypes.semv = w;
37837 MenhirLib.EngineTypes.startp = _startpos_w_;
37838 MenhirLib.EngineTypes.endp = _endpos_w_;
37839 MenhirLib.EngineTypes.next = _menhir_stack;
37840 } = _menhir_stack in
37841 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
37842 let _startpos = _startpos_w_ in
37843 let _endpos = _endpos_w_ in
37844 let _v : 'tv_whenppdecs =
37845 # 898 "parser_cocci_menhir.mly"
37846 ( w )
37847 # 37848 "parser_cocci_menhir.ml"
37848 in
37849 _menhir_env.MenhirLib.EngineTypes.stack <- {
37850 MenhirLib.EngineTypes.state = _menhir_s;
37851 MenhirLib.EngineTypes.semv = Obj.repr _v;
37852 MenhirLib.EngineTypes.startp = _startpos;
37853 MenhirLib.EngineTypes.endp = _endpos;
37854 MenhirLib.EngineTypes.next = _menhir_stack;
37855 });
37856 (fun _menhir_env ->
37857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37858 let {
37859 MenhirLib.EngineTypes.startp = _startpos__4_;
37860 MenhirLib.EngineTypes.endp = _endpos__4_;
37861 MenhirLib.EngineTypes.next = {
37862 MenhirLib.EngineTypes.semv = w;
37863 MenhirLib.EngineTypes.startp = _startpos_w_;
37864 MenhirLib.EngineTypes.endp = _endpos_w_;
37865 MenhirLib.EngineTypes.next = {
37866 MenhirLib.EngineTypes.startp = _startpos__2_;
37867 MenhirLib.EngineTypes.endp = _endpos__2_;
37868 MenhirLib.EngineTypes.next = {
37869 MenhirLib.EngineTypes.state = _menhir_s;
37870 MenhirLib.EngineTypes.startp = _startpos__1_;
37871 MenhirLib.EngineTypes.endp = _endpos__1_;
37872 MenhirLib.EngineTypes.next = _menhir_stack;
37873 };
37874 };
37875 };
37876 } = _menhir_stack in
37877 let w : 'tv_when_start = Obj.magic w in
37878 let _startpos = _startpos__1_ in
37879 let _endpos = _endpos__4_ in
37880 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37881 # 1891 "parser_cocci_menhir.mly"
37882 ( [Ast0.WhenNot w] )
37883 # 37884 "parser_cocci_menhir.ml"
37884 in
37885 _menhir_env.MenhirLib.EngineTypes.stack <- {
37886 MenhirLib.EngineTypes.state = _menhir_s;
37887 MenhirLib.EngineTypes.semv = Obj.repr _v;
37888 MenhirLib.EngineTypes.startp = _startpos;
37889 MenhirLib.EngineTypes.endp = _endpos;
37890 MenhirLib.EngineTypes.next = _menhir_stack;
37891 });
37892 (fun _menhir_env ->
37893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37894 let {
37895 MenhirLib.EngineTypes.startp = _startpos__4_;
37896 MenhirLib.EngineTypes.endp = _endpos__4_;
37897 MenhirLib.EngineTypes.next = {
37898 MenhirLib.EngineTypes.semv = w;
37899 MenhirLib.EngineTypes.startp = _startpos_w_;
37900 MenhirLib.EngineTypes.endp = _endpos_w_;
37901 MenhirLib.EngineTypes.next = {
37902 MenhirLib.EngineTypes.startp = _startpos__2_;
37903 MenhirLib.EngineTypes.endp = _endpos__2_;
37904 MenhirLib.EngineTypes.next = {
37905 MenhirLib.EngineTypes.state = _menhir_s;
37906 MenhirLib.EngineTypes.startp = _startpos__1_;
37907 MenhirLib.EngineTypes.endp = _endpos__1_;
37908 MenhirLib.EngineTypes.next = _menhir_stack;
37909 };
37910 };
37911 };
37912 } = _menhir_stack in
37913 let w : 'tv_rule_elem_statement = Obj.magic w in
37914 let _startpos = _startpos__1_ in
37915 let _endpos = _endpos__4_ in
37916 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37917 # 1892 "parser_cocci_menhir.mly"
37918 ( [Ast0.WhenAlways w] )
37919 # 37920 "parser_cocci_menhir.ml"
37920 in
37921 _menhir_env.MenhirLib.EngineTypes.stack <- {
37922 MenhirLib.EngineTypes.state = _menhir_s;
37923 MenhirLib.EngineTypes.semv = Obj.repr _v;
37924 MenhirLib.EngineTypes.startp = _startpos;
37925 MenhirLib.EngineTypes.endp = _endpos;
37926 MenhirLib.EngineTypes.next = _menhir_stack;
37927 });
37928 (fun _menhir_env ->
37929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37930 let {
37931 MenhirLib.EngineTypes.startp = _startpos__3_;
37932 MenhirLib.EngineTypes.endp = _endpos__3_;
37933 MenhirLib.EngineTypes.next = {
37934 MenhirLib.EngineTypes.semv = _2;
37935 MenhirLib.EngineTypes.startp = _startpos__2_;
37936 MenhirLib.EngineTypes.endp = _endpos__2_;
37937 MenhirLib.EngineTypes.next = {
37938 MenhirLib.EngineTypes.state = _menhir_s;
37939 MenhirLib.EngineTypes.startp = _startpos__1_;
37940 MenhirLib.EngineTypes.endp = _endpos__1_;
37941 MenhirLib.EngineTypes.next = _menhir_stack;
37942 };
37943 };
37944 } = _menhir_stack in
37945 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
37946 let _startpos = _startpos__1_ in
37947 let _endpos = _endpos__3_ in
37948 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37949 # 1894 "parser_cocci_menhir.mly"
37950 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
37951 # 37952 "parser_cocci_menhir.ml"
37952 in
37953 _menhir_env.MenhirLib.EngineTypes.stack <- {
37954 MenhirLib.EngineTypes.state = _menhir_s;
37955 MenhirLib.EngineTypes.semv = Obj.repr _v;
37956 MenhirLib.EngineTypes.startp = _startpos;
37957 MenhirLib.EngineTypes.endp = _endpos;
37958 MenhirLib.EngineTypes.next = _menhir_stack;
37959 });
37960 (fun _menhir_env ->
37961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37962 let {
37963 MenhirLib.EngineTypes.startp = _startpos__4_;
37964 MenhirLib.EngineTypes.endp = _endpos__4_;
37965 MenhirLib.EngineTypes.next = {
37966 MenhirLib.EngineTypes.semv = e;
37967 MenhirLib.EngineTypes.startp = _startpos_e_;
37968 MenhirLib.EngineTypes.endp = _endpos_e_;
37969 MenhirLib.EngineTypes.next = {
37970 MenhirLib.EngineTypes.startp = _startpos__2_;
37971 MenhirLib.EngineTypes.endp = _endpos__2_;
37972 MenhirLib.EngineTypes.next = {
37973 MenhirLib.EngineTypes.state = _menhir_s;
37974 MenhirLib.EngineTypes.startp = _startpos__1_;
37975 MenhirLib.EngineTypes.endp = _endpos__1_;
37976 MenhirLib.EngineTypes.next = _menhir_stack;
37977 };
37978 };
37979 };
37980 } = _menhir_stack in
37981 let e : 'tv_eexpr = Obj.magic e in
37982 let _startpos = _startpos__1_ in
37983 let _endpos = _endpos__4_ in
37984 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37985 # 1895 "parser_cocci_menhir.mly"
37986 ( [Ast0.WhenNotTrue e] )
37987 # 37988 "parser_cocci_menhir.ml"
37988 in
37989 _menhir_env.MenhirLib.EngineTypes.stack <- {
37990 MenhirLib.EngineTypes.state = _menhir_s;
37991 MenhirLib.EngineTypes.semv = Obj.repr _v;
37992 MenhirLib.EngineTypes.startp = _startpos;
37993 MenhirLib.EngineTypes.endp = _endpos;
37994 MenhirLib.EngineTypes.next = _menhir_stack;
37995 });
37996 (fun _menhir_env ->
37997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37998 let {
37999 MenhirLib.EngineTypes.startp = _startpos__4_;
38000 MenhirLib.EngineTypes.endp = _endpos__4_;
38001 MenhirLib.EngineTypes.next = {
38002 MenhirLib.EngineTypes.semv = e;
38003 MenhirLib.EngineTypes.startp = _startpos_e_;
38004 MenhirLib.EngineTypes.endp = _endpos_e_;
38005 MenhirLib.EngineTypes.next = {
38006 MenhirLib.EngineTypes.startp = _startpos__2_;
38007 MenhirLib.EngineTypes.endp = _endpos__2_;
38008 MenhirLib.EngineTypes.next = {
38009 MenhirLib.EngineTypes.state = _menhir_s;
38010 MenhirLib.EngineTypes.startp = _startpos__1_;
38011 MenhirLib.EngineTypes.endp = _endpos__1_;
38012 MenhirLib.EngineTypes.next = _menhir_stack;
38013 };
38014 };
38015 };
38016 } = _menhir_stack in
38017 let e : 'tv_eexpr = Obj.magic e in
38018 let _startpos = _startpos__1_ in
38019 let _endpos = _endpos__4_ in
38020 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38021 # 1896 "parser_cocci_menhir.mly"
38022 ( [Ast0.WhenNotFalse e] )
38023 # 38024 "parser_cocci_menhir.ml"
38024 in
38025 _menhir_env.MenhirLib.EngineTypes.stack <- {
38026 MenhirLib.EngineTypes.state = _menhir_s;
38027 MenhirLib.EngineTypes.semv = Obj.repr _v;
38028 MenhirLib.EngineTypes.startp = _startpos;
38029 MenhirLib.EngineTypes.endp = _endpos;
38030 MenhirLib.EngineTypes.next = _menhir_stack;
38031 });
38032 |]
38033
38034 let recovery =
38035 false
38036
38037 let trace =
38038 None
38039
38040 end)
38041
38042 let rec script_meta_main =
38043 fun lexer lexbuf ->
38044 (Obj.magic (MenhirInterpreter.entry 1794 lexer lexbuf) : (
38045 # 159 "parser_cocci_menhir.mly"
38046 (string * (string * string))
38047 # 38048 "parser_cocci_menhir.ml"
38048 ))
38049
38050 and rule_name =
38051 fun lexer lexbuf ->
38052 (Obj.magic (MenhirInterpreter.entry 1724 lexer lexbuf) : (
38053 # 153 "parser_cocci_menhir.mly"
38054 (Ast_cocci.rulename)
38055 # 38056 "parser_cocci_menhir.ml"
38056 ))
38057
38058 and reinit =
38059 fun lexer lexbuf ->
38060 (Obj.magic (MenhirInterpreter.entry 1722 lexer lexbuf) : (
38061 # 131 "parser_cocci_menhir.mly"
38062 (unit)
38063 # 38064 "parser_cocci_menhir.ml"
38064 ))
38065
38066 and plus_main =
38067 fun lexer lexbuf ->
38068 (Obj.magic (MenhirInterpreter.entry 1686 lexer lexbuf) : (
38069 # 140 "parser_cocci_menhir.mly"
38070 (Ast0_cocci.rule)
38071 # 38072 "parser_cocci_menhir.ml"
38072 ))
38073
38074 and plus_exp_main =
38075 fun lexer lexbuf ->
38076 (Obj.magic (MenhirInterpreter.entry 1678 lexer lexbuf) : (
38077 # 143 "parser_cocci_menhir.mly"
38078 (Ast0_cocci.rule)
38079 # 38080 "parser_cocci_menhir.ml"
38080 ))
38081
38082 and never_used =
38083 fun lexer lexbuf ->
38084 (Obj.magic (MenhirInterpreter.entry 1672 lexer lexbuf) : (
38085 # 168 "parser_cocci_menhir.mly"
38086 (unit)
38087 # 38088 "parser_cocci_menhir.ml"
38088 ))
38089
38090 and minus_main =
38091 fun lexer lexbuf ->
38092 (Obj.magic (MenhirInterpreter.entry 1592 lexer lexbuf) : (
38093 # 134 "parser_cocci_menhir.mly"
38094 (Ast0_cocci.rule)
38095 # 38096 "parser_cocci_menhir.ml"
38096 ))
38097
38098 and minus_exp_main =
38099 fun lexer lexbuf ->
38100 (Obj.magic (MenhirInterpreter.entry 1580 lexer lexbuf) : (
38101 # 137 "parser_cocci_menhir.mly"
38102 (Ast0_cocci.rule)
38103 # 38104 "parser_cocci_menhir.ml"
38104 ))
38105
38106 and meta_main =
38107 fun lexer lexbuf ->
38108 (Obj.magic (MenhirInterpreter.entry 1577 lexer lexbuf) : (
38109 # 157 "parser_cocci_menhir.mly"
38110 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38111 # 38112 "parser_cocci_menhir.ml"
38112 ))
38113
38114 and iso_rule_name =
38115 fun lexer lexbuf ->
38116 (Obj.magic (MenhirInterpreter.entry 1573 lexer lexbuf) : (
38117 # 149 "parser_cocci_menhir.mly"
38118 (Ast_cocci.rulename)
38119 # 38120 "parser_cocci_menhir.ml"
38120 ))
38121
38122 and iso_meta_main =
38123 fun lexer lexbuf ->
38124 (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : (
38125 # 165 "parser_cocci_menhir.mly"
38126 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38127 # 38128 "parser_cocci_menhir.ml"
38128 ))
38129
38130 and iso_main =
38131 fun lexer lexbuf ->
38132 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
38133 # 162 "parser_cocci_menhir.mly"
38134 (Ast0_cocci.anything list list)
38135 # 38136 "parser_cocci_menhir.ml"
38136 ))
38137
38138 and include_main =
38139 fun lexer lexbuf ->
38140 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
38141 # 146 "parser_cocci_menhir.mly"
38142 (Data.incl_iso list)
38143 # 38144 "parser_cocci_menhir.ml"
38144 ))
38145
38146
38147